From c57cf924d0f4962a269c97f0a3f194222c95391c Mon Sep 17 00:00:00 2001 From: ShahanaFarooqui Date: Thu, 22 Feb 2024 21:45:08 -0800 Subject: [PATCH] docs: Updates script to generate lightning-sql - Updated doc/Makefile for generating sql tables data and save it in schemas/lightning-sql.json - Updated doc/Makefile to auto generate lightning-sql.7.md and lightning-sql.7 - Added sql specific titles in the fromschema.py script --- contrib/msggen/msggen/schema.json | 169812 ++++++++++++--------------- doc/Makefile | 28 +- doc/lightning-sql.7.md | 582 +- tools/fromschema.py | 2 +- 4 files changed, 76352 insertions(+), 94072 deletions(-) diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index 14c8b1ba0811..baf76621cca9 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -1,9182 +1,6486 @@ { - "addgossip.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-addgossip.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "message" + "rpc": "addgossip", + "title": "Command for injecting a gossip message (low-level)", + "description": [ + "The **addgossip** RPC command injects a hex-encoded gossip message into the gossip daemon. It may return an error if it is malformed, or may update its internal state using the gossip message.", + "", + "Note that currently some paths will still silently reject the gossip: it is best effort.", + "", + "This is particularly used by plugins which may receive channel_update messages within error replies." ], - "properties": { - "message": { - "type": "hex", - "description": "The raw, hex-encoded, gossip message to add to the local gossip view" + "request": { + "required": [ + "message" + ], + "properties": { + "message": { + "type": "hex", + "description": [ + "The raw, hex-encoded, gossip message to add to the local gossip view." + ] + } } - } - }, - "addgossip.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "addpsbtoutput.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "satoshi" - ], - "added": "v23.11", - "properties": { - "satoshi": { - "type": "msat", - "description": "the satoshi value of the output. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" + }, + "response": { + "properties": {} + }, + "example_json_request": [ + { + "id": "example:addgossip#1", + "method": "addgossip", + "params": { + "message": "010078c3314666731e339c0b8434f7824797a084ed7ca3655991a672da068e2c44cb53b57b53a296c133bc879109a8931dc31e6913a4bda3d58559b99b95663e6d52775579447ef5526300e1bb89bc6af8557aa1c3810a91814eafad6d103f43182e17b16644cb38c1d58a8edd094303959a9f1f9d42ff6c32a21f9c118531f512c8679cabaccc6e39dbd95a4dac90e75a258893c3aa3f733d1b8890174d5ddea8003cadffe557773c54d2c07ca1d535c4bf85885f879ae466c16a516e8ffcfec1740e3f5c98ca9ce13f452e867befef5517f306ed6aa5119b79059bcc6f68f329986b665d16de7bc7df64e3537504c91eeabe0e59d3a2b68e4216ead2b0f6e3ef7c000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0000670000010000022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d590266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c0351802e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5702324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b" + } }, - "initialpsbt": { - "type": "string", - "description": "base 64 encoded PSBT to add the output to. If not specified, one will be generated automatically" + { + "id": "example:addgossip#2", + "method": "addgossip", + "params": { + "message": "0102420526c8eb62ec6999bbee5f1de4841cab734374ec642b7deeb0259e76220bf82e97a241c907d5ff52019655f7f9a614c285bb35690f3a1a2b928d7b2349a79e06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065b32a0e010100060000000000000000000000010000000a000000003b023380" + } }, - "locktime": { - "type": "u32", - "description": "if not set, it is set to a recent block height (if no initial psbt is specified)" + { + "id": "example:addgossip#3", + "method": "addgossip", + "params": { + "message": "010078c3314666731e339c0b8434f7824797a084ed7ca3655991a672da068e2c44cb53b57b53a296c133bc879109a8931dc31e6913a4bda3d58559b99b95663e6d52775579447ef5526300e1bb89bc6af8557aa1c3810a91814eafad6d103f43182e17b16644cb38c1d58a8edd094303959a9f1f9d42ff6c32a21f9c118531f512c8679cabaccc6e39dbd95a4dac90e75a258893c3aa3f733d1b8890174d5ddea8003cadffe557773c54d2c07ca1d535c4bf85885f879ae466c16a516e8ffcfec1740e3f5c98ca9ce13f452e867befef5517f306ed6aa5119b79059bcc6f68f329986b665d16de7bc7df64e3537504c91eeabe0e59d3a2b68e4216ead2b0f6e3ef7c000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0000670000010000022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d590266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c0351802e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5702324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b" + } }, - "destination": { - "type": "string", - "description": "if it is not set, an internal address is generated" - } - } - }, - "addpsbtoutput.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt", - "estimated_added_weight", - "outnum" - ], - "added": "v23.11", - "properties": { - "psbt": { - "type": "string", - "description": "Unsigned PSBT which fulfills the parameters given" + { + "id": "example:addgossip#4", + "method": "addgossip", + "params": { + "message": "0102590a196a9ebe83657d90b1260cc79dd5b0bccd6e1cc4f7dcba19f0ccec4ac0ab32c5420ed88fcaa1856dabe3eb3e8b9c88ab5332b3f6a87ff74350e1700e5bf406226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065d7b442010100060000000000000000000000010000000a000000003b023380" + } }, - "estimated_added_weight": { - "type": "u32", - "description": "The estimated weight of the added output" + { + "id": "example:addgossip#5", + "method": "addgossip", + "params": { + "message": "01023f068c7784cfdbca12d70b761c5eae03cac85a6cf339800c3b27dba5c09b842035dd7e2ae8b8b955b7415b2294861a2a2bcecd006605c4ad72643075ee72072b06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065d7b442010000060000000000000000000000010000000a000000003b023380" + } }, - "outnum": { - "type": "u32", - "description": "The 0-based number where the output was placed" - } - } - }, - "autoclean-once.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "subsystem", - "age" - ], - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "succeededforwards", - "failedforwards", - "succeededpays", - "failedpays", - "paidinvoices", - "expiredinvoices" - ], - "description": "What subsystem to clean. Currently supported subsystems are:\t* `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).\t* `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).\t* `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).\t* `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).\t* `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).\t* `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)" + { + "id": "example:addgossip#6", + "method": "addgossip", + "params": { + "message": "01014865da9374594b95bc720fbb768decb5d0d00defbb3f8342d4b67b43ccf027eb3a75c75a40ef024b572009c34329326e068ffb05a51442f8e0e215166a1995cb000788a0000a8a596165d7b4420266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c035180266e44a554e494f524245414d2d7632332e31312d3431352d676431323065626100000000" + } }, - "age": { - "type": "u64", - "description": "non-zero number in seconds. How many seconds old an entry must be to delete it" + { + "id": "example:addgossip#7", + "method": "addgossip", + "params": { + "message": "0101780491d7facb09aac0659abf56fe63bf78f4f4093825b928e4f739a87e64bfae2795241af5da92aa20c8170588bbb2634455f6fb05aea69ff55c78beddd0a367000788a0000a8a596165d7b442022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59022d2253494c454e544152544953542d7632332e31312d3431352d67643132306562610000" + } } - } + ], + "example_json_response": [ + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-pay(7)" + ], + "resources": [ + "Main web site: " + ] }, - "autoclean-once.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-addpsbtoutput.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", - "additionalProperties": true, - "required": [ - "autoclean" + "additionalProperties": false, + "added": "v23.11", + "rpc": "addpsbtoutput", + "title": "Command to populate PSBT outputs from the wallet", + "description": [ + "`addpsbtoutput` is a low-level RPC command which creates or modifies a PSBT by adding a single output of amount *satoshi*.", + "", + "This is used to receive funds into the on-chain wallet interactively using PSBTs." ], - "properties": { - "autoclean": { - "type": "object", - "additionalProperties": false, - "properties": { - "succeededforwards": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - }, - "failedforwards": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - }, - "succeededpays": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - }, - "failedpays": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - }, - "paidinvoices": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - }, - "expiredinvoices": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": "total number of deletions done this run" - }, - "uncleaned": { - "type": "u64", - "description": "the total number of entries *not* deleted this run" - } - } - } + "request": { + "required": [ + "satoshi" + ], + "properties": { + "satoshi": { + "type": "msat", + "description": [ + "The satoshi value of the output. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ] + }, + "initialpsbt": { + "type": "string", + "description": [ + "Base 64 encoded PSBT to add the output to. If not specified, one will be generated automatically." + ] + }, + "locktime": { + "type": "u32", + "description": [ + "If not set, it is set to a recent block height (if no initial psbt is specified)." + ] + }, + "destination": { + "type": "string", + "description": [ + "If it is not set, an internal address is generated." + ] } } - } - }, - "autoclean-status.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "succeededforwards", - "failedforwards", - "succeededpays", - "failedpays", - "paidinvoices", - "expiredinvoices" - ], - "description": "What subsystem to ask about. Currently supported subsystems are:\t* `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).\t* `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).\t* `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).\t* `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).\t* `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).\t* `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)" + }, + "response": { + "required": [ + "psbt", + "estimated_added_weight", + "outnum" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "Unsigned PSBT which fulfills the parameters given." + ] + }, + "estimated_added_weight": { + "type": "u32", + "description": [ + "The estimated weight of the added output." + ] + }, + "outnum": { + "type": "u32", + "description": [ + "The 0-based number where the output was placed." + ] + } } - } - }, - "autoclean-status.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "autoclean" + }, + "example_usage": [ + "Here is a command to make a PSBT with a 100,000 sat output that leads to the on-chain wallet.", + "", + "```shell", + "lightning-cli addpsbtoutput 100000sat", + "```" ], - "properties": { - "autoclean": { - "type": "object", - "additionalProperties": false, - "properties": { - "succeededforwards": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for successful listforwards" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": "age (in seconds) to delete successful listforwards" - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "failedforwards": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for failed listforwards" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": "age (in seconds) to delete failed listforwards" - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "succeededpays": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for successful listpays/listsendpays" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": "age (in seconds) to delete successful listpays/listsendpays" - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "failedpays": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for failed listpays/listsendpays" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": "age (in seconds) to delete failed listpays/listsendpays" - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "paidinvoices": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for paid listinvoices" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": "age (in seconds) to paid listinvoices" - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "expiredinvoices": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether autocleaning is enabled for expired (unpaid) listinvoices" - }, - "cleaned": { - "type": "u64", - "description": "total number of deletions done (ever)" + "example_json_request": [ + { + "id": "example:addpsbtoutput#1", + "method": "addpsbtoutput", + "params": { + "satoshi": 100000, + "initialpsbt": null, + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#2", + "method": "addpsbtoutput", + "params": { + "satoshi": 1000000, + "initialpsbt": null, + "locktime": 111, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#3", + "method": "addpsbtoutput", + "params": { + "satoshi": 974343, + "initialpsbt": "cHNidP8BAF4CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////ASICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "locktime": null, + "destination": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu" + } + }, + { + "id": "example:addpsbtoutput#4", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAH0CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AiICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nGZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAA", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#5", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAKgCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AyICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtWcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#6", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BANMCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////BCICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtdAHAAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#7", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP3+AAIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8FIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#8", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP0pAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8GIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#9", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP1UAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8HIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3GcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAA", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#10", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP1/AQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8IIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#11", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP2qAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8JIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#12", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP3VAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8KIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYymcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAAAAAA", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#13", + "method": "addpsbtoutput", + "params": { + "satoshi": 2000, + "initialpsbt": "cHNidP8BAP0AAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8LIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGFnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#14", + "method": "addpsbtoutput", + "params": { + "satoshi": 890073, + "initialpsbt": "cHNidP8BAF4CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////ASICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq88AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAA==", + "locktime": null, + "destination": "bcrt1q8rqss4xprcgvkduxgcq58jtrepfsm7y3e6er4e" + } + }, + { + "id": "example:addpsbtoutput#15", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAH0CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AiICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAA", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#16", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAKgCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AyICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4jwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#17", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BANMCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////BCICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4hAnAAAAAAAAIlEgnWhkWJKleQbwpw/3USMBrikmMSbZMmdjdLYigiYDlvs8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#18", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP3+AAIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8FIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3I8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#19", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP0pAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8GIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#20", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP1UAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8HIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9zwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAA", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#21", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP1/AQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8IIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCI8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAA=", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#22", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP2qAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8JIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAA==", + "locktime": null, + "destination": null + } + }, + { + "id": "example:addpsbtoutput#23", + "method": "addpsbtoutput", + "params": { + "satoshi": 10000, + "initialpsbt": "cHNidP8BAP3VAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8KIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbzwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAAAAAA", + "locktime": null, + "destination": null + } + } + ], + "example_json_response": [ + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+AA==", + "estimated_added_weight": 172, + "outnum": 0 + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", + "estimated_added_weight": 172, + "outnum": 0 + }, + { + "psbt": "cHNidP8BAH0CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AiICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nGZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAA", + "estimated_added_weight": 172, + "outnum": 1 + }, + { + "psbt": "cHNidP8BAKgCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AyICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtWcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAA=", + "estimated_added_weight": 172, + "outnum": 2 + }, + { + "psbt": "cHNidP8BANMCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////BCICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtdAHAAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 3 + }, + { + "psbt": "cHNidP8BAP3+AAIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8FIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 4 + }, + { + "psbt": "cHNidP8BAP0pAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8GIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 5 + }, + { + "psbt": "cHNidP8BAP1UAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8HIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3GcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAA", + "estimated_added_weight": 172, + "outnum": 6 + }, + { + "psbt": "cHNidP8BAP1/AQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8IIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 7 + }, + { + "psbt": "cHNidP8BAP2qAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8JIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 8 + }, + { + "psbt": "cHNidP8BAP3VAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8KIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYymcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAAAAAA", + "estimated_added_weight": 172, + "outnum": 9 + }, + { + "psbt": "cHNidP8BAP0AAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8LIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGFnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 10 + }, + { + "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 11 + }, + { + "psbt": "cHNidP8BAH0CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AiICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAA", + "estimated_added_weight": 172, + "outnum": 1 + }, + { + "psbt": "cHNidP8BAKgCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AyICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4jwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAA=", + "estimated_added_weight": 172, + "outnum": 2 + }, + { + "psbt": "cHNidP8BANMCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////BCICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4hAnAAAAAAAAIlEgnWhkWJKleQbwpw/3USMBrikmMSbZMmdjdLYigiYDlvs8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 3 + }, + { + "psbt": "cHNidP8BAP3+AAIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8FIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3I8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 4 + }, + { + "psbt": "cHNidP8BAP0pAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8GIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 5 + }, + { + "psbt": "cHNidP8BAP1UAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8HIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9zwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAA", + "estimated_added_weight": 172, + "outnum": 6 + }, + { + "psbt": "cHNidP8BAP1/AQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8IIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCI8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 7 + }, + { + "psbt": "cHNidP8BAP2qAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8JIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAA==", + "estimated_added_weight": 172, + "outnum": 8 + }, + { + "psbt": "cHNidP8BAP3VAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8KIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbzwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAAAAAA", + "estimated_added_weight": 172, + "outnum": 9 + }, + { + "psbt": "cHNidP8BAP0AAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8LIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh08AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAAAAAA=", + "estimated_added_weight": 172, + "outnum": 10 + } + ], + "author": [ + "Dusty <<@dusty_daemon>> is mainly responsible." + ], + "see_also": [ + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-autoclean-once.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "autoclean-once", + "title": "A single deletion of old invoices/payments/forwards", + "description": [ + "The **autoclean-once** RPC command tell the `autoclean` plugin to do a single sweep to delete old entries. This is a manual alternative (or addition) to the various `autoclean-...-age` parameters which cause autoclean to run once per hour: see lightningd-config(5)." + ], + "request": { + "required": [ + "subsystem", + "age" + ], + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "succeededforwards", + "failedforwards", + "succeededpays", + "failedpays", + "paidinvoices", + "expiredinvoices" + ], + "description": [ + "What subsystem to clean. Currently supported subsystems are:", + " * `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).", + " * `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).", + " * `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).", + " * `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).", + " * `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).", + " * `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)." + ] + }, + "age": { + "type": "u64", + "description": [ + "Non-zero number in seconds. How many seconds old an entry must be to delete it." + ] + } + } + }, + "response": { + "required": [ + "autoclean" + ], + "properties": { + "autoclean": { + "type": "object", + "additionalProperties": false, + "properties": { + "succeededforwards": { + "type": "object", + "additionalProperties": false, + "required": [ + "cleaned", + "uncleaned" + ], + "properties": { + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { + "type": "u64", + "description": [ + "The total number of entries *not* deleted this run." + ] + } } }, - "if": { + "failedforwards": { + "type": "object", + "additionalProperties": false, + "required": [ + "cleaned", + "uncleaned" + ], "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { + "type": "u64", + "description": [ + "The total number of entries *not* deleted this run." ] } } }, - "then": { + "succeededpays": { + "type": "object", "additionalProperties": false, "required": [ - "enabled", - "age", - "cleaned" + "cleaned", + "uncleaned" ], "properties": { - "enabled": {}, - "cleaned": {}, - "age": { + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { "type": "u64", - "description": "age (in seconds) to expired listinvoices" + "description": [ + "The total number of entries *not* deleted this run." + ] } } }, - "else": { + "failedpays": { + "type": "object", "additionalProperties": false, "required": [ - "enabled", - "cleaned" + "cleaned", + "uncleaned" ], "properties": { - "enabled": {}, - "cleaned": {} + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { + "type": "u64", + "description": [ + "The total number of entries *not* deleted this run." + ] + } } - } - } - } - } - } - }, - "autocleaninvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "expired_by": { - "type": "u64", - "description": "How long an invoice must be expired (seconds) before we delete it." - }, - "cycle_seconds": { - "type": "u64", - "description": "The interval (in seconds) between cleaning expired invoices" - } - } - }, - "autocleaninvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": "whether invoice autocleaning is active" - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "expired_by", - "cycle_seconds" - ], - "properties": { - "enabled": {}, - "expired_by": { - "type": "u64", - "description": "how long an invoice must be expired (seconds) before we delete it" - }, - "cycle_seconds": { - "type": "u64", - "description": "how long an invoice must be expired (seconds) before we delete it" + }, + "paidinvoices": { + "type": "object", + "additionalProperties": false, + "required": [ + "cleaned", + "uncleaned" + ], + "properties": { + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { + "type": "u64", + "description": [ + "The total number of entries *not* deleted this run." + ] + } + } + }, + "expiredinvoices": { + "type": "object", + "additionalProperties": false, + "required": [ + "cleaned", + "uncleaned" + ], + "properties": { + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done this run." + ] + }, + "uncleaned": { + "type": "u64", + "description": [ + "The total number of entries *not* deleted this run." + ] + } + } + } + } } } }, - "else": { - "additionalProperties": false, - "properties": { - "enabled": {} - } - } - }, - "batching.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "enable" - ], - "properties": { - "enable": { - "type": "boolean", - "description": "whether to enable or disable transaction batching. Defaults to *False*" - } - } - }, - "batching.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "bkpr-channelsapy.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "start_time": { - "type": "u64", - "description": "UNIX timestamp (in seconds) to filter events after the provided timestamp. Defaults to zero" + "example_json_request": [ + { + "id": "example:autoclean-once#1", + "method": "autoclean-once", + "params": [ + "failedpays", + 1 + ] + }, + { + "id": "example:autoclean-once#2", + "method": "autoclean-once", + "params": [ + "succeededpays", + 1 + ] + }, + { + "id": "example:autoclean-once#3", + "method": "autoclean-once", + "params": [ + "failedpays", + 1 + ] + }, + { + "id": "example:autoclean-once#4", + "method": "autoclean-once", + "params": [ + "succeededpays", + 1 + ] + }, + { + "id": "example:autoclean-once#5", + "method": "autoclean-once", + "params": [ + "failedforwards", + 1 + ] + }, + { + "id": "example:autoclean-once#6", + "method": "autoclean-once", + "params": [ + "succeededforwards", + 1 + ] + }, + { + "id": "example:autoclean-once#7", + "method": "autoclean-once", + "params": [ + "expiredinvoices", + 1 + ] }, - "end_time": { - "type": "u64", - "description": "UNIX timestamp (in seconds) to filter events up to and at the provided timestamp. Defaults to max-int" + { + "id": "example:autoclean-once#8", + "method": "autoclean-once", + "params": [ + "paidinvoices", + 1 + ] } - } - }, - "bkpr-channelsapy.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channels_apy" ], - "properties": { - "channels_apy": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "account", - "routed_out_msat", - "routed_in_msat", - "lease_fee_paid_msat", - "lease_fee_earned_msat", - "pushed_out_msat", - "pushed_in_msat", - "our_start_balance_msat", - "channel_start_balance_msat", - "fees_out_msat", - "utilization_out", - "utilization_in", - "apy_out", - "apy_in", - "apy_total" - ], - "properties": { - "account": { - "type": "string", - "description": "The account name. If the account is a channel, the channel_id. The 'net' entry is the rollup of all channel accounts" - }, - "routed_out_msat": { - "type": "msat", - "description": "Sats routed (outbound)" - }, - "routed_in_msat": { - "type": "msat", - "description": "Sats routed (inbound)" - }, - "lease_fee_paid_msat": { - "type": "msat", - "description": "Sats paid for leasing inbound (liquidity ads)" - }, - "lease_fee_earned_msat": { - "type": "msat", - "description": "Sats earned for leasing outbound (liquidity ads)" - }, - "pushed_out_msat": { - "type": "msat", - "description": "Sats pushed to peer at open" - }, - "pushed_in_msat": { - "type": "msat", - "description": "Sats pushed in from peer at open" - }, - "our_start_balance_msat": { - "type": "msat", - "description": "Starting balance in channel at funding. Note that if our start balance is zero, any _initial field will be omitted (can't divide by zero)" - }, - "channel_start_balance_msat": { - "type": "msat", - "description": "Total starting balance at funding" - }, - "fees_out_msat": { - "type": "msat", - "description": "Fees earned on routed outbound" - }, - "fees_in_msat": { - "type": "msat", - "description": "Fees earned on routed inbound" - }, - "utilization_out": { - "type": "string", - "description": "Sats routed outbound / total start balance" - }, - "utilization_out_initial": { - "type": "string", - "description": "Sats routed outbound / our start balance" - }, - "utilization_in": { - "type": "string", - "description": "Sats routed inbound / total start balance" - }, - "utilization_in_initial": { - "type": "string", - "description": "Sats routed inbound / our start balance" - }, - "apy_out": { - "type": "string", - "description": "Fees earned on outbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_out_initial": { - "type": "string", - "description": "Fees earned on outbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_in": { - "type": "string", - "description": "Fees earned on inbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_in_initial": { - "type": "string", - "description": "Fees earned on inbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_total": { - "type": "string", - "description": "Total fees earned on routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_total_initial": { - "type": "string", - "description": "Total fees earned on routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)" - }, - "apy_lease": { - "type": "string", - "description": "Lease fees earned over total amount leased for the lease term, amortized to a year (APY). Only appears if channel was leased out by us" - } + "example_json_response": [ + { + "autoclean": { + "failedpays": { + "cleaned": 1, + "uncleaned": 1 + } + } + }, + { + "autoclean": { + "succeededpays": { + "cleaned": 1, + "uncleaned": 0 + } + } + }, + { + "autoclean": { + "failedpays": { + "cleaned": 1, + "uncleaned": 1 + } + } + }, + { + "autoclean": { + "succeededpays": { + "cleaned": 1, + "uncleaned": 0 } } - } - } - }, - "bkpr-dumpincomecsv.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "csv_format" - ], - "properties": { - "csv_format": { - "type": "string", - "description": "CSV format to use. See RETURN VALUE for options" }, - "csv_file": { - "type": "string", - "description": "on-disk destination of the generated CSV file" + { + "autoclean": { + "failedforwards": { + "cleaned": 1, + "uncleaned": 1 + } + } }, - "consolidate_fees": { - "type": "boolean", - "description": "if true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Defaults to true. Note that this means that the events emitted are non-stable, i.e. calling **dumpincomecsv** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction" + { + "autoclean": { + "succeededforwards": { + "cleaned": 1, + "uncleaned": 0 + } + } }, - "start_time": { - "type": "u64", - "description": "UNIX timestamp (in seconds) that filters events after the provided timestamp. Defaults to zero" + { + "autoclean": { + "expiredinvoices": { + "cleaned": 1, + "uncleaned": 1 + } + } }, - "end_time": { - "type": "u64", - "description": "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp. Defaults to max-int" + { + "autoclean": { + "paidinvoices": { + "cleaned": 1, + "uncleaned": 0 + } + } } - } - }, - "bkpr-dumpincomecsv.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "unevaluatedProperties": false, - "required": [ - "csv_file", - "csv_format" ], - "properties": { - "csv_file": { - "type": "string", - "description": "File that the csv was generated to" - }, - "csv_format": { - "type": "string", - "enum": [ - "cointracker", - "koinly", - "harmony", - "quickbooks" - ], - "description": "Format to print csv as" - } - } - }, - "bkpr-inspect.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "account" + "author": [ + "Rusty Russell <> is mainly responsible." ], - "properties": { - "account": { - "type": "string", - "description": "channel account to inspect" - } - } + "see_also": [ + "lightningd-config(5)", + "lightning-autoclean-status(7)" + ], + "resources": [ + "Main web site: " + ] }, - "bkpr-inspect.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-autoclean-status.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "txs" + "rpc": "autoclean-status", + "title": "Examine auto-delete of old invoices/payments/forwards", + "description": [ + "The **autoclean-status** RPC command tells you about the status of the autclean plugin, optionally for only one subsystem." ], - "properties": { - "txs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "txid", - "fees_paid_msat", - "outputs" + "request": { + "required": [], + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "succeededforwards", + "failedforwards", + "succeededpays", + "failedpays", + "paidinvoices", + "expiredinvoices" ], - "properties": { - "txid": { - "type": "txid", - "description": "transaction id" - }, - "blockheight": { - "type": "u32", - "description": "Blockheight of transaction" - }, - "fees_paid_msat": { - "type": "msat", - "description": "Amount paid in sats for this tx" - }, - "outputs": { - "type": "array", - "items": { - "type": "object", - "required": [ - "account", - "outnum", - "output_value_msat", - "currency" - ], - "additionalProperties": false, - "properties": { - "account": { - "type": "string", - "description": "Account this output affected" - }, - "outnum": { - "type": "u32", - "description": "Index of output" - }, - "output_value_msat": { - "type": "msat", - "description": "Value of the output" - }, - "currency": { - "type": "string", - "description": "human-readable bech32 part for this coin type" - }, - "credit_msat": { - "type": "msat", - "description": "Amount credited to account" - }, - "debit_msat": { - "type": "msat", - "description": "Amount debited from account" - }, - "originating_account": { - "type": "string", - "description": "Account this output originated from" - }, - "output_tag": { - "type": "string", - "description": "Description of output creation event" - }, - "spend_tag": { - "type": "string", - "description": "Description of output spend event" - }, - "spending_txid": { - "type": "txid", - "description": "Transaction this output was spent in" - }, - "payment_id": { - "type": "hex", - "description": "lightning payment identifier. For an htlc, this will be the preimage." - } - }, - "allOf": [ - { - "if": { - "required": [ - "credit_msat" - ] - }, - "then": { - "required": [ - "output_tag" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "outnum": {}, - "output_value_msat": {}, - "currency": {}, - "credit_msat": {}, - "originating_account": {}, - "debit_msat": {}, - "output_tag": {}, - "spend_tag": {}, - "spending_txid": {}, - "payment_id": {} - } - } - }, - { - "if": { - "required": [ - "spending_txid" - ] - }, - "then": { - "required": [ - "spend_tag", - "debit_msat" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "outnum": {}, - "output_value_msat": {}, - "currency": {}, - "credit_msat": {}, - "originating_account": {}, - "debit_msat": {}, - "output_tag": {}, - "spend_tag": {}, - "spending_txid": {}, - "payment_id": {} - } - } - } - ] - } - } - } + "description": [ + "What subsystem to ask about. Currently supported subsystems are:", + " * `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).", + " * `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).", + " * `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).", + " * `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).", + " * `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).", + " * `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)." + ] } } - } - }, - "bkpr-listaccountevents.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "account": { - "type": "string", - "description": "receive events for the specified account" - } - } - }, - "bkpr-listaccountevents.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "events" - ], - "properties": { - "events": { - "type": "array", - "items": { + }, + "response": { + "required": [ + "autoclean" + ], + "properties": { + "autoclean": { "type": "object", - "additionalProperties": true, - "required": [ - "account", - "type", - "tag", - "credit_msat", - "debit_msat", - "currency", - "timestamp" - ], + "additionalProperties": false, "properties": { - "account": { - "type": "string", - "description": "The account name. If the account is a channel, the channel_id" - }, - "type": { - "type": "string", - "enum": [ - "onchain_fee", - "chain", - "channel" + "succeededforwards": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" ], - "description": "Coin movement type" - }, - "tag": { - "type": "string", - "description": "Description of movement" - }, - "credit_msat": { - "type": "msat", - "description": "Amount credited" - }, - "debit_msat": { - "type": "msat", - "description": "Amount debited" - }, - "currency": { - "type": "string", - "description": "human-readable bech32 part for this coin type" - }, - "timestamp": { - "type": "u32", - "description": "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp" - } - }, - "allOf": [ - { + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for successful listforwards." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } + }, "if": { "properties": { - "type": { - "type": "string", + "enabled": { + "type": "boolean", "enum": [ - "chain" + true ] } } }, "then": { - "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "outpoint": { - "type": "string", - "description": "The txid:outnum for this event" - }, - "blockheight": { - "type": "u32", - "description": "For chain events, blockheight this occured at" - }, - "origin": { - "type": "string", - "description": "The account this movement originated from" - }, - "payment_id": { - "type": "hex", - "description": "lightning payment identifier. For an htlc, this will be the preimage." - }, - "txid": { - "type": "txid", - "description": "The txid of the transaction that created this event" - }, - "description": { - "type": "string", - "description": "The description of this event" - } - }, + "additionalProperties": false, "required": [ - "outpoint", - "blockheight" + "enabled", + "age", + "cleaned" ], - "additionalProperties": false - } - }, - { - "if": { "properties": { - "type": { - "type": "string", - "enum": [ - "onchain_fee" + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to delete successful listforwards." + ] + } + } + }, + "else": { + "additionalProperties": false, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {} + } + } + }, + "failedforwards": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for failed listforwards." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } + }, + "if": { + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true ] } } }, "then": { + "additionalProperties": false, + "required": [ + "enabled", + "age", + "cleaned" + ], "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "description": {}, - "txid": { - "type": "txid", - "description": "The txid of the transaction that created this event" + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to delete failed listforwards." + ] } - }, + } + }, + "else": { + "additionalProperties": false, "required": [ - "txid" + "enabled", + "cleaned" ], - "additionalProperties": false + "properties": { + "enabled": {}, + "cleaned": {} + } } }, - { + "succeededpays": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for successful listpays/listsendpays." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } + }, "if": { "properties": { - "type": { - "type": "string", + "enabled": { + "type": "boolean", "enum": [ - "channel" + true ] } } }, "then": { + "additionalProperties": false, + "required": [ + "enabled", + "age", + "cleaned" + ], "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "description": {}, - "fees_msat": { - "type": "msat", - "description": "Amount paid in fees" - }, - "is_rebalance": { - "type": "boolean", - "description": "Is this payment part of a rebalance" - }, - "payment_id": { - "type": "hex", - "description": "lightning payment identifier. For an htlc, this will be the preimage." - }, - "part_id": { - "type": "u32", - "description": "Counter for multi-part payments" + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to delete successful listpays/listsendpays." + ] } - }, - "additionalProperties": false + } + }, + "else": { + "additionalProperties": false, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {} + } } - } - ] - } - } - } - }, - "bkpr-listbalances.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": {} - }, - "bkpr-listbalances.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "accounts" - ], - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "account", - "balances" - ], - "properties": { - "account": { - "type": "string", - "description": "The account name. If the account is a channel, the channel_id" }, - "balances": { - "type": "array", - "items": { - "type": "object", + "failedpays": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for failed listpays/listsendpays." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } + }, + "if": { + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { "additionalProperties": false, "required": [ - "balance_msat", - "coin_type" + "enabled", + "age", + "cleaned" ], "properties": { - "balance_msat": { - "type": "msat", - "description": "Current account balance" - }, - "coin_type": { - "type": "string", - "description": "coin type, same as HRP for bech32" + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to delete failed listpays/listsendpays." + ] } } + }, + "else": { + "additionalProperties": false, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {} + } } - } - }, - "if": { - "required": [ - "peer_id" - ] - }, - "then": { - "required": [ - "account", - "balances", - "peer_id", - "we_opened", - "account_closed", - "account_resolved" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "balances": {}, - "peer_id": { - "type": "pubkey", - "description": "Node id for the peer this account is with" + }, + "paidinvoices": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for paid listinvoices." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } }, - "we_opened": { - "type": "boolean", - "description": "Did we initiate this account open (open the channel)" + "if": { + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true + ] + } + } }, - "account_closed": { - "type": "boolean", - "description": "" + "then": { + "additionalProperties": false, + "required": [ + "enabled", + "age", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to paid listinvoices." + ] + } + } }, - "account_resolved": { - "type": "boolean", - "description": "Has this channel been closed and all outputs resolved?" + "else": { + "additionalProperties": false, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {} + } + } + }, + "expiredinvoices": { + "type": "object", + "additionalProperties": true, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether autocleaning is enabled for expired (unpaid) listinvoices." + ] + }, + "cleaned": { + "type": "u64", + "description": [ + "Total number of deletions done (ever)." + ] + } }, - "resolved_at_block": { - "type": "u32", - "description": "Blockheight account resolved on chain" + "if": { + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "enabled", + "age", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {}, + "age": { + "type": "u64", + "description": [ + "Age (in seconds) to expired listinvoices." + ] + } + } + }, + "else": { + "additionalProperties": false, + "required": [ + "enabled", + "cleaned" + ], + "properties": { + "enabled": {}, + "cleaned": {} + } } } - }, - "else": { - "properties": { - "account": {}, - "balances": {} - }, - "additionalProperties": false } } - } - } - }, - "bkpr-listincome.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "added": "pre-v0.10.1", - "required": [], - "additionalProperties": false, - "properties": { - "consolidate_fees": { - "type": "boolean", - "description": "if true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Defaults to true. Note that this means that the events emitted are non-stable, i.e. calling **listincome** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction" }, - "start_time": { - "type": "u32", - "description": "UNIX timestamp (in seconds) that filters events after the provided timestamp. Defaults to zero" + "pre_return_value_notes": [ + "Note that the ages parameters are set by various `autoclean-...-age` parameters in your configuration: see lightningd-config(5)." + ] + }, + "example_json_request": [ + { + "id": "example:autoclean-status#1", + "method": "autoclean-status", + "params": { + "subsystem": "expiredinvoices" + } }, - "end_time": { - "type": "u32", - "description": "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp. Defaults to max-int" - } - } - }, - "bkpr-listincome.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "income_events" - ], - "properties": { - "income_events": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "account", - "tag", - "credit_msat", - "debit_msat", - "currency", - "timestamp" - ], - "properties": { - "account": { - "type": "string", - "description": "The account name. If the account is a channel, the channel_id" - }, - "tag": { - "type": "string", - "description": "Type of income event" - }, - "credit_msat": { - "type": "msat", - "description": "Amount earned (income)" - }, - "debit_msat": { - "type": "msat", - "description": "Amount spent (expenses)" - }, - "currency": { - "type": "string", - "description": "human-readable bech32 part for this coin type" - }, - "timestamp": { - "type": "u32", - "description": "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp" - }, - "description": { - "type": "string", - "description": "More information about this event. If a `invoice` type, typically the bolt11/bolt12 description" - }, - "outpoint": { - "type": "string", - "description": "The txid:outnum for this event, if applicable" - }, - "txid": { - "type": "txid", - "description": "The txid of the transaction that created this event, if applicable" - }, - "payment_id": { - "type": "hex", - "description": "lightning payment identifier. For an htlc, this will be the preimage." - } - } + { + "id": "example:autoclean-status#2", + "method": "autoclean-status", + "params": { + "subsystem": null } - } - } - }, - "blacklistrune.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.08", - "properties": { - "start": { - "type": "u64", - "description": "first rune unique id to blacklist" }, - "end": { - "type": "u64", - "description": "final rune unique id to blacklist (defaults to start)" - } - } - }, - "blacklistrune.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "blacklist" - ], - "properties": { - "blacklist": { - "type": "array", - "description": "the resulting blacklist ranges after the command", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "start", - "end" - ], - "properties": { - "start": { - "type": "u64", - "description": "Unique id of first rune in this blacklist range" - }, - "end": { - "type": "u64", - "description": "Unique id of last rune in this blacklist range" - } - } + { + "id": "example:autoclean-status#3", + "method": "autoclean-status", + "params": { + "subsystem": "expiredinvoices" } - } - } - }, - "check.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "command_to_check" - ], - "properties": { - "command_to_check": { - "type": "string", - "description": "name of the relevant command" - } - } - }, - "check.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": { - "command_to_check": { - "type": "string", - "description": "the *command_to_check* argument" - } - }, - "required": [ - "command_to_check" - ] - }, - "checkmessage.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "message", - "zbase" - ], - "properties": { - "message": { - "type": "string", - "description": "Message to be checked against the signature" }, - "zbase": { - "type": "string", - "description": "The Zbase32 encoded signature to verify" + { + "id": "example:autoclean-status#4", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "pubkey": { - "type": "pubkey", - "description": "The Zbase32 encoded signature to verify" - } - } - }, - "checkmessage.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "verified", - "pubkey" - ], - "additionalProperties": false, - "properties": { - "verified": { - "type": "boolean", - "enum": [ - true - ], - "description": "whether the signature was valid" + { + "id": "example:autoclean-status#5", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "pubkey": { - "type": "pubkey", - "description": "the *pubkey* parameter, or the pubkey found by looking for known nodes" - } - } - }, - "checkrune.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "rune" - ], - "added": "v23.08", - "properties": { - "rune": { - "type": "string", - "description": "rune to check for authorization" - }, - "nodeid": { - "type": "string", - "description": "node id of requesting node *(required until v23.11)*" - }, - "method": { - "type": "string", - "description": "method for which rune needs to be validated *(required until v23.11)*" - }, - "params": { - "oneOf": [ - { - "type": "array", - "description": "array of positional parameters" - }, - { - "type": "object", - "description": "parameters for method" - } - ] - } - } - }, - "checkrune.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "valid" - ], - "properties": { - "valid": { - "type": "boolean", - "description": "true if the rune is valid" - } - } - }, - "close.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "description": "peer id, channel id or short_channel_id. If the given *id* is a peer ID (66 hex digits as a string), then it applies to the active channel of the direct peer corresponding to the given peer ID. If the given *id* is a channel ID (64 hex digits as a string, or the short channel ID *blockheight:txindex:outindex* form), then it applies to that channel" - }, - "unilateraltimeout": { - "type": "u32", - "description": "if it is not zero, the command will unilaterally close the channel when that number of seconds is reached. If *unilateraltimeout* is zero, then the command will wait indefinitely until the peer is online and can negotiate a mutual close. The default is 2 days (172800 seconds)" + { + "id": "example:autoclean-status#6", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "destination": { - "type": "string", - "description": "any Bitcoin bech32 type. If it isn't specified, the default is a Core Lightning wallet address. If the peer hasn't offered the option_shutdown_anysegwit` feature, then taproot addresses (or other v1+ segwit) are not allowed. Tell your friends to upgrade!" + { + "id": "example:autoclean-status#7", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "fee_negotiation_step": { - "type": "string", - "description": "it controls how closing fee negotiation is performed assuming the peer proposes a fee that is different than our estimate. (Note that modern peers use the quick-close protocol which does not allow negotiation: see *feerange* instead)\tOn every negotiation step we must give up some amount from our proposal towards the peer's proposal. This parameter can be an integer in which case it is interpreted as number of satoshis to step at a time. Or it can be an integer followed by `%` to designate a percentage of the interval to give up. A few examples, assuming the peer proposes a closing fee of 3000 satoshi and our estimate shows it must be 4000:\t- `10`: our next proposal will be 4000-10=3990.\t- `10%`: our next proposal will be 4000-(10% of (4000-3000))=3900.\t- '1': our next proposal will be 3999. This is the most extreme case when we insist on our fee as much as possible.\t- `100%`: our next proposal will be 3000. This is the most relaxed case when we quickly accept the peer's proposal.\tThe default is `50%`" + { + "id": "example:autoclean-status#8", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "wrong_funding": { - "type": "outpoint", - "description": "it can only be specified if both sides have offered the `shutdown_wrong_funding` feature (enabled by the **experimental-shutdown-wrong-funding** option): it must be a transaction id followed by a colon then the output number. Instead of negotiating a shutdown to spend the expected funding transaction, the shutdown transaction will spend this output instead. This is only allowed if this peer opened the channel and the channel is unused: it can rescue openings which have been manually miscreated" + { + "id": "example:autoclean-status#9", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "force_lease_closed": { - "type": "boolean", - "description": "if the channel has funds leased to the peer (option_will_fund), we prevent initiation of a mutual close unless this flag is passed in. Defaults to false" + { + "id": "example:autoclean-status#10", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "feerange": { - "type": "array", - "items": { - "type": "feerate" - }, - "description": "an optional array [ *min*, *max* ], indicating the minimum and maximum feerates to offer: the peer will obey these if it supports the quick-close protocol. *slow* and *unilateral_close* are the defaults.\tNote that the maximum fee will be capped at the final commitment transaction fee (unless the experimental anchor-outputs option is negotiated)" - } - } - }, - "close.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "mutual", - "unilateral", - "unopened" - ], - "description": "Whether we successfully negotiated a mutual close, closed without them, or discarded not-yet-opened channel" - } - }, - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "mutual", - "unilateral" - ] + { + "id": "example:autoclean-status#11", + "method": "autoclean-status", + "params": { + "subsystem": null } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "tx", - "txid" - ], - "properties": { - "type": {}, - "tx": { - "type": "hex", - "description": "the raw bitcoin transaction used to close the channel (if it was open)" - }, - "txid": { - "type": "txid", - "description": "the transaction id of the *tx* field" + }, + { + "id": "example:autoclean-status#12", + "method": "autoclean-status", + "params": { + "subsystem": null } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "type": {} - } - } - }, - "commando-blacklist.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.05", - "deprecated": [ - "v23.08", - "v24.08" - ], - "properties": { - "start": { - "type": "u64", - "description": "first rune unique id to blacklist" }, - "end": { - "type": "u64", - "description": "final rune unique id to blacklist (defaults to start)" - } - } - }, - "commando-blacklist.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "blacklist" - ], - "properties": { - "blacklist": { - "type": "array", - "description": "the resulting blacklist ranges after the command", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "start", - "end" - ], - "properties": { - "start": { - "type": "u64", - "description": "Unique id of first rune in this blacklist range" - }, - "end": { - "type": "u64", - "description": "Unique id of last rune in this blacklist range" - } - } + { + "id": "example:autoclean-status#13", + "method": "autoclean-status", + "params": { + "subsystem": null } - } - } - }, - "commando-listrunes.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.05", - "deprecated": [ - "v23.08", - "v24.05" - ], - "properties": { - "rune": { - "type": "string", - "description": "optional rune to list" - } - } - }, - "commando-listrunes.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "runes" - ], - "properties": { - "runes": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "rune", - "unique_id", - "restrictions", - "restrictions_as_english" - ], - "properties": { - "rune": { - "type": "string", - "description": "Base64 encoded rune" - }, - "unique_id": { - "type": "string", - "description": "Unique id assigned when the rune was generated; this is always a u64 for commando runes" - }, - "restrictions": { - "type": "array", - "description": "The restrictions on what commands this rune can authorize", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "alternatives", - "english" - ], - "properties": { - "alternatives": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "fieldname", - "value", - "condition", - "english" - ], - "properties": { - "fieldname": { - "type": "string", - "description": "The field this restriction applies to; see commando-rune(7)" - }, - "value": { - "type": "string", - "description": "The value accepted for this field" - }, - "condition": { - "type": "string", - "description": "The way to compare fieldname and value" - }, - "english": { - "type": "string", - "description": "English readable description of this alternative" - } - } - } - }, - "english": { - "type": "string", - "description": "English readable summary of alternatives above" - } - } - } - }, - "restrictions_as_english": { - "type": "string", - "description": "English readable description of the restrictions array above" - }, - "stored": { - "type": "boolean", - "enum": [ - false - ], - "description": "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)" - }, - "blacklisted": { - "type": "boolean", - "enum": [ - true - ], - "description": "The rune has been blacklisted; see commando-blacklist(7)" - }, - "last_used": { - "type": "number", - "description": "The last time this rune was successfully used", - "added": "23.11" - }, - "our_rune": { - "type": "boolean", - "enum": [ - false - ], - "description": "This is not a rune for this node (only possible when `rune` is specified)" - } - } + }, + { + "id": "example:autoclean-status#14", + "method": "autoclean-status", + "params": { + "subsystem": null } - } - } - }, - "commando-rune.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "deprecated": [ - "v23.08", - "v23.05" - ], - "properties": { - "rune": { - "type": "string", - "description": "optional rune to add to" }, - "restrictions": { - "oneOf": [ - { - "type": "array", - "description": "array of restrictions to add to rune", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "type": "string", - "enum": [ - "readonly" - ], - "description": "readonly string to indicate standard readonly restrictions" - } - ] - } - } - }, - "commando-rune.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "rune", - "unique_id" - ], - "properties": { - "rune": { - "type": "string", - "description": "the resulting rune" + { + "id": "example:autoclean-status#15", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "unique_id": { - "type": "string", - "description": "the id of this rune: this is set at creation and cannot be changed (even as restrictions are added)" + { + "id": "example:autoclean-status#16", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "warning_unrestricted_rune": { - "type": "string", - "description": "A warning shown when runes are created with powers that could drain your node" - } - } - }, - "commando.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "peer_id", - "method" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": "peer to command" + { + "id": "example:autoclean-status#17", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "method": { - "type": "string", - "description": "method to invoke on peer" + { + "id": "example:autoclean-status#18", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "params": { - "oneOf": [ - { - "type": "array", - "description": "array of positional parameters" - }, - { - "type": "object", - "description": "parameters for method" - } - ] + { + "id": "example:autoclean-status#19", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "rune": { - "type": "string", - "description": "rune to authorize the command" + { + "id": "example:autoclean-status#20", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "filter": { - "type": "object", - "additionalProperties": true, - "description": "filter to peer to apply to any successful result" - } - } - }, - "commando.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [], - "properties": { - "any": { - "description": "the return depends on the *method* invoked" - } - } - }, - "connect.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "description": "the target node's public key. As a convenience, *id* may be of the form *id@host* or *id@host:port*. In this case, the *host* and *port* parameters must be omitted. This can fail if your C-lightning node is a fresh install that has not connected to any peers yet (your node has no gossip yet), or if the target *id* is a fresh install that has no channels yet (nobody will gossip about a node until it has one published channel)" + { + "id": "example:autoclean-status#21", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "host": { - "type": "string", - "description": "the peer's hostname or IP address.\tIf *host* is not specified (or doesn't work), the connection will be attempted to an IP belonging to *id* obtained through gossip with other already connected peers.\tIf *host* begins with a `/` it is interpreted as a local path and the connection will be made to that local socket (see **bind-addr** in lightningd-config(5))" + { + "id": "example:autoclean-status#22", + "method": "autoclean-status", + "params": { + "subsystem": null + } }, - "port": { - "type": "u16", - "description": "the peer's port number. If not specified, the *port* depends on the current network:\t- bitcoin **mainnet**: 9735.\t- bitcoin **testnet**: 19735.\t- bitcoin **signet**: 39735.\t- bitcoin **regtest**: 19846" + { + "id": "example:autoclean-status#23", + "method": "autoclean-status", + "params": { + "subsystem": null + } } - } - }, - "connect.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "features", - "direction", - "address" ], - "properties": { - "id": { - "type": "pubkey", - "description": "the peer we connected to" - }, - "features": { - "type": "hex", - "description": "BOLT 9 features bitmap offered by peer" - }, - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": "Whether they initiated connection or we did" - }, - "address": { - "type": "object", - "description": "Address information (mainly useful if **direction** is *out*)", - "additionalProperties": true, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": "Type of connection (*torv2*/*torv3* only if **direction** is *out*)" - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "socket" - ], - "properties": { - "type": {}, - "socket": { - "type": "string", - "description": "socket filename" - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "address", - "port" - ], - "properties": { - "type": {}, - "address": { - "type": "string", - "description": "address in expected format for **type**" - }, - "port": { - "type": "u16", - "description": "port number" - } - } - } + "example_json_response": [ + { + "autoclean": { + "expiredinvoices": { + "enabled": false, + "cleaned": 0 } - ] - } - } - }, - "createinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invstring", - "label", - "preimage" - ], - "properties": { - "invstring": { - "type": "string", - "description": "" + } }, - "label": { - "oneOf": [ - { - "type": "string" + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 }, - { - "type": "integer" - } - ], - "description": "a unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice" - }, - "preimage": { - "type": "hex", - "description": "" - } - } - }, - "createinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "label", - "created_index", - "payment_hash", - "status", - "description", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": "the label for the invoice" - }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (always present unless **bolt12** is)" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string instead of **bolt11** (**experimental-offers** only)" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "amount_msat": { - "type": "msat", - "description": "The amount of the invoice (if it has one)" - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired", - "unpaid" - ], - "description": "Whether it has been paid, or can no longer be paid" - }, - "description": { - "type": "string", - "description": "Description extracted from **bolt11** or **bolt12**" - }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when invoice expires (or expired)" - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" - }, - "pay_index": { - "type": "u64", - "description": "Incrementing id for when this was paid (**status** *paid* only)" - }, - "amount_received_msat": { - "type": "msat", - "description": "Amount actually received (**status** *paid* only)" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when invoice was paid (**status** *paid* only)" - }, - "paid_outpoint": { - "type": "object", - "description": "Outpoint this invoice was paid with (**status** *paid* only)", - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": "ID of the transaction that paid the invoice (**status** *paid* only)" - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": "The 0-based output number of the transaction that paid the invoice (**status** *paid* only)" + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 0 } } }, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - }, - "local_offer_id": { - "type": "hex", - "description": "the *id* of our offer which created this invoice (**experimental-offers** only).", - "maxLength": 64, - "minLength": 64 - }, - "invreq_payer_note": { - "type": "string", - "description": "the optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." - } - } - }, - "createonion.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "hops", - "assocdata" - ], - "properties": { - "hops": { - "type": "array", - "description": "a JSON list of dicts, each specifying a node and the payload destined for that node", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "pubkey", - "payload" - ], - "properties": { - "pubkey": { - "type": "pubkey", - "description": "node pubkey" - }, - "payload": { - "type": "hex", - "description": "payload to be sent to the node" - } + { + "autoclean": { + "expiredinvoices": { + "enabled": false, + "cleaned": 0 } } }, - "assocdata": { - "type": "hex", - "description": "the associated data that the onion should commit to. If the onion is to be used to send a payment later it MUST match the `payment_hash` of the payment in order to be valid" - }, - "session_key": { - "type": "secret", - "description": "can be used to specify a secret that is used to generate the shared secrets used to encrypt the onion for each hop. It should only be used for testing or if a specific shared secret is important. If not specified it will be securely generated internally, and the shared secrets will be returned" - }, - "onion_size": { - "type": "u16", - "description": "a size different from the default payment onion (1300 bytes). May be used for custom protocols like trampoline routing" - } - } - }, - "createonion.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "onion", - "shared_secrets" - ], - "properties": { - "onion": { - "type": "hex", - "description": "the onion packet (*onion_size* bytes)" - }, - "shared_secrets": { - "type": "array", - "description": "one shared secret for each node in the *hops* parameter", - "items": { - "type": "secret", - "description": "the shared secret with this hop" + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 0 + } } - } - } - }, - "createrune.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.08", - "properties": { - "rune": { - "type": "string", - "description": "optional rune to add to" }, - "restrictions": { - "oneOf": [ - { - "type": "array", - "description": "array of restrictions to add to rune", - "items": { - "type": "array", - "items": { - "type": "string" - } - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 }, - { - "type": "string", - "enum": [ - "readonly" - ], - "description": "readonly string to indicate standard readonly restrictions" + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 0 } - ] - } - } - }, - "createrune.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "rune", - "unique_id" - ], - "properties": { - "rune": { - "type": "string", - "description": "the resulting rune" - }, - "unique_id": { - "type": "string", - "description": "the id of this rune: this is set at creation and cannot be changed (even as restrictions are added)" + } }, - "warning_unrestricted_rune": { - "type": "string", - "description": "A warning shown when runes are created with powers that could drain your node" - } - } - }, - "datastore.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "description": "a key can either have children or a value, never both: parents are created and removed automatically", - "oneOf": [ - { - "type": "array", - "description": "an array of values to form a hierarchy (though a single value is treated as a one-element array). Using the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended", - "items": { - "type": "string" - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 }, - { - "type": "string" + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 0 } - ] - }, - "string": { - "type": "string", - "description": "data to be saved in string format" - }, - "hex": { - "type": "hex", - "description": "data to be saved in hex format" - }, - "mode": { - "type": "string", - "description": "\t- `must-create`: fails if it already exists.\t- `must-replace`: fails if it doesn't already exist.\t- `create-or-replace`: never fails.\t- `must-append`: must already exist, append this to what's already there.\t- `create-or-append`: append if anything is there, otherwise create.\tDefault is `must-create`", - "enum": [ - "must-create", - "must-replace", - "create-or-replace", - "must-append", - "create-or-append" - ] - }, - "generation": { - "type": "u64", - "description": "if specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with *mode* `must-replace` or `must-append`" - } - } - }, - "datastore.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": "Part of the key added to the datastore" } }, - "generation": { - "type": "u64", - "description": "The number of times this has been updated" - }, - "hex": { - "type": "hex", - "description": "The hex data which has been added to the datastore" - }, - "string": { - "type": "string", - "description": "The data as a string, if it's valid utf-8" - } - } - }, - "datastoreusage.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.11", - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": "key is an array of values (though a single value is treated as a one-element array). Used as the starting point to traverse the datastore", - "items": { - "type": "string" - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 }, - { - "type": "string" - } - ] - } - } - }, - "datastoreusage.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "datastoreusage" - ], - "properties": { - "datastoreusage": { - "type": "object", - "additionalProperties": false, - "required": [ - "key", - "total_bytes" - ], - "properties": { - "key": { - "type": "string", - "description": "The key from which the database was traversed." + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 }, - "total_bytes": { - "type": "u64", - "description": "The total bytes that are stored under the *key*, including the all descendants data and the size of the keys themselves." + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 1 } } - } - } - }, - "decode.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "required": [ - "string" - ], - "properties": { - "string": { - "type": "string", - "description": "value to be decoded\t- a *bolt11* or *bolt12* string (optionally prefixed by `lightning:` or `LIGHTNING:`) as specified by the BOLT 11 and BOLT 12 specifications.\t- a *rune* as created by lightning-commando-rune(7).\t- an *emergency_recover* string generated by hsmtool like `lightning-hsmtool getemergencyrecover `. It holds `emergency.recover` contents and starts with `clnemerg1`" - } - } - }, - "decode.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "type", - "valid" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer", - "bolt12 invoice", - "bolt12 invoice_request", - "bolt11 invoice", - "rune", - "emergency recover" - ], - "description": "what kind of object it decoded to" }, - "valid": { - "type": "boolean", - "description": "if this is false, you *MUST* not use the result except for diagnostics!" - } - }, - "allOf": [ { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 1 } - }, - "then": { - "required": [ - "offer_id", - "offer_node_id", - "offer_description" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": "the id we use to identify this offer", - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": "which blockchains this offer is for (missing implies bitcoin mainnet only)", - "items": { - "type": "hash", - "description": "the genesis blockhash" - } - }, - "offer_metadata": { - "type": "hex", - "description": "any metadata the creater of the offer includes" - }, - "offer_currency": { - "type": "string", - "description": "ISO 4217 code of the currency (missing implies Bitcoin)", - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": "The currency code is unknown (so no `currency_minor_unit`)" - }, - "currency_minor_unit": { - "type": "u32", - "description": "the number of decimal places to apply to amount (if currency known)" - }, - "offer_amount": { - "type": "u64", - "description": "the amount in the `offer_currency` adjusted by `currency_minor_unit`, if any" - }, - "offer_amount_msat": { - "type": "msat", - "description": "the amount in bitcoin (if specified, and no `offer_currency`)" - }, - "offer_description": { - "type": "string", - "description": "the description of the purpose of the offer" - }, - "offer_issuer": { - "type": "string", - "description": "the description of the creator of the offer" - }, - "offer_features": { - "type": "hex", - "description": "the feature bits of the offer" - }, - "offer_absolute_expiry": { - "type": "u64", - "description": "UNIX timestamp of when this offer expires" - }, - "offer_quantity_max": { - "type": "u64", - "description": "the maximum quantity (or, if 0, means any quantity)" - }, - "offer_paths": { - "type": "array", - "description": "Paths to the destination", - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": "the (presumably well-known) public key of the start of the path" - }, - "blinding": { - "type": "pubkey", - "description": "blinding factor for this path" - }, - "path": { - "type": "array", - "description": "an individual path", - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": "node_id of the hop" - }, - "encrypted_recipient_data": { - "type": "hex", - "description": "encrypted TLV entry for this hop" - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": "public key of the offering node" - }, - "offer_recurrence": { - "type": "object", - "description": "how often to this offer should be used", - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": "the BOLT12 time unit" - }, - "time_unit_name": { - "type": "string", - "description": "the name of `time_unit` (if valid)" - }, - "period": { - "type": "u32", - "description": "how many `time_unit` per payment period" - }, - "basetime": { - "type": "u64", - "description": "period starts at this UNIX timestamp" - }, - "start_any_period": { - "type": "boolean", - "description": "you can start at any period (only if `basetime` present)" - }, - "limit": { - "type": "u32", - "description": "maximum period number for recurrence" - }, - "paywindow": { - "type": "object", - "description": "when within a period will payment be accepted (default is prior and during the period)", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": "seconds prior to period start" - }, - "seconds_after": { - "type": "u32", - "description": "seconds after to period start" - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": "amount should be scaled if payed after period start" - } - } - } - } - }, - "unknown_offer_tlvs": { - "type": "array", - "description": "Any extra fields we didn't know how to parse", - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": "The type" - }, - "length": { - "type": "u64", - "description": "The length" - }, - "value": { - "type": "hex", - "description": "The value" - } - } - } - } + } + }, + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 1 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 1 } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "node_id": {}, - "signature": {}, - "chains": {}, - "currency": {}, - "minor_unit": {}, - "warning_unknown_offer_currency": {}, - "amount": {}, - "amount_msat": {}, - "send_invoice": {}, - "description": {}, - "vendor": {}, - "features": {}, - "absolute_expiry": {}, - "paths": {}, - "quantity_max": {}, - "unknown_offer_tlvs": {}, - "recurrence": {}, - "warning_missing_offer_node_id": { - "type": "string", - "description": "`offer_node_id` is not present" - }, - "warning_invalid_offer_description": { - "type": "string", - "description": "`offer_description` is not valid UTF8" - }, - "warning_missing_offer_description": { - "type": "string", - "description": "`offer_description` is not present" - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": "`offer_currency_code` is not valid UTF8" - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": "`offer_issuer` is not valid UTF8" - } + } + }, + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 1 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice_request" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "offer_node_id", - "offer_description", - "invreq_metadata", - "invreq_payer_id", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": "the id we use to identify this offer", - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": "which blockchains this offer is for (missing implies bitcoin mainnet only)", - "items": { - "type": "hex", - "description": "the genesis blockhash", - "maxLength": 64, - "minLength": 64 - } - }, - "offer_metadata": { - "type": "hex", - "description": "any metadata the creator of the offer includes" - }, - "offer_currency": { - "type": "string", - "description": "ISO 4217 code of the currency (missing implies Bitcoin)", - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": "The currency code is unknown (so no `currency_minor_unit`)" - }, - "currency_minor_unit": { - "type": "u32", - "description": "the number of decimal places to apply to amount (if currency known)" - }, - "offer_amount": { - "type": "u64", - "description": "the amount in the `offer_currency` adjusted by `currency_minor_unit`, if any" - }, - "offer_amount_msat": { - "type": "msat", - "description": "the amount in bitcoin (if specified, and no `offer_currency`)" - }, - "offer_description": { - "type": "string", - "description": "the description of the purpose of the offer" - }, - "offer_issuer": { - "type": "string", - "description": "the description of the creator of the offer" - }, - "offer_features": { - "type": "hex", - "description": "the feature bits of the offer" - }, - "offer_absolute_expiry": { - "type": "u64", - "description": "UNIX timestamp of when this offer expires" - }, - "offer_quantity_max": { - "type": "u64", - "description": "the maximum quantity (or, if 0, means any quantity)" - }, - "offer_paths": { - "type": "array", - "description": "Paths to the destination", - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": "the (presumably well-known) public key of the start of the path" - }, - "blinding": { - "type": "pubkey", - "description": "blinding factor for this path" - }, - "path": { - "type": "array", - "description": "an individual path", - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": "node_id of the hop" - }, - "encrypted_recipient_data": { - "type": "hex", - "description": "encrypted TLV entry for this hop" - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": "public key of the offering node" - }, - "offer_recurrence": { - "type": "object", - "description": "how often to this offer should be used", - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": "the BOLT12 time unit" - }, - "time_unit_name": { - "type": "string", - "description": "the name of `time_unit` (if valid)" - }, - "period": { - "type": "u32", - "description": "how many `time_unit` per payment period" - }, - "basetime": { - "type": "u64", - "description": "period starts at this UNIX timestamp" - }, - "start_any_period": { - "type": "boolean", - "description": "you can start at any period (only if `basetime` present)" - }, - "limit": { - "type": "u32", - "description": "maximum period number for recurrence" - }, - "paywindow": { - "type": "object", - "description": "when within a period will payment be accepted (default is prior and during the period)", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": "seconds prior to period start" - }, - "seconds_after": { - "type": "u32", - "description": "seconds after to period start" - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": "amount should be scaled if payed after period start" - } - } - } - } - }, - "invreq_metadata": { - "type": "hex", - "description": "the payer-provided blob to derive invreq_payer_id" - }, - "invreq_payer_id": { - "type": "hex", - "description": "the payer-provided key" - }, - "invreq_chain": { - "type": "hex", - "description": "which blockchain this offer is for (missing implies bitcoin mainnet only)", - "maxLength": 64, - "minLength": 64 - }, - "invreq_amount_msat": { - "type": "msat", - "description": "the amount the invoice should be for" - }, - "invreq_features": { - "type": "hex", - "description": "the feature bits of the invoice_request" - }, - "invreq_quantity": { - "type": "u64", - "description": "the number of items to invoice for" - }, - "invreq_payer_note": { - "type": "string", - "description": "a note attached by the payer" - }, - "invreq_recurrence_counter": { - "type": "u32", - "description": "which number request this is for the same invoice" - }, - "invreq_recurrence_start": { - "type": "u32", - "description": "when we're requesting to start an invoice at a non-zero period" - }, - "signature": { - "type": "bip340sig", - "description": "BIP-340 signature of the `invreq_payer_id` on this invoice_request" - }, - "unknown_invoice_request_tlvs": { - "type": "array", - "description": "Any extra fields we didn't know how to parse", - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": "The type" - }, - "length": { - "type": "u64", - "description": "The length" - }, - "value": { - "type": "hex", - "description": "The value" - } - } - } - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 1 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice_request" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "offer_chains": {}, - "offer_metadata": {}, - "offer_currency": {}, - "warning_unknown_offer_currency": {}, - "currency_minor_unit": {}, - "offer_amount": {}, - "offer_amount_msat": {}, - "offer_description": {}, - "offer_issuer": {}, - "offer_features": {}, - "offer_absolute_expiry": {}, - "offer_quantity_max": {}, - "offer_paths": {}, - "offer_node_id": {}, - "offer_recurrence": {}, - "invreq_metadata": {}, - "invreq_payer_id": {}, - "invreq_chain": {}, - "invreq_amount_msat": {}, - "invreq_features": {}, - "invreq_quantity": {}, - "invreq_payer_note": {}, - "invreq_recurrence_counter": {}, - "invreq_recurrence_start": {}, - "warning_invalid_offer_description": { - "type": "string", - "description": "`offer_description` is not valid UTF8" - }, - "warning_missing_offer_description": { - "type": "string", - "description": "`offer_description` is not present" - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": "`offer_currency_code` is not valid UTF8" - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": "`offer_issuer` is not valid UTF8" - }, - "warning_missing_invreq_metadata": { - "type": "string", - "description": "`invreq_metadata` is not present" - }, - "warning_missing_invreq_payer_id": { - "type": "string", - "description": "`invreq_payer_id` is not present" - }, - "warning_invalid_invreq_payer_note": { - "type": "string", - "description": "`invreq_payer_note` is not valid UTF8" - }, - "warning_missing_invoice_request_signature": { - "type": "string", - "description": "`signature` is not present" - }, - "warning_invalid_invoice_request_signature": { - "type": "string", - "description": "Incorrect `signature`" - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 1 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "offer_node_id", - "offer_description", - "invreq_metadata", - "invreq_payer_id", - "invoice_paths", - "invoice_created_at", - "invoice_payment_hash", - "invoice_amount_msat", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": "the id we use to identify this offer", - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": "which blockchains this offer is for (missing implies bitcoin mainnet only)", - "items": { - "type": "hex", - "description": "the genesis blockhash", - "maxLength": 64, - "minLength": 64 - } - }, - "offer_metadata": { - "type": "hex", - "description": "any metadata the creator of the offer includes" - }, - "offer_currency": { - "type": "string", - "description": "ISO 4217 code of the currency (missing implies Bitcoin)", - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": "The currency code is unknown (so no `currency_minor_unit`)" - }, - "currency_minor_unit": { - "type": "u32", - "description": "the number of decimal places to apply to amount (if currency known)" - }, - "offer_amount": { - "type": "u64", - "description": "the amount in the `offer_currency` adjusted by `currency_minor_unit`, if any" - }, - "offer_amount_msat": { - "type": "msat", - "description": "the amount in bitcoin (if specified, and no `offer_currency`)" - }, - "offer_description": { - "type": "string", - "description": "the description of the purpose of the offer" - }, - "offer_issuer": { - "type": "string", - "description": "the description of the creator of the offer" - }, - "offer_features": { - "type": "hex", - "description": "the feature bits of the offer" - }, - "offer_absolute_expiry": { - "type": "u64", - "description": "UNIX timestamp of when this offer expires" - }, - "offer_quantity_max": { - "type": "u64", - "description": "the maximum quantity (or, if 0, means any quantity)" - }, - "offer_paths": { - "type": "array", - "description": "Paths to the destination", - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": "the (presumably well-known) public key of the start of the path" - }, - "blinding": { - "type": "pubkey", - "description": "blinding factor for this path" - }, - "path": { - "type": "array", - "description": "an individual path", - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": "node_id of the hop" - }, - "encrypted_recipient_data": { - "type": "hex", - "description": "encrypted TLV entry for this hop" - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": "public key of the offering node" - }, - "offer_recurrence": { - "type": "object", - "description": "how often to this offer should be used", - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": "the BOLT12 time unit" - }, - "time_unit_name": { - "type": "string", - "description": "the name of `time_unit` (if valid)" - }, - "period": { - "type": "u32", - "description": "how many `time_unit` per payment period" - }, - "basetime": { - "type": "u64", - "description": "period starts at this UNIX timestamp" - }, - "start_any_period": { - "type": "boolean", - "description": "you can start at any period (only if `basetime` present)" - }, - "limit": { - "type": "u32", - "description": "maximum period number for recurrence" - }, - "paywindow": { - "type": "object", - "description": "when within a period will payment be accepted (default is prior and during the period)", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": "seconds prior to period start" - }, - "seconds_after": { - "type": "u32", - "description": "seconds after to period start" - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": "amount should be scaled if payed after period start" - } - } - } - } - }, - "invreq_metadata": { - "type": "hex", - "description": "the payer-provided blob to derive invreq_payer_id" - }, - "invreq_payer_id": { - "type": "hex", - "description": "the payer-provided key" - }, - "invreq_chain": { - "type": "hex", - "description": "which blockchain this offer is for (missing implies bitcoin mainnet only)", - "maxLength": 64, - "minLength": 64 - }, - "invreq_amount_msat": { - "type": "msat", - "description": "the amount the invoice should be for" - }, - "invreq_features": { - "type": "hex", - "description": "the feature bits of the invoice_request" - }, - "invreq_quantity": { - "type": "u64", - "description": "the number of items to invoice for" - }, - "invreq_payer_note": { - "type": "string", - "description": "a note attached by the payer" - }, - "invreq_recurrence_counter": { - "type": "u32", - "description": "which number request this is for the same invoice" - }, - "invreq_recurrence_start": { - "type": "u32", - "description": "when we're requesting to start an invoice at a non-zero period" - }, - "invoice_paths": { - "type": "array", - "description": "Paths to pay the destination", - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "payinfo", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": "the (presumably well-known) public key of the start of the path" - }, - "blinding": { - "type": "pubkey", - "description": "blinding factor for this path" - }, - "payinfo": { - "type": "object", - "required": [ - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta", - "features" - ], - "additionalProperties": false, - "properties": { - "fee_base_msat": { - "type": "msat", - "description": "basefee for path" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "proportional fee for path" - }, - "cltv_expiry_delta": { - "type": "u32", - "description": "CLTV delta for path" - }, - "features": { - "type": "hex", - "description": "features allowed for path" - } - } - }, - "path": { - "type": "array", - "description": "an individual path", - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": "node_id of the hop" - }, - "encrypted_recipient_data": { - "type": "hex", - "description": "encrypted TLV entry for this hop" - } - } - } - } - } - } - }, - "invoice_created_at": { - "type": "u64", - "description": "the UNIX timestamp of invoice creation" - }, - "invoice_relative_expiry": { - "type": "u32", - "description": "the number of seconds after *invoice_created_at* when this expires" - }, - "invoice_payment_hash": { - "type": "hex", - "description": "the hash of the *payment_preimage*", - "maxLength": 64, - "minLength": 64 - }, - "invoice_amount_msat": { - "type": "msat", - "description": "the amount required to fulfill invoice" - }, - "invoice_fallbacks": { - "type": "array", - "description": "onchain addresses", - "items": { - "type": "object", - "required": [ - "version", - "hex" - ], - "additionalProperties": false, - "properties": { - "version": { - "type": "u8", - "description": "Segwit address version" - }, - "hex": { - "type": "hex", - "description": "Raw encoded segwit address" - }, - "address": { - "type": "string", - "description": "bech32 segwit address" - } - } - } - }, - "invoice_features": { - "type": "hex", - "description": "the feature bits of the invoice" - }, - "invoice_node_id": { - "type": "pubkey", - "description": "the id to pay (usually the same as offer_node_id)" - }, - "invoice_recurrence_basetime": { - "type": "u64", - "description": "the UNIX timestamp to base the invoice periods on" - }, - "signature": { - "type": "bip340sig", - "description": "BIP-340 signature of the `offer_node_id` on this invoice" - }, - "unknown_invoice_tlvs": { - "type": "array", - "description": "Any extra fields we didn't know how to parse", - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": "The type" - }, - "length": { - "type": "u64", - "description": "The length" - }, - "value": { - "type": "hex", - "description": "The value" - } - } - } - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 1 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "offer_chains": {}, - "offer_metadata": {}, - "offer_currency": {}, - "warning_unknown_offer_currency": {}, - "currency_minor_unit": {}, - "offer_amount": {}, - "offer_amount_msat": {}, - "offer_description": {}, - "offer_issuer": {}, - "offer_features": {}, - "offer_absolute_expiry": {}, - "offer_quantity_max": {}, - "offer_paths": {}, - "offer_node_id": {}, - "offer_recurrence": {}, - "invreq_metadata": {}, - "invreq_payer_id": {}, - "invreq_chain": {}, - "invreq_amount_msat": {}, - "invreq_features": {}, - "invreq_quantity": {}, - "invreq_payer_note": {}, - "invreq_node_id": {}, - "invreq_recurrence_counter": {}, - "invreq_recurrence_start": {}, - "warning_invalid_offer_description": { - "type": "string", - "description": "`offer_description` is not valid UTF8" - }, - "warning_missing_offer_description": { - "type": "string", - "description": "`offer_description` is not present" - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": "`offer_currency_code` is not valid UTF8" - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": "`offer_issuer` is not valid UTF8" - }, - "warning_missing_invreq_metadata": { - "type": "string", - "description": "`invreq_metadata` is not present" - }, - "warning_invalid_invreq_payer_note": { - "type": "string", - "description": "`invreq_payer_note` is not valid UTF8" - }, - "warning_missing_invoice_paths": { - "type": "string", - "description": "`invoice_paths` is not present" - }, - "warning_missing_invoice_blindedpay": { - "type": "string", - "description": "`invoice_blindedpay` is not present" - }, - "warning_missing_invoice_created_at": { - "type": "string", - "description": "`invoice_created_at` is not present" - }, - "warning_missing_invoice_payment_hash": { - "type": "string", - "description": "`invoice_payment_hash` is not present" - }, - "warning_missing_invoice_amount": { - "type": "string", - "description": "`invoice_amount` is not present" - }, - "warning_missing_invoice_recurrence_basetime": { - "type": "string", - "description": "`invoice_recurrence_basetime` is not present" - }, - "warning_missing_invoice_node_id": { - "type": "string", - "description": "`invoice_node_id` is not present" - }, - "warning_missing_invoice_signature": { - "type": "string", - "description": "`signature` is not present" - }, - "warning_invalid_invoice_signature": { - "type": "string", - "description": "Incorrect `signature`" - }, - "fallbacks": { - "type": "array", - "items": { - "type": "object", - "required": [ - "version", - "hex" - ], - "properties": { - "version": {}, - "hex": {}, - "address": {}, - "warning_invoice_fallbacks_version_invalid": { - "type": "string", - "description": "`version` is > 16" - } - } - } - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt11 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "currency", - "created_at", - "expiry", - "payee", - "min_final_cltv_expiry", - "payment_hash", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "currency": { - "type": "string", - "description": "the BIP173 name for the currency" - }, - "created_at": { - "type": "u64", - "description": "the UNIX-style timestamp of the invoice" - }, - "expiry": { - "type": "u64", - "description": "the number of seconds this is valid after `created_at`" - }, - "payee": { - "type": "pubkey", - "description": "the public key of the recipient" - }, - "amount_msat": { - "type": "msat", - "description": "Amount the invoice asked for" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage*" - }, - "signature": { - "type": "signature", - "description": "signature of the *payee* on this invoice" - }, - "description": { - "type": "string", - "description": "the description of the purpose of the purchase" - }, - "description_hash": { - "type": "hash", - "description": "the hash of the description, in place of *description*" - }, - "min_final_cltv_expiry": { - "type": "u32", - "description": "the minimum CLTV delay for the final node" - }, - "payment_secret": { - "type": "secret", - "description": "the secret to hand to the payee node" - }, - "features": { - "type": "hex", - "description": "the features bitmap for this invoice" - }, - "payment_metadata": { - "type": "hex", - "description": "the payment_metadata to put in the payment" - }, - "fallbacks": { - "type": "array", - "description": "onchain addresses", - "items": { - "type": "object", - "required": [ - "type", - "hex" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "string", - "description": "the address type (if known)", - "enum": [ - "P2PKH", - "P2SH", - "P2WPKH", - "P2WSH", - "P2TR" - ] - }, - "addr": { - "type": "string", - "description": "the address in appropriate format for *type*" - }, - "hex": { - "type": "hex", - "description": "Raw encoded address" - } - } - } - }, - "routes": { - "type": "array", - "description": "Route hints to the *payee*", - "items": { - "type": "array", - "description": "hops in the route", - "items": { - "type": "object", - "required": [ - "pubkey", - "short_channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta" - ], - "additionalProperties": false, - "properties": { - "pubkey": { - "type": "pubkey", - "description": "the public key of the node" - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "a channel to the next peer" - }, - "fee_base_msat": { - "type": "msat", - "description": "the base fee for payments" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "the parts-per-million fee for payments" - }, - "cltv_expiry_delta": { - "type": "u32", - "description": "the CLTV delta across this hop" - } - } - } - } - }, - "extra": { - "type": "array", - "description": "Any extra fields we didn't know how to parse", - "items": { - "type": "object", - "required": [ - "tag", - "data" - ], - "additionalProperties": false, - "properties": { - "tag": { - "type": "string", - "description": "The bech32 letter which identifies this field", - "maxLength": 1, - "minLength": 1 - }, - "data": { - "type": "string", - "description": "The bech32 data for this field" - } - } - } - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "rune" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "string", - "restrictions", - "valid" - ], - "additionalProperties": false, - "properties": { - "unique_id": { - "type": "string", - "description": "unique id (always a numeric id on runes we create)" - }, - "version": { - "type": "string", - "description": "rune version, not currently set on runes we create" - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - }, - "type": {}, - "string": { - "type": "string", - "description": "the string encoding of the rune" - }, - "restrictions": { - "type": "array", - "description": "restrictions built into the rune: all must pass", - "items": { - "type": "object", - "required": [ - "alternatives", - "summary" - ], - "additionalProperties": false, - "properties": { - "alternatives": { - "type": "array", - "description": "each way restriction can be met: any can pass", - "items": { - "type": "string", - "description": "the alternative of form fieldname condition fieldname" - } - }, - "summary": { - "type": "string", - "description": "human-readable summary of this restriction" - } - } - } - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "rune" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [ - "valid" - ], - "additionalProperties": false, - "properties": { - "valid": { - "type": "boolean", - "enum": [ - false - ] - }, - "type": {}, - "warning_rune_invalid_utf8": { - "type": "string", - "description": "the rune contains invalid UTF-8 strings" - }, - "hex": { - "type": "hex", - "description": "the raw rune in hex" - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": true, + "age": 1, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 } } }, { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "emergency recover" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "decrypted" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "decrypted": { - "type": "hex", - "description": "The decrypted value of the provided bech32 of emergency.recover", - "added": "v23.11" - } + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": true, + "age": 1, + "cleaned": 1 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 } } - } - ] - }, - "decodepay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": "bolt11 invoice to decode" - }, - "description": { - "type": "string", - "description": "description of the invoice to decode" - } - } - }, - "decodepay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "currency", - "created_at", - "expiry", - "payee", - "min_final_cltv_expiry", - "payment_hash", - "signature" - ], - "additionalProperties": false, - "properties": { - "currency": { - "type": "string", - "description": "the BIP173 name for the currency" - }, - "created_at": { - "type": "u64", - "description": "the UNIX-style timestamp of the invoice" - }, - "expiry": { - "type": "u64", - "description": "the number of seconds this is valid after *timestamp*" - }, - "payee": { - "type": "pubkey", - "description": "the public key of the recipient" - }, - "amount_msat": { - "type": "msat", - "description": "Amount the invoice asked for" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage*" - }, - "signature": { - "type": "signature", - "description": "signature of the *payee* on this invoice" - }, - "description": { - "type": "string", - "description": "the description of the purpose of the purchase" - }, - "description_hash": { - "type": "hash", - "description": "the hash of the description, in place of *description*" - }, - "min_final_cltv_expiry": { - "type": "u32", - "description": "the minimum CLTV delay for the final node" - }, - "payment_secret": { - "type": "hash", - "description": "the secret to hand to the payee node" }, - "features": { - "type": "hex", - "description": "the features bitmap for this invoice" - }, - "payment_metadata": { - "type": "hex", - "description": "the payment_metadata to put in the payment" + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": true, + "age": 1, + "cleaned": 1 + }, + "expiredinvoices": { + "enabled": true, + "age": 2, + "cleaned": 3 + } + } }, - "fallbacks": { - "type": "array", - "description": "onchain addresses", - "items": { - "type": "object", - "required": [ - "type", - "hex" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "string", - "description": "the address type (if known)", - "enum": [ - "P2PKH", - "P2SH", - "P2WPKH", - "P2WSH", - "P2TR" - ] - }, - "addr": { - "type": "string", - "description": "the address in appropriate format for *type*" - }, - "hex": { - "type": "hex", - "description": "Raw encoded address" - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": true, + "age": 1, + "cleaned": 1 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 0 } } }, - "routes": { - "type": "array", - "description": "Route hints to the *payee*", - "items": { - "type": "array", - "description": "hops in the route", - "items": { - "type": "object", - "required": [ - "pubkey", - "short_channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta" - ], - "additionalProperties": false, - "properties": { - "pubkey": { - "type": "pubkey", - "description": "the public key of the node" - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "a channel to the next peer" - }, - "fee_base_msat": { - "type": "msat", - "description": "the base fee for payments" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "the parts-per-million fee for payments" - }, - "cltv_expiry_delta": { - "type": "u32", - "description": "the CLTV delta across this hop" - } - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": false, + "cleaned": 0 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": true, + "age": 1, + "cleaned": 1 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 0 } } }, - "extra": { - "type": "array", - "description": "Any extra fields we didn't know how to parse", - "items": { - "type": "object", - "required": [ - "tag", - "data" - ], - "additionalProperties": false, - "properties": { - "tag": { - "type": "string", - "description": "The bech32 letter which identifies this field", - "maxLength": 1, - "minLength": 1 - }, - "data": { - "type": "string", - "description": "The bech32 data for this field" - } + { + "autoclean": { + "succeededforwards": { + "enabled": false, + "cleaned": 0 + }, + "failedforwards": { + "enabled": true, + "age": 2, + "cleaned": 1 + }, + "succeededpays": { + "enabled": false, + "cleaned": 0 + }, + "failedpays": { + "enabled": false, + "cleaned": 0 + }, + "paidinvoices": { + "enabled": false, + "cleaned": 0 + }, + "expiredinvoices": { + "enabled": false, + "cleaned": 0 } } } - } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightningd-config(5)", + "lightning-listinvoices(7)", + "lightning-listpays(7)", + "lightning-listforwards(7)" + ], + "resources": [ + "Main web site: " + ] }, - "deldatastore.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-autocleaninvoice.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": "key is an array of values (though a single value is treated as a one-element array), to form a heirarchy. Using the first element of the key as the plugin name (e.g. [ 'summary' ]) is recommended. A key can either have children or a value, never both: parents are created and removed automatically", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "generation": { - "type": "u64", - "description": "If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with mode \u201cmust-replace\u201d or \u201cmust-append\u201d" - } - } - }, - "deldatastore.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": "Part of the key added to the datastore" + "rpc": "setchannel", + "title": "Command for configuring fees / htlc range advertized for a channel", + "description": [], + "request": { + "required": [], + "properties": { + "expired_by": { + "type": "u64", + "description": [ + "How long an invoice must be expired (seconds) before we delete it." + ] + }, + "cycle_seconds": { + "type": "u64", + "description": [ + "The interval (in seconds) between cleaning expired invoices." + ] } - }, - "generation": { - "type": "u64", - "description": "The number of times this has been updated" - }, - "hex": { - "type": "hex", - "description": "The hex data which has removed from the datastore" - }, - "string": { - "type": "string", - "description": "The data as a string, if it's valid utf-8" - } - } - }, - "delexpiredinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "maxexpirytime": { - "type": "u64", - "description": "invoice expiry time in seconds. If not specified then all expired invoices are deleted" - } - } - }, - "delexpiredinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": {} - }, - "delforward.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "in_channel", - "in_htlc_id", - "status" - ], - "properties": { - "in_channel": { - "type": "short_channel_id", - "description": "only the matching forwards on the given inbound channel are deleted.\tNote: for **listforwards** entries without an *in_htlc_id* entry (no longer created in v22.11, but can exist from older versions), a value of 18446744073709551615 can be used, but then it will delete *all* entries without *in_htlc_id* for this *in_channel* and *status*" - }, - "in_htlc_id": { - "type": "u64", - "description": "the unique HTLC id the sender gave this (not present if incoming channel was closed before ugprade to v22.11)" - }, - "status": { - "type": "string", - "description": "the status of the forward to delete. You cannot delete forwards which have status *offered* (i.e. are currently active)", - "enum": [ - "settled", - "local_failed", - "failed" - ] - } - } - }, - "delforward.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": {} - }, - "delinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "label", - "status" - ], - "properties": { - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "u64" - } - ], - "description": "label of the invoice to be deleted" - }, - "status": { - "type": "string", - "description": "label of the invoice to be deleted. The caller should be particularly aware of the error case caused by the *status* changing just before this command is invoked!", - "enum": [ - "paid", - "expired", - "unpaid" - ] - }, - "desconly": { - "type": "boolean", - "description": "if set to True, the invoice is not deleted, but has its description removed (this can save space with very large descriptions, as would be used with lightning-invoice(7) *deschashonly*" - } - } - }, - "delinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "label", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "additionalProperties": true, - "properties": { - "label": { - "type": "string", - "description": "Unique label given at creation time" - }, - "bolt11": { - "type": "string", - "description": "BOLT11 string" - }, - "bolt12": { - "type": "string", - "description": "BOLT12 string" - }, - "amount_msat": { - "type": "msat", - "description": "the amount required to pay this invoice" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)" - }, - "status": { - "type": "string", - "description": "State of invoice", - "enum": [ - "paid", - "expired", - "unpaid" - ] - }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp when invoice expires (or expired)" } }, - "allOf": [ - { - "if": { - "required": [ - "bolt12" + "response": { + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "description": [ + "Whether invoice autocleaning is active." ] - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "label": {}, - "bolt12": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "pay_index": {}, - "created_index": {}, - "updated_index": {}, - "amount_received_msat": {}, - "paid_at": {}, - "payment_preimage": {}, - "local_offer_id": { - "type": "hex", - "description": "offer for which this invoice was created" - }, - "invreq_payer_note": { - "type": "string", - "description": "the optional *invreq_payer_note* from invoice_request which created this invoice" + } + }, + "allOf": [ + { + "if": { + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true + ] + } } - } - }, - "else": { - "required": [ - "bolt11" - ], - "additionalProperties": false, - "properties": { - "label": {}, - "bolt11": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "pay_index": {}, - "created_index": {}, - "updated_index": {}, - "amount_received_msat": {}, - "msatoshi_received": {}, - "paid_at": {}, - "payment_preimage": {} - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] + }, + "then": { + "additionalProperties": false, + "required": [ + "expired_by", + "cycle_seconds" + ], + "properties": { + "enabled": {}, + "expired_by": { + "type": "u64", + "description": [ + "How long an invoice must be expired (seconds) before we delete it." + ] + }, + "cycle_seconds": { + "type": "u64", + "description": [ + "How long an invoice must be expired (seconds) before we delete it." + ] + } } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "bolt11": {}, - "bolt12": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "invreq_payer_note": {}, - "local_offer_id": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": "unique index for this invoice payment" - }, - "amount_received_msat": { - "type": "msat", - "description": "how much was actually received" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when payment was received" - }, - "payment_preimage": { - "type": "secret", - "description": "SHA256 of this is the *payment_hash* offered in the invoice" + }, + "else": { + "additionalProperties": false, + "properties": { + "enabled": {} } } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "bolt11": {}, - "bolt12": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": {}, - "invreq_payer_note": {}, - "local_offer_id": {} - } } - } - ] - }, - "delpay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "payment_hash", - "status" - ], - "additionalProperties": false, - "properties": { - "payment_hash": { - "type": "hash", - "description": "the unique identifier of a payment" - }, - "status": { - "type": "string", - "description": "expected status of the payment. Only deletes if the payment status matches. Deleting a `pending` payment will return an error", - "enum": [ - "complete", - "failed" - ] - }, - "partid": { - "type": "u64", - "description": "specific partid to delete (must be paired with *groupid*)" - }, - "groupid": { - "type": "u64", - "description": "specific groupid to delete (must be paired with *partid*)" - } - } - }, - "delpay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "payments" - ], - "additionalProperties": false, - "properties": { - "payments": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "created_index", - "id", - "payment_hash", - "status", - "amount_sent_msat", - "created_at" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was created in" - }, - "id": { - "type": "u64", - "description": "old synonym for created_index" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": "status of the payment" - }, - "amount_sent_msat": { - "type": "msat", - "description": "the amount we actually sent, including fees" - }, - "partid": { - "type": "u64", - "description": "unique ID within this (multi-part) payment" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" - }, - "amount_msat": { - "type": "msat", - "description": "the amount the destination received, if known" - }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was changed (only present if it has changed since creation)" - }, - "completed_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was completed" - }, - "groupid": { - "type": "u64", - "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "payment_preimage": { - "type": "secret", - "description": "proof of payment" - }, - "label": { - "type": "string", - "description": "the label, if given to sendpay" - }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if pay supplied one)" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied for pay: **experimental-offers** only)." - }, - "erroronion": { - "type": "hex", - "description": "the error onion returned on failure, if any." - } - } + ] + }, + "example_json_request": [ + { + "id": "example:autocleaninvoice#1", + "method": "autocleaninvoice", + "params": { + "cycle_seconds": 8, + "expired_by": 2 } - } - } - }, - "disableinvoicerequest.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v22.11", - "required": [ - "invreq_id" - ], - "properties": { - "invreq_id": { - "type": "string", - "description": "a specific invoice can be disabled by providing the `invreq_id`, which is presented by lightning-invoicerequest(7)" - } - } - }, - "disableinvoicerequest.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "added": "v22.11", - "properties": { - "invreq_id": { - "type": "hash", - "description": "the SHA256 hash of all invoice_request fields less than 160" - }, - "active": { - "type": "boolean", - "enum": [ - false - ], - "description": "whether the invoice_request is currently active" }, - "single_use": { - "type": "boolean", - "description": "whether the invoice_request will become inactive after we pay an invoice for it" + { + "id": "example:autocleaninvoice#2", + "method": "autocleaninvoice", + "params": { + "cycle_seconds": 0, + "expired_by": null + } }, - "bolt12": { - "type": "string", - "description": "the bolt12 string starting with lnr" + { + "id": "example:autocleaninvoice#3", + "method": "autocleaninvoice", + "params": { + "cycle_seconds": 1, + "expired_by": null + } }, - "used": { - "type": "boolean", - "description": "whether the invoice_request has already been used" + { + "id": "example:autocleaninvoice#4", + "method": "autocleaninvoice", + "params": { + "cycle_seconds": 0, + "expired_by": null + } }, - "label": { - "type": "string", - "description": "the label provided when creating the invoice_request" - } - } - }, - "disableoffer.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "offer_id" - ], - "properties": { - "offer_id": { - "type": "hash", - "description": "the id we use to identify this offer" + { + "id": "example:autocleaninvoice#5", + "method": "autocleaninvoice", + "params": { + "cycle_seconds": 1, + "expired_by": 1 + } } - } - }, - "disableoffer.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used" ], - "additionalProperties": false, - "properties": { - "offer_id": { - "type": "hash", - "description": "the merkle hash of the offer" - }, - "active": { - "type": "boolean", - "enum": [ - false - ], - "description": "Whether the offer can produce invoices/payments" + "example_json_response": [ + { + "enabled": true, + "cycle_seconds": 8, + "expired_by": 2 }, - "single_use": { - "type": "boolean", - "description": "Whether the offer is disabled after first successful use" + { + "enabled": false }, - "bolt12": { - "type": "string", - "description": "The bolt12 string representing this offer" + { + "enabled": true, + "cycle_seconds": 1, + "expired_by": 86400 }, - "used": { - "type": "boolean", - "description": "Whether the offer has had an invoice paid / payment made" + { + "enabled": false }, - "label": { - "type": "string", - "description": "The label provided when offer was created" + { + "enabled": true, + "cycle_seconds": 1, + "expired_by": 1 } - } + ] }, - "disconnect.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-batching.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "id" + "rpc": "batching", + "title": "Command to allow database batching.", + "description": [ + "The **batching** RPC command allows (but does not guarantee!) database commitments to be deferred when multiple commands are issued on this RPC connection. This is only useful if many commands are being given at once, in which case it can offer a performance improvement (the cost being that if there is a crash, it's unclear how many of the commands will have been persisted)." ], - "properties": { - "id": { - "type": "pubkey", - "description": "the public key of the peer to terminate the connection.\tIt can be discovered in the output of the listpeers command, which returns a set of peers:\t{\t\t'peers': [\t\t\t{\t\t\t'id': '0563aea81...',\t\t\t'connected': true,\t\t\t...\t\t}\t\t]\t}" - }, - "force": { - "type": "boolean", - "description": "if set to True, it will disconnect even with an active channel" + "request": { + "required": [ + "enable" + ], + "properties": { + "enable": { + "type": "boolean", + "description": [ + "Whether to enable or disable transaction batching." + ], + "default": "False" + } } - } - }, - "disconnect.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "emergencyrecover.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": {} - }, - "emergencyrecover.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "stubs" - ], - "properties": { - "stubs": { - "type": "array", - "items": { - "type": "hash", - "description": "Channel IDs of channels successfully inserted." + }, + "response": { + "properties": {} + }, + "example_json_request": [ + { + "id": "example:batching#1", + "method": "batching", + "params": { + "enable": true } } - } + ], + "example_json_response": [ + {} + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "author": [ + "Rusty Russell <> wrote the initial version of this man page." + ], + "resources": [ + "Main web site: " + ] }, - "feerates.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-bkpr-channelsapy.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "style" + "rpc": "bkpr-channelsapy", + "title": "Command to list stats on channel earnings", + "description": [ + "The **bkpr-channelsapy** RPC command lists stats on routing income, leasing income, and various calculated APYs for channel routed funds." ], - "properties": { - "style": { - "type": "string", - "description": "\t*perkw* - provide feerate in units of satoshis per 1000 weight (e.g. the minimum fee is usually `253perkw`)\t*perkb* - provide feerate in units of satoshis per 1000 virtual bytes (eg. the minimum fee is usually `1000perkb`)", - "enum": [ - "perkb", - "perkw" - ] + "request": { + "required": [], + "properties": { + "start_time": { + "type": "u64", + "description": [ + "UNIX timestamp (in seconds) to filter events after the provided timestamp." + ], + "default": "zero" + }, + "end_time": { + "type": "u64", + "description": [ + "UNIX timestamp (in seconds) to filter events up to and at the provided timestamp." + ], + "default": "max-int" + } } - } - }, - "feerates.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "warning_missing_feerates": { - "type": "string", - "description": "Some fee estimates are missing" - }, - "perkb": { - "type": "object", - "description": "If *style* parameter was perkb", - "additionalProperties": false, - "required": [ - "min_acceptable", - "max_acceptable", - "floor", - "estimates" - ], - "properties": { - "min_acceptable": { - "type": "u32", - "description": "The smallest feerate that we allow peers to specify: half the 100-block estimate" - }, - "max_acceptable": { - "type": "u32", - "description": "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." - }, - "floor": { - "type": "u32", - "added": "v23.05", - "description": "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)" - }, - "estimates": { - "type": "array", - "added": "v23.05", - "description": "Feerate estimates from plugin which we are using (usuallly bcli)", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "blockcount", - "feerate", - "smoothed_feerate" - ], - "properties": { - "blockcount": { - "type": "u32", - "added": "v23.05", - "description": "The number of blocks the feerate is expected to get a transaction in" - }, - "feerate": { - "type": "u32", - "added": "v23.05", - "description": "The feerate for this estimate, in given *style*" - }, - "smoothed_feerate": { - "type": "u32", - "added": "v23.05", - "description": "The feerate, smoothed over time (useful for coordinating with other nodes)" - } - } - } - }, - "opening": { - "type": "u32", - "description": "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)" - }, - "mutual_close": { - "type": "u32", - "description": "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." - }, - "unilateral_close": { - "type": "u32", - "description": "Feerate for commitment_transaction in a live channel which we originally funded" - }, - "unilateral_anchor_close": { - "type": "u32", - "added": "v23.08", - "description": "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)" - }, - "delayed_to_us": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": "Feerate for returning unilateral close funds to our wallet" - }, - "htlc_resolution": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" + }, + "response": { + "required": [ + "channels_apy" + ], + "properties": { + "channels_apy": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "account", + "routed_out_msat", + "routed_in_msat", + "lease_fee_paid_msat", + "lease_fee_earned_msat", + "pushed_out_msat", + "pushed_in_msat", + "our_start_balance_msat", + "channel_start_balance_msat", + "fees_out_msat", + "utilization_out", + "utilization_in", + "apy_out", + "apy_in", + "apy_total" ], - "description": "Feerate for returning unilateral close HTLC outputs to our wallet" - }, - "penalty": { - "type": "u32", - "description": "Feerate to use when creating penalty tx for watchtowers" - } - } - }, - "perkw": { - "type": "object", - "description": "If *style* parameter was perkw", - "additionalProperties": false, - "required": [ - "min_acceptable", - "max_acceptable", - "floor", - "estimates" - ], - "properties": { - "min_acceptable": { - "type": "u32", - "description": "The smallest feerate that you can use, usually the minimum relayed feerate of the backend" - }, - "max_acceptable": { - "type": "u32", - "description": "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." - }, - "floor": { - "type": "u32", - "added": "v23.05", - "description": "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)" - }, - "estimates": { - "type": "array", - "added": "v23.05", - "description": "Feerate estimates from plugin which we are using (usuallly bcli)", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "blockcount", - "feerate", - "smoothed_feerate" - ], - "properties": { - "blockcount": { - "type": "u32", - "added": "v23.05", - "description": "The number of blocks the feerate is expected to get a transaction in" - }, - "feerate": { - "type": "u32", - "added": "v23.05", - "description": "The feerate for this estimate, in given *style*" - }, - "smoothed_feerate": { - "type": "u32", - "added": "v23.05", - "description": "The feerate, smoothed over time (useful for coordinating with other nodes)" - } + "properties": { + "account": { + "type": "string", + "description": [ + "The account name. If the account is a channel, the channel_id. The 'net' entry is the rollup of all channel accounts." + ] + }, + "routed_out_msat": { + "type": "msat", + "description": [ + "Sats routed (outbound)." + ] + }, + "routed_in_msat": { + "type": "msat", + "description": [ + "Sats routed (inbound)." + ] + }, + "lease_fee_paid_msat": { + "type": "msat", + "description": [ + "Sats paid for leasing inbound (liquidity ads)." + ] + }, + "lease_fee_earned_msat": { + "type": "msat", + "description": [ + "Sats earned for leasing outbound (liquidity ads)." + ] + }, + "pushed_out_msat": { + "type": "msat", + "description": [ + "Sats pushed to peer at open." + ] + }, + "pushed_in_msat": { + "type": "msat", + "description": [ + "Sats pushed in from peer at open." + ] + }, + "our_start_balance_msat": { + "type": "msat", + "description": [ + "Starting balance in channel at funding. Note that if our start balance is zero, any _initial field will be omitted (can't divide by zero)." + ] + }, + "channel_start_balance_msat": { + "type": "msat", + "description": [ + "Total starting balance at funding." + ] + }, + "fees_out_msat": { + "type": "msat", + "description": [ + "Fees earned on routed outbound." + ] + }, + "fees_in_msat": { + "type": "msat", + "description": [ + "Fees earned on routed inbound." + ] + }, + "utilization_out": { + "type": "string", + "description": [ + "Sats routed outbound / total start balance." + ] + }, + "utilization_out_initial": { + "type": "string", + "description": [ + "Sats routed outbound / our start balance." + ] + }, + "utilization_in": { + "type": "string", + "description": [ + "Sats routed inbound / total start balance." + ] + }, + "utilization_in_initial": { + "type": "string", + "description": [ + "Sats routed inbound / our start balance." + ] + }, + "apy_out": { + "type": "string", + "description": [ + "Fees earned on outbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_out_initial": { + "type": "string", + "description": [ + "Fees earned on outbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_in": { + "type": "string", + "description": [ + "Fees earned on inbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_in_initial": { + "type": "string", + "description": [ + "Fees earned on inbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_total": { + "type": "string", + "description": [ + "Total fees earned on routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_total_initial": { + "type": "string", + "description": [ + "Total fees earned on routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + ] + }, + "apy_lease": { + "type": "string", + "description": [ + "Lease fees earned over total amount leased for the lease term, amortized to a year (APY). Only appears if channel was leased out by us." + ] } } - }, - "opening": { - "type": "u32", - "description": "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)" - }, - "mutual_close": { - "type": "u32", - "description": "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." - }, - "unilateral_close": { - "type": "u32", - "description": "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was not negotiated)" - }, - "unilateral_anchor_close": { - "type": "u32", - "added": "v23.08", - "description": "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)" - }, - "delayed_to_us": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": "Feerate for returning unilateral close funds to our wallet" - }, - "htlc_resolution": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": "Feerate for returning unilateral close HTLC outputs to our wallet" - }, - "penalty": { - "type": "u32", - "description": "Feerate to use when creating penalty tx for watchtowers" - } - } - }, - "onchain_fee_estimates": { - "type": "object", - "additionalProperties": false, - "required": [ - "opening_channel_satoshis", - "mutual_close_satoshis", - "unilateral_close_satoshis", - "htlc_timeout_satoshis", - "htlc_success_satoshis" - ], - "properties": { - "opening_channel_satoshis": { - "type": "u64", - "description": "Estimated cost of typical channel open" - }, - "mutual_close_satoshis": { - "type": "u64", - "description": "Estimated cost of typical channel close" - }, - "unilateral_close_satoshis": { - "type": "u64", - "description": "Estimated cost of typical unilateral close (without HTLCs). If anchors are supported, this assumes a channel with anchors." - }, - "unilateral_close_nonanchor_satoshis": { - "added": "v23.08", - "type": "u64", - "description": "Estimated cost of non-anchor typical unilateral close (without HTLCs)." - }, - "htlc_timeout_satoshis": { - "type": "u64", - "description": "Estimated cost of typical HTLC timeout transaction (non-anchors)" - }, - "htlc_success_satoshis": { - "type": "u64", - "description": "Estimated cost of typical HTLC fulfillment transaction (non-anchors)" } } } - } - }, - "fetchinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "offer" - ], - "additionalProperties": false, - "properties": { - "offer": { - "type": "string", - "description": "offer string to get an actual invoice that can be paid" - }, - "amount_msat": { - "type": "msat", - "description": "required if the offer does not specify an amount at all, otherwise it is optional (but presumably if you set it to less than the offer, you will get an error from the issuer)" + }, + "example_json_request": [ + { + "id": "example:bkpr-channelsapy#1", + "method": "bkpr-channelsapy", + "params": "{}" }, - "quantity": { - "type": "u64", - "description": "required if the offer specifies quantity_max, otherwise it is not allowed" + { + "id": "example:bkpr-channelsapy#2", + "method": "bkpr-channelsapy", + "params": "{}" }, - "recurrence_counter": { - "type": "u64", - "description": "required if the offer specifies recurrence, otherwise it is not allowed. recurrence_counter should first be set to 0, and incremented for each successive invoice in a given series" + { + "id": "example:bkpr-channelsapy#3", + "method": "bkpr-channelsapy", + "params": "{}" }, - "recurrence_start": { - "type": "number", - "description": "required if the offer specifies recurrence_base with start_any_period set, otherwise it is not allowed. It indicates what period number to start at" + { + "id": "example:bkpr-channelsapy#4", + "method": "bkpr-channelsapy", + "params": "{}" }, - "recurrence_label": { - "type": "string", - "description": "required if recurrence_counter is set, and otherwise is not allowed. It must be the same as prior fetchinvoice calls for the same recurrence, as it is used to link them together" + { + "id": "example:bkpr-channelsapy#5", + "method": "bkpr-channelsapy", + "params": "{}" }, - "timeout": { - "type": "number", - "description": "if we don't get a reply before this we fail (default, 60 seconds)" + { + "id": "example:bkpr-channelsapy#6", + "method": "bkpr-channelsapy", + "params": "{}" }, - "payer_note": { - "type": "string", - "description": "to ask the issuer to include in the fetched invoice" + { + "id": "example:bkpr-channelsapy#7", + "method": "bkpr-channelsapy", + "params": "{}" } - } - }, - "fetchinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invoice", - "changes" ], - "properties": { - "invoice": { - "type": "string", - "description": "The BOLT12 invoice we fetched" - }, - "changes": { - "type": "object", - "description": "Summary of changes from offer", - "additionalProperties": false, - "required": [], - "properties": { - "description_appended": { - "type": "string", - "description": "extra characters appended to the *description* field." - }, - "description": { - "type": "string", - "description": "a completely replaced *description* field" - }, - "vendor_removed": { - "type": "string", - "description": "The *vendor* from the offer, which is missing in the invoice" + "example_json_response": [ + { + "channels_apy": [ + { + "account": "e41b2ec83e9139a9fd8f1d89b01e5d7df73099494e6b91504c39445e37485b0d", + "routed_out_msat": 1431440, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.1431%", + "utilization_out_initial": "0.1431%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" }, - "vendor": { - "type": "string", - "description": "a completely replaced *vendor* field" + { + "account": "net", + "routed_out_msat": 1431440, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.1431%", + "utilization_out_initial": "0.1431%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" + } + ] + }, + { + "channels_apy": [ + { + "account": "e41b2ec83e9139a9fd8f1d89b01e5d7df73099494e6b91504c39445e37485b0d", + "routed_out_msat": 0, + "routed_in_msat": 1431440, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.1431%", + "utilization_in_initial": "0.1431%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" }, - "amount_msat": { - "type": "msat", - "description": "the amount, if different from the offer amount multiplied by any *quantity* (or the offer had no amount, or was not in BTC)." + { + "account": "net", + "routed_out_msat": 0, + "routed_in_msat": 1431440, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.1431%", + "utilization_in_initial": "0.1431%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" } - } + ] }, - "next_period": { - "type": "object", - "description": "Only for recurring invoices if the next period is under the *recurrence_limit*", - "additionalProperties": false, - "required": [ - "counter", - "starttime", - "endtime", - "paywindow_start", - "paywindow_end" - ], - "properties": { - "counter": { - "type": "u64", - "description": "the index of the next period to fetchinvoice" + { + "channels_apy": [] + }, + { + "channels_apy": [ + { + "account": "495d3c50bb03e281c63a998eac7de683f31cfba6ef179790c183ba60e97783dd", + "routed_out_msat": 1942656, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.1943%", + "utilization_out_initial": "0.1943%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" }, - "starttime": { - "type": "u64", - "description": "UNIX timestamp that the next period starts" + { + "account": "net", + "routed_out_msat": 1942656, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.1943%", + "utilization_out_initial": "0.1943%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" + } + ] + }, + { + "channels_apy": [ + { + "account": "495d3c50bb03e281c63a998eac7de683f31cfba6ef179790c183ba60e97783dd", + "routed_out_msat": 0, + "routed_in_msat": 1942656, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.1943%", + "utilization_in_initial": "0.1943%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" }, - "endtime": { - "type": "u64", - "description": "UNIX timestamp that the next period ends" + { + "account": "net", + "routed_out_msat": 0, + "routed_in_msat": 1942656, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.1943%", + "utilization_in_initial": "0.1943%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" + } + ] + }, + { + "channels_apy": [ + { + "account": "6fb6b5ae822c11cd3866bb2c3d89d7319f9a28d0b4592358dfaa5bd2dc39b801", + "routed_out_msat": 2896279, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.2896%", + "utilization_out_initial": "0.2896%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" }, - "paywindow_start": { - "type": "u64", - "description": "UNIX timestamp of the earliest time that the next invoice can be fetched" + { + "account": "net", + "routed_out_msat": 2896279, + "routed_in_msat": 0, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 1000000000, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.2896%", + "utilization_out_initial": "0.2896%", + "utilization_in": "0.0000%", + "apy_out": "0.0000%", + "apy_out_initial": "0.0000%", + "apy_in": "0.0000%", + "apy_total": "0.0000%", + "apy_total_initial": "0.0000%" + } + ] + }, + { + "channels_apy": [ + { + "account": "6fb6b5ae822c11cd3866bb2c3d89d7319f9a28d0b4592358dfaa5bd2dc39b801", + "routed_out_msat": 0, + "routed_in_msat": 2896279, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.2896%", + "utilization_in_initial": "0.2896%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" }, - "paywindow_end": { - "type": "u64", - "description": "UNIX timestamp of the latest time that the next invoice can be fetched" + { + "account": "net", + "routed_out_msat": 0, + "routed_in_msat": 2896279, + "lease_fee_paid_msat": 0, + "lease_fee_earned_msat": 0, + "pushed_out_msat": 0, + "pushed_in_msat": 0, + "our_start_balance_msat": 0, + "channel_start_balance_msat": 1000000000, + "fees_out_msat": 0, + "fees_in_msat": 0, + "utilization_out": "0.0000%", + "utilization_in": "0.2896%", + "utilization_in_initial": "0.2896%", + "apy_out": "0.0000%", + "apy_in": "0.0000%", + "apy_in_initial": "0.0000%", + "apy_total": "0.0000%" } - } + ] } - } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-bkpr-listincome(7)", + "lightning-bkpr-listfunds(7)", + "lightning-bkpr-listaccountevents(7)", + "lightning-bkpr-dumpincomecsv(7)", + "lightning-listpeers(7)" + ], + "resources": [ + "Main web site: " + ] }, - "fundchannel.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-bkpr-dumpincomecsv.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "id", - "amount" + "rpc": "bkpr-dumpincomecsv", + "title": "Command to emit a CSV of income events", + "description": [ + "The **bkpr-dumpincomcsv** RPC command writes a CSV file to disk at *csv_file* location. This is a formatted output of the **listincome** RPC command." ], - "properties": { - "id": { - "type": "pubkey", - "description": "id is the peer id obtained from connect" - }, - "amount": { - "type": "msat_or_all", - "description": "the amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). The string *all* can be used to specify all available funds (or 16777215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently set to 546, nor more than 16777215 satoshi (unless large channels were negotiated with the peer)" - }, - "feerate": { - "type": "feerate", - "description": "used for the opening transaction and (unless *option_anchors_zero_fee_htlc_tx* is negotiated), as initial feerate for commitment and HTLC transactions (see NOTES in lightning-feerates(7)). The default is *normal*" - }, - "announce": { - "type": "boolean", - "description": "whether to announce this channel or not. An unannounced channel is considered private. Defaults to *True*" - }, - "minconf": { - "type": "u32", - "description": "the minimum number of confirmations that used outputs should have. Default is 1" - }, - "push_msat": { - "type": "msat", - "description": "the amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed" - }, - "close_to": { - "type": "string", - "description": "a Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated" - }, - "request_amt": { - "type": "msat", - "description": "an amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*" - }, - "compact_lease": { - "type": "string", - "description": "a compact represenation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel" - }, - "utxos": { - "type": "array", - "description": "the utxos to be used to fund the channel, as an array of `txid:vout`", - "items": { - "type": "outpoint" + "request": { + "required": [ + "csv_format" + ], + "properties": { + "csv_format": { + "type": "string", + "description": [ + "CSV format to use. See RETURN VALUE for options." + ] + }, + "csv_file": { + "type": "string", + "description": [ + "On-disk destination of the generated CSV file." + ] + }, + "consolidate_fees": { + "type": "boolean", + "description": [ + "If true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Note that this means that the events emitted are non-stable, i.e. calling **dumpincomecsv** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction." + ], + "default": "True" + }, + "start_time": { + "type": "u64", + "description": [ + "UNIX timestamp (in seconds) that filters events after the provided timestamp." + ], + "default": "zero" + }, + "end_time": { + "type": "u64", + "description": [ + "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp." + ], + "default": "max-int" + } + } + }, + "response": { + "required": [ + "csv_file", + "csv_format" + ], + "properties": { + "csv_file": { + "type": "string", + "description": [ + "File that the csv was generated to." + ] + }, + "csv_format": { + "type": "string", + "enum": [ + "cointracker", + "koinly", + "harmony", + "quickbooks" + ], + "description": [ + "Format to print csv as." + ] } + } + }, + "example_json_request": [ + { + "id": "example:bkpr-dumpincomecsv#1", + "method": "bkpr-dumpincomecsv", + "params": [ + "koinly", + "koinly.csv" + ] }, - "mindepth": { - "description": "Number of confirmations required before we consider the channel active", - "type": "u32" + { + "id": "example:bkpr-dumpincomecsv#2", + "method": "bkpr-dumpincomecsv", + "params": [ + "koinly", + "koinly.csv" + ] }, - "reserve": { - "type": "msat", - "description": "the amount we want the peer to maintain on its side of the channel. Default is 1% of the funding amount. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" + { + "id": "example:bkpr-dumpincomecsv#3", + "method": "bkpr-dumpincomecsv", + "params": [ + "koinly", + "koinly.csv" + ] }, - "channel_type": { - "added": "v24.02", - "type": "array", - "items": { - "type": "u32" - } + { + "id": "example:bkpr-dumpincomecsv#4", + "method": "bkpr-dumpincomecsv", + "params": [ + "koinly", + "koinly.csv" + ] } - } - }, - "fundchannel.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "tx", - "txid", - "outnum", - "channel_type", - "channel_id" ], - "properties": { - "tx": { - "type": "hex", - "description": "The raw transaction which funded the channel" - }, - "txid": { - "type": "txid", - "description": "The txid of the transaction which funded the channel" - }, - "outnum": { - "type": "u32", - "description": "The 0-based output index showing which output funded the channel" - }, - "channel_id": { - "type": "hex", - "description": "The channel_id of the resulting channel", - "minLength": 64, - "maxLength": 64 - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": "Each bit set in this channel_type", - "added": "v24.02", - "items": { - "type": "u32", - "description": "Bit number" - } - }, - "names": { - "type": "array", - "description": "Feature name for each bit set in this channel_type", - "added": "v24.02", - "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" - } - } - } + "example_json_response": [ + { + "csv_file": "koinly.csv", + "csv_format": "koinly" }, - "close_to": { - "type": "hex", - "description": "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`" + { + "csv_file": "koinly.csv", + "csv_format": "koinly" }, - "mindepth": { - "type": "u32", - "description": "Number of confirmations before we consider the channel active." - } - } - }, - "fundchannel_cancel.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "node id of the remote peer with which to cancel" + { + "csv_file": "koinly.csv", + "csv_format": "koinly" + }, + { + "csv_file": "koinly.csv", + "csv_format": "koinly" } - } - }, - "fundchannel_cancel.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "cancelled" ], - "properties": { - "cancelled": { - "type": "string", - "description": "A message indicating it was cancelled by RPC" - } - } - }, - "fundchannel_complete.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "psbt" + "author": [ + "Lisa Neigut <> is mainly responsible." ], - "properties": { - "id": { - "type": "pubkey", - "description": "node id of the remote peer" - }, - "psbt": { - "type": "string", - "description": "transaction to use for funding (does not need to be signed but must be otherwise complete)" - } - } - }, - "fundchannel_complete.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "commitments_secured" + "see_also": [ + "lightning-bkpr-listincome(7)", + "lightning-bkpr-listfunds(7)", + "lightning-bkpr-listaccountevents(7)", + "lightning-bkpr-channelsapy(7)", + "lightning-listpeers(7)" ], - "properties": { - "channel_id": { - "type": "hex", - "description": "The channel_id of the resulting channel", - "minLength": 64, - "maxLength": 64 - }, - "commitments_secured": { - "type": "boolean", - "enum": [ - true - ], - "description": "Indication that channel is safe to use" - } - } + "resources": [ + "Main web site: " + ] }, - "fundchannel_start.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-bkpr-inspect.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "id", - "amount" + "rpc": "bkpr-inspect", + "title": "Command to show onchain footprint of a channel", + "description": [ + "The **bkpr-inspect** RPC command lists all known on-chain transactions and associated events for the provided account. Useful for inspecting unilateral closes for a given channel account. Only valid for channel accounts." ], - "properties": { - "id": { - "type": "pubkey", - "description": "node id of the remote peer" - }, - "amount": { - "type": "sat", - "description": "satoshi value that the channel will be funded at. This value MUST be accurate, otherwise the negotiated commitment transactions will not encompass the correct channel value" - }, - "feerate": { - "type": "feerate", - "description": "feerate for subsequent commitment transactions: see **fundchannel**. Note that this is ignored for channels with *option_anchors_zero_fee_htlc_tx* (we always use a low commitment fee for these)" - }, - "announce": { - "type": "boolean", - "description": "whether or not to announce this channel" - }, - "close_to": { - "type": "string", - "description": "bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated" - }, - "push_msat": { - "type": "msat", - "description": "amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed" - }, - "mindepth": { - "type": "u32", - "description": "Number of confirmations required before we consider the channel active" - }, - "reserve": { - "type": "msat", - "description": "The amount we want the peer to maintain on its side" - }, - "channel_type": { - "type": "array", - "description": "Each bit set in this channel_type", - "items": { - "type": "u32", - "description": "Bit number" + "request": { + "required": [ + "account" + ], + "properties": { + "account": { + "type": "string", + "description": [ + "Channel account to inspect." + ] } } - } - }, - "fundchannel_start.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "funding_address", - "scriptpubkey", - "channel_type", - "warning_usage" - ], - "properties": { - "funding_address": { - "type": "string", - "description": "The address to send funding to for the channel. DO NOT SEND COINS TO THIS ADDRESS YET." - }, - "scriptpubkey": { - "type": "hex", - "description": "The raw scriptPubkey for the address" - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "added": "v24.02", - "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", - "added": "v24.02", - "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" + }, + "response": { + "required": [ + "txs" + ], + "properties": { + "txs": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "txid", + "fees_paid_msat", + "outputs" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "Transaction id." + ] + }, + "blockheight": { + "type": "u32", + "description": [ + "Blockheight of transaction." + ] + }, + "fees_paid_msat": { + "type": "msat", + "description": [ + "Amount paid in sats for this tx." + ] + }, + "outputs": { + "type": "array", + "items": { + "type": "object", + "required": [ + "account", + "outnum", + "output_value_msat", + "currency" + ], + "additionalProperties": false, + "properties": { + "account": { + "type": "string", + "description": [ + "Account this output affected." + ] + }, + "outnum": { + "type": "u32", + "description": [ + "Index of output." + ] + }, + "output_value_msat": { + "type": "msat", + "description": [ + "Value of the output." + ] + }, + "currency": { + "type": "string", + "description": [ + "Human-readable bech32 part for this coin type." + ] + }, + "credit_msat": { + "type": "msat", + "description": [ + "Amount credited to account." + ] + }, + "debit_msat": { + "type": "msat", + "description": [ + "Amount debited from account." + ] + }, + "originating_account": { + "type": "string", + "description": [ + "Account this output originated from." + ] + }, + "output_tag": { + "type": "string", + "description": [ + "Description of output creation event." + ] + }, + "spend_tag": { + "type": "string", + "description": [ + "Description of output spend event." + ] + }, + "spending_txid": { + "type": "txid", + "description": [ + "Transaction this output was spent in." + ] + }, + "payment_id": { + "type": "hex", + "description": [ + "Lightning payment identifier. For an htlc, this will be the preimage." + ] + } + }, + "allOf": [ + { + "if": { + "required": [ + "credit_msat" + ] + }, + "then": { + "required": [ + "output_tag" + ], + "additionalProperties": false, + "properties": { + "account": {}, + "outnum": {}, + "output_value_msat": {}, + "currency": {}, + "credit_msat": {}, + "originating_account": {}, + "debit_msat": {}, + "output_tag": {}, + "spend_tag": {}, + "spending_txid": {}, + "payment_id": {} + } + } + }, + { + "if": { + "required": [ + "spending_txid" + ] + }, + "then": { + "required": [ + "spend_tag", + "debit_msat" + ], + "additionalProperties": false, + "properties": { + "account": {}, + "outnum": {}, + "output_value_msat": {}, + "currency": {}, + "credit_msat": {}, + "originating_account": {}, + "debit_msat": {}, + "output_tag": {}, + "spend_tag": {}, + "spending_txid": {}, + "payment_id": {} + } + } + } + ] + } + } } } } - }, - "close_to": { - "type": "hex", - "description": "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`" - }, - "warning_usage": { - "type": "string", - "description": "A warning not to prematurely broadcast the funding transaction (always present!)" - }, - "mindepth": { - "type": "u32", - "description": "Number of confirmations before we consider the channel active." } - } - }, - "funderupdate.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "policy": { - "type": "string", - "enum": [ - "match", - "available", - "fixed" - ], - "description": "funder plugin will use to decide how much captial to commit to a v2 open channel request.\n\tThere are three policy options, detailed below:\n\t* `match` -- Contribute *policy_mod* percent of their requested funds.\n\tValid *policy_mod* values are 0 to 200. If this is a channel lease\n\trequest, we match based on their requested funds. If it is not a\n\tchannel lease request (and *lease_only* is false), then we match\n\ttheir funding amount. Note: any lease match less than 100 will\n\tlikely fail, as clients will not accept a lease less than their request.\n\t* `available` -- Contribute *policy_mod* percent of our available\n\tnode wallet funds. Valid *policy_mod* values are 0 to 100.\n\t* `fixed` -- Contributes a fixed *policy_mod* sats to v2 channel open requests.\n\tDefault is fixed" - }, - "policy_mod": { - "type": "sat", - "description": "number or 'modification' to apply to the policy. Default is 0sats" + }, + "example_json_request": [ + { + "id": "example:bkpr-inspect#1", + "method": "bkpr-inspect", + "params": [ + "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" + ] }, - "leases_only": { - "type": "boolean", - "description": "only contribute funds to `option_will_fund` requests which pay to lease funds. It will fund any v2 open request using *policy* even if it's they're not seeking to lease funds. Note that `option_will_fund` commits funds for 4032 blocks (~1mo). Must also set *lease_fee_base_msat*, *lease_fee_basis*, *funding_weight*, *channel_fee_max_base_msat*, and *channel_fee_max_proportional_thousandths* to advertise available channel leases. Defaults to *False*" + { + "id": "example:bkpr-inspect#2", + "method": "bkpr-inspect", + "params": [ + "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" + ] }, - "min_their_funding_msat": { - "type": "msat", - "description": "minimum funding sats that we require in order to activate our contribution policy to the v2 open. Defaults to 10k sats" + { + "id": "example:bkpr-inspect#3", + "method": "bkpr-inspect", + "params": [ + "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1" + ] }, - "max_their_funding_msat": { - "type": "msat", - "description": "maximum funding sats that we will consider to activate our contribution policy to the v2 open. Any channel open above this will not be funded. Defaults to no max (`UINT_MAX`)" + { + "id": "example:bkpr-inspect#4", + "method": "bkpr-inspect", + "params": [ + "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3" + ] }, - "per_channel_min_msat": { - "type": "msat", - "description": "minimum amount that we will contribute to a channel open. Defaults to 10k sats" + { + "id": "example:bkpr-inspect#5", + "method": "bkpr-inspect", + "params": [ + "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2" + ] }, - "per_channel_max_msat": { - "type": "msat", - "description": "maximum amount that we will contribute to a channel open. Defaults to no max (`UINT_MAX`)" + { + "id": "example:bkpr-inspect#6", + "method": "bkpr-inspect", + "params": [ + "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95" + ] }, - "reserve_tank_msat": { - "type": "msat", - "description": "amount of sats to leave available in the node wallet. Defaults to zero sats" + { + "id": "example:bkpr-inspect#7", + "method": "bkpr-inspect", + "params": [ + "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" + ] }, - "fuzz_percent": { - "type": "u32", - "description": "a percentage to fuzz the resulting contribution amount by. Valid values are 0 to 100. Note that turning this on with (match, 100) policy will randomly fail `option_will_fund` leases, as most clients expect an exact or greater match of their `requested_funds`. Defaults to 0% (no fuzz)" + { + "id": "example:bkpr-inspect#8", + "method": "bkpr-inspect", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] }, - "fund_probability": { - "type": "u32", - "description": "the percent of v2 channel open requests to apply our policy to. Valid values are integers from 0 (fund 0% of all open requests) to 100 (fund every request). Useful for randomizing opens that receive funds. Useful for randomizing opens that receive funds. Defaults to 100" + { + "id": "example:bkpr-inspect#9", + "method": "bkpr-inspect", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] }, - "lease_fee_base_msat": { - "type": "msat", - "description": "flat fee for a channel lease. Node will receive this much extra added to their channel balance, paid by the opening node. Defaults to 2k sats. Note that the minimum is 1sat" + { + "id": "example:bkpr-inspect#10", + "method": "bkpr-inspect", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] }, - "lease_fee_basis": { - "type": "u32", - "description": "a basis fee that's calculated as 1/10k of the total requested funds the peer is asking for. Node will receive the total of *lease_fee_basis* times requested funds / 10k satoshis added to their channel balance, paid by the opening node. Default is 0.65% (65 basis points)" + { + "id": "example:bkpr-inspect#11", + "method": "bkpr-inspect", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] }, - "funding_weight": { - "type": "u32", - "description": "to calculate the fee the peer will compensate your node for its contributing inputs to the funding transaction. The total fee is calculated as the `open_channel2`.`funding_feerate_perkw` times this *funding_weight* divided by 1000. Node will have this funding fee added to their channel balance, paid by the opening node. Default is 2 inputs + 1 P2WPKH output" + { + "id": "example:bkpr-inspect#12", + "method": "bkpr-inspect", + "params": [ + "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" + ] }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": "a commitment to a maximum `channel_fee_base_msat` that your node will charge for routing payments over this leased channel during the lease duration. Default is 5k sats" + { + "id": "example:bkpr-inspect#13", + "method": "bkpr-inspect", + "params": [ + "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" + ] }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": "a commitment to a maximum `channel_fee_proportional_millionths` that your node will charge for routing payments over this leased channel during the lease duration. Note that it's denominated in 'thousandths'. A setting of `1` is equal to 1k ppm; `5` is 5k ppm, etc. Default is 100 (100k ppm)" + { + "id": "example:bkpr-inspect#14", + "method": "bkpr-inspect", + "params": [ + "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" + ] }, - "compact_lease": { - "type": "hex", - "description": "a compact description of the channel lease params. When opening a channel, passed in to `fundchannel` to indicate the terms we expect from the peer" - } - } - }, - "funderupdate.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "summary", - "policy", - "policy_mod", - "leases_only", - "min_their_funding_msat", - "max_their_funding_msat", - "per_channel_min_msat", - "per_channel_max_msat", - "reserve_tank_msat", - "fuzz_percent", - "fund_probability" - ], - "properties": { - "summary": { - "type": "string", - "description": "Summary of the current funding policy e.g. (match 100)" - }, - "policy": { - "type": "string", - "enum": [ - "match", - "available", - "fixed" - ], - "description": "Policy funder plugin will use to decide how much captial to commit to a v2 open channel request" - }, - "policy_mod": { - "type": "u32", - "description": "The *policy_mod* is the number or 'modification' to apply to the policy." - }, - "leases_only": { - "type": "boolean", - "description": "Only contribute funds to `option_will_fund` lease requests." + { + "id": "example:bkpr-inspect#15", + "method": "bkpr-inspect", + "params": [ + "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" + ] }, - "min_their_funding_msat": { - "type": "msat", - "description": "The minimum funding sats that we require from peer to activate our funding policy." + { + "id": "example:bkpr-inspect#16", + "method": "bkpr-inspect", + "params": [ + "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa" + ] }, - "max_their_funding_msat": { - "type": "msat", - "description": "The maximum funding sats that we'll allow from peer to activate our funding policy." + { + "id": "example:bkpr-inspect#17", + "method": "bkpr-inspect", + "params": [ + "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa" + ] + } + ], + "example_json_response": [ + { + "txs": [ + { + "txid": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3", + "fees_paid_msat": 0, + "outputs": [ + { + "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", + "outnum": 0, + "output_tag": "channel_proposed", + "output_value_msat": 996363000, + "credit_msat": 996363000, + "currency": "bcrt" + } + ] + } + ] }, - "per_channel_min_msat": { - "type": "msat", - "description": "The minimum amount that we will fund a channel open with." + { + "txs": [ + { + "txid": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3", + "fees_paid_msat": 0, + "outputs": [ + { + "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", + "outnum": 0, + "output_tag": "channel_proposed", + "output_value_msat": 996363000, + "credit_msat": 0, + "currency": "bcrt" + } + ] + } + ] }, - "per_channel_max_msat": { - "type": "msat", - "description": "The maximum amount that we will fund a channel open with." + { + "txs": [ + { + "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", + "blockheight": 103, + "fees_paid_msat": 2502334, + "outputs": [ + { + "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1", + "outnum": 2, + "output_tag": "channel_open", + "output_value_msat": 25000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "reserve_tank_msat": { - "type": "msat", - "description": "Amount of sats to leave available in the node wallet." + { + "txs": [ + { + "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", + "blockheight": 103, + "fees_paid_msat": 2502333, + "outputs": [ + { + "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3", + "outnum": 0, + "output_tag": "channel_open", + "output_value_msat": 25000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "fuzz_percent": { - "type": "u32", - "description": "Percentage to fuzz our funding amount by." + { + "txs": [ + { + "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", + "blockheight": 103, + "fees_paid_msat": 2502333, + "outputs": [ + { + "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2", + "outnum": 1, + "output_tag": "channel_open", + "output_value_msat": 25000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "fund_probability": { - "type": "u32", - "description": "Percent of opens to consider funding. 100 means we'll consider funding every requested open channel request." + { + "txs": [ + { + "txid": "952c7cd4ea63a219d681f988c0cd270c0f19569f64ef8127763b7479306967cd", + "blockheight": 103, + "fees_paid_msat": 4927000, + "outputs": [ + { + "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", + "outnum": 0, + "output_tag": "channel_open", + "output_value_msat": 1000000000, + "credit_msat": 1000000000, + "currency": "bcrt", + "spend_tag": "channel_close", + "spending_txid": "d02e081866b69e0c550b201cf6c35130b6a1330367e94fdcfa117faff8a4708f", + "debit_msat": 1000000000 + } + ] + }, + { + "txid": "d02e081866b69e0c550b201cf6c35130b6a1330367e94fdcfa117faff8a4708f", + "blockheight": 104, + "fees_paid_msat": 9860000, + "outputs": [ + { + "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", + "outnum": 0, + "output_tag": "htlc_timeout", + "output_value_msat": 100000000, + "credit_msat": 100000000, + "currency": "bcrt", + "spend_tag": "to_wallet", + "spending_txid": "fd15cab890704617a32dfae4de1e08e27727484a12c72d27403c4ead29895d03", + "debit_msat": 100000000 + }, + { + "account": "wallet", + "outnum": 1, + "output_tag": "deposit", + "output_value_msat": 890140000, + "credit_msat": 890140000, + "currency": "bcrt", + "originating_account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95" + } + ] + }, + { + "txid": "fd15cab890704617a32dfae4de1e08e27727484a12c72d27403c4ead29895d03", + "blockheight": 114, + "fees_paid_msat": 8160000, + "outputs": [ + { + "account": "wallet", + "outnum": 0, + "output_tag": "deposit", + "output_value_msat": 91840000, + "credit_msat": 91840000, + "currency": "bcrt" + } + ] + } + ] }, - "lease_fee_base_msat": { - "type": "msat", - "description": "Flat fee to charge for a channel lease." + { + "txs": [ + { + "txid": "3f694e5e96056f78d4a208b627b2bd4dc80b18cac0c43fccdbab05f778f2fbd9", + "blockheight": 103, + "fees_paid_msat": 4927000, + "outputs": [ + { + "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", + "outnum": 0, + "output_tag": "channel_open", + "output_value_msat": 1000000000, + "credit_msat": 1000000000, + "currency": "bcrt", + "spend_tag": "channel_close", + "spending_txid": "6468fe2adb51726eb18a9dbc9f240ee883d13e7f5cfef16bda89bcf5505fd5ff", + "debit_msat": 1000000000 + } + ] + }, + { + "txid": "6468fe2adb51726eb18a9dbc9f240ee883d13e7f5cfef16bda89bcf5505fd5ff", + "blockheight": 104, + "fees_paid_msat": 5526000, + "outputs": [ + { + "account": "external", + "outnum": 0, + "output_tag": "anchor", + "output_value_msat": 330000, + "credit_msat": 330000, + "currency": "bcrt", + "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" + }, + { + "account": "wallet", + "outnum": 1, + "output_tag": "anchor", + "output_value_msat": 330000, + "credit_msat": 330000, + "currency": "bcrt", + "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" + }, + { + "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", + "outnum": 2, + "output_tag": "htlc_timeout", + "output_value_msat": 100000000, + "credit_msat": 100000000, + "currency": "bcrt", + "spend_tag": "to_wallet", + "spending_txid": "e81cb3522dfdf2ce0a00c28bf92fa7d10926106d2fdc8a10254a422b10fb4a5e", + "debit_msat": 100000000 + }, + { + "account": "wallet", + "outnum": 3, + "output_tag": "deposit", + "output_value_msat": 894474000, + "credit_msat": 894474000, + "currency": "bcrt", + "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" + } + ] + }, + { + "txid": "e81cb3522dfdf2ce0a00c28bf92fa7d10926106d2fdc8a10254a422b10fb4a5e", + "blockheight": 114, + "fees_paid_msat": 8205000, + "outputs": [ + { + "account": "wallet", + "outnum": 0, + "output_tag": "deposit", + "output_value_msat": 91795000, + "credit_msat": 91795000, + "currency": "bcrt" + } + ] + } + ] }, - "lease_fee_basis": { - "type": "u32", - "description": "Proportional fee to charge for a channel lease, calculated as 1/10,000th of requested funds." + { + "txs": [ + { + "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", + "fees_paid_msat": 0, + "outputs": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "outnum": 0, + "output_tag": "channel_proposed", + "output_value_msat": 970073000, + "credit_msat": 970073000, + "currency": "bcrt" + } + ] + } + ] }, - "funding_weight": { - "type": "u32", - "description": "Transaction weight the channel opener will pay us for a leased funding transaction." + { + "txs": [ + { + "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", + "fees_paid_msat": 0, + "outputs": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "outnum": 0, + "output_tag": "channel_proposed", + "output_value_msat": 970073000, + "credit_msat": 0, + "currency": "bcrt" + } + ] + } + ] }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": "Maximum channel_fee_base_msat we'll charge for routing funds leased on this channel." + { + "txs": [ + { + "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", + "blockheight": 103, + "fees_paid_msat": 4927000, + "outputs": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "outnum": 0, + "output_tag": "channel_open", + "output_value_msat": 970073000, + "credit_msat": 970073000, + "currency": "bcrt" + } + ] + } + ] }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": "Maximum channel_fee_proportional_millitionths we'll charge for routing funds leased on this channel, in thousandths." + { + "txs": [ + { + "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", + "blockheight": 103, + "fees_paid_msat": 0, + "outputs": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "outnum": 0, + "output_tag": "channel_open", + "output_value_msat": 970073000, + "credit_msat": 0, + "currency": "bcrt" + } + ] + } + ] }, - "compact_lease": { - "type": "hex", - "description": "Compact description of the channel lease parameters." - } - } - }, - "fundpsbt.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "satoshi", - "feerate", - "startweight" - ], - "properties": { - "satoshi": { - "type": "msat_or_all", - "description": "the minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" - }, - "feerate": { - "type": "feerate", - "description": "used for the transaction as initial feerate. The default is *normal*" - }, - "startweight": { - "type": "u32", - "description": "the weight of the transaction before *fundpsbt* has added any inputs" - }, - "minconf": { - "type": "u32", - "description": "the minimum number of confirmations that used outputs should have. Default is 1" - }, - "reserve": { - "type": "u32", - "description": "if not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks. Defaults to 72 blocks if unspecified" - }, - "locktime": { - "type": "u32", - "description": "the locktime of the transaction. if not set, it is set to a recent block height" - }, - "min_witness_weight": { - "type": "u32", - "description": "minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used" - }, - "excess_as_change": { - "type": "boolean", - "description": "flag to add a change output for the excess sats" - }, - "nonwrapped": { - "added": "v23.02", - "type": "boolean", - "description": "to signal to filter out any p2sh-wrapped inputs from funding this PSBT" - }, - "opening_anchor_channel": { - "added": "v23.08", - "type": "boolean", - "description": "to signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels" - } - } - }, - "fundpsbt.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt", - "feerate_per_kw", - "estimated_final_weight", - "excess_msat" - ], - "properties": { - "psbt": { - "type": "string", - "description": "Unsigned PSBT which fulfills the parameters given" + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 2510000, + "outputs": [ + { + "account": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "outnum": 5, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "feerate_per_kw": { - "type": "u32", - "description": "The feerate used to create the PSBT, in satoshis-per-kiloweight" + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 3345000, + "outputs": [ + { + "account": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "outnum": 5, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "estimated_final_weight": { - "type": "u32", - "description": "The estimated weight of the transaction once fully signed" + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 2510000, + "outputs": [ + { + "account": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", + "outnum": 2, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "excess_msat": { - "type": "msat", - "description": "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned" + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 3345000, + "outputs": [ + { + "account": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", + "outnum": 2, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "change_outnum": { - "type": "u32", - "description": "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)" + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 2510000, + "outputs": [ + { + "account": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", + "outnum": 4, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] + } + ] }, - "reservations": { - "type": "array", - "description": "If *reserve* was true or a non-zero number, just as per lightning-reserveinputs(7)", - "items": { - "type": "object", - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "additionalProperties": false, - "properties": { - "txid": { - "type": "txid", - "description": "The txid of the transaction" - }, - "vout": { - "type": "u32", - "description": "The 0-based output number" - }, - "was_reserved": { - "type": "boolean", - "enum": [ - false - ], - "description": "Whether this output was previously reserved" - }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": "Whether this output is now reserved" - }, - "reserved_to_block": { - "type": "u32", - "description": "The blockheight the reservation will expire" - } + { + "txs": [ + { + "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", + "blockheight": 106, + "fees_paid_msat": 3345000, + "outputs": [ + { + "account": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", + "outnum": 4, + "output_tag": "channel_open", + "output_value_msat": 50000000, + "credit_msat": 25000000, + "currency": "bcrt" + } + ] } - } + ] } - } - }, - "getinfo.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": {} + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-listbalances(7)", + "lightning-listfunds(7)", + "lightning-listpeers(7)" + ], + "resources": [ + "Main web site: " + ] }, - "getinfo.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-bkpr-listaccountevents.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "id", - "alias", - "color", - "num_peers", - "num_pending_channels", - "num_active_channels", - "num_inactive_channels", - "version", - "blockheight", - "network", - "fees_collected_msat", - "lightning-dir", - "address" + "rpc": "bkpr-listaccountevents", + "title": "Command for listing recorded bookkeeping events", + "description": [ + "The **bkpr-listaccountevents** RPC command is a list of all bookkeeping events that have been recorded for this node.", + "", + "If the optional parameter **account** is set, we only emit events for the specified account, if exists.", + "", + "Note that the type **onchain_fees** that are emitted are of opposite credit/debit than as they appear in **listincome**, as **listincome** shows all events from the perspective of the node, whereas **listaccountevents** just dumps the event data as we've got it. Onchain fees are updated/recorded as we get more information about input and output spends -- the total onchain fees that were recorded for a transaction for an account can be found by summing all onchain fee events and taking the difference between the **credit_msat** and **debit_msat** for these events. We do this so that successive calls to **listaccountevents** always produce the same list of events -- no previously emitted event will be subsequently updated, rather we add a new event to the list." ], - "properties": { - "id": { - "type": "pubkey", - "description": "The public key unique to this node" - }, - "alias": { - "type": "string", - "description": "The fun alias this node will advertize", - "maxLength": 32 - }, - "color": { - "type": "hex", - "description": "The favorite RGB color this node will advertize", - "minLength": 6, - "maxLength": 6 - }, - "num_peers": { - "type": "u32", - "description": "The total count of peers, connected or with channels" - }, - "num_pending_channels": { - "type": "u32", - "description": "The total count of channels being opened" - }, - "num_active_channels": { - "type": "u32", - "description": "The total count of channels in normal state" - }, - "num_inactive_channels": { - "type": "u32", - "description": "The total count of channels waiting for opening or closing transactions to be mined" - }, - "version": { - "type": "string", - "description": "Identifies what bugs you are running into" - }, - "lightning-dir": { - "type": "string", - "description": "Identifies where you can find the configuration and other related files" - }, - "our_features": { - "type": "object", - "description": "Our BOLT #9 feature bits (as hexstring) for various contexts", - "additionalProperties": true, - "required": [ - "init", - "node", - "channel", - "invoice" - ], - "properties": { - "init": { - "type": "hex", - "description": "features (incl. globalfeatures) in our init message, these also restrict what we offer in open_channel or accept in accept_channel" - }, - "node": { - "type": "hex", - "description": "features in our node_announcement message" - }, - "channel": { - "type": "hex", - "description": "negotiated channel features we (as channel initiator) publish in the channel_announcement message" - }, - "invoice": { - "type": "hex", - "description": "features in our BOLT11 invoices" - } + "request": { + "required": [], + "properties": { + "account": { + "type": "string", + "description": [ + "Receive events for the specified account." + ] } - }, - "blockheight": { - "type": "u32", - "description": "The highest block height we've learned" - }, - "network": { - "type": "string", - "description": "represents the type of network on the node are working (e.g: `bitcoin`, `testnet`, or `regtest`)" - }, - "fees_collected_msat": { - "type": "msat", - "description": "Total routing fees collected by this node" - }, - "address": { - "type": "array", - "description": "The addresses we announce to the world", - "items": { - "type": "object", - "required": [ - "type", - "port" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": "Type of connection (until 23.08, `websocket` was also allowed)" - }, - "port": { - "type": "u16", - "description": "port number" - } - }, - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { + } + }, + "response": { + "required": [ + "events" + ], + "properties": { + "events": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, "required": [ + "account", "type", - "address", - "port" + "tag", + "credit_msat", + "debit_msat", + "currency", + "timestamp" ], - "additionalProperties": false, "properties": { - "type": {}, - "port": {}, - "address": { + "account": { "type": "string", - "description": "address in expected format for **type**" - } - } - }, - "else": { - "required": [ - "type", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {} - } - } - } - }, - "binding": { - "type": "array", - "description": "The addresses we are listening on", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "*FIXME*": "The variant in connect.schema.json is more complete", - "enum": [ - "local socket", - "websocket", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": "Type of connection" - }, - "address": { - "type": "string", - "description": "address in expected format for **type**" - }, - "port": { - "type": "u16", - "description": "port number" - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket" - ] - } - } + "description": [ + "The account name. If the account is a channel, the channel_id." + ] }, - "then": { - "additionalProperties": false, - "required": [ - "type", - "socket" + "type": { + "type": "string", + "enum": [ + "onchain_fee", + "chain", + "channel" ], - "properties": { - "type": {}, - "socket": { - "type": "string", - "description": "socket filename" - } - } + "description": [ + "Coin movement type." + ] }, - "else": { - "additionalProperties": false, - "required": [ - "type", - "address", - "port" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "subtype": {} - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "websocket" - ] - } - } + "tag": { + "type": "string", + "description": [ + "Description of movement." + ] }, - "then": { - "additionalProperties": false, - "required": [ - "type", - "address", - "port", - "subtype" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "subtype": { - "type": "string", - "description": "type of address" - } - } + "credit_msat": { + "type": "msat", + "description": [ + "Amount credited." + ] }, - "else": { - "additionalProperties": false, - "required": [ - "type" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "socket": {} - } - } - } - ] - } - }, - "warning_bitcoind_sync": { - "type": "string", - "description": "Bitcoind is not up-to-date with network." - }, - "warning_lightningd_sync": { - "type": "string", - "description": "Lightningd is still loading latest blocks from bitcoind." - } - } - }, - "getlog.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "level": { - "type": "string", - "enum": [ - "broken", - "unusual", - "info", - "debug", - "io" - ], - "description": "a string that represents the log level. The default is *info*" - } - } - }, - "getlog.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "created_at", - "bytes_used", - "bytes_max", - "log" - ], - "properties": { - "created_at": { - "type": "string", - "description": "UNIX timestamp with 9 decimal places, when logging was initialized" - }, - "bytes_used": { - "type": "u32", - "description": "The number of bytes used by logging records" - }, - "bytes_max": { - "type": "u32", - "description": "The bytes_used values at which records will be trimmed " - }, - "log": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "SKIPPED", - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG", - "IO_IN", - "IO_OUT" - ] - } - }, - "allOf": [ - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "SKIPPED" - ] - } - } + "debit_msat": { + "type": "msat", + "description": [ + "Amount debited." + ] }, - "then": { - "additionalProperties": false, - "required": [ - "num_skipped" - ], - "properties": { - "type": {}, - "num_skipped": { - "type": "u32", - "description": "number of unprinted log entries (deleted or below *level* parameter)" - } - } + "currency": { + "type": "string", + "description": [ + "Human-readable bech32 part for this coin type." + ] + }, + "timestamp": { + "type": "u32", + "description": [ + "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp." + ] } }, - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG" - ] + "allOf": [ + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "chain" + ] + } } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "time", - "source", - "log" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": "UNIX timestamp with 9 decimal places after **created_at**" - }, - "source": { - "type": "string", - "description": "The particular logbook this was found in" - }, - "log": { - "type": "string", - "description": "The actual log message" + }, + "then": { + "properties": { + "account": {}, + "type": {}, + "tag": {}, + "credit_msat": {}, + "debit_msat": {}, + "currency": {}, + "timestamp": {}, + "outpoint": { + "type": "string", + "description": [ + "The txid:outnum for this event." + ] + }, + "blockheight": { + "type": "u32", + "description": [ + "For chain events, blockheight this occured at." + ] + }, + "origin": { + "type": "string", + "description": [ + "The account this movement originated from." + ] + }, + "payment_id": { + "type": "hex", + "description": [ + "Lightning payment identifier. For an htlc, this will be the preimage." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction that created this event." + ] + }, + "description": { + "type": "string", + "description": [ + "The description of this event." + ] + } }, - "node_id": { - "type": "pubkey", - "description": "The peer this is associated with" - } + "required": [ + "outpoint", + "blockheight" + ], + "additionalProperties": false } - } - }, - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "IO_IN", - "IO_OUT" - ] + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "onchain_fee" + ] + } } + }, + "then": { + "properties": { + "account": {}, + "type": {}, + "tag": {}, + "credit_msat": {}, + "debit_msat": {}, + "currency": {}, + "timestamp": {}, + "description": {}, + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction that created this event." + ] + } + }, + "required": [ + "txid" + ], + "additionalProperties": false } }, - "then": { - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "data" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": "Seconds after **created_at**, with 9 decimal places" - }, - "source": { - "type": "string", - "description": "The particular logbook this was found in" - }, - "log": { - "type": "string", - "description": "The associated log message" - }, - "node_id": { - "type": "pubkey", - "description": "The peer this is associated with" - }, - "data": { - "type": "hex", - "description": "The IO which occurred" + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "channel" + ] + } } + }, + "then": { + "properties": { + "account": {}, + "type": {}, + "tag": {}, + "credit_msat": {}, + "debit_msat": {}, + "currency": {}, + "timestamp": {}, + "description": {}, + "fees_msat": { + "type": "msat", + "description": [ + "Amount paid in fees." + ] + }, + "is_rebalance": { + "type": "boolean", + "description": [ + "Is this payment part of a rebalance." + ] + }, + "payment_id": { + "type": "hex", + "description": [ + "Lightning payment identifier. For an htlc, this will be the preimage." + ] + }, + "part_id": { + "type": "u32", + "description": [ + "Counter for multi-part payments." + ] + } + }, + "additionalProperties": false } } - } - ] + ] + } } } - } - }, - "getroute.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "id", - "amount_msat", - "riskfactor" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "node pubkey to find the best route for the payment" + }, + "example_json_request": [ + { + "id": "example:bkpr-listaccountevents#1", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "amount_msat": { - "type": "msat", - "description": "amount to send. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. The 0 value is special: it ignores any *htlc_minimum_msat* setting on channels, and simply returns a possible route (if any) which is useful for simple probing" + { + "id": "example:bkpr-listaccountevents#2", + "method": "bkpr-listaccountevents", + "params": [ + "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" + ] }, - "riskfactor": { - "type": "u64", - "description": "a non-negative floating-point field controls this tradeoff; it is the annual cost of your funds being stuck (as a percentage).\tFor example, if you thought the convenience of keeping your funds liquid (not stuck) was worth 20% per annum interest, *riskfactor* would be 20.\tIf you didn't care about risk, *riskfactor* would be zero" + { + "id": "example:bkpr-listaccountevents#3", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "cltv": { - "type": "u32", - "description": "cltv-blocks to spare. Default is 9" + { + "id": "example:bkpr-listaccountevents#4", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "fromid": { - "type": "pubkey", - "description": "the node to start the route from. Default is this node" + { + "id": "example:bkpr-listaccountevents#5", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "fuzzpercent": { - "type": "u32", - "description": "used to distort fees to provide some randomization to the route generated, but it was not properly implemented and is ignored" + { + "id": "example:bkpr-listaccountevents#6", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "exclude": { - "type": "array", - "description": "a JSON array of short-channel-id/direction (e.g. ['564334x877x1/0', '564195x1292x0/1' ]) or node-id which should be excluded from consideration for routing. The default is not to exclude any channels or nodes. Note if the source or destination is excluded, the command result is undefined", - "items": { - "type": "string" - } + { + "id": "example:bkpr-listaccountevents#7", + "method": "bkpr-listaccountevents", + "params": "{}" }, - "maxhops": { - "type": "u32", - "description": "the maximum number of channels to return. Default is 20" - } - } - }, - "getroute.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "route" - ], - "properties": { - "route": { - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "direction", - "channel", - "amount_msat", - "delay", - "style" - ], - "additionalProperties": false, - "properties": { - "id": { - "type": "pubkey", - "description": "The node at the end of this hop" - }, - "channel": { - "type": "short_channel_id", - "description": "The channel joining these nodes" - }, - "direction": { - "type": "u32", - "description": "0 if this channel is traversed from lesser to greater **id**, otherwise 1" - }, - "amount_msat": { - "type": "msat", - "description": "The amount expected by the node at the end of this hop" - }, - "delay": { - "type": "u32", - "description": "The total CLTV expected by the node at the end of this hop" - }, - "style": { - "type": "string", - "description": "The features understood by the destination node", - "enum": [ - "tlv" - ] - } - } - } - } - } - }, - "help.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "command": { - "type": "string", - "description": "command to get information about" - } - } - }, - "help.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "help" - ], - "properties": { - "help": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "command", - "category", - "description", - "verbose" - ], - "properties": { - "command": { - "type": "string", - "description": "the command" - }, - "category": { - "type": "string", - "description": "the category for this command (useful for grouping)" - }, - "description": { - "type": "string", - "description": "a one-line description of the purpose of this command" - }, - "verbose": { - "type": "string", - "description": "a full description of this command (including whether it's deprecated)" - } - } - } - }, - "format-hint": {} - } - }, - "invoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "amount_msat", - "label", - "description" - ], - "properties": { - "amount_msat": { - "type": "msat_or_any", - "description": "the string `any`, which creates an invoice that can be paid with any amount. Otherwise it is a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*" - }, - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "a unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice" - }, - "description": { - "type": "string", - "description": "a short description of purpose of payment, e.g. *1 cup of coffee*. This value is encoded into the BOLT11 invoice and is viewable by any node you send this invoice to (unless *deschashonly* is true as described below). It must be UTF-8, and cannot use *\\u* JSON escape codes" - }, - "expiry": { - "type": "u64", - "description": "the time the invoice is valid for, in seconds. If no value is provided the default of 604800 (1 week) is used" - }, - "fallbacks": { - "type": "array", - "description": "one or more fallback addresses to include in the invoice (in order from most-preferred to least): note that these arrays are not currently tracked to fulfill the invoice", - "items": { - "type": "string" - } - }, - "preimage": { - "type": "hex", - "description": "a 64-digit hex string to be used as payment preimage for the created invoice. By default, if unspecified, lightningd will generate a secure pseudorandom preimage seeded from an appropriate entropy source on your system. **IMPORTANT**: if you specify the *preimage*, you are responsible, to ensure appropriate care for generating using a secure pseudorandom generator seeded with sufficient entropy, and keeping the preimage secret. This parameter is an advanced feature intended for use with cutting-edge cryptographic protocols and should not be used unless explicitly needed" - }, - "exposeprivatechannels": { - "description": "if specified, it overrides the default route hint logic, which will use unpublished channels only if there are no published channels", - "oneOf": [ - { - "type": "boolean", - "description": "if *True* unpublished channels are always considered as a route hint candidate; if *False*, never" - }, - { - "type": "array", - "description": "array of short channel ids (or a remote alias), only those specific channels will be considered candidates, even if they are public or dead-ends", - "items": { - "type": "short_channel_id" - } - }, - { - "type": "short_channel_id", - "description": "if it is a short channel id (e.g. *1x1x3*), only this specific channel will be considered candidate, even if it is public or dead-end" - } - ] - }, - "cltv": { - "type": "u32", - "description": "if specified, sets the *min_final_cltv_expiry* for the invoice. Otherwise, it's set to the parameter **cltv-final**" - }, - "deschashonly": { - "type": "boolean", - "description": "if True, then the bolt11 returned contains a hash of the *description*, rather than the *description* itself: this allows much longer descriptions, but they must be communicated via some other mechanism. Defaults to False" - } - } - }, - "invoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "payment_hash", - "expires_at", - "created_index", - "bolt11", - "payment_secret" - ], - "properties": { - "bolt11": { - "type": "string", - "description": "the bolt11 string" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "payment_secret": { - "type": "secret", - "description": "the *payment_secret* to place in the onion" - }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when invoice expires" - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" - }, - "warning_capacity": { - "type": "string", - "description": "even using all possible channels, there's not enough incoming capacity to pay this invoice." - }, - "warning_offline": { - "type": "string", - "description": "there would be enough incoming capacity, but some channels are offline, so there isn't." - }, - "warning_deadends": { - "type": "string", - "description": "there would be enough incoming capacity, but some channels are dead-ends (no other public channels from those peers), so there isn't." - }, - "warning_private_unused": { - "type": "string", - "description": "there would be enough incoming capacity, but some channels are unannounced and *exposeprivatechannels* is *false*, so there isn't." - }, - "warning_mpp": { - "type": "string", - "description": "there is sufficient capacity, but not in a single channel, so the payer will have to use multi-part payments." - } - } - }, - "invoicerequest.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "amount", - "description" - ], - "added": "v22.11", - "properties": { - "amount": { - "type": "msat", - "description": "a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*" - }, - "description": { - "type": "string", - "description": "a short description of purpose of the payment, e.g. *ATM withdrawl*. This value is encoded into the resulting `invoice_request` and is viewable by anyone you expose it to. It must be UTF-8, and cannot use *\\u* JSON escape codes" - }, - "issuer": { - "type": "string", - "description": "who is issuing it (i.e. you) if appropriate" - }, - "label": { - "type": "string", - "description": "an internal-use name for the offer, which can be any UTF-8 string" - }, - "absolute_expiry": { - "type": "u64", - "description": "the time the offer is valid until, in seconds since the first day of 1970 UTC. If not set, the `invoice_request` remains valid (though it can be deactivated by the issuer of course). This is encoded in the `invoice_request`" - }, - "single_use": { - "type": "boolean", - "description": "indicates that the `invoice_request` is only valid once; we may attempt multiple payments, but as soon as one is successful no more invoices are accepted (i.e. only one person can take the money). Defaults to True" - } - } - }, - "invoicerequest.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "properties": { - "invreq_id": { - "type": "hash", - "description": "the SHA256 hash of all invoice_request fields less than 160" - }, - "active": { - "type": "boolean", - "enum": [ - true - ], - "description": "whether the invoice_request is currently active" - }, - "single_use": { - "type": "boolean", - "description": "whether the invoice_request will become inactive after we pay an invoice for it" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string starting with lnr" - }, - "used": { - "type": "boolean", - "enum": [ - false - ], - "description": "whether the invoice_request has already been used" - }, - "label": { - "type": "string", - "description": "the label provided when creating the invoice_request" - } - } - }, - "keysend.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "destination", - "amount_msat" - ], - "properties": { - "destination": { - "type": "pubkey", - "description": "the 33 byte, hex-encoded, node ID of the node that the payment should go to" - }, - "amount_msat": { - "type": "msat", - "description": "a whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`" - }, - "label": { - "type": "string", - "description": "used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)" - }, - "maxfeepercent": { - "type": "number", - "description": "limits the money paid in fees as percentage of the total amount that is to be transferred, and defaults to *0.5*" - }, - "retry_for": { - "type": "u32", - "description": "until *retry_for* seconds passes, the command will keep finding routes and retrying the payment. However, a payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case. Defaults to 60 seconds" - }, - "maxdelay": { - "type": "u32", - "description": "number of blocks the payment may be delayed" - }, - "exemptfee": { - "type": "msat", - "description": "used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than *exemptfee*. Defaults to 5000 millisatoshi" - }, - "routehints": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "scid", - "feebase", - "feeprop", - "expirydelta" - ], - "properties": { - "id": { - "type": "pubkey" - }, - "scid": { - "type": "short_channel_id" - }, - "feebase": { - "type": "msat" - }, - "feeprop": { - "type": "u32" - }, - "expirydelta": { - "type": "u16" - } - } - } - } - }, - "extratlvs": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": "dictionary of additional fields to insert into the final tlv. The format is 'fieldnumber': 'hexstring'" - } - } - }, - "keysend.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" - ], - "properties": { - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "created_at": { - "type": "number", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "parts": { - "type": "u32", - "description": "how many attempts this took" - }, - "amount_msat": { - "type": "msat", - "description": "Amount the recipient received" - }, - "amount_sent_msat": { - "type": "msat", - "description": "Total amount we sent (including fees)" - }, - "warning_partial_completion": { - "type": "string", - "description": "Not all parts of a multi-part payment have completed" - }, - "status": { - "type": "string", - "enum": [ - "complete" - ], - "description": "status of payment" - } - } - }, - "lightning-addgossip.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "addgossip", - "title": "Command for injecting a gossip message (low-level)", - "description": [ - "The **addgossip** RPC command injects a hex-encoded gossip message into the gossip daemon. It may return an error if it is malformed, or may update its internal state using the gossip message.", - "", - "Note that currently some paths will still silently reject the gossip: it is best effort.", - "", - "This is particularly used by plugins which may receive channel_update messages within error replies." - ], - "request": { - "required": [ - "message" - ], - "properties": { - "message": { - "type": "hex", - "description": [ - "The raw, hex-encoded, gossip message to add to the local gossip view." - ] - } - } - }, - "response": { - "properties": {} - }, - "example_json_request": [ { - "id": "example:addgossip#1", - "method": "addgossip", - "params": { - "message": "010078c3314666731e339c0b8434f7824797a084ed7ca3655991a672da068e2c44cb53b57b53a296c133bc879109a8931dc31e6913a4bda3d58559b99b95663e6d52775579447ef5526300e1bb89bc6af8557aa1c3810a91814eafad6d103f43182e17b16644cb38c1d58a8edd094303959a9f1f9d42ff6c32a21f9c118531f512c8679cabaccc6e39dbd95a4dac90e75a258893c3aa3f733d1b8890174d5ddea8003cadffe557773c54d2c07ca1d535c4bf85885f879ae466c16a516e8ffcfec1740e3f5c98ca9ce13f452e867befef5517f306ed6aa5119b79059bcc6f68f329986b665d16de7bc7df64e3537504c91eeabe0e59d3a2b68e4216ead2b0f6e3ef7c000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0000670000010000022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d590266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c0351802e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5702324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b" - } + "id": "example:bkpr-listaccountevents#8", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#2", - "method": "addgossip", - "params": { - "message": "0102420526c8eb62ec6999bbee5f1de4841cab734374ec642b7deeb0259e76220bf82e97a241c907d5ff52019655f7f9a614c285bb35690f3a1a2b928d7b2349a79e06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065b32a0e010100060000000000000000000000010000000a000000003b023380" - } + "id": "example:bkpr-listaccountevents#9", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#3", - "method": "addgossip", - "params": { - "message": "010078c3314666731e339c0b8434f7824797a084ed7ca3655991a672da068e2c44cb53b57b53a296c133bc879109a8931dc31e6913a4bda3d58559b99b95663e6d52775579447ef5526300e1bb89bc6af8557aa1c3810a91814eafad6d103f43182e17b16644cb38c1d58a8edd094303959a9f1f9d42ff6c32a21f9c118531f512c8679cabaccc6e39dbd95a4dac90e75a258893c3aa3f733d1b8890174d5ddea8003cadffe557773c54d2c07ca1d535c4bf85885f879ae466c16a516e8ffcfec1740e3f5c98ca9ce13f452e867befef5517f306ed6aa5119b79059bcc6f68f329986b665d16de7bc7df64e3537504c91eeabe0e59d3a2b68e4216ead2b0f6e3ef7c000006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0000670000010000022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d590266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c0351802e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5702324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b" - } + "id": "example:bkpr-listaccountevents#10", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#4", - "method": "addgossip", - "params": { - "message": "0102590a196a9ebe83657d90b1260cc79dd5b0bccd6e1cc4f7dcba19f0ccec4ac0ab32c5420ed88fcaa1856dabe3eb3e8b9c88ab5332b3f6a87ff74350e1700e5bf406226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065d7b442010100060000000000000000000000010000000a000000003b023380" - } + "id": "example:bkpr-listaccountevents#11", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#5", - "method": "addgossip", - "params": { - "message": "01023f068c7784cfdbca12d70b761c5eae03cac85a6cf339800c3b27dba5c09b842035dd7e2ae8b8b955b7415b2294861a2a2bcecd006605c4ad72643075ee72072b06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000065d7b442010000060000000000000000000000010000000a000000003b023380" - } + "id": "example:bkpr-listaccountevents#12", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#6", - "method": "addgossip", - "params": { - "message": "01014865da9374594b95bc720fbb768decb5d0d00defbb3f8342d4b67b43ccf027eb3a75c75a40ef024b572009c34329326e068ffb05a51442f8e0e215166a1995cb000788a0000a8a596165d7b4420266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c035180266e44a554e494f524245414d2d7632332e31312d3431352d676431323065626100000000" - } + "id": "example:bkpr-listaccountevents#13", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addgossip#7", - "method": "addgossip", - "params": { - "message": "0101780491d7facb09aac0659abf56fe63bf78f4f4093825b928e4f739a87e64bfae2795241af5da92aa20c8170588bbb2634455f6fb05aea69ff55c78beddd0a367000788a0000a8a596165d7b442022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59022d2253494c454e544152544953542d7632332e31312d3431352d67643132306562610000" - } - } - ], - "example_json_response": [ - {}, - {}, - {}, - {}, - {}, - {}, - {} - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-pay(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-addpsbtoutput.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.11", - "rpc": "addpsbtoutput", - "title": "Command to populate PSBT outputs from the wallet", - "description": [ - "`addpsbtoutput` is a low-level RPC command which creates or modifies a PSBT by adding a single output of amount *satoshi*.", - "", - "This is used to receive funds into the on-chain wallet interactively using PSBTs." - ], - "request": { - "required": [ - "satoshi" - ], - "properties": { - "satoshi": { - "type": "msat", - "description": [ - "The satoshi value of the output. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." - ] - }, - "initialpsbt": { - "type": "string", - "description": [ - "Base 64 encoded PSBT to add the output to. If not specified, one will be generated automatically." - ] - }, - "locktime": { - "type": "u32", - "description": [ - "If not set, it is set to a recent block height (if no initial psbt is specified)." - ] - }, - "destination": { - "type": "string", - "description": [ - "If it is not set, an internal address is generated." - ] - } - } - }, - "response": { - "required": [ - "psbt", - "estimated_added_weight", - "outnum" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "Unsigned PSBT which fulfills the parameters given." - ] - }, - "estimated_added_weight": { - "type": "u32", - "description": [ - "The estimated weight of the added output." - ] - }, - "outnum": { - "type": "u32", - "description": [ - "The 0-based number where the output was placed." - ] - } - } - }, - "example_usage": [ - "Here is a command to make a PSBT with a 100,000 sat output that leads to the on-chain wallet.", - "", - "```shell", - "lightning-cli addpsbtoutput 100000sat", - "```" - ], - "example_json_request": [ - { - "id": "example:addpsbtoutput#1", - "method": "addpsbtoutput", - "params": { - "satoshi": 100000, - "initialpsbt": null, - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#14", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#2", - "method": "addpsbtoutput", - "params": { - "satoshi": 1000000, - "initialpsbt": null, - "locktime": 111, - "destination": null - } + "id": "example:bkpr-listaccountevents#15", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#3", - "method": "addpsbtoutput", - "params": { - "satoshi": 974343, - "initialpsbt": "cHNidP8BAF4CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////ASICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "locktime": null, - "destination": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu" - } + "id": "example:bkpr-listaccountevents#16", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#4", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAH0CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AiICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nGZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAA", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#17", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#5", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAKgCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AyICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtWcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAA=", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#18", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#6", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BANMCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////BCICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtdAHAAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAA==", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#19", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#7", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP3+AAIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8FIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAA=", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#20", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#8", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP0pAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8GIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAA==", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#21", + "method": "bkpr-listaccountevents", + "params": "{}" }, { - "id": "example:addpsbtoutput#9", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP1UAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8HIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3GcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAA", - "locktime": null, - "destination": null - } + "id": "example:bkpr-listaccountevents#22", + "method": "bkpr-listaccountevents", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] }, { - "id": "example:addpsbtoutput#10", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP1/AQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8IIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAA=", - "locktime": null, - "destination": null - } - }, + "id": "example:bkpr-listaccountevents#23", + "method": "bkpr-listaccountevents", + "params": [ + "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" + ] + } + ], + "example_json_response": [ { - "id": "example:addpsbtoutput#11", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP2qAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8JIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAA==", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#12", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP3VAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8KIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYymcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAAAAAA", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#13", - "method": "addpsbtoutput", - "params": { - "satoshi": 2000, - "initialpsbt": "cHNidP8BAP0AAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8LIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGFnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAAAAAA=", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#14", - "method": "addpsbtoutput", - "params": { - "satoshi": 890073, - "initialpsbt": "cHNidP8BAF4CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////ASICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq88AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAA==", - "locktime": null, - "destination": "bcrt1q8rqss4xprcgvkduxgcq58jtrepfsm7y3e6er4e" - } - }, - { - "id": "example:addpsbtoutput#15", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAH0CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AiICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAA", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#16", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAKgCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AyICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4jwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAA=", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#17", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BANMCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////BCICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4hAnAAAAAAAAIlEgnWhkWJKleQbwpw/3USMBrikmMSbZMmdjdLYigiYDlvs8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAA==", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#18", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP3+AAIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8FIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3I8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAA=", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#19", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP0pAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8GIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAA==", - "locktime": null, - "destination": null - } - }, - { - "id": "example:addpsbtoutput#20", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP1UAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8HIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9zwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAA", - "locktime": null, - "destination": null - } + "events": [ + { + "account": "wallet", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706152911, + "is_rebalance": false + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7e202b3b1016e8eb6f4e936215ed6b5bdc63c17e6ebb5e6bce2f98e6757ba44c:0", + "timestamp": 1706152914, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 2000000000, + "currency": "bcrt", + "outpoint": "7e202b3b1016e8eb6f4e936215ed6b5bdc63c17e6ebb5e6bce2f98e6757ba44c:0", + "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", + "timestamp": 1706152921, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 995073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:1", + "timestamp": 1706152921, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 1004927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706152921, + "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 1004927000, + "currency": "bcrt", + "timestamp": 1706152921, + "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "chain", + "tag": "channel_open", + "credit_msat": 1000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:0", + "timestamp": 1706152922, + "blockheight": 103 + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706152922, + "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "payment_id": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "part_id": 0, + "timestamp": 1706152934, + "description": [ + "XEoCR94SIz6UIRUEkxum." + ], + "is_rebalance": false + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "chain", + "tag": "channel_close", + "credit_msat": 0, + "debit_msat": 989000000, + "currency": "bcrt", + "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:0", + "txid": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998", + "timestamp": 1706152938, + "blockheight": 104 + }, + { + "account": "external", + "origin": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "chain", + "tag": "to_them", + "credit_msat": 10899000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:0", + "timestamp": 1706152938, + "blockheight": 104 + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 7967000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706152938, + "txid": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998" + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 980912000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11:0", + "timestamp": 1706152941, + "blockheight": 109 + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "chain", + "tag": "delayed_to_us", + "credit_msat": 981033000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:1", + "timestamp": 1706152941, + "blockheight": 104 + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "chain", + "tag": "to_wallet", + "credit_msat": 0, + "debit_msat": 981033000, + "currency": "bcrt", + "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:1", + "txid": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11", + "timestamp": 1706152941, + "blockheight": 109 + }, + { + "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 121000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706152941, + "txid": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11" + } + ] }, { - "id": "example:addpsbtoutput#21", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP1/AQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8IIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCI8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAA=", - "locktime": null, - "destination": null - } + "events": [ + { + "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", + "type": "chain", + "tag": "channel_proposed", + "credit_msat": 996363000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3:0", + "timestamp": 1706246949, + "blockheight": 0 + }, + { + "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", + "type": "channel", + "tag": "pushed", + "credit_msat": 0, + "debit_msat": 20000000, + "currency": "bcrt", + "timestamp": 1706246949, + "is_rebalance": false + } + ] }, { - "id": "example:addpsbtoutput#22", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP2qAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8JIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAA==", - "locktime": null, - "destination": null - } + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "4a0650f97d52cafa82b4e1d43b2b2e60c33e148208a34d4d1840288dc4d85264:1", + "timestamp": 1708624136, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 2000000000, + "currency": "bcrt", + "outpoint": "4a0650f97d52cafa82b4e1d43b2b2e60c33e148208a34d4d1840288dc4d85264:1", + "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "timestamp": 1708624137, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 995073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:1", + "timestamp": 1708624137, + "blockheight": 103 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "channel_open", + "credit_msat": 1000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", + "timestamp": 1708624137, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 1004927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624137, + "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 1004927000, + "currency": "bcrt", + "timestamp": 1708624137, + "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624137, + "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "payment_id": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "part_id": 0, + "timestamp": 1708624138, + "description": "W7PjXOrD1V9QzqlXde6S", + "is_rebalance": false + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "channel_close", + "credit_msat": 0, + "debit_msat": 989000000, + "currency": "bcrt", + "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", + "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "external", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:0", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:1", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "external", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "to_them", + "credit_msat": 10899000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:2", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4880000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624140, + "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445" + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 983999000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc:0", + "timestamp": 1708624142, + "blockheight": 109 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "delayed_to_us", + "credit_msat": 984120000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", + "timestamp": 1708624142, + "blockheight": 104 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "to_wallet", + "credit_msat": 0, + "debit_msat": 984120000, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", + "txid": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc", + "timestamp": 1708624142, + "blockheight": 109 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 121000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624142, + "txid": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc" + } + ] }, { - "id": "example:addpsbtoutput#23", - "method": "addpsbtoutput", - "params": { - "satoshi": 10000, - "initialpsbt": "cHNidP8BAP3VAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8KIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbzwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAAAAAA", - "locktime": null, - "destination": null - } - } - ], - "example_json_response": [ - { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+AA==", - "estimated_added_weight": 172, - "outnum": 0 - }, - { - "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", - "estimated_added_weight": 172, - "outnum": 0 - }, - { - "psbt": "cHNidP8BAH0CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AiICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nGZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAA", - "estimated_added_weight": 172, - "outnum": 1 + "events": [ + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "channel_open", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", + "timestamp": 1708624137, + "blockheight": 103 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "channel", + "tag": "invoice", + "credit_msat": 11000000, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "part_id": 0, + "timestamp": 1708624138, + "description": "W7PjXOrD1V9QzqlXde6S", + "is_rebalance": false + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "channel_close", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", + "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:0", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "external", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:1", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "deposit", + "credit_msat": 10899000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:2", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "external", + "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "chain", + "tag": "to_them", + "credit_msat": 984120000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", + "timestamp": 1708624140, + "blockheight": 104 + }, + { + "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 101000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624140, + "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445" + } + ] }, { - "psbt": "cHNidP8BAKgCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////AyICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtWcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAA=", - "estimated_added_weight": 172, - "outnum": 2 + "events": [ + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "channel_open", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", + "timestamp": 1708624149, + "blockheight": 103 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 111, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "part_id": 0, + "timestamp": 1708624152, + "description": "npVAv3iWbQBCHjsDK1YS", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 222, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "part_id": 0, + "timestamp": 1708624153, + "description": "gjXz22eJleM5SNBasEOV", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 4000000, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "part_id": 0, + "timestamp": 1708624155, + "description": "WZcOtfF564NiUQ5vlwRU", + "is_rebalance": false + } + ] }, { - "psbt": "cHNidP8BANMCAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////BCICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4H3g4AAAAAABYAFCrxoFS/04Y1hPz9aDkVV4fzm7nG0AcAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtdAHAAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 3 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "1290b57de4f0e020be9705fd223b2cf8a544dec25f378de25b7ff8fa31815df8:1", + "timestamp": 1708624147, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 2000000000, + "currency": "bcrt", + "outpoint": "1290b57de4f0e020be9705fd223b2cf8a544dec25f378de25b7ff8fa31815df8:1", + "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "timestamp": 1708624149, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 995073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:1", + "timestamp": 1708624149, + "blockheight": 103 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "channel_open", + "credit_msat": 1000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", + "timestamp": 1708624149, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 1004927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624149, + "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 1004927000, + "currency": "bcrt", + "timestamp": 1708624149, + "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624149, + "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 111, + "currency": "bcrt", + "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "part_id": 0, + "timestamp": 1708624152, + "description": "npVAv3iWbQBCHjsDK1YS", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 222, + "currency": "bcrt", + "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "part_id": 0, + "timestamp": 1708624153, + "description": "gjXz22eJleM5SNBasEOV", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 4000000, + "currency": "bcrt", + "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "part_id": 0, + "timestamp": 1708624155, + "description": "WZcOtfF564NiUQ5vlwRU", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "channel_close", + "credit_msat": 0, + "debit_msat": 995999667, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", + "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", + "timestamp": 1708624157, + "blockheight": 104 + }, + { + "account": "external", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:0", + "timestamp": 1708624157, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:1", + "timestamp": 1708624157, + "blockheight": 104 + }, + { + "account": "external", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "to_them", + "credit_msat": 4000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:2", + "timestamp": 1708624157, + "blockheight": 104 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4880667, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624157, + "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1" + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 990998000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3:0", + "timestamp": 1708624159, + "blockheight": 109 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "delayed_to_us", + "credit_msat": 991119000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", + "timestamp": 1708624159, + "blockheight": 104 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "to_wallet", + "credit_msat": 0, + "debit_msat": 991119000, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", + "txid": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3", + "timestamp": 1708624159, + "blockheight": 109 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 121000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624159, + "txid": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3" + } + ] }, { - "psbt": "cHNidP8BAP3+AAIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8FIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 4 + "events": [ + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "channel_open", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", + "timestamp": 1708624149, + "blockheight": 103 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 111, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "part_id": 0, + "timestamp": 1708624152, + "description": "npVAv3iWbQBCHjsDK1YS", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 222, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "part_id": 0, + "timestamp": 1708624153, + "description": "gjXz22eJleM5SNBasEOV", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "channel", + "tag": "invoice", + "credit_msat": 4000000, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "part_id": 0, + "timestamp": 1708624155, + "description": "WZcOtfF564NiUQ5vlwRU", + "is_rebalance": false + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "channel_close", + "credit_msat": 0, + "debit_msat": 4000333, + "currency": "bcrt", + "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", + "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", + "timestamp": 1708624158, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:0", + "timestamp": 1708624158, + "blockheight": 104 + }, + { + "account": "external", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "anchor", + "credit_msat": 330000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:1", + "timestamp": 1708624158, + "blockheight": 104 + }, + { + "account": "wallet", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "deposit", + "credit_msat": 4000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:2", + "timestamp": 1708624158, + "blockheight": 104 + }, + { + "account": "external", + "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "chain", + "tag": "to_them", + "credit_msat": 991119000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", + "timestamp": 1708624158, + "blockheight": 104 + }, + { + "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 333, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624158, + "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1" + } + ] }, { - "psbt": "cHNidP8BAP0pAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8GIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 5 - }, - { - "psbt": "cHNidP8BAP1UAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8HIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3GcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAA", - "estimated_added_weight": 172, - "outnum": 6 - }, - { - "psbt": "cHNidP8BAP1/AQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8IIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 7 - }, - { - "psbt": "cHNidP8BAP2qAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8JIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 8 - }, - { - "psbt": "cHNidP8BAP3VAQIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8KIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYymcAAAAAAQD2AgAAAAABAUSTG8tq2iFjqbDmCvmobVqICtKvOIU9HZiioPbUe/5EAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM2vPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgS7Wd9VG32L6sUzbX2bCEyp3AmyrKBZJZMVRL5x6Z2HoCIEbdCjyD0n9oAw7ZEcOwgFJyxyPqlNMjBmnsbDwbcQ4oASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgAAAAAAAAAAAAAA", - "estimated_added_weight": 172, - "outnum": 9 - }, - { - "psbt": "cHNidP8BAP0AAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8LIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGFnAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAAAAAAAAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 10 - }, - { - "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 11 - }, - { - "psbt": "cHNidP8BAH0CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AiICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAA", - "estimated_added_weight": 172, - "outnum": 1 - }, - { - "psbt": "cHNidP8BAKgCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////AyICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4jwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAA=", - "estimated_added_weight": 172, - "outnum": 2 - }, - { - "psbt": "cHNidP8BANMCAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////BCICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq/ZlA0AAAAAABYAFDjBCFTBHhDLN4ZGAUPJY8hTDfiRECcAAAAAAAAiUSD1dRhfb4HJQix86Q0an9IU8/HdpAwpWENQmeUlxiBM4hAnAAAAAAAAIlEgnWhkWJKleQbwpw/3USMBrikmMSbZMmdjdLYigiYDlvs8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 3 - }, - { - "psbt": "cHNidP8BAP3+AAIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8FIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3I8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 4 - }, - { - "psbt": "cHNidP8BAP0pAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8GIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 5 - }, - { - "psbt": "cHNidP8BAP1UAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8HIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9zwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAA", - "estimated_added_weight": 172, - "outnum": 6 - }, - { - "psbt": "cHNidP8BAP1/AQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8IIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCI8AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 7 - }, - { - "psbt": "cHNidP8BAP2qAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8JIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggPAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAA==", - "estimated_added_weight": 172, - "outnum": 8 - }, - { - "psbt": "cHNidP8BAP3VAQIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8KIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbzwAAAAAAQD2AgAAAAABAUBW6FFFa8lXVVwNoK8Op+FXM/xucq65T0PZ72UdCjoMAQAAAAD9////AkBCDwAAAAAAIgAghphligHvsAHhzE32qLbzrbRh+j5nk4X9quQAvXOZazIBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAkcwRAIgIeMRGlygo7Fe75Tj1GIuO0ezPcPYDibwuaYHM5jiKqsCIEnzlhWs7oF7fLU9E6yjDX4THRhbNGurKBtfHUuchj/OASECB+wrNVNHEthq4DDdm/rsCOLd6h7Bzs/7lyXtessSq2ZmAAAAAQErAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagAAAAAAAAAAAAAA", - "estimated_added_weight": 172, - "outnum": 9 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1", + "timestamp": 1708624165, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1", + "timestamp": 1708624165, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0", + "timestamp": 1708624166, + "blockheight": 0 + } + ] }, { - "psbt": "cHNidP8BAP0AAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8LIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh08AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAAAAAAAAAAAAAAA=", - "estimated_added_weight": 172, - "outnum": 10 - } - ], - "author": [ - "Dusty <<@dusty_daemon>> is mainly responsible." - ], - "see_also": [ - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-autoclean-once.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "autoclean-once", - "title": "A single deletion of old invoices/payments/forwards", - "description": [ - "The **autoclean-once** RPC command tell the `autoclean` plugin to do a single sweep to delete old entries. This is a manual alternative (or addition) to the various `autoclean-...-age` parameters which cause autoclean to run once per hour: see lightningd-config(5)." - ], - "request": { - "required": [ - "subsystem", - "age" - ], - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "succeededforwards", - "failedforwards", - "succeededpays", - "failedpays", - "paidinvoices", - "expiredinvoices" - ], - "description": [ - "What subsystem to clean. Currently supported subsystems are:", - " * `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).", - " * `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).", - " * `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).", - " * `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).", - " * `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).", - " * `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)." - ] - }, - "age": { - "type": "u64", - "description": [ - "Non-zero number in seconds. How many seconds old an entry must be to delete it." - ] - } - } - }, - "response": { - "required": [ - "autoclean" - ], - "properties": { - "autoclean": { - "type": "object", - "additionalProperties": false, - "properties": { - "succeededforwards": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - }, - "failedforwards": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - }, - "succeededpays": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - }, - "failedpays": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - }, - "paidinvoices": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - }, - "expiredinvoices": { - "type": "object", - "additionalProperties": false, - "required": [ - "cleaned", - "uncleaned" - ], - "properties": { - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done this run." - ] - }, - "uncleaned": { - "type": "u64", - "description": [ - "The total number of entries *not* deleted this run." - ] - } - } - } + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1", + "timestamp": 1708624165, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1", + "timestamp": 1708624165, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0", + "timestamp": 1708624166, + "blockheight": 0 } - } - } - }, - "example_json_request": [ - { - "id": "example:autoclean-once#1", - "method": "autoclean-once", - "params": [ - "failedpays", - 1 ] }, { - "id": "example:autoclean-once#2", - "method": "autoclean-once", - "params": [ - "succeededpays", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1", + "timestamp": 1708624173, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0", + "timestamp": 1708624173, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542:0", + "timestamp": 1708624174, + "blockheight": 0 + } ] }, { - "id": "example:autoclean-once#3", - "method": "autoclean-once", - "params": [ - "failedpays", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1", + "timestamp": 1708624175, + "blockheight": 102 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0", + "timestamp": 1708624175, + "blockheight": 102 + } ] }, { - "id": "example:autoclean-once#4", - "method": "autoclean-once", - "params": [ - "succeededpays", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", + "timestamp": 1708624181, + "blockheight": 102 + } ] }, { - "id": "example:autoclean-once#5", - "method": "autoclean-once", - "params": [ - "failedforwards", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", + "timestamp": 1708624181, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", + "timestamp": 1708624182, + "blockheight": 0 + } ] }, { - "id": "example:autoclean-once#6", - "method": "autoclean-once", - "params": [ - "succeededforwards", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", + "timestamp": 1708624181, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", + "timestamp": 1708624182, + "blockheight": 0 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0", + "timestamp": 1708624182, + "blockheight": 0 + } ] }, { - "id": "example:autoclean-once#7", - "method": "autoclean-once", - "params": [ - "expiredinvoices", - 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", + "timestamp": 1708624181, + "blockheight": 102 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", + "timestamp": 1708624182, + "blockheight": 0 + }, + { + "account": "external", + "origin": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 555555000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0", + "timestamp": 1708624182, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 1111111000, + "currency": "bcrt", + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71", + "timestamp": 1708624183, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 554947000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:1", + "timestamp": 1708624183, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 555556000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 554947000, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + } ] }, { - "id": "example:autoclean-once#8", - "method": "autoclean-once", - "params": [ - "paidinvoices", - 1 - ] - } - ], - "example_json_response": [ - { - "autoclean": { - "failedpays": { - "cleaned": 1, - "uncleaned": 1 + "events": [ + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "chain", + "tag": "channel_open", + "credit_msat": 10000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:0", + "timestamp": 1708624189, + "blockheight": 0 + }, + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624189, + "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" + }, + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "channel", + "tag": "pushed", + "credit_msat": 0, + "debit_msat": 1000000000, + "currency": "bcrt", + "timestamp": 1708624190, + "is_rebalance": false + }, + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "timestamp": 1708624190, + "is_rebalance": false + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 200000000000, + "currency": "bcrt", + "outpoint": "69f45da65e9d507ff450469beee6e645957f93929d06b50b6d7c7c95e9a0cf41:1", + "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301", + "timestamp": 1708624191, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 189995073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:1", + "timestamp": 1708624191, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 200000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624191, + "is_rebalance": false + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 10004927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624191, + "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 10004927000, + "currency": "bcrt", + "timestamp": 1708624191, + "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" } - } + ] }, { - "autoclean": { - "succeededpays": { - "cleaned": 1, - "uncleaned": 0 + "events": [ + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "chain", + "tag": "channel_open", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:0", + "timestamp": 1708624190, + "blockheight": 0 + }, + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "channel", + "tag": "pushed", + "credit_msat": 1000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624191, + "is_rebalance": false + }, + { + "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 11000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624191, + "is_rebalance": false } - } + ] }, { - "autoclean": { - "failedpays": { - "cleaned": 1, - "uncleaned": 1 + "events": [ + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "type": "chain", + "tag": "channel_open", + "credit_msat": 10000000000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:0", + "timestamp": 1708624208, + "blockheight": 0 + }, + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 4927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624208, + "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" + }, + { + "account": "wallet", + "type": "chain", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 200000000000, + "currency": "bcrt", + "outpoint": "13c731941751f6bd359c9e84b8745ca356dda0445f8db2838fe235fa646d1eb3:0", + "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1", + "timestamp": 1708624210, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 189995073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:1", + "timestamp": 1708624210, + "blockheight": 103 + }, + { + "account": "wallet", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 200000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624210, + "is_rebalance": false + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 10004927000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624210, + "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" + }, + { + "account": "wallet", + "type": "onchain_fee", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 10004927000, + "currency": "bcrt", + "timestamp": 1708624210, + "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" + }, + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "type": "channel", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "payment_id": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "part_id": 0, + "timestamp": 1708624213, + "description": "sK54KAL3qX01yNt76y0B", + "is_rebalance": false } - } + ] }, { - "autoclean": { - "succeededpays": { - "cleaned": 1, - "uncleaned": 0 + "events": [ + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "type": "chain", + "tag": "channel_open", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:0", + "timestamp": 1708624209, + "blockheight": 0 + }, + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "type": "channel", + "tag": "invoice", + "credit_msat": 11000000, + "debit_msat": 0, + "currency": "bcrt", + "payment_id": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "part_id": 0, + "timestamp": 1708624213, + "description": "sK54KAL3qX01yNt76y0B", + "is_rebalance": false } - } + ] }, { - "autoclean": { - "failedforwards": { - "cleaned": 1, - "uncleaned": 1 + "events": [ + { + "account": "wallet", + "type": "chain", + "tag": "deposit", + "credit_msat": 986105000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11:1", + "timestamp": 1708624230, + "blockheight": 119 + }, + { + "account": "wallet", + "type": "channel", + "tag": "journal_entry", + "credit_msat": 995073000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624233, + "is_rebalance": false } - } + ] }, { - "autoclean": { - "succeededforwards": { - "cleaned": 1, - "uncleaned": 0 - } - } + "events": [] }, { - "autoclean": { - "expiredinvoices": { - "cleaned": 1, - "uncleaned": 1 + "events": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "type": "chain", + "tag": "channel_proposed", + "credit_msat": 970073000, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8:0", + "timestamp": 1708635431, + "blockheight": 0 + }, + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "type": "channel", + "tag": "pushed", + "credit_msat": 0, + "debit_msat": 20000000, + "currency": "bcrt", + "timestamp": 1708635431, + "is_rebalance": false } - } + ] }, { - "autoclean": { - "paidinvoices": { - "cleaned": 1, - "uncleaned": 0 + "events": [ + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "type": "chain", + "tag": "channel_proposed", + "credit_msat": 0, + "debit_msat": 0, + "currency": "bcrt", + "outpoint": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8:0", + "timestamp": 1708635431, + "blockheight": 0 + }, + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "type": "channel", + "tag": "pushed", + "credit_msat": 20000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708635431, + "is_rebalance": false } - } + ] } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightningd-config(5)", - "lightning-autoclean-status(7)" + "lightning-bkpr-listincome(7)", + "lightning-listfunds(7)", + "lightning-bkpr-listbalances(7)", + "lightning-bkpr-channelsapy(7)" ], "resources": [ "Main web site: " ] }, - "lightning-autoclean-status.json": { + "lightning-bkpr-listbalances.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "autoclean-status", - "title": "Examine auto-delete of old invoices/payments/forwards", + "rpc": "bkpr-listbalances", + "title": "Command for listing current channel + wallet balances", "description": [ - "The **autoclean-status** RPC command tells you about the status of the autclean plugin, optionally for only one subsystem." + "The **bkpr-listbalances** RPC command is a list of all current and historical account balances. An account is either the on-chain *wallet* or a channel balance. Any funds sent to an *external* account will not be accounted for here.", + "", + "Note that any channel that was recorded will be listed. Closed channel balances will be 0msat." ], "request": { "required": [], - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "succeededforwards", - "failedforwards", - "succeededpays", - "failedpays", - "paidinvoices", - "expiredinvoices" - ], - "description": [ - "What subsystem to ask about. Currently supported subsystems are:", - " * `failedforwards`: routed payments which did not succeed (`failed` or `local_failed` in listforwards `status`).", - " * `succeededforwards`: routed payments which succeeded (`settled` in listforwards `status`).", - " * `failedpays`: payment attempts which did not succeed (`failed` in listpays `status`).", - " * `succeededpays`: payment attempts which succeeded (`complete` in listpays `status`).", - " * `expiredinvoices`: invoices which were not paid (and cannot be) (`expired` in listinvoices `status`).", - " * `paidinvoices`: invoices which were paid (`paid` in listinvoices `status)." - ] - } - } + "properties": {} }, "response": { "required": [ - "autoclean" + "accounts" ], "properties": { - "autoclean": { - "type": "object", - "additionalProperties": false, - "properties": { - "succeededforwards": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": [ - "Whether autocleaning is enabled for successful listforwards." - ] - }, - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done (ever)." - ] - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } + "accounts": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "account", + "balances" + ], + "properties": { + "account": { + "type": "string", + "description": [ + "The account name. If the account is a channel, the channel_id." + ] }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to delete successful listforwards." - ] + "balances": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "balance_msat", + "coin_type" + ], + "properties": { + "balance_msat": { + "type": "msat", + "description": [ + "Current account balance." + ] + }, + "coin_type": { + "type": "string", + "description": [ + "Coin type, same as HRP for bech32." + ] + } } } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } } }, - "failedforwards": { - "type": "object", - "additionalProperties": true, + "if": { "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": [ - "Whether autocleaning is enabled for failed listforwards." - ] - }, - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done (ever)." - ] - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to delete failed listforwards." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } + "peer_id" + ] }, - "succeededpays": { - "type": "object", - "additionalProperties": true, + "then": { "required": [ - "enabled", - "cleaned" + "account", + "balances", + "peer_id", + "we_opened", + "account_closed", + "account_resolved" ], + "additionalProperties": false, "properties": { - "enabled": { - "type": "boolean", + "account": {}, + "balances": {}, + "peer_id": { + "type": "pubkey", "description": [ - "Whether autocleaning is enabled for successful listpays/listsendpays." + "Node id for the peer this account is with." ] }, - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done (ever)." - ] - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to delete successful listpays/listsendpays." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "failedpays": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { + "we_opened": { "type": "boolean", "description": [ - "Whether autocleaning is enabled for failed listpays/listsendpays." + "Did we initiate this account open (open the channel)." ] }, - "cleaned": { - "type": "u64", + "account_closed": { + "type": "boolean", "description": [ - "Total number of deletions done (ever)." + "", + "" ] - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to delete failed listpays/listsendpays." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } - }, - "paidinvoices": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": { + }, + "account_resolved": { "type": "boolean", "description": [ - "Whether autocleaning is enabled for paid listinvoices." + "Has this channel been closed and all outputs resolved?" ] }, - "cleaned": { - "type": "u64", + "resolved_at_block": { + "type": "u32", "description": [ - "Total number of deletions done (ever)." + "Blockheight account resolved on chain." ] } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to paid listinvoices." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } } }, - "expiredinvoices": { - "type": "object", - "additionalProperties": true, - "required": [ - "enabled", - "cleaned" - ], + "else": { "properties": { - "enabled": { - "type": "boolean", - "description": [ - "Whether autocleaning is enabled for expired (unpaid) listinvoices." - ] - }, - "cleaned": { - "type": "u64", - "description": [ - "Total number of deletions done (ever)." - ] - } - }, - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "enabled", - "age", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {}, - "age": { - "type": "u64", - "description": [ - "Age (in seconds) to expired listinvoices." - ] - } - } + "account": {}, + "balances": {} }, - "else": { - "additionalProperties": false, - "required": [ - "enabled", - "cleaned" - ], - "properties": { - "enabled": {}, - "cleaned": {} - } - } + "additionalProperties": false } } } - }, - "pre_return_value_notes": [ - "Note that the ages parameters are set by various `autoclean-...-age` parameters in your configuration: see lightningd-config(5)." - ] + } }, "example_json_request": [ { - "id": "example:autoclean-status#1", - "method": "autoclean-status", - "params": { - "subsystem": "expiredinvoices" - } - }, - { - "id": "example:autoclean-status#2", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#1", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#3", - "method": "autoclean-status", - "params": { - "subsystem": "expiredinvoices" - } + "id": "example:bkpr-listbalances#2", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#4", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#3", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#5", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#4", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#6", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#5", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#7", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#6", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#8", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#7", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#9", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#8", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#10", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#9", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#11", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#10", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#12", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#11", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#13", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#12", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#14", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#13", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#15", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#14", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#16", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#15", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#17", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#16", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#18", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#17", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#19", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#18", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#20", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#19", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#21", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#20", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#22", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#21", + "method": "bkpr-listbalances", + "params": "{}" }, { - "id": "example:autoclean-status#23", - "method": "autoclean-status", - "params": { - "subsystem": null - } + "id": "example:bkpr-listbalances#22", + "method": "bkpr-listbalances", + "params": "{}" + }, + { + "id": "example:bkpr-listbalances#23", + "method": "bkpr-listbalances", + "params": "{}" } ], "example_json_response": [ { - "autoclean": { - "expiredinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 2222222000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1475336000, + "coin_type": "bcrt" + } + ] }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "e549f957116f91c3877679190fb5ecbc6d37133a2d2e384ba34895eb760e24a1", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 450000000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 0 + { + "account": "d11c01a009ba8880d0585b90ace1484725f630442d931938981c1bbe51f25087", + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 132, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "expiredinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 2222222000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 2222222000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1662100000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 2222222000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 1 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1662100000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 189995073000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 1 + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 10000000000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 1 + { + "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 1 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1981178000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 - }, - "expiredinvoices": { - "enabled": false, - "cleaned": 1 + "accounts": [ + { + "account": "wallet", + "balances": [] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1475336000, + "coin_type": "bcrt" + } + ] }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "3ad19cdb6dff053097987dd26cd77e203a67756ee89aa087d4f86d0a8fcdff33", + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 132, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 1 + { + "account": "f437fe839b32da1adee06bc6abf17683fc2749a465a9dd2264bb632bafa7357f", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 450000000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 3457604000, + "coin_type": "bcrt" + } + ] }, - "failedpays": { - "enabled": false, - "cleaned": 0 + { + "account": "d0f833d267d6f06fc69bce61febaf0382368f3be6c79af7b3e8964b81b86f4e1", + "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 500000000, + "coin_type": "bcrt" + } + ] }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "3ad19cdb6dff053097987dd26cd77e203a67756ee89aa087d4f86d0a8fcdff33", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": false, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 133, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 1 + { + "account": "acc64c63825415859feabb10a98e27806678345df285693a3a16205b83f81fde", + "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 134, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1447105000, + "coin_type": "bcrt" + } + ] }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "778f4e23d1feaaddc9b0b66d2e0820d9204879179be41b54d0cd268ab05ea4ee", + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 132, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 1 + { + "account": "5222c6bd27ec29b9b01881ffa7e8ad5ddd670934195824f3caa3d23a41b895bd", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 450000000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 3443479000, + "coin_type": "bcrt" + } + ] }, - "failedpays": { - "enabled": false, - "cleaned": 0 + { + "account": "becabdc9ba065457c6174b63d62b1fd70bd0d4cc740779764de9ea8aec221b84", + "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 500000000, + "coin_type": "bcrt" + } + ] }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "778f4e23d1feaaddc9b0b66d2e0820d9204879179be41b54d0cd268ab05ea4ee", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": false, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 133, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "2778afed65f06516176def664980c1cc530b5089e7f3b100e54f547e2965a185", + "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 133, + "balances": [ + { + "balance_msat": 1000000000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1977053000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 114, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 104, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": true, - "age": 1, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 1965537000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 114, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": true, - "age": 1, - "cleaned": 1 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 330000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "we_opened": false, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 104, + "balances": [ + { + "balance_msat": 0, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": true, - "age": 1, - "cleaned": 1 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 25000000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": true, - "age": 2, - "cleaned": 3 + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 1920146000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": true, - "age": 1, - "cleaned": 1 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 25000000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 1920146000, + "coin_type": "bcrt" + } + ] } - } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": false, - "cleaned": 0 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": true, - "age": 1, - "cleaned": 1 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 25000000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 0 - } - } + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": false, + "account_resolved": false, + "balances": [ + { + "balance_msat": 1920146000, + "coin_type": "bcrt" + } + ] + } + ] }, { - "autoclean": { - "succeededforwards": { - "enabled": false, - "cleaned": 0 - }, - "failedforwards": { - "enabled": true, - "age": 2, - "cleaned": 1 - }, - "succeededpays": { - "enabled": false, - "cleaned": 0 - }, - "failedpays": { - "enabled": false, - "cleaned": 0 - }, - "paidinvoices": { - "enabled": false, - "cleaned": 0 + "accounts": [ + { + "account": "wallet", + "balances": [ + { + "balance_msat": 972178000, + "coin_type": "bcrt" + } + ] }, - "expiredinvoices": { - "enabled": false, - "cleaned": 0 + { + "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "we_opened": true, + "account_closed": true, + "account_resolved": true, + "resolved_at_block": 109, + "balances": [ + { + "balance_msat": 970073000, + "coin_type": "bcrt" + } + ] } - } + ] } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightningd-config(5)", - "lightning-listinvoices(7)", - "lightning-listpays(7)", - "lightning-listforwards(7)" + "lightning-bkpr-listincome(7)", + "lightning-listfunds(7)", + "lightning-bkpr-listaccountevents(7)", + "lightning-bkpr-channelsapy(7)", + "lightning-listpeers(7)" ], "resources": [ "Main web site: " ] }, - "lightning-autocleaninvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "setchannel", - "title": "Command for configuring fees / htlc range advertized for a channel", - "description": [], - "request": { - "required": [], - "properties": { - "expired_by": { - "type": "u64", - "description": [ - "How long an invoice must be expired (seconds) before we delete it." - ] - }, - "cycle_seconds": { - "type": "u64", - "description": [ - "The interval (in seconds) between cleaning expired invoices." - ] - } - } - }, - "response": { - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "description": [ - "Whether invoice autocleaning is active." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "expired_by", - "cycle_seconds" - ], - "properties": { - "enabled": {}, - "expired_by": { - "type": "u64", - "description": [ - "How long an invoice must be expired (seconds) before we delete it." - ] - }, - "cycle_seconds": { - "type": "u64", - "description": [ - "How long an invoice must be expired (seconds) before we delete it." - ] - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "enabled": {} - } - } - } - ] - }, - "example_json_request": [ - { - "id": "example:autocleaninvoice#1", - "method": "autocleaninvoice", - "params": { - "cycle_seconds": 8, - "expired_by": 2 - } - }, - { - "id": "example:autocleaninvoice#2", - "method": "autocleaninvoice", - "params": { - "cycle_seconds": 0, - "expired_by": null - } - }, - { - "id": "example:autocleaninvoice#3", - "method": "autocleaninvoice", - "params": { - "cycle_seconds": 1, - "expired_by": null - } - }, - { - "id": "example:autocleaninvoice#4", - "method": "autocleaninvoice", - "params": { - "cycle_seconds": 0, - "expired_by": null - } - }, - { - "id": "example:autocleaninvoice#5", - "method": "autocleaninvoice", - "params": { - "cycle_seconds": 1, - "expired_by": 1 - } - } - ], - "example_json_response": [ - { - "enabled": true, - "cycle_seconds": 8, - "expired_by": 2 - }, - { - "enabled": false - }, - { - "enabled": true, - "cycle_seconds": 1, - "expired_by": 86400 - }, - { - "enabled": false - }, - { - "enabled": true, - "cycle_seconds": 1, - "expired_by": 1 - } - ] - }, - "lightning-batching.json": { + "lightning-bkpr-listincome.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "batching", - "title": "Command to allow database batching.", + "added": "pre-v0.10.1", + "rpc": "bkpr-listincome", + "title": "Command for listing all income impacting events", "description": [ - "The **batching** RPC command allows (but does not guarantee!) database commitments to be deferred when multiple commands are issued on this RPC connection. This is only useful if many commands are being given at once, in which case it can offer a performance improvement (the cost being that if there is a crash, it's unclear how many of the commands will have been persisted)." + "The **bkpr-listincome** RPC command is a list of all income impacting events that the bookkeeper plugin has recorded for this node." ], "request": { - "required": [ - "enable" - ], + "required": [], "properties": { - "enable": { + "consolidate_fees": { "type": "boolean", "description": [ - "Whether to enable or disable transaction batching." + "If true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Note that this means that the events emitted are non-stable, i.e. calling **listincome** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction." ], - "default": "False" - } - } - }, - "response": { - "properties": {} - }, - "example_json_request": [ - { - "id": "example:batching#1", - "method": "batching", - "params": { - "enable": true - } - } - ], - "example_json_response": [ - {} - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "author": [ - "Rusty Russell <> wrote the initial version of this man page." - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-bkpr-channelsapy.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "bkpr-channelsapy", - "title": "Command to list stats on channel earnings", - "description": [ - "The **bkpr-channelsapy** RPC command lists stats on routing income, leasing income, and various calculated APYs for channel routed funds." - ], - "request": { - "required": [], - "properties": { + "default": "True" + }, "start_time": { - "type": "u64", + "type": "u32", "description": [ - "UNIX timestamp (in seconds) to filter events after the provided timestamp." + "UNIX timestamp (in seconds) that filters events after the provided timestamp." ], "default": "zero" }, "end_time": { - "type": "u64", + "type": "u32", "description": [ - "UNIX timestamp (in seconds) to filter events up to and at the provided timestamp." + "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp." ], "default": "max-int" } @@ -9184,162 +6488,81 @@ }, "response": { "required": [ - "channels_apy" + "income_events" ], "properties": { - "channels_apy": { + "income_events": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "account", - "routed_out_msat", - "routed_in_msat", - "lease_fee_paid_msat", - "lease_fee_earned_msat", - "pushed_out_msat", - "pushed_in_msat", - "our_start_balance_msat", - "channel_start_balance_msat", - "fees_out_msat", - "utilization_out", - "utilization_in", - "apy_out", - "apy_in", - "apy_total" + "tag", + "credit_msat", + "debit_msat", + "currency", + "timestamp" ], "properties": { "account": { "type": "string", "description": [ - "The account name. If the account is a channel, the channel_id. The 'net' entry is the rollup of all channel accounts." - ] - }, - "routed_out_msat": { - "type": "msat", - "description": [ - "Sats routed (outbound)." - ] - }, - "routed_in_msat": { - "type": "msat", - "description": [ - "Sats routed (inbound)." - ] - }, - "lease_fee_paid_msat": { - "type": "msat", - "description": [ - "Sats paid for leasing inbound (liquidity ads)." - ] - }, - "lease_fee_earned_msat": { - "type": "msat", - "description": [ - "Sats earned for leasing outbound (liquidity ads)." - ] - }, - "pushed_out_msat": { - "type": "msat", - "description": [ - "Sats pushed to peer at open." - ] - }, - "pushed_in_msat": { - "type": "msat", - "description": [ - "Sats pushed in from peer at open." - ] - }, - "our_start_balance_msat": { - "type": "msat", - "description": [ - "Starting balance in channel at funding. Note that if our start balance is zero, any _initial field will be omitted (can't divide by zero)." + "The account name. If the account is a channel, the channel_id." ] }, - "channel_start_balance_msat": { - "type": "msat", + "tag": { + "type": "string", "description": [ - "Total starting balance at funding." + "Type of income event." ] }, - "fees_out_msat": { + "credit_msat": { "type": "msat", "description": [ - "Fees earned on routed outbound." + "Amount earned (income)." ] }, - "fees_in_msat": { + "debit_msat": { "type": "msat", "description": [ - "Fees earned on routed inbound." - ] - }, - "utilization_out": { - "type": "string", - "description": [ - "Sats routed outbound / total start balance." - ] - }, - "utilization_out_initial": { - "type": "string", - "description": [ - "Sats routed outbound / our start balance." - ] - }, - "utilization_in": { - "type": "string", - "description": [ - "Sats routed inbound / total start balance." - ] - }, - "utilization_in_initial": { - "type": "string", - "description": [ - "Sats routed inbound / our start balance." - ] - }, - "apy_out": { - "type": "string", - "description": [ - "Fees earned on outbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + "Amount spent (expenses)." ] }, - "apy_out_initial": { + "currency": { "type": "string", "description": [ - "Fees earned on outbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + "Human-readable bech32 part for this coin type." ] }, - "apy_in": { - "type": "string", + "timestamp": { + "type": "u32", "description": [ - "Fees earned on inbound routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp." ] }, - "apy_in_initial": { + "description": { "type": "string", "description": [ - "Fees earned on inbound routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + "More information about this event. If a `invoice` type, typically the bolt11/bolt12 description." ] }, - "apy_total": { + "outpoint": { "type": "string", "description": [ - "Total fees earned on routed payments / total start balance for the length of time this channel has been open amortized to a year (APY)." + "The txid:outnum for this event, if applicable." ] }, - "apy_total_initial": { - "type": "string", + "txid": { + "type": "txid", "description": [ - "Total fees earned on routed payments / our start balance for the length of time this channel has been open amortized to a year (APY)." + "The txid of the transaction that created this event, if applicable." ] }, - "apy_lease": { - "type": "string", + "payment_id": { + "type": "hex", "description": [ - "Lease fees earned over total amount leased for the lease term, amortized to a year (APY). Only appears if channel was leased out by us." + "Lightning payment identifier. For an htlc, this will be the preimage." ] } } @@ -9349,662 +6572,789 @@ }, "example_json_request": [ { - "id": "example:bkpr-channelsapy#1", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#1", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#2", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#2", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#3", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#3", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#4", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#4", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#5", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#5", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#6", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#6", + "method": "bkpr-listincome", "params": "{}" }, { - "id": "example:bkpr-channelsapy#7", - "method": "bkpr-channelsapy", + "id": "example:bkpr-listincome#7", + "method": "bkpr-listincome", "params": "{}" - } - ], - "example_json_response": [ + }, { - "channels_apy": [ - { - "account": "e41b2ec83e9139a9fd8f1d89b01e5d7df73099494e6b91504c39445e37485b0d", - "routed_out_msat": 1431440, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.1431%", - "utilization_out_initial": "0.1431%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" - }, - { - "account": "net", - "routed_out_msat": 1431440, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.1431%", - "utilization_out_initial": "0.1431%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" - } - ] + "id": "example:bkpr-listincome#8", + "method": "bkpr-listincome", + "params": "{}" }, { - "channels_apy": [ - { - "account": "e41b2ec83e9139a9fd8f1d89b01e5d7df73099494e6b91504c39445e37485b0d", - "routed_out_msat": 0, - "routed_in_msat": 1431440, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.1431%", - "utilization_in_initial": "0.1431%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" - }, - { - "account": "net", - "routed_out_msat": 0, - "routed_in_msat": 1431440, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.1431%", - "utilization_in_initial": "0.1431%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" - } - ] + "id": "example:bkpr-listincome#9", + "method": "bkpr-listincome", + "params": "{}" }, { - "channels_apy": [] + "id": "example:bkpr-listincome#10", + "method": "bkpr-listincome", + "params": "{}" }, { - "channels_apy": [ + "id": "example:bkpr-listincome#11", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#12", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#13", + "method": "bkpr-listincome", + "params": { + "consolidate_fees": false + } + }, + { + "id": "example:bkpr-listincome#14", + "method": "bkpr-listincome", + "params": { + "consolidate_fees": true + } + }, + { + "id": "example:bkpr-listincome#15", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#16", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#17", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#18", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#19", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#20", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#21", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#22", + "method": "bkpr-listincome", + "params": "{}" + }, + { + "id": "example:bkpr-listincome#23", + "method": "bkpr-listincome", + "params": "{}" + } + ], + "example_json_response": [ + { + "income_events": [ { - "account": "495d3c50bb03e281c63a998eac7de683f31cfba6ef179790c183ba60e97783dd", - "routed_out_msat": 1942656, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.1943%", - "utilization_out_initial": "0.1943%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706153060, + "outpoint": "6d813d2e99ae7181b61e59ff224c43de698bd08b8ca5b8034ccc13aa7b6428ef:0" }, { - "account": "net", - "routed_out_msat": 1942656, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.1943%", - "utilization_out_initial": "0.1943%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706153060, + "outpoint": "0bbbe965f76525af3876ae6f1520d91047d4be04cb4e46b7229120a60c5dc9c5:0" } ] }, { - "channels_apy": [ + "income_events": [ { - "account": "495d3c50bb03e281c63a998eac7de683f31cfba6ef179790c183ba60e97783dd", - "routed_out_msat": 0, - "routed_in_msat": 1942656, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.1943%", - "utilization_in_initial": "0.1943%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1706241875, + "outpoint": "d02ffd54635ccd8e0b802b0981b8a953e6145de485c920372fe796c097e5b56c:0" }, { - "account": "net", - "routed_out_msat": 0, - "routed_in_msat": 1942656, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.1943%", - "utilization_in_initial": "0.1943%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" + "account": "de0cb674f73064f6747be59dc71ab6e82b28036531b377d22afe533a0c1fd4d2", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1706241882, + "txid": "d2d41f0c3a53fe2ad277b3316503282be8b61ac79de57b74f66430f774b60cde" } ] }, { - "channels_apy": [ + "income_events": [ { - "account": "6fb6b5ae822c11cd3866bb2c3d89d7319f9a28d0b4592358dfaa5bd2dc39b801", - "routed_out_msat": 2896279, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.2896%", - "utilization_out_initial": "0.2896%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" }, { - "account": "net", - "routed_out_msat": 2896279, - "routed_in_msat": 0, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 1000000000, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.2896%", - "utilization_out_initial": "0.2896%", - "utilization_in": "0.0000%", - "apy_out": "0.0000%", - "apy_out_initial": "0.0000%", - "apy_in": "0.0000%", - "apy_total": "0.0000%", - "apy_total_initial": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" } ] }, { - "channels_apy": [ + "income_events": [ { - "account": "6fb6b5ae822c11cd3866bb2c3d89d7319f9a28d0b4592358dfaa5bd2dc39b801", - "routed_out_msat": 0, - "routed_in_msat": 2896279, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.2896%", - "utilization_in_initial": "0.2896%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" }, { - "account": "net", - "routed_out_msat": 0, - "routed_in_msat": 2896279, - "lease_fee_paid_msat": 0, - "lease_fee_earned_msat": 0, - "pushed_out_msat": 0, - "pushed_in_msat": 0, - "our_start_balance_msat": 0, - "channel_start_balance_msat": 1000000000, - "fees_out_msat": 0, - "fees_in_msat": 0, - "utilization_out": "0.0000%", - "utilization_in": "0.2896%", - "utilization_in_initial": "0.2896%", - "apy_out": "0.0000%", - "apy_in": "0.0000%", - "apy_in_initial": "0.0000%", - "apy_total": "0.0000%" + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" } ] - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-bkpr-listincome(7)", - "lightning-bkpr-listfunds(7)", - "lightning-bkpr-listaccountevents(7)", - "lightning-bkpr-dumpincomecsv(7)", - "lightning-listpeers(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-bkpr-dumpincomecsv.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "bkpr-dumpincomecsv", - "title": "Command to emit a CSV of income events", - "description": [ - "The **bkpr-dumpincomcsv** RPC command writes a CSV file to disk at *csv_file* location. This is a formatted output of the **listincome** RPC command." - ], - "request": { - "required": [ - "csv_format" - ], - "properties": { - "csv_format": { - "type": "string", - "description": [ - "CSV format to use. See RETURN VALUE for options." - ] - }, - "csv_file": { - "type": "string", - "description": [ - "On-disk destination of the generated CSV file." - ] - }, - "consolidate_fees": { - "type": "boolean", - "description": [ - "If true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Note that this means that the events emitted are non-stable, i.e. calling **dumpincomecsv** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction." - ], - "default": "True" - }, - "start_time": { - "type": "u64", - "description": [ - "UNIX timestamp (in seconds) that filters events after the provided timestamp." - ], - "default": "zero" - }, - "end_time": { - "type": "u64", - "description": [ - "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp." - ], - "default": "max-int" - } - } - }, - "response": { - "required": [ - "csv_file", - "csv_format" - ], - "properties": { - "csv_file": { - "type": "string", - "description": [ - "File that the csv was generated to." - ] - }, - "csv_format": { - "type": "string", - "enum": [ - "cointracker", - "koinly", - "harmony", - "quickbooks" - ], - "description": [ - "Format to print csv as." - ] - } - } - }, - "example_json_request": [ + }, { - "id": "example:bkpr-dumpincomecsv#1", - "method": "bkpr-dumpincomecsv", - "params": [ - "koinly", - "koinly.csv" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" + }, + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624165, + "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" + }, + { + "account": "wallet", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 555555000, + "currency": "bcrt", + "timestamp": 1708624166, + "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4567000, + "currency": "bcrt", + "timestamp": 1708624168, + "txid": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c" + } ] }, { - "id": "example:bkpr-dumpincomecsv#2", - "method": "bkpr-dumpincomecsv", - "params": [ - "koinly", - "koinly.csv" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624173, + "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" + }, + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624173, + "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" + } ] }, { - "id": "example:bkpr-dumpincomecsv#3", - "method": "bkpr-dumpincomecsv", - "params": [ - "koinly", - "koinly.csv" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624175, + "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" + }, + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624175, + "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" + } ] }, { - "id": "example:bkpr-dumpincomecsv#4", - "method": "bkpr-dumpincomecsv", - "params": [ - "koinly", - "koinly.csv" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624175, + "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" + }, + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624175, + "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 560122000, + "currency": "bcrt", + "timestamp": 1708624176, + "txid": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542" + } ] - } - ], - "example_json_response": [ + }, { - "csv_file": "koinly.csv", - "csv_format": "koinly" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + } + ] }, { - "csv_file": "koinly.csv", - "csv_format": "koinly" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + } + ] }, { - "csv_file": "koinly.csv", - "csv_format": "koinly" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + } + ] }, { - "csv_file": "koinly.csv", - "csv_format": "koinly" + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + }, + { + "account": "wallet", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 555555000, + "currency": "bcrt", + "timestamp": 1708624182, + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 609000, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + }, + { + "account": "wallet", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 555555000, + "currency": "bcrt", + "timestamp": 1708624182, + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 555556000, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 554947000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 1111111000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624181, + "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" + }, + { + "account": "wallet", + "tag": "withdrawal", + "credit_msat": 0, + "debit_msat": 555555000, + "currency": "bcrt", + "timestamp": 1708624182, + "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" + }, + { + "account": "wallet", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 609000, + "currency": "bcrt", + "timestamp": 1708624183, + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624239, + "outpoint": "9a0f04d53ef214307463c00830873448b8d2e5250b6badb10582678c3b13a433:1" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624241, + "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "timestamp": 1708624243, + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" + } + ] + }, + { + "income_events": [ + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 11000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624243, + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 2000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624239, + "outpoint": "9a0f04d53ef214307463c00830873448b8d2e5250b6badb10582678c3b13a433:1" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624241, + "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 11000000, + "currency": "bcrt", + "timestamp": 1708624243, + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 100, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624245, + "description": "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d" + } + ] + }, + { + "income_events": [ + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 11000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624243, + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" + }, + { + "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "tag": "invoice", + "credit_msat": 0, + "debit_msat": 100, + "currency": "bcrt", + "timestamp": 1708624245, + "description": "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2", + "payment_id": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d" + } + ] + }, + { + "income_events": [] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 11000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624255, + "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624256, + "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" + }, + { + "account": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", + "tag": "invoice", + "credit_msat": 3210, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624263, + "description": "to_self", + "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 11000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624255, + "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624256, + "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" + }, + { + "account": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", + "tag": "invoice", + "credit_msat": 3210, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624263, + "description": "to_self", + "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 11000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624255, + "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624256, + "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "rebalance_fee", + "credit_msat": 0, + "debit_msat": 1001, + "currency": "bcrt", + "timestamp": 1708624264, + "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" + } + ] + }, + { + "income_events": [ + { + "account": "wallet", + "tag": "deposit", + "credit_msat": 11000000000, + "debit_msat": 0, + "currency": "bcrt", + "timestamp": 1708624255, + "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "onchain_fee", + "credit_msat": 0, + "debit_msat": 4927000, + "currency": "bcrt", + "timestamp": 1708624256, + "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" + }, + { + "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "tag": "rebalance_fee", + "credit_msat": 0, + "debit_msat": 1001, + "currency": "bcrt", + "timestamp": 1708624264, + "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" + } + ] } ], "author": [ "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightning-bkpr-listincome(7)", - "lightning-bkpr-listfunds(7)", "lightning-bkpr-listaccountevents(7)", - "lightning-bkpr-channelsapy(7)", - "lightning-listpeers(7)" + "lightning-listfunds(7)", + "lightning-bkpr-listbalances(7)" ], "resources": [ "Main web site: " ] }, - "lightning-bkpr-inspect.json": { + "lightning-blacklistrune.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "bkpr-inspect", - "title": "Command to show onchain footprint of a channel", + "added": "v23.08", + "rpc": "blacklistrune", + "title": "Command to prevent a rune from working", "description": [ - "The **bkpr-inspect** RPC command lists all known on-chain transactions and associated events for the provided account. Useful for inspecting unilateral closes for a given channel account. Only valid for channel accounts." + "The **blacklistrune** RPC command allows you to effectively revoke the rune you have created (and any runes derived from that rune with additional restictions). Attempting to use these runes will be resulted in a `Blacklisted rune` error message.", + "", + "Destroy a rune like in olden times with the **destroyrune** command.", + "", + "All runes created by lightning have a unique sequential id within them and can be blacklisted in ranges for efficiency. The command always returns the blacklisted ranges on success. If no parameters are specified, no changes have been made. If start specified without end, that single rune is blacklisted. If end is also specified, every rune from start till end inclusive is blacklisted." ], "request": { - "required": [ - "account" - ], + "required": [], "properties": { - "account": { - "type": "string", + "start": { + "type": "u64", "description": [ - "Channel account to inspect." + "First rune unique id to blacklist." + ] + }, + "end": { + "type": "u64", + "description": [ + "Final rune unique id to blacklist (defaults to start)." ] } + }, + "dependentUpon": { + "start": [ + "end" + ] } }, "response": { "required": [ - "txs" + "blacklist" ], "properties": { - "txs": { + "blacklist": { "type": "array", + "description": [ + "The resulting blacklist ranges after the command." + ], "items": { "type": "object", "additionalProperties": false, "required": [ - "txid", - "fees_paid_msat", - "outputs" + "start", + "end" ], "properties": { - "txid": { - "type": "txid", - "description": [ - "Transaction id." - ] - }, - "blockheight": { - "type": "u32", + "start": { + "type": "u64", "description": [ - "Blockheight of transaction." + "Unique id of first rune in this blacklist range." ] }, - "fees_paid_msat": { - "type": "msat", + "end": { + "type": "u64", "description": [ - "Amount paid in sats for this tx." + "Unique id of last rune in this blacklist range." ] - }, - "outputs": { - "type": "array", - "items": { - "type": "object", - "required": [ - "account", - "outnum", - "output_value_msat", - "currency" - ], - "additionalProperties": false, - "properties": { - "account": { - "type": "string", - "description": [ - "Account this output affected." - ] - }, - "outnum": { - "type": "u32", - "description": [ - "Index of output." - ] - }, - "output_value_msat": { - "type": "msat", - "description": [ - "Value of the output." - ] - }, - "currency": { - "type": "string", - "description": [ - "Human-readable bech32 part for this coin type." - ] - }, - "credit_msat": { - "type": "msat", - "description": [ - "Amount credited to account." - ] - }, - "debit_msat": { - "type": "msat", - "description": [ - "Amount debited from account." - ] - }, - "originating_account": { - "type": "string", - "description": [ - "Account this output originated from." - ] - }, - "output_tag": { - "type": "string", - "description": [ - "Description of output creation event." - ] - }, - "spend_tag": { - "type": "string", - "description": [ - "Description of output spend event." - ] - }, - "spending_txid": { - "type": "txid", - "description": [ - "Transaction this output was spent in." - ] - }, - "payment_id": { - "type": "hex", - "description": [ - "Lightning payment identifier. For an htlc, this will be the preimage." - ] - } - }, - "allOf": [ - { - "if": { - "required": [ - "credit_msat" - ] - }, - "then": { - "required": [ - "output_tag" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "outnum": {}, - "output_value_msat": {}, - "currency": {}, - "credit_msat": {}, - "originating_account": {}, - "debit_msat": {}, - "output_tag": {}, - "spend_tag": {}, - "spending_txid": {}, - "payment_id": {} - } - } - }, - { - "if": { - "required": [ - "spending_txid" - ] - }, - "then": { - "required": [ - "spend_tag", - "debit_msat" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "outnum": {}, - "output_value_msat": {}, - "currency": {}, - "credit_msat": {}, - "originating_account": {}, - "debit_msat": {}, - "output_tag": {}, - "spend_tag": {}, - "spending_txid": {}, - "payment_id": {} - } - } - } - ] - } } } } @@ -10013,4171 +7363,1739 @@ }, "example_json_request": [ { - "id": "example:bkpr-inspect#1", - "method": "bkpr-inspect", - "params": [ - "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" - ] - }, - { - "id": "example:bkpr-inspect#2", - "method": "bkpr-inspect", - "params": [ - "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" - ] - }, - { - "id": "example:bkpr-inspect#3", - "method": "bkpr-inspect", - "params": [ - "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1" - ] - }, - { - "id": "example:bkpr-inspect#4", - "method": "bkpr-inspect", - "params": [ - "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3" - ] - }, - { - "id": "example:bkpr-inspect#5", - "method": "bkpr-inspect", - "params": [ - "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2" - ] - }, - { - "id": "example:bkpr-inspect#6", - "method": "bkpr-inspect", - "params": [ - "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95" - ] - }, - { - "id": "example:bkpr-inspect#7", - "method": "bkpr-inspect", - "params": [ - "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" - ] - }, - { - "id": "example:bkpr-inspect#8", - "method": "bkpr-inspect", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] + "id": "example:blacklistrune#1", + "method": "blacklistrune", + "params": { + "start": 1 + } }, { - "id": "example:bkpr-inspect#9", - "method": "bkpr-inspect", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] + "id": "example:blacklistrune#2", + "method": "blacklistrune", + "params": { + "start": 2 + } }, { - "id": "example:bkpr-inspect#10", - "method": "bkpr-inspect", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] + "id": "example:blacklistrune#3", + "method": "blacklistrune", + "params": { + "start": 1 + } }, { - "id": "example:bkpr-inspect#11", - "method": "bkpr-inspect", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] + "id": "example:blacklistrune#4", + "method": "blacklistrune", + "params": { + "start": 2 + } }, { - "id": "example:bkpr-inspect#12", - "method": "bkpr-inspect", - "params": [ - "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" - ] + "id": "example:blacklistrune#5", + "method": "blacklistrune", + "params": { + "start": 6 + } }, { - "id": "example:bkpr-inspect#13", - "method": "bkpr-inspect", - "params": [ - "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" - ] + "id": "example:blacklistrune#6", + "method": "blacklistrune", + "params": { + "start": 3, + "end": 5 + } }, { - "id": "example:bkpr-inspect#14", - "method": "bkpr-inspect", - "params": [ - "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" - ] + "id": "example:blacklistrune#7", + "method": "blacklistrune", + "params": { + "start": 9 + } }, { - "id": "example:bkpr-inspect#15", - "method": "bkpr-inspect", - "params": [ - "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" - ] + "id": "example:blacklistrune#8", + "method": "blacklistrune", + "params": { + "start": 0 + } }, { - "id": "example:bkpr-inspect#16", - "method": "bkpr-inspect", - "params": [ - "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa" - ] + "id": "example:blacklistrune#9", + "method": "blacklistrune", + "params": "{}" }, { - "id": "example:bkpr-inspect#17", - "method": "bkpr-inspect", - "params": [ - "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa" - ] + "id": "example:blacklistrune#10", + "method": "blacklistrune", + "params": "{}" } ], "example_json_response": [ { - "txs": [ + "blacklist": [ { - "txid": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3", - "fees_paid_msat": 0, - "outputs": [ - { - "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", - "outnum": 0, - "output_tag": "channel_proposed", - "output_value_msat": 996363000, - "credit_msat": 996363000, - "currency": "bcrt" - } - ] + "start": 1, + "end": 1 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3", - "fees_paid_msat": 0, - "outputs": [ - { - "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", - "outnum": 0, - "output_tag": "channel_proposed", - "output_value_msat": 996363000, - "credit_msat": 0, - "currency": "bcrt" - } - ] + "start": 1, + "end": 2 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", - "blockheight": 103, - "fees_paid_msat": 2502334, - "outputs": [ - { - "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1", - "outnum": 2, - "output_tag": "channel_open", - "output_value_msat": 25000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] + "start": 1, + "end": 1 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", - "blockheight": 103, - "fees_paid_msat": 2502333, - "outputs": [ - { - "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3", - "outnum": 0, - "output_tag": "channel_open", - "output_value_msat": 25000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] + "start": 1, + "end": 2 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", - "blockheight": 103, - "fees_paid_msat": 2502333, - "outputs": [ - { - "account": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2", - "outnum": 1, - "output_tag": "channel_open", - "output_value_msat": 25000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] + "start": 1, + "end": 2 + }, + { + "start": 6, + "end": 6 } ] }, { - "txs": [ - { - "txid": "952c7cd4ea63a219d681f988c0cd270c0f19569f64ef8127763b7479306967cd", - "blockheight": 103, - "fees_paid_msat": 4927000, - "outputs": [ - { - "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", - "outnum": 0, - "output_tag": "channel_open", - "output_value_msat": 1000000000, - "credit_msat": 1000000000, - "currency": "bcrt", - "spend_tag": "channel_close", - "spending_txid": "d02e081866b69e0c550b201cf6c35130b6a1330367e94fdcfa117faff8a4708f", - "debit_msat": 1000000000 - } - ] - }, - { - "txid": "d02e081866b69e0c550b201cf6c35130b6a1330367e94fdcfa117faff8a4708f", - "blockheight": 104, - "fees_paid_msat": 9860000, - "outputs": [ - { - "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", - "outnum": 0, - "output_tag": "htlc_timeout", - "output_value_msat": 100000000, - "credit_msat": 100000000, - "currency": "bcrt", - "spend_tag": "to_wallet", - "spending_txid": "fd15cab890704617a32dfae4de1e08e27727484a12c72d27403c4ead29895d03", - "debit_msat": 100000000 - }, - { - "account": "wallet", - "outnum": 1, - "output_tag": "deposit", - "output_value_msat": 890140000, - "credit_msat": 890140000, - "currency": "bcrt", - "originating_account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95" - } - ] - }, + "blacklist": [ { - "txid": "fd15cab890704617a32dfae4de1e08e27727484a12c72d27403c4ead29895d03", - "blockheight": 114, - "fees_paid_msat": 8160000, - "outputs": [ - { - "account": "wallet", - "outnum": 0, - "output_tag": "deposit", - "output_value_msat": 91840000, - "credit_msat": 91840000, - "currency": "bcrt" - } - ] + "start": 1, + "end": 6 } ] }, { - "txs": [ - { - "txid": "3f694e5e96056f78d4a208b627b2bd4dc80b18cac0c43fccdbab05f778f2fbd9", - "blockheight": 103, - "fees_paid_msat": 4927000, - "outputs": [ - { - "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", - "outnum": 0, - "output_tag": "channel_open", - "output_value_msat": 1000000000, - "credit_msat": 1000000000, - "currency": "bcrt", - "spend_tag": "channel_close", - "spending_txid": "6468fe2adb51726eb18a9dbc9f240ee883d13e7f5cfef16bda89bcf5505fd5ff", - "debit_msat": 1000000000 - } - ] - }, + "blacklist": [ { - "txid": "6468fe2adb51726eb18a9dbc9f240ee883d13e7f5cfef16bda89bcf5505fd5ff", - "blockheight": 104, - "fees_paid_msat": 5526000, - "outputs": [ - { - "account": "external", - "outnum": 0, - "output_tag": "anchor", - "output_value_msat": 330000, - "credit_msat": 330000, - "currency": "bcrt", - "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" - }, - { - "account": "wallet", - "outnum": 1, - "output_tag": "anchor", - "output_value_msat": 330000, - "credit_msat": 330000, - "currency": "bcrt", - "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" - }, - { - "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", - "outnum": 2, - "output_tag": "htlc_timeout", - "output_value_msat": 100000000, - "credit_msat": 100000000, - "currency": "bcrt", - "spend_tag": "to_wallet", - "spending_txid": "e81cb3522dfdf2ce0a00c28bf92fa7d10926106d2fdc8a10254a422b10fb4a5e", - "debit_msat": 100000000 - }, - { - "account": "wallet", - "outnum": 3, - "output_tag": "deposit", - "output_value_msat": 894474000, - "credit_msat": 894474000, - "currency": "bcrt", - "originating_account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f" - } - ] + "start": 1, + "end": 6 }, { - "txid": "e81cb3522dfdf2ce0a00c28bf92fa7d10926106d2fdc8a10254a422b10fb4a5e", - "blockheight": 114, - "fees_paid_msat": 8205000, - "outputs": [ - { - "account": "wallet", - "outnum": 0, - "output_tag": "deposit", - "output_value_msat": 91795000, - "credit_msat": 91795000, - "currency": "bcrt" - } - ] + "start": 9, + "end": 9 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", - "fees_paid_msat": 0, - "outputs": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "outnum": 0, - "output_tag": "channel_proposed", - "output_value_msat": 970073000, - "credit_msat": 970073000, - "currency": "bcrt" - } - ] + "start": 0, + "end": 6 + }, + { + "start": 9, + "end": 9 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", - "fees_paid_msat": 0, - "outputs": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "outnum": 0, - "output_tag": "channel_proposed", - "output_value_msat": 970073000, - "credit_msat": 0, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ - { - "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", - "blockheight": 103, - "fees_paid_msat": 4927000, - "outputs": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "outnum": 0, - "output_tag": "channel_open", - "output_value_msat": 970073000, - "credit_msat": 970073000, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ - { - "txid": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8", - "blockheight": 103, - "fees_paid_msat": 0, - "outputs": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "outnum": 0, - "output_tag": "channel_open", - "output_value_msat": 970073000, - "credit_msat": 0, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ - { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 2510000, - "outputs": [ - { - "account": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "outnum": 5, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ - { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 3345000, - "outputs": [ - { - "account": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "outnum": 5, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ - { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 2510000, - "outputs": [ - { - "account": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", - "outnum": 2, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ + "start": 0, + "end": 6 + }, { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 3345000, - "outputs": [ - { - "account": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", - "outnum": 2, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] + "start": 9, + "end": 9 } ] }, { - "txs": [ + "blacklist": [ { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 2510000, - "outputs": [ - { - "account": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", - "outnum": 4, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] - } - ] - }, - { - "txs": [ + "start": 0, + "end": 6 + }, { - "txid": "e3057446fc16fdaa1cefd3655a841a96ac28d8536d189ecb0004d24f9e272dc5", - "blockheight": 106, - "fees_paid_msat": 3345000, - "outputs": [ - { - "account": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", - "outnum": 4, - "output_tag": "channel_open", - "output_value_msat": 50000000, - "credit_msat": 25000000, - "currency": "bcrt" - } - ] + "start": 9, + "end": 9 } ] } ], "author": [ - "Lisa Neigut <> is mainly responsible." + "Shahana Farooqui <> is mainly responsible." ], "see_also": [ - "lightning-listbalances(7)", - "lightning-listfunds(7)", - "lightning-listpeers(7)" + "lightning-commando-blacklist(7)", + "lightning-showrunes(7)" ], "resources": [ "Main web site: " ] }, - "lightning-bkpr-listaccountevents.json": { + "lightning-check.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "bkpr-listaccountevents", - "title": "Command for listing recorded bookkeeping events", + "rpc": "check", + "title": "Command for verifying parameters", "description": [ - "The **bkpr-listaccountevents** RPC command is a list of all bookkeeping events that have been recorded for this node.", + "The **check** RPC command verifies another command without actually making any changes.", "", - "If the optional parameter **account** is set, we only emit events for the specified account, if exists.", + "This is guaranteed to be safe, and will do all checks up to the point where something in the system would need to be altered (such as checking that channels are in the right state, peers connected, etc).", "", - "Note that the type **onchain_fees** that are emitted are of opposite credit/debit than as they appear in **listincome**, as **listincome** shows all events from the perspective of the node, whereas **listaccountevents** just dumps the event data as we've got it. Onchain fees are updated/recorded as we get more information about input and output spends -- the total onchain fees that were recorded for a transaction for an account can be found by summing all onchain fee events and taking the difference between the **credit_msat** and **debit_msat** for these events. We do this so that successive calls to **listaccountevents** always produce the same list of events -- no previously emitted event will be subsequently updated, rather we add a new event to the list." + "It does not guarantee successful execution of the command in all cases. For example, a call to lightning-getroute(7) may still fail to find a route even if checking the parameters succeeds." ], "request": { - "required": [], + "required": [ + "command_to_check" + ], "properties": { - "account": { + "command_to_check": { "type": "string", "description": [ - "Receive events for the specified account." + "Name of the relevant command." ] } } }, "response": { - "required": [ - "events" - ], "properties": { - "events": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "account", - "type", - "tag", - "credit_msat", - "debit_msat", - "currency", - "timestamp" - ], - "properties": { - "account": { - "type": "string", - "description": [ - "The account name. If the account is a channel, the channel_id." - ] - }, - "type": { - "type": "string", - "enum": [ - "onchain_fee", - "chain", - "channel" - ], - "description": [ - "Coin movement type." - ] - }, - "tag": { - "type": "string", - "description": [ - "Description of movement." - ] - }, - "credit_msat": { - "type": "msat", - "description": [ - "Amount credited." - ] - }, - "debit_msat": { - "type": "msat", - "description": [ - "Amount debited." - ] - }, - "currency": { - "type": "string", - "description": [ - "Human-readable bech32 part for this coin type." - ] - }, - "timestamp": { - "type": "u32", - "description": [ - "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "chain" - ] - } - } - }, - "then": { - "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "outpoint": { - "type": "string", - "description": [ - "The txid:outnum for this event." - ] - }, - "blockheight": { - "type": "u32", - "description": [ - "For chain events, blockheight this occured at." - ] - }, - "origin": { - "type": "string", - "description": [ - "The account this movement originated from." - ] - }, - "payment_id": { - "type": "hex", - "description": [ - "Lightning payment identifier. For an htlc, this will be the preimage." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction that created this event." - ] - }, - "description": { - "type": "string", - "description": [ - "The description of this event." - ] - } - }, - "required": [ - "outpoint", - "blockheight" - ], - "additionalProperties": false - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "onchain_fee" - ] - } - } - }, - "then": { - "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "description": {}, - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction that created this event." - ] - } - }, - "required": [ - "txid" - ], - "additionalProperties": false - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "channel" - ] - } - } - }, - "then": { - "properties": { - "account": {}, - "type": {}, - "tag": {}, - "credit_msat": {}, - "debit_msat": {}, - "currency": {}, - "timestamp": {}, - "description": {}, - "fees_msat": { - "type": "msat", - "description": [ - "Amount paid in fees." - ] - }, - "is_rebalance": { - "type": "boolean", - "description": [ - "Is this payment part of a rebalance." - ] - }, - "payment_id": { - "type": "hex", - "description": [ - "Lightning payment identifier. For an htlc, this will be the preimage." - ] - }, - "part_id": { - "type": "u32", - "description": [ - "Counter for multi-part payments." - ] - } - }, - "additionalProperties": false - } - } - ] - } + "command_to_check": { + "type": "string", + "description": [ + "The *command_to_check* argument." + ] } - } + }, + "required": [ + "command_to_check" + ] }, "example_json_request": [ { - "id": "example:bkpr-listaccountevents#1", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#1", + "method": "check", + "params": { + "command_to_check": "helloworld" + } }, { - "id": "example:bkpr-listaccountevents#2", - "method": "bkpr-listaccountevents", - "params": [ - "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab" - ] + "id": "example:check#2", + "method": "check", + "params": { + "command_to_check": "sendpay", + "route": [ + { + "amount_msat": 1011, + "msatoshi": 1011, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 20, + "channel": "1x1x1" + }, + { + "amount_msat": 1000, + "msatoshi": 1000, + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "delay": 10, + "channel": "2x2x2" + } + ], + "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000" + } }, { - "id": "example:bkpr-listaccountevents#3", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#3", + "method": "check", + "params": { + "command_to_check": "helloworld" + } }, { - "id": "example:bkpr-listaccountevents#4", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#4", + "method": "check", + "params": { + "command_to_check": "help" + } }, { - "id": "example:bkpr-listaccountevents#5", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#5", + "method": "check", + "params": { + "command_to_check": "help", + "command": "check" + } }, { - "id": "example:bkpr-listaccountevents#6", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#6", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "crash" + } }, { - "id": "example:bkpr-listaccountevents#7", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#7", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "slowcmd", + "msec": 1000 + } }, { - "id": "example:bkpr-listaccountevents#8", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#8", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "rhash", + "secret": "0000000000000000000000000000000000000000000000000000000000000000" + } }, { - "id": "example:bkpr-listaccountevents#9", - "method": "bkpr-listaccountevents", - "params": "{}" - }, + "id": "example:check#9", + "method": "check", + "params": { + "command_to_check": "help" + } + }, { - "id": "example:bkpr-listaccountevents#10", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#10", + "method": "check", + "params": { + "command_to_check": "help", + "command": "check" + } }, { - "id": "example:bkpr-listaccountevents#11", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#11", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "crash" + } }, { - "id": "example:bkpr-listaccountevents#12", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#12", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "slowcmd", + "msec": 1000 + } }, { - "id": "example:bkpr-listaccountevents#13", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#13", + "method": "check", + "params": { + "command_to_check": "dev", + "subcommand": "rhash", + "secret": "0000000000000000000000000000000000000000000000000000000000000000" + } }, { - "id": "example:bkpr-listaccountevents#14", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#14", + "method": "check", + "params": { + "command_to_check": "recover", + "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" + } }, { - "id": "example:bkpr-listaccountevents#15", - "method": "bkpr-listaccountevents", - "params": "{}" + "id": "example:check#15", + "method": "check", + "params": { + "command_to_check": "recover", + "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" + } + } + ], + "example_json_response": [ + { + "command_to_check": "helloworld" }, { - "id": "example:bkpr-listaccountevents#16", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "sendpay" }, { - "id": "example:bkpr-listaccountevents#17", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "helloworld" }, { - "id": "example:bkpr-listaccountevents#18", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "help" }, { - "id": "example:bkpr-listaccountevents#19", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "help" }, { - "id": "example:bkpr-listaccountevents#20", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "dev" }, { - "id": "example:bkpr-listaccountevents#21", - "method": "bkpr-listaccountevents", - "params": "{}" + "command_to_check": "dev" }, { - "id": "example:bkpr-listaccountevents#22", - "method": "bkpr-listaccountevents", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] + "command_to_check": "dev" }, { - "id": "example:bkpr-listaccountevents#23", - "method": "bkpr-listaccountevents", - "params": [ - "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295" - ] - } - ], - "example_json_response": [ + "command_to_check": "help" + }, { - "events": [ - { - "account": "wallet", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706152911, - "is_rebalance": false - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7e202b3b1016e8eb6f4e936215ed6b5bdc63c17e6ebb5e6bce2f98e6757ba44c:0", - "timestamp": 1706152914, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 2000000000, - "currency": "bcrt", - "outpoint": "7e202b3b1016e8eb6f4e936215ed6b5bdc63c17e6ebb5e6bce2f98e6757ba44c:0", - "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", - "timestamp": 1706152921, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 995073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:1", - "timestamp": 1706152921, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 1004927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706152921, - "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 1004927000, - "currency": "bcrt", - "timestamp": 1706152921, - "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "chain", - "tag": "channel_open", - "credit_msat": 1000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:0", - "timestamp": 1706152922, - "blockheight": 103 - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706152922, - "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b" - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "payment_id": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "part_id": 0, - "timestamp": 1706152934, - "description": [ - "XEoCR94SIz6UIRUEkxum." - ], - "is_rebalance": false - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "chain", - "tag": "channel_close", - "credit_msat": 0, - "debit_msat": 989000000, - "currency": "bcrt", - "outpoint": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b:0", - "txid": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998", - "timestamp": 1706152938, - "blockheight": 104 - }, - { - "account": "external", - "origin": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "chain", - "tag": "to_them", - "credit_msat": 10899000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:0", - "timestamp": 1706152938, - "blockheight": 104 - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 7967000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706152938, - "txid": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998" - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 980912000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11:0", - "timestamp": 1706152941, - "blockheight": 109 - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "chain", - "tag": "delayed_to_us", - "credit_msat": 981033000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:1", - "timestamp": 1706152941, - "blockheight": 104 - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "chain", - "tag": "to_wallet", - "credit_msat": 0, - "debit_msat": 981033000, - "currency": "bcrt", - "outpoint": "7178638c13a0573f440d9516a23901874b6138338d378b3291cb306c90b3f998:1", - "txid": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11", - "timestamp": 1706152941, - "blockheight": 109 - }, - { - "account": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 121000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706152941, - "txid": "85477738281c1afd652c350025f1d28658fe541c83adc9a7d5276c30cf715a11" - } - ] + "command_to_check": "help" }, { - "events": [ - { - "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", - "type": "chain", - "tag": "channel_proposed", - "credit_msat": 996363000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "abb283035e569c190696d42a1208bb38ddc64b6377e88f2d6277c01eab7b0af3:0", - "timestamp": 1706246949, - "blockheight": 0 - }, - { - "account": "f30a7bab1ec077622d8fe877634bc6dd38bb08122ad49606199c565e0383b2ab", - "type": "channel", - "tag": "pushed", - "credit_msat": 0, - "debit_msat": 20000000, - "currency": "bcrt", - "timestamp": 1706246949, - "is_rebalance": false - } - ] + "command_to_check": "dev" }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "4a0650f97d52cafa82b4e1d43b2b2e60c33e148208a34d4d1840288dc4d85264:1", - "timestamp": 1708624136, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 2000000000, - "currency": "bcrt", - "outpoint": "4a0650f97d52cafa82b4e1d43b2b2e60c33e148208a34d4d1840288dc4d85264:1", - "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "timestamp": 1708624137, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 995073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:1", - "timestamp": 1708624137, - "blockheight": 103 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "channel_open", - "credit_msat": 1000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", - "timestamp": 1708624137, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 1004927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624137, - "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 1004927000, - "currency": "bcrt", - "timestamp": 1708624137, - "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624137, - "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de" - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "payment_id": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "part_id": 0, - "timestamp": 1708624138, - "description": "W7PjXOrD1V9QzqlXde6S", - "is_rebalance": false - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "channel_close", - "credit_msat": 0, - "debit_msat": 989000000, - "currency": "bcrt", - "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", - "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "external", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:0", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:1", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "external", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "to_them", - "credit_msat": 10899000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:2", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4880000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624140, - "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445" - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 983999000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc:0", - "timestamp": 1708624142, - "blockheight": 109 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "delayed_to_us", - "credit_msat": 984120000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", - "timestamp": 1708624142, - "blockheight": 104 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "to_wallet", - "credit_msat": 0, - "debit_msat": 984120000, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", - "txid": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc", - "timestamp": 1708624142, - "blockheight": 109 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 121000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624142, - "txid": "1d011fa5777e86804051263d2574fadc6e649eab046e162675eb6f14cb8c1abc" - } - ] + "command_to_check": "dev" }, { - "events": [ - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "channel_open", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", - "timestamp": 1708624137, - "blockheight": 103 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "channel", - "tag": "invoice", - "credit_msat": 11000000, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "part_id": 0, - "timestamp": 1708624138, - "description": "W7PjXOrD1V9QzqlXde6S", - "is_rebalance": false - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "channel_close", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "outpoint": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de:0", - "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:0", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "external", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:1", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "deposit", - "credit_msat": 10899000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:2", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "external", - "origin": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "chain", - "tag": "to_them", - "credit_msat": 984120000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445:3", - "timestamp": 1708624140, - "blockheight": 104 - }, - { - "account": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 101000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624140, - "txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445" - } - ] + "command_to_check": "dev" }, { - "events": [ - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "channel_open", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", - "timestamp": 1708624149, - "blockheight": 103 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 111, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "part_id": 0, - "timestamp": 1708624152, - "description": "npVAv3iWbQBCHjsDK1YS", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 222, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "part_id": 0, - "timestamp": 1708624153, - "description": "gjXz22eJleM5SNBasEOV", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 4000000, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "part_id": 0, - "timestamp": 1708624155, - "description": "WZcOtfF564NiUQ5vlwRU", - "is_rebalance": false - } - ] + "command_to_check": "recover" }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "1290b57de4f0e020be9705fd223b2cf8a544dec25f378de25b7ff8fa31815df8:1", - "timestamp": 1708624147, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 2000000000, - "currency": "bcrt", - "outpoint": "1290b57de4f0e020be9705fd223b2cf8a544dec25f378de25b7ff8fa31815df8:1", - "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "timestamp": 1708624149, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 995073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:1", - "timestamp": 1708624149, - "blockheight": 103 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "channel_open", - "credit_msat": 1000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", - "timestamp": 1708624149, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 1004927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624149, - "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 1004927000, - "currency": "bcrt", - "timestamp": 1708624149, - "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624149, - "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61" - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 111, - "currency": "bcrt", - "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "part_id": 0, - "timestamp": 1708624152, - "description": "npVAv3iWbQBCHjsDK1YS", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 222, - "currency": "bcrt", - "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "part_id": 0, - "timestamp": 1708624153, - "description": "gjXz22eJleM5SNBasEOV", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 4000000, - "currency": "bcrt", - "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "part_id": 0, - "timestamp": 1708624155, - "description": "WZcOtfF564NiUQ5vlwRU", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "channel_close", - "credit_msat": 0, - "debit_msat": 995999667, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", - "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", - "timestamp": 1708624157, - "blockheight": 104 - }, - { - "account": "external", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:0", - "timestamp": 1708624157, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:1", - "timestamp": 1708624157, - "blockheight": 104 - }, - { - "account": "external", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "to_them", - "credit_msat": 4000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:2", - "timestamp": 1708624157, - "blockheight": 104 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4880667, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624157, - "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1" - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 990998000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3:0", - "timestamp": 1708624159, - "blockheight": 109 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "delayed_to_us", - "credit_msat": 991119000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", - "timestamp": 1708624159, - "blockheight": 104 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "to_wallet", - "credit_msat": 0, - "debit_msat": 991119000, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", - "txid": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3", - "timestamp": 1708624159, - "blockheight": 109 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 121000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624159, - "txid": "e304980ba19dd435c4ab7bb8b34900bfcdf91e9ae9988d53e033bc483929dad3" - } - ] + "command_to_check": "recover" + } + ], + "author": [ + "Mark Beckwith <> and Rusty Russell <> are mainly responsible." + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-checkmessage.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "checkmessage", + "title": "Command to check if a signature is from a node", + "description": [ + "The **checkmessage** RPC command is the counterpart to **signmessage**: given a node id (*pubkey*), signature (*zbase*) and a *message*, it verifies that the signature was generated by that node for that message (more technically: by someone who knows that node's secret).", + "", + "As a special case, if *pubkey* is not specified, we will try every known node key (as per *listnodes*), and verification succeeds if it matches for any one of them. Note: this is implemented far more efficiently than trying each one, so performance is not a concern." + ], + "request": { + "required": [ + "message", + "zbase" + ], + "properties": { + "message": { + "type": "string", + "description": [ + "Message to be checked against the signature." + ] + }, + "zbase": { + "type": "string", + "description": [ + "The Zbase32 encoded signature to verify." + ] + }, + "pubkey": { + "type": "pubkey", + "description": [ + "The Zbase32 encoded signature to verify." + ] + } + } + }, + "response": { + "required": [ + "verified", + "pubkey" + ], + "properties": { + "verified": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether the signature was valid." + ] + }, + "pubkey": { + "type": "pubkey", + "description": [ + "The *pubkey* parameter, or the pubkey found by looking for known nodes." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:checkmessage#1", + "method": "checkmessage", + "params": { + "message": "testcase to check new rpc error", + "zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx", + "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7" + } }, { - "events": [ - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "channel_open", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", - "timestamp": 1708624149, - "blockheight": 103 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 111, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "part_id": 0, - "timestamp": 1708624152, - "description": "npVAv3iWbQBCHjsDK1YS", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 222, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "part_id": 0, - "timestamp": 1708624153, - "description": "gjXz22eJleM5SNBasEOV", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "channel", - "tag": "invoice", - "credit_msat": 4000000, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "part_id": 0, - "timestamp": 1708624155, - "description": "WZcOtfF564NiUQ5vlwRU", - "is_rebalance": false - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "channel_close", - "credit_msat": 0, - "debit_msat": 4000333, - "currency": "bcrt", - "outpoint": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61:0", - "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", - "timestamp": 1708624158, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:0", - "timestamp": 1708624158, - "blockheight": 104 - }, - { - "account": "external", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "anchor", - "credit_msat": 330000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:1", - "timestamp": 1708624158, - "blockheight": 104 - }, - { - "account": "wallet", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "deposit", - "credit_msat": 4000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:2", - "timestamp": 1708624158, - "blockheight": 104 - }, - { - "account": "external", - "origin": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "chain", - "tag": "to_them", - "credit_msat": 991119000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1:3", - "timestamp": 1708624158, - "blockheight": 104 - }, - { - "account": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 333, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624158, - "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1" - } - ] + "id": "example:checkmessage#2", + "method": "checkmessage", + "params": { + "message": "this is a test!", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1", - "timestamp": 1708624165, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1", - "timestamp": 1708624165, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0", - "timestamp": 1708624166, - "blockheight": 0 - } - ] + "id": "example:checkmessage#3", + "method": "checkmessage", + "params": { + "message": "this is a test!modified", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1", - "timestamp": 1708624165, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1", - "timestamp": 1708624165, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0", - "timestamp": 1708624166, - "blockheight": 0 - } - ] + "id": "example:checkmessage#4", + "method": "checkmessage", + "params": { + "message": "this is a test!", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": null + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1", - "timestamp": 1708624173, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0", - "timestamp": 1708624173, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542:0", - "timestamp": 1708624174, - "blockheight": 0 - } - ] + "id": "example:checkmessage#5", + "method": "checkmessage", + "params": { + "message": "is this compatible?", + "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1", - "timestamp": 1708624175, - "blockheight": 102 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0", - "timestamp": 1708624175, - "blockheight": 102 - } - ] + "id": "example:checkmessage#6", + "method": "checkmessage", + "params": { + "message": "is this compatible?modified", + "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", - "timestamp": 1708624181, - "blockheight": 102 - } - ] + "id": "example:checkmessage#7", + "method": "checkmessage", + "params": { + "message": "hi", + "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", - "timestamp": 1708624181, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", - "timestamp": 1708624182, - "blockheight": 0 - } - ] + "id": "example:checkmessage#8", + "method": "checkmessage", + "params": { + "message": "himodified", + "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", - "timestamp": 1708624181, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", - "timestamp": 1708624182, - "blockheight": 0 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0", - "timestamp": 1708624182, - "blockheight": 0 - } - ] + "id": "example:checkmessage#9", + "method": "checkmessage", + "params": { + "message": "hi", + "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", - "timestamp": 1708624181, - "blockheight": 102 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5:0", - "timestamp": 1708624182, - "blockheight": 0 - }, - { - "account": "external", - "origin": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 555555000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0", - "timestamp": 1708624182, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 1111111000, - "currency": "bcrt", - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1", - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71", - "timestamp": 1708624183, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 554947000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:1", - "timestamp": 1708624183, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 555556000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 554947000, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - } - ] + "id": "example:checkmessage#10", + "method": "checkmessage", + "params": { + "message": "himodified", + "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + } }, { - "events": [ - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "chain", - "tag": "channel_open", - "credit_msat": 10000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:0", - "timestamp": 1708624189, - "blockheight": 0 - }, - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624189, - "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" - }, - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "channel", - "tag": "pushed", - "credit_msat": 0, - "debit_msat": 1000000000, - "currency": "bcrt", - "timestamp": 1708624190, - "is_rebalance": false - }, - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "timestamp": 1708624190, - "is_rebalance": false - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 200000000000, - "currency": "bcrt", - "outpoint": "69f45da65e9d507ff450469beee6e645957f93929d06b50b6d7c7c95e9a0cf41:1", - "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301", - "timestamp": 1708624191, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 189995073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:1", - "timestamp": 1708624191, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 200000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624191, - "is_rebalance": false - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 10004927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624191, - "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 10004927000, - "currency": "bcrt", - "timestamp": 1708624191, - "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301" - } - ] + "id": "example:checkmessage#11", + "method": "checkmessage", + "params": { + "message": "message for you", + "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga", + "pubkey": null + } }, { - "events": [ - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "chain", - "tag": "channel_open", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301:0", - "timestamp": 1708624190, - "blockheight": 0 - }, - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "channel", - "tag": "pushed", - "credit_msat": 1000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624191, - "is_rebalance": false - }, - { - "account": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 11000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624191, - "is_rebalance": false - } - ] + "id": "example:checkmessage#12", + "method": "checkmessage", + "params": { + "message": "this is a test!", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "events": [ - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "type": "chain", - "tag": "channel_open", - "credit_msat": 10000000000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:0", - "timestamp": 1708624208, - "blockheight": 0 - }, - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 4927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624208, - "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" - }, - { - "account": "wallet", - "type": "chain", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 200000000000, - "currency": "bcrt", - "outpoint": "13c731941751f6bd359c9e84b8745ca356dda0445f8db2838fe235fa646d1eb3:0", - "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1", - "timestamp": 1708624210, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 189995073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:1", - "timestamp": 1708624210, - "blockheight": 103 - }, - { - "account": "wallet", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 200000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624210, - "is_rebalance": false - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 10004927000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624210, - "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" - }, - { - "account": "wallet", - "type": "onchain_fee", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 10004927000, - "currency": "bcrt", - "timestamp": 1708624210, - "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1" - }, - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "type": "channel", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "payment_id": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "part_id": 0, - "timestamp": 1708624213, - "description": "sK54KAL3qX01yNt76y0B", - "is_rebalance": false - } - ] + "id": "example:checkmessage#13", + "method": "checkmessage", + "params": { + "message": "this is a test!modified", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "events": [ - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "type": "chain", - "tag": "channel_open", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1:0", - "timestamp": 1708624209, - "blockheight": 0 - }, - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "type": "channel", - "tag": "invoice", - "credit_msat": 11000000, - "debit_msat": 0, - "currency": "bcrt", - "payment_id": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "part_id": 0, - "timestamp": 1708624213, - "description": "sK54KAL3qX01yNt76y0B", - "is_rebalance": false - } - ] + "id": "example:checkmessage#14", + "method": "checkmessage", + "params": { + "message": "this is a test!", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", + "pubkey": null + } }, { - "events": [ - { - "account": "wallet", - "type": "chain", - "tag": "deposit", - "credit_msat": 986105000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11:1", - "timestamp": 1708624230, - "blockheight": 119 - }, - { - "account": "wallet", - "type": "channel", - "tag": "journal_entry", - "credit_msat": 995073000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624233, - "is_rebalance": false - } - ] + "id": "example:checkmessage#15", + "method": "checkmessage", + "params": { + "message": "is this compatible?", + "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" + } }, { - "events": [] + "id": "example:checkmessage#16", + "method": "checkmessage", + "params": { + "message": "is this compatible?modified", + "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" + } }, { - "events": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "type": "chain", - "tag": "channel_proposed", - "credit_msat": 970073000, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8:0", - "timestamp": 1708635431, - "blockheight": 0 - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "type": "channel", - "tag": "pushed", - "credit_msat": 0, - "debit_msat": 20000000, - "currency": "bcrt", - "timestamp": 1708635431, - "is_rebalance": false - } - ] + "id": "example:checkmessage#17", + "method": "checkmessage", + "params": { + "message": "hi", + "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" + } }, { - "events": [ - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "type": "chain", - "tag": "channel_proposed", - "credit_msat": 0, - "debit_msat": 0, - "currency": "bcrt", - "outpoint": "958219374f119c9ba39fe73c2dec50cec632646833ba81f5daa40c7ca7a5bef8:0", - "timestamp": 1708635431, - "blockheight": 0 - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "type": "channel", - "tag": "pushed", - "credit_msat": 20000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708635431, - "is_rebalance": false - } - ] - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-bkpr-listincome(7)", - "lightning-listfunds(7)", - "lightning-bkpr-listbalances(7)", - "lightning-bkpr-channelsapy(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-bkpr-listbalances.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "bkpr-listbalances", - "title": "Command for listing current channel + wallet balances", - "description": [ - "The **bkpr-listbalances** RPC command is a list of all current and historical account balances. An account is either the on-chain *wallet* or a channel balance. Any funds sent to an *external* account will not be accounted for here.", - "", - "Note that any channel that was recorded will be listed. Closed channel balances will be 0msat." - ], - "request": { - "required": [], - "properties": {} - }, - "response": { - "required": [ - "accounts" - ], - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "account", - "balances" - ], - "properties": { - "account": { - "type": "string", - "description": [ - "The account name. If the account is a channel, the channel_id." - ] - }, - "balances": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "balance_msat", - "coin_type" - ], - "properties": { - "balance_msat": { - "type": "msat", - "description": [ - "Current account balance." - ] - }, - "coin_type": { - "type": "string", - "description": [ - "Coin type, same as HRP for bech32." - ] - } - } - } - } - }, - "if": { - "required": [ - "peer_id" - ] - }, - "then": { - "required": [ - "account", - "balances", - "peer_id", - "we_opened", - "account_closed", - "account_resolved" - ], - "additionalProperties": false, - "properties": { - "account": {}, - "balances": {}, - "peer_id": { - "type": "pubkey", - "description": [ - "Node id for the peer this account is with." - ] - }, - "we_opened": { - "type": "boolean", - "description": [ - "Did we initiate this account open (open the channel)." - ] - }, - "account_closed": { - "type": "boolean", - "description": [ - "", - "" - ] - }, - "account_resolved": { - "type": "boolean", - "description": [ - "Has this channel been closed and all outputs resolved?" - ] - }, - "resolved_at_block": { - "type": "u32", - "description": [ - "Blockheight account resolved on chain." - ] - } - } - }, - "else": { - "properties": { - "account": {}, - "balances": {} - }, - "additionalProperties": false - } - } + "id": "example:checkmessage#18", + "method": "checkmessage", + "params": { + "message": "himodified", + "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" } - } - }, - "example_json_request": [ - { - "id": "example:bkpr-listbalances#1", - "method": "bkpr-listbalances", - "params": "{}" }, { - "id": "example:bkpr-listbalances#2", - "method": "bkpr-listbalances", - "params": "{}" + "id": "example:checkmessage#19", + "method": "checkmessage", + "params": { + "message": "hi", + "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + } }, { - "id": "example:bkpr-listbalances#3", - "method": "bkpr-listbalances", - "params": "{}" + "id": "example:checkmessage#20", + "method": "checkmessage", + "params": { + "message": "himodified", + "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + } }, { - "id": "example:bkpr-listbalances#4", - "method": "bkpr-listbalances", - "params": "{}" + "id": "example:checkmessage#21", + "method": "checkmessage", + "params": { + "message": "message for you", + "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga", + "pubkey": null + } }, { - "id": "example:bkpr-listbalances#5", - "method": "bkpr-listbalances", - "params": "{}" + "id": "example:checkmessage#22", + "method": "checkmessage", + "params": { + "message": "testcase to check new rpc error", + "zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx", + "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7" + } + } + ], + "example_json_response": [ + { + "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7", + "verified": true }, { - "id": "example:bkpr-listbalances#6", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true }, { - "id": "example:bkpr-listbalances#7", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02c2da9accd82a68f9f898e2fa7823aaa2e8767ccf442ec1af7e0026da9011f684", + "verified": false }, { - "id": "example:bkpr-listbalances#8", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true }, { - "id": "example:bkpr-listbalances#9", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5", + "verified": true }, { - "id": "example:bkpr-listbalances#10", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "032d04a6d6d84edd62aa8696f0c3a271a48ba680545a84e3c012caa360e5c0be3f", + "verified": false }, { - "id": "example:bkpr-listbalances#11", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b", + "verified": true }, { - "id": "example:bkpr-listbalances#12", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "029fdab1a36739cbbdbcf4c6a0cab13b04ede4c4be2555faa66d8a4947329950a1", + "verified": false }, { - "id": "example:bkpr-listbalances#13", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931", + "verified": true }, { - "id": "example:bkpr-listbalances#14", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0343d19e98cadbc122d5d4a5e1d0492e0f9cd9dfd04c6dc2d8519f111f8418fc5c", + "verified": false }, { - "id": "example:bkpr-listbalances#15", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true }, { - "id": "example:bkpr-listbalances#16", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true }, { - "id": "example:bkpr-listbalances#17", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02c2da9accd82a68f9f898e2fa7823aaa2e8767ccf442ec1af7e0026da9011f684", + "verified": false }, { - "id": "example:bkpr-listbalances#18", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true }, { - "id": "example:bkpr-listbalances#19", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5", + "verified": true }, { - "id": "example:bkpr-listbalances#20", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "032d04a6d6d84edd62aa8696f0c3a271a48ba680545a84e3c012caa360e5c0be3f", + "verified": false }, { - "id": "example:bkpr-listbalances#21", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b", + "verified": true }, { - "id": "example:bkpr-listbalances#22", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "029fdab1a36739cbbdbcf4c6a0cab13b04ede4c4be2555faa66d8a4947329950a1", + "verified": false }, { - "id": "example:bkpr-listbalances#23", - "method": "bkpr-listbalances", - "params": "{}" + "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931", + "verified": true + }, + { + "pubkey": "0343d19e98cadbc122d5d4a5e1d0492e0f9cd9dfd04c6dc2d8519f111f8418fc5c", + "verified": false + }, + { + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "verified": true + }, + { + "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7", + "verified": true } ], - "example_json_response": [ + "errors": [ + "On failure, an error is returned and core lightning exit with the following error code:", + "", + "- -32602: Parameter missed or malformed;", + "- 1301: *pubkey* not found in the graph." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-signmessage(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-checkrune.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "checkrune", + "title": "Command to Validate Rune", + "description": [ + "The **checkrune** RPC command checks the validity/authorization rights of specified rune for the given nodeid, method, and params.", + "", + "If successful, the rune \"usage\" counter (used for ratelimiting) is incremented.", + "", + "See lightning-createrune(7) for the fields in the rune which are checked." + ], + "request": { + "required": [ + "rune" + ], + "properties": { + "rune": { + "type": "string", + "description": [ + "Rune to check for authorization." + ] + }, + "nodeid": { + "type": "string", + "description": [ + "Node id of requesting node *(required until v23.11)*." + ] + }, + "method": { + "type": "string", + "description": [ + "Method for which rune needs to be validated *(required until v23.11)*." + ] + }, + "params": { + "oneOf": [ + { + "type": "array", + "description": [ + "Array of positional parameters." + ] + }, + { + "type": "object", + "description": [ + "Parameters for method." + ] + } + ] + } + } + }, + "response": { + "required": [ + "valid" + ], + "properties": { + "valid": { + "type": "boolean", + "description": [ + "True if the rune is valid." + ] + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- 1501 (RUNE_NOT_AUTHORIZED): rune is not for this node (or perhaps completely invalid)", + "- 1502 (RUNE_NOT_PERMITTED): rune does not allow this usage (includes a detailed reason why)", + "- 1503 (RUNE_BLACKLISTED): rune has been explicitly blacklisted." + ], + "example_json_request": [ { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 2222222000, - "coin_type": "bcrt" - } + "id": "example:checkrune#1", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", + "method": "invoice", + "params": { + "amount_msat": "any", + "label": "lbl", + "description": [ + "@tipjar|jb55@sendsats.lol." ] } - ] + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1475336000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "e549f957116f91c3877679190fb5ecbc6d37133a2d2e384ba34895eb760e24a1", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 450000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "d11c01a009ba8880d0585b90ace1484725f630442d931938981c1bbe51f25087", - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 132, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#2", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "listpeers", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 2222222000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#3", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 2222222000, - "coin_type": "bcrt" - } - ] + "id": "example:checkrune#4", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", + "method": "invoice", + "params": { + "amount_msat": "any", + "label": "lbl", + "description": "@tipjar|jb55@sendsats.lol" } - ] + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1662100000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#5", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "listpeers", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 2222222000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#6", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "listpeers", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1662100000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#7", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 189995073000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 10000000000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#8", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [] - }, - { - "account": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#9", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "_LHs4CFn9a_6hREyEeu2b1yuWHOz6axLxvtwnrgB_J09NiZ0aW1lPDE3MDg2MzE2Mjg=", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1981178000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#10", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "method": "listpeers", + "params": [] + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [] - } - ] + "id": "example:checkrune#11", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1475336000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "3ad19cdb6dff053097987dd26cd77e203a67756ee89aa087d4f86d0a8fcdff33", - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 132, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - }, - { - "account": "f437fe839b32da1adee06bc6abf17683fc2749a465a9dd2264bb632bafa7357f", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 450000000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#12", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", + "method": "getinfo" + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 3457604000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "d0f833d267d6f06fc69bce61febaf0382368f3be6c79af7b3e8964b81b86f4e1", - "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 500000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "3ad19cdb6dff053097987dd26cd77e203a67756ee89aa087d4f86d0a8fcdff33", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": false, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 133, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - }, - { - "account": "acc64c63825415859feabb10a98e27806678345df285693a3a16205b83f81fde", - "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 134, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#13", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", + "method": "getinfo" + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1447105000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "778f4e23d1feaaddc9b0b66d2e0820d9204879179be41b54d0cd268ab05ea4ee", - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 132, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - }, - { - "account": "5222c6bd27ec29b9b01881ffa7e8ad5ddd670934195824f3caa3d23a41b895bd", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 450000000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#14", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==", + "method": "getinfo" + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 3443479000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "becabdc9ba065457c6174b63d62b1fd70bd0d4cc740779764de9ea8aec221b84", - "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 500000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "778f4e23d1feaaddc9b0b66d2e0820d9204879179be41b54d0cd268ab05ea4ee", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": false, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 133, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - }, - { - "account": "2778afed65f06516176def664980c1cc530b5089e7f3b100e54f547e2965a185", - "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 133, - "balances": [ - { - "balance_msat": 1000000000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#15", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1977053000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 114, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#16", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "method": "listinvoices", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [] - }, - { - "account": "cd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c95", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 104, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#17", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 1965537000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 114, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#18", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "method": "listinvoices", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 330000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "d9fbf278f705abdbcc3fc4c0ca180bc84dbdb227b608a2d4786f05965e4e693f", - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "we_opened": false, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 104, - "balances": [ - { - "balance_msat": 0, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#19", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 25000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 1920146000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#20", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "method": "listinvoices", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 25000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 1920146000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#21", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", + "method": "getinfo", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 25000000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": false, - "account_resolved": false, - "balances": [ - { - "balance_msat": 1920146000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#22", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", + "method": "listinvoices", + "params": {} + } }, { - "accounts": [ - { - "account": "wallet", - "balances": [ - { - "balance_msat": 972178000, - "coin_type": "bcrt" - } - ] - }, - { - "account": "f8bea5a77c0ca4daf581ba33686432c6ce50ec2d3ce79fa39b9c114f37198295", - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "we_opened": true, - "account_closed": true, - "account_resolved": true, - "resolved_at_block": 109, - "balances": [ - { - "balance_msat": 970073000, - "coin_type": "bcrt" - } - ] - } - ] + "id": "example:checkrune#23", + "method": "checkrune", + "params": { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "NrM7go6C4qzfRQDkUSv1DtRroJWSKqdjIOuvGS4TLFE9NCZwZXI9MQ==", + "method": "getinfo", + "params": {} + } + } + ], + "example_json_response": [ + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true + }, + { + "valid": true } ], "author": [ - "Lisa Neigut <> is mainly responsible." + "Shahana Farooqui <> is mainly responsible for consolidating logic from commando." ], "see_also": [ - "lightning-bkpr-listincome(7)", - "lightning-listfunds(7)", - "lightning-bkpr-listaccountevents(7)", - "lightning-bkpr-channelsapy(7)", - "lightning-listpeers(7)" + "lightning-createrune(7)", + "lightning-blacklistrune(7)" ], "resources": [ "Main web site: " ] }, - "lightning-bkpr-listincome.json": { + "lightning-close.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "pre-v0.10.1", - "rpc": "bkpr-listincome", - "title": "Command for listing all income impacting events", + "rpc": "close", + "title": "Command for closing channels with direct peers", "description": [ - "The **bkpr-listincome** RPC command is a list of all income impacting events that the bookkeeper plugin has recorded for this node." + "The **close** RPC command attempts to close the channel cooperatively with the peer, or unilaterally after *unilateraltimeout*, and the to-local output will be sent to the address specified in *destination*.", + "", + "The peer needs to be live and connected in order to negotiate a mutual close. The default of unilaterally closing after 48 hours is usually a reasonable indication that you can no longer contact the peer." ], "request": { - "required": [], + "required": [ + "id" + ], "properties": { - "consolidate_fees": { - "type": "boolean", + "id": { + "type": "string", "description": [ - "If true, we emit a single, consolidated event for any onchain-fees for a txid and account. Otherwise, events for every update to the onchain fee calculation for this account and txid will be printed. Note that this means that the events emitted are non-stable, i.e. calling **listincome** twice may result in different onchain fee events being emitted, depending on how much information we've logged for that transaction." - ], - "default": "True" + "Peer id, channel id or short_channel_id. If the given *id* is a peer ID (66 hex digits as a string), then it applies to the active channel of the direct peer corresponding to the given peer ID. If the given *id* is a channel ID (64 hex digits as a string, or the short channel ID *blockheight:txindex:outindex* form), then it applies to that channel." + ] }, - "start_time": { + "unilateraltimeout": { "type": "u32", "description": [ - "UNIX timestamp (in seconds) that filters events after the provided timestamp." + "If it is not zero, the command will unilaterally close the channel when that number of seconds is reached. If *unilateraltimeout* is zero, then the command will wait indefinitely until the peer is online and can negotiate a mutual close." ], - "default": "zero" + "default": "2 days (172800 seconds)" }, - "end_time": { - "type": "u32", + "destination": { + "type": "string", "description": [ - "UNIX timestamp (in seconds) that filters events up to and at the provided timestamp." + "Any Bitcoin bech32 type. If the peer hasn't offered the option_shutdown_anysegwit feature, then taproot addresses (or other v1+ segwit) are not allowed. Tell your friends to upgrade!" ], - "default": "max-int" + "default": "a Core Lightning wallet address" + }, + "fee_negotiation_step": { + "type": "string", + "description": [ + "It controls how closing fee negotiation is performed assuming the peer proposes a fee that is different than our estimate. (Note that modern peers use the quick-close protocol which does not allow negotiation: see *feerange* instead).", + "", + "On every negotiation step we must give up some amount from our proposal towards the peer's proposal. This parameter can be an integer in which case it is interpreted as number of satoshis to step at a time. Or it can be an integer followed by `%` to designate a percentage of the interval to give up. A few examples, assuming the peer proposes a closing fee of 3000 satoshi and our estimate shows it must be 4000:", + " * `10`: our next proposal will be 4000-10=3990.", + " * `10%`: our next proposal will be 4000-(10% of (4000-3000))=3900.", + " * '1': our next proposal will be 3999. This is the most extreme case when we insist on our fee as much as possible.", + " * `100%`: our next proposal will be 3000. This is the most relaxed case when we quickly accept the peer's proposal." + ], + "default": "`50%`" + }, + "wrong_funding": { + "type": "outpoint", + "description": [ + "It can only be specified if both sides have offered the `shutdown_wrong_funding` feature (enabled by the **experimental-shutdown-wrong-funding** option). It must be a transaction id followed by a colon then the output number. Instead of negotiating a shutdown to spend the expected funding transaction, the shutdown transaction will spend this output instead. This is only allowed if this peer opened the channel and the channel is unused: it can rescue openings which have been manually miscreated." + ] + }, + "force_lease_closed": { + "type": "boolean", + "description": [ + "If the channel has funds leased to the peer (option_will_fund), we prevent initiation of a mutual close unless this flag is passed in." + ], + "default": "False" + }, + "feerange": { + "type": "array", + "items": { + "type": "feerate" + }, + "description": [ + "An optional array [ *min*, *max* ], indicating the minimum and maximum feerates to offer: the peer will obey these if it supports the quick-close protocol. *slow* and *unilateral_close* are the defaults. Note that the maximum fee will be capped at the final commitment transaction fee (unless the experimental anchor-outputs option is negotiated)." + ] } } }, "response": { "required": [ - "income_events" + "type" ], "properties": { - "income_events": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "account", - "tag", - "credit_msat", - "debit_msat", - "currency", - "timestamp" - ], - "properties": { - "account": { - "type": "string", - "description": [ - "The account name. If the account is a channel, the channel_id." - ] - }, - "tag": { - "type": "string", - "description": [ - "Type of income event." - ] - }, - "credit_msat": { - "type": "msat", - "description": [ - "Amount earned (income)." - ] - }, - "debit_msat": { - "type": "msat", - "description": [ - "Amount spent (expenses)." - ] - }, - "currency": { - "type": "string", - "description": [ - "Human-readable bech32 part for this coin type." - ] - }, - "timestamp": { - "type": "u32", - "description": [ - "Timestamp this event was recorded by the node. For consolidated events such as onchain_fees, the most recent timestamp." - ] - }, - "description": { + "type": { + "type": "string", + "enum": [ + "mutual", + "unilateral", + "unopened" + ], + "description": [ + "Whether we successfully negotiated a mutual close, closed without them, or discarded not-yet-opened channel." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { "type": "string", - "description": [ - "More information about this event. If a `invoice` type, typically the bolt11/bolt12 description." + "enum": [ + "mutual", + "unilateral" ] - }, - "outpoint": { - "type": "string", + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "tx", + "txid" + ], + "properties": { + "type": {}, + "tx": { + "type": "hex", "description": [ - "The txid:outnum for this event, if applicable." + "The raw bitcoin transaction used to close the channel (if it was open)." ] }, "txid": { "type": "txid", "description": [ - "The txid of the transaction that created this event, if applicable." - ] - }, - "payment_id": { - "type": "hex", - "description": [ - "Lightning payment identifier. For an htlc, this will be the preimage." + "The transaction id of the *tx* field." ] } } + }, + "else": { + "additionalProperties": false, + "properties": { + "type": {} + } } } - } + ], + "post_return_value_notes": [ + "A unilateral close may still occur at any time if the peer did not behave correctly during the close negotiation.", + "", + "Unilateral closes will return your funds after a delay. The delay will vary based on the peer *to_self_delay* setting, not your own setting." + ] }, + "notes": [ + "Prior to 0.7.2, **close** took two parameters: *force* and *timeout*. *timeout* was the number of seconds before *force* took effect (default, 30), and *force* determined whether the result was a unilateral close or an RPC error (default). Even after the timeout, the channel would be closed if the peer reconnected." + ], + "notifications": [ + "Notifications may be returned indicating what is going on, especially if the peer is offline and we are waiting." + ], "example_json_request": [ { - "id": "example:bkpr-listincome#1", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#1", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": 1, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#2", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#2", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#3", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#3", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": 1, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#4", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#4", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#5", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#5", + "method": "close", + "params": { + "id": "103x1x0", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#6", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#6", + "method": "close", + "params": { + "id": "103x1x0", + "unilateraltimeout": 0, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#7", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#7", + "method": "close", + "params": { + "id": "c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f3", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#8", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#8", + "method": "close", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#9", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#9", + "method": "close", + "params": { + "id": "49481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba", + "unilateraltimeout": 0, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#10", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#10", + "method": "close", + "params": { + "id": "ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd8453233", + "unilateraltimeout": 0, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#11", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#11", + "method": "close", + "params": { + "id": "76f6a3e25ef6a7b11be81a7483cc9ffad4131c563cc4563c9a898acb23a5bc04", + "unilateraltimeout": 0, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#12", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#12", + "method": "close", + "params": { + "id": "8cd4b83ed5028ac9c7d69f8348fd809c748c1401a35b5d27f021e59ffe47d484", + "unilateraltimeout": 0, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#13", - "method": "bkpr-listincome", + "id": "example:close#13", + "method": "close", "params": { - "consolidate_fees": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null } }, { - "id": "example:bkpr-listincome#14", - "method": "bkpr-listincome", + "id": "example:close#14", + "method": "close", "params": { - "consolidate_fees": true + "id": "103x1x0", + "unilateraltimeout": null, + "destination": "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg", + "fee_negotiation_step": null, + "force_lease_closed": null, + "feerange": null } }, { - "id": "example:bkpr-listincome#15", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#15", + "method": "close", + "params": { + "id": "105x1x0", + "destination": "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg" + } }, { - "id": "example:bkpr-listincome#16", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#16", + "method": "close", + "params": [ + "107x1x0", + null, + "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg" + ] }, { - "id": "example:bkpr-listincome#17", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#17", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "30%", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#18", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#18", + "method": "close", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "30%", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#19", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#19", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "100%", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#20", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#20", + "method": "close", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "100%", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#21", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#21", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "1", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#22", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#22", + "method": "close", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "1", + "force_lease_closed": null, + "feerange": null + } }, { - "id": "example:bkpr-listincome#23", - "method": "bkpr-listincome", - "params": "{}" + "id": "example:close#23", + "method": "close", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "unilateraltimeout": null, + "destination": null, + "fee_negotiation_step": "700", + "force_lease_closed": null, + "feerange": null + } } ], "example_json_response": [ { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706153060, - "outpoint": "6d813d2e99ae7181b61e59ff224c43de698bd08b8ca5b8034ccc13aa7b6428ef:0" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706153060, - "outpoint": "0bbbe965f76525af3876ae6f1520d91047d4be04cb4e46b7229120a60c5dc9c5:0" - } - ] + "tx": "020000000001018d388ffcd216c92d25163a62096ce47d5c9bbd6270ced51c5a1484f89df33e5700000000009db0e28002a00f00000000000016001445503fa4b65ade3ffdb1a92057688456c9ffae1380130f0000000000220020be82765fdb17fd5568f2dd31c6cf1aabc620ef338995ec5d9a2f3e42f43ae4870400473044022058dcde893655f40fc8162a79596440ef3e304273f8d530401fc17bc92c58159b0220428900ca6537538ba237d569a4a09003d663a991aeb331a9f18dfe807ee78806014730440220111270eeed8b4b1a231d3ce6e0e0daad718623ad159a0fd3781fb18118a8fec70220539826ee7c76cad4116d1d8852329f80314b3434cf21c765d8004186451a4cd50147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae9c3ed620", + "txid": "5d8d917dd7d39fe5a12f121457fc6d712b5e393ed4f16bc8f5976fc08cbbfecd", + "type": "unilateral" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1706241875, - "outpoint": "d02ffd54635ccd8e0b802b0981b8a953e6145de485c920372fe796c097e5b56c:0" - }, - { - "account": "de0cb674f73064f6747be59dc71ab6e82b28036531b377d22afe533a0c1fd4d2", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1706241882, - "txid": "d2d41f0c3a53fe2ad277b3316503282be8b61ac79de57b74f66430f774b60cde" - } - ] + "tx": "020000000001011958c603d30516747e8240ff4a6d79f3daefbc37d258f79ca7dfdeb6a6ba87c70000000000ffffffff02f82a0000000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150f90b0f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022058ecbb798100405310e8af8b7521afab7cda14cb88373d744df1d707ed9ed9f00220374b549d2671249b0e109928b751846449b93e2b188e6bbc8eebe4ccb4668d820147304402206a830a23d4047a14856ec8f82fa8e0accf589433ac0a544ec02a75557b6b815b02207dfe93feb8fc596a286c53590a29c4845fa9338ef2fba22fcdd4347b87ad41a30147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "da05d5c767ba7043efe8064acf8cc6bf51eff1a7c0a2693ebae41ebf0c31493a", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" - } - ] + "tx": "02000000000101617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e3598800000000009db0e280044a010000000000002200200e1a08b3da3bea6a7a77315f95afcd589fe799af46cf9bfb89523172814050e44a01000000000000220020be7935a77ca9ab70a4b8b1906825637767fed3c00824aa90c988983587d68488a00f000000000000220020d809374296af7f826dfaaad71ef187737303d5b500c81ca758a1c7d79b990d1b8f1f0f0000000000220020be82765fdb17fd5568f2dd31c6cf1aabc620ef338995ec5d9a2f3e42f43ae48704004730440220746d16df80d354b9b5b132273fdc5a7cdb3e280b09a48daab7d6ef6b07f7ee9502207657b4ba4ff46a47fc2c881ee973f8bc7670b9c1eaf2a2c01d211987d88303030147304402206665256ae5ccf4120cd546966b2b04b474f9e58d36a9709f928c3045e9e7899b022004efcea0f508e5492a3b99826ccec0ead7f7ba419a10c7b3a6fd8bf7e18ba2780147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae9c3ed620", + "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", + "type": "unilateral" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" - } - ] + "tx": "020000000001016882ff86851a22eb2bbb196a27eeac07872247e14a8540368d51fe67e3fe80110000000000ffffffff02f82a0000000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150f90b0f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402204f16c0f4fcb6f7505cdf1fea73fb1c98eba62fa43650051407f41e2b1d49359002206771572fe99a63539efb97c3be0b0bcd8ec9b65888ce9b5b9c5086f7698ed49b0147304402205fd42d006edcbfb0971579cbdd9743ba2268c6c44b49c16ed03298c9560eb9e50220657d400270c940d7918c33a498d220ea917ac721ff75987cdf7c0d126c2caec90147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624165, - "outpoint": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b:1" - }, - { - "account": "wallet", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 555555000, - "currency": "bcrt", - "timestamp": 1708624166, - "outpoint": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c:0" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4567000, - "currency": "bcrt", - "timestamp": 1708624168, - "txid": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c" - } - ] + "tx": "02000000000101279fcb0bdbfc2cac5229a3f4bd4042d8a778cdd5697f458b3816abfb018f6d750000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022002e3343deb2781a1a3b9add1bacfe7b3f9867b4b9e78dd6f138afb44bd4d7afc022023ed256f8daf62a9c7da2cc9ad1021890cfe2f9572f024f51d82ac2ef99124e001473044022018e93affcda7c6dd66e2a4e0e73cae615014516db0dd22e19aaee794aa97bf8802201439939bcbaeb950187cd3f81c7da9dd4a96b0b4b6267199d7822f0f1e0b9fee0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "6a9b32e97ed4da8ad07e718c7dd6fa1db844f45940dd2e852e6c72d2386e4570", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624173, - "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624173, - "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" - } - ] + "tx": "020000000001018365665800b3ce8a475852c6ee39fd34e45e2367e0d01bf005ad0d2e11ae7f5f0000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200b363fd20ad719f695e9027b8f2bff2b365be0979c4a9a675513f9a07ffb4b1e0220020b97ad38067949ab1364d1bc53b9302cda9b9a0f5d81407c07b468b549cd83014730440220512591d75dee17f863acdad4f0fe4320d98ff2366ea67481520532ce8055899c02202892df7a61681da61f36709cd82b76d17a37b77e0e3f69804b032cb7fa89e3370147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "c05190230b0ef342b4a598c2ae0cf61b97c8b690d93f8b7b3233e571670f1a36", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624175, - "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624175, - "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" - } - ] + "tx": "02000000000101c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f30000000000ffffffff0176390f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe604004730440220799dcfffec39f3ee7a17ce6077dd48d3fd4ce5c943158b468762078207c19f800220373724d632d54949527ccdbcecc6f189bfa120e03c2b9edaf652d8fb2e10988d01473044022066d828683ea64bc2e4ef1f021c9d24a62c2fc307a7eb0cf77e1b4cd571c7547502202ec9b9ca50273e764d92e789a0b2069b8f09e94effb518dcef54a54944a3ee0a0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "e957be87a5b9692a72aa9434435e01f57ffe78314bbcdd1f0cbde6e001b45081", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624175, - "outpoint": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c:1" - }, - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624175, - "outpoint": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d:0" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 560122000, - "currency": "bcrt", - "timestamp": 1708624176, - "txid": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542" - } - ] + "tx": "02000000000101248d81b16f548a13d75706bb428df0ad2bc5b18e99f05041b69c2f7f32f392200000000000ffffffff0176390f00000000002251208a73bb281433f2b5db5461c6778aa2afd28e011de6bd04799a5991662c61d7a8040047304402206e2d0252acb0438ba97268d74d240794737f8fd8533171327f06d0b36b4047bd022075c8c3a5e5c5212e644eb8469c2103104bfefbef8d5c33c38a32b66a180fe29601473044022065ed2dba990ee4001efc3d21c918e93e32573a245f616189e75ef3eab2079ca702207548f509b3ec07520a8981bfad8b4afab4b10c4b196a1f252173e3a4df3ff0cb014752210259b3cb48220dc2016f4d320bb8105cc2c92bd8c79fc25c2ad96f37b496e491c62103bbee60c395056b8a1201e06ed79e2914c11a61d7b1aa781846468d02489dba6952ae00000000", + "txid": "727769f16c466e7a7d11828be92c7ea4e28e5032fac131a6ab11d221b6437ece", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - } - ] + "tx": "0200000000010149481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba0000000000ffffffff02a086010000000000225120c423564d07f77208dc317df1536b3c24e635bb7b11c38a6f9690863ee371c9ff50a50d00000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b50400473044022054e0e99d8dcb5326d7890b1a3aa04ad291788313217f290f843fc5ed6d171877022078cd1a620137e02a88bc0abb6186d42ba38f730f3f7ac763b06c0ebf15b8187601473044022000c95aac7e7c0bdc70134dc658f7a4c309d789679cd7ccee9345dcb32098d9f7022035269e0bedfc427c2bfe82b2f1ce2bfafa61033e2d33cd5b354d9bfa0291d4aa01475221023d284a4e3096ab393fc38db505667fccd65c97d1849f5f79b95c588f8244657f2103c53e215a9f2abe9a264a0b81bdcd9c807520d9d87d55be394a2eedcce1179a0b52ae00000000", + "txid": "78fbdcc111f7b363646464e10e590e3b6aab33ed402967d7cb81fe15097f724a", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - } - ] + "tx": "02000000000101ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd84532330000000000ffffffff01e8300f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe604004730440220485866dd4762ee3b98ef67460d83790619a649f57f35031f9b28fc039f6f306702204e662b476b16e47bf304dce8cc6b35bf7014b5cee6119fec3e9d315821a765ec014730440220628ad1113813442b01eaeb11631638e11773071b1c79f940aa2b6a63871f446702203ef879adb449c75097f93d0d9ee391fade4ea875a9eb9629f1ab4dcc928c28e80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "2edcbbfc09db00801fc2c3a6e262cf741c57819e9874f26d332b8204dee965ab", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - } - ] + "tx": "0200000000010176f6a3e25ef6a7b11be81a7483cc9ffad4131c563cc4563c9a898acb23a5bc040000000000ffffffff01db3d0f0000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5040047304402207a34ed8159d87b4b3ec805c85e31f8dcdb409fe65098851c805f76f92fcb685402200728e12a6bfe067509690ab82a7533df4df71ac355d04e59efeb48523c7b1d4d014730440220560cd5a0084620d9c61ac6c76d521902c5a2ce8a0f27b795f2668c8fa0a287f102205e630986b82bc031b0228e682a965998e321fd8d49a9daf2b7523628cc48a8a0014752210212284c004a3d24146e54b2a24db48f650370a08e1fe9abe8ff41f92b09cd50542102a3032ef980cc735579aa5295d927b9a1bdbafc459f2da14163dc9bd530e0a21152ae00000000", + "txid": "d6706efb44ea361eaca2b2ed28f811c17ca74c7a36422fd1f4632c956f1f2b3c", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - }, - { - "account": "wallet", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 555555000, - "currency": "bcrt", - "timestamp": 1708624182, - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 609000, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - } - ] + "tx": "020000000001018cd4b83ed5028ac9c7d69f8348fd809c748c1401a35b5d27f021e59ffe47d4840000000000ffffffff02a0860100000000002251201729183042d1d4343121bdc66abcea37c4c98f8dfe6baad24cf3dce17599af6df9b50d00000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc0400473044022005f2ff3fb39164652031a002fc2823c1be37a05def9d73faa4a7050f4559235f022043f0c5698e46425cca582a3be251429ed04ea2b1552b76b667866b2a8854226a0147304402205e3e1060a9e92fb92c277de5785f1341f93e0cd182bc39bb711d0b3462d9986602200abfb0b82126fc7ef2cb5e77118f0ed18d3e3249f5c0599148e15c759595434f01475221021246c36ada0f8df6741e0a40c97e71c3bd9420ad2bd7ca555133d1c0266f28ca210378b60dec043bd6dfca2a49d54a5948e6479ab31f5348df7c72edd33bb0dff03852ae00000000", + "txid": "623505672dbabb1d396d329111327da731e5666f10014e39bdfd3d2dbb77b38a", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - }, - { - "account": "wallet", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 555555000, - "currency": "bcrt", - "timestamp": 1708624182, - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 555556000, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 554947000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - } - ] + "tx": "020000000001017f0df0af90f11aa1820ddc0db34db3db8b99382b4bf31d52dcb7c0dd861a8e670000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402201dda19633b237f559ce42b7c64a680d218761d3d8130f4f9f0434ee0d9023cbe02204cab7df62586f11914a3c76c53c0d131fc072b9f32da16883c621c572130602f01473044022061a27d608b5d361ad21257dbeb2f2e93e3770b0de25617f12c58618ae689dc0f02202381d824ae8cc5abd684b0a2fb148057ffee2f86106ac59addfef8b2a0aa14310147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "2540ebfabb1faca6da060b9271acbb9a5af346f2eef4c1aad914f19f61091a1f", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 1111111000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624181, - "outpoint": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943:1" - }, - { - "account": "wallet", - "tag": "withdrawal", - "credit_msat": 0, - "debit_msat": 555555000, - "currency": "bcrt", - "timestamp": 1708624182, - "outpoint": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71:0" - }, - { - "account": "wallet", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 609000, - "currency": "bcrt", - "timestamp": 1708624183, - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71" - } - ] + "tx": "0200000000010132cbce7d5f96b4003c3b5c0eab2a29fef90bb6abb833ff312fa122f31e8301810000000000ffffffff02a0860100000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff8615005b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207e171d056e81cf8ad2d5a613ecbaa212d5dcbd0bf713145d18911d2cbe9d858802206222911660a26d7ffddc2563ae6d41d6ffad9fbd2fc26cf40eab501a31153b9e0147304402204ae7cdc68dc7966eab73f16a1978643336333d54ae0b6f87bc11a2c19174a9710220601e5276aee0825466cc272c4eb7d353b393ef0dd230d303f46772790dee19190147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "4a08e0508e2e39ea033fab5f77b318337f345550421799f6e0eb1b15a892eda4", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624239, - "outpoint": "9a0f04d53ef214307463c00830873448b8d2e5250b6badb10582678c3b13a433:1" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624241, - "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "timestamp": 1708624243, - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" - } - ] + "tx": "020000000001015d2dda3ef483fe4bf895af8a281d29f3b0c38450b9e6f4d5ad25edcc5edb8b650000000000ffffffff02a086010000000000225120c423564d07f77208dc317df1536b3c24e635bb7b11c38a6f9690863ee371c9ff05b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207bca34f36ca4e743a71695b50c99d336a3758f904504ce0c1548c9a8cac34a46022074598d6f18529916bd759c9a6a0f49e9f7744ff3ce25a281391a0fbfaae9edcc0147304402201eb93b7ac7ba7b439c178b4f23ef3cce1c524d5712d11590ce9349955ea6bd7c022060ba55f29dbc0aee82cb294eb123e9c93ecf1ae6aa83ae4466ad11a3771e6dfb01475221023d284a4e3096ab393fc38db505667fccd65c97d1849f5f79b95c588f8244657f2103c53e215a9f2abe9a264a0b81bdcd9c807520d9d87d55be394a2eedcce1179a0b52ae00000000", + "txid": "e6c0aaf10c45a4248e3c7959b3a443570e7df414df7e1bd54121ef3d01381e25", + "type": "mutual" }, { - "income_events": [ - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 11000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624243, - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" - } - ] + "tx": "02000000000101233b513665836d240423f45ffcd1fe19aeb08d62303fa5382ad3285f770683a60000000000ffffffff02a086010000000000225120b47216ab60a0fad97de0ba9b8b370d281dfe55f552d82034e2a8d054c2246e4405b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207a9e3ca258861b33827d91514690a757e76730ba8c15dd222340bb13d993a1a502204d0ae329273b69abe62df1ffccce808d5f1a29101a8ee95dae99888376dbaef801473044022033c03f406db9f1c9d924cfd8f6ea42d0962f0ab02e3217aef518aea517ca5ba40220076e2af9d40c676316a2765a86f9efd481de3fc4465ceba33b0782c505ae3452014752210212284c004a3d24146e54b2a24db48f650370a08e1fe9abe8ff41f92b09cd50542102a3032ef980cc735579aa5295d927b9a1bdbafc459f2da14163dc9bd530e0a21152ae00000000", + "txid": "d44a1374a30c1a936d2d4fdbe73c0ffff42fec8c27c6cbaec2758b3042f61d08", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 2000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624239, - "outpoint": "9a0f04d53ef214307463c00830873448b8d2e5250b6badb10582678c3b13a433:1" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624241, - "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 11000000, - "currency": "bcrt", - "timestamp": 1708624243, - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 100, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624245, - "description": "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d" - } - ] + "tx": "02000000000101b44018dd5df659d94f1712ff14255b6359ceab917fdfa104bf45da4a48fbaca40000000000ffffffff0107f20e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200bd79da73a36d80c1b10434e6ffb1860bdbedc857eb0a0c20271343b18b08d010220296dd701e48d944453e157140bba44a1630e5c4a4f3809b49da01731293d8df201473044022006fab88ed8048178e1b5fb8499422dc6eb972320a92b3e88fa09ef9455460b560220036a7c30d4c9d107589652e62251a6bb9f8374db732d55ec3d2ddd6e1a40e5fc0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "a958da376683ca19f5a79b1b1a79e5662f0732bb3cdfb7604e692192631d8d3c", + "type": "mutual" }, { - "income_events": [ - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 11000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624243, - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c" - }, - { - "account": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "tag": "invoice", - "credit_msat": 0, - "debit_msat": 100, - "currency": "bcrt", - "timestamp": 1708624245, - "description": "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2", - "payment_id": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d" - } - ] + "tx": "02000000000101fc12a1601f489b857bc5db197f8d905a2ff64c26111c37fcc49a442fe34fbce20000000000ffffffff0137f30e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e040047304402205d6f32ea29970bb425b7ef0f053ccbde8aaa920e3ef31f0fe65e02c5d9da523802207822a0dd43ad745b3216f2c94d096338dabafbb0684df10b62b3c07d0ff2689a0147304402207906c5345ebebcbeb3308383ba3495e180ff36fdbe0ff315d9122c42d0cd57e7022047737c1f4e0548aa8e4ad166ce0159448506f2e1bdbc9291866dc0405bcbcfaa01475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", + "txid": "f766c29dac93b18c3939ea3d16bedbcaa17569f06c351f7770a1f44804cc2782", + "type": "mutual" }, { - "income_events": [] + "tx": "02000000000101a86f4c3293eb757d14438bc775b68c45a498d719d1111f9d19df2fb54d9aa6630000000000ffffffff011ff40e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022050199b9b8dffa24b5efae65a78460b6ff4868b029fe9a7bec5a9bfc9380e518d02204812b9ce8298363293cd730fd9b21c4e877ad63de54c05e963ef12137a0c19ca0147304402207bf1fae6d3b9a78f31b896b9a4014d4a2aeaa3a06172ee89aa46d33f279b26e802202e5631acfd9bf794ca37d2d82e0b6f9b61bbd38908b19ad7ca2ab3c6ed1728fa0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "146b34a7f25f49a438856e70dec5cd4f7fb9ac0841b0de75480d0665eae8d4f5", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 11000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624255, - "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624256, - "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" - }, - { - "account": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", - "tag": "invoice", - "credit_msat": 3210, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624263, - "description": "to_self", - "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" - } - ] + "tx": "0200000000010171b3ad08ebd17667d34993d19c68cabbe655813a236d308b2083d6680787946f0000000000ffffffff012df20e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e040047304402202e82c385df47e493146028b0c00ad90fed7a4f393cc5ec421dfa8b8570a77d1f02205c5802fa7cf727f28565b14525c3493575becae4198e8942b617b81bea63b0ae01473044022015625a10b6c274d5e2a7bd53e3cd1ffc8c050f6ab332f6658bb3d79ffc2603a602202a7dd69d7c7f7d6dd4fa98ec5fae06211a44ef1a1cb55b970d697d282c756eb401475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", + "txid": "0d961fc8367509a044733397cffe0c5edb4f5164bebea0aae91d7dc7615ecec9", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 11000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624255, - "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624256, - "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" - }, - { - "account": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", - "tag": "invoice", - "credit_msat": 3210, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624263, - "description": "to_self", - "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" - } - ] + "tx": "0200000000010119a5adbfeea9c7f504775b2c4567ee37aafabaf72213c291f2315731ce4455250000000000ffffffff0143f00e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200f66d15de01885e66b167ac06603882da8b7cab5bea03b4a0b88869e3a0796a302201c480ee3c905c521b152e8a4f70a4864caf2f2b9cfb482519d6914a4a440271d0147304402204f5480fa632dc335e58c63044eb761cfc36aa00898219ded3e288537e7120b200220444d7baa4be773dd6522bca460841293fc1f7b148e6b6e0a6893f8315a4d25d80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "a5efa09e49c58c5dbb7e7a74e87a91e48eb4e17da4b6ccc0b279c239eb930d0a", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 11000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624255, - "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624256, - "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "rebalance_fee", - "credit_msat": 0, - "debit_msat": 1001, - "currency": "bcrt", - "timestamp": 1708624264, - "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" - } - ] + "tx": "020000000001016f65ea587d4a11b1610801d33440424ecc36179668d6299dbbf3b0aa57154e530000000000ffffffff0116f40e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e0400473044022072076ad690b1ab54430d4803c8f316ccae0288e0e335998494f1ded254a82b2f02207d758b6c6b081e23a6e9de3df7671c9b22cfef83e736826db2dece1d7f33d964014730440220585442cbda0cd036b9ea71e2001e884b62982cec4758064c74a9454718484466022072f43b7064c774969c4eadc2f550016d41e253cc3f7917385f22595e16b4db8f01475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", + "txid": "9bfc153b598d1948cfc4003ae6029c5e38af881a37b8c59fbb39d1d2da2f549f", + "type": "mutual" }, { - "income_events": [ - { - "account": "wallet", - "tag": "deposit", - "credit_msat": 11000000000, - "debit_msat": 0, - "currency": "bcrt", - "timestamp": 1708624255, - "outpoint": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39:1" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "onchain_fee", - "credit_msat": 0, - "debit_msat": 4927000, - "currency": "bcrt", - "timestamp": 1708624256, - "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6" - }, - { - "account": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "tag": "rebalance_fee", - "credit_msat": 0, - "debit_msat": 1001, - "currency": "bcrt", - "timestamp": 1708624264, - "payment_id": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c" - } - ] + "tx": "0200000000010145db4f5edcb7104387e0aaa50274350c86440b20038b6cb154908c5811f9f7840000000000ffffffff0189f30e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402205d3864098660fd6d161b8d6760669273f5bbcb36d9111559cb1e03b93893159f0220779847f63a92c37af6bbfcfb27133f518b41e5204bdd93b0490badb8977b6c5c014730440220420e9fb98df52f14ec01b9d00e08244c4e60e49711b0302f2267bf7e9c11f235022005fdb7a0193db59da0b7f566de906cfbaef294753c42836affffe7ebef9491e60147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", + "txid": "81b60f6fe685b0907301346ffd13f73e0d5c6a68e3e76240d24a98d42e634e52", + "type": "mutual" } ], "author": [ - "Lisa Neigut <> is mainly responsible." + "ZmnSCPxj <> is mainly responsible." ], "see_also": [ - "lightning-bkpr-listaccountevents(7)", - "lightning-listfunds(7)", - "lightning-bkpr-listbalances(7)" + "lightning-disconnect(7)", + "lightning-fundchannel(7)", + "lightningd-config(5)" ], "resources": [ "Main web site: " ] }, - "lightning-blacklistrune.json": { + "lightning-commando-blacklist.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "blacklistrune", + "added": "v23.05", + "deprecated": [ + "v23.08", + "v24.08" + ], + "rpc": "commando-blacklist", "title": "Command to prevent a rune from working", "description": [ - "The **blacklistrune** RPC command allows you to effectively revoke the rune you have created (and any runes derived from that rune with additional restictions). Attempting to use these runes will be resulted in a `Blacklisted rune` error message.", - "", - "Destroy a rune like in olden times with the **destroyrune** command.", + "The **commando-blacklist** RPC command allows you to effectively revoke the rune you have created (and any runes derived from that rune with additional restictions). Attempting to use these runes will be resulted in a `Blacklisted rune` error message.", "", - "All runes created by lightning have a unique sequential id within them and can be blacklisted in ranges for efficiency. The command always returns the blacklisted ranges on success. If no parameters are specified, no changes have been made. If start specified without end, that single rune is blacklisted. If end is also specified, every rune from start till end inclusive is blacklisted." + "All runes created by commando have a unique sequential id within them and can be blacklisted in ranges for efficiency. The command always returns the blacklisted ranges on success. If no parameters are specified, no changes have been made. If start specified without end, that single rune is blacklisted. If end is also specified, every rune from start till end inclusive is blacklisted." ], "request": { "required": [], @@ -14238,70 +9156,65 @@ }, "example_json_request": [ { - "id": "example:blacklistrune#1", - "method": "blacklistrune", + "id": "example:commando-blacklist#1", + "method": "commando-blacklist", "params": { "start": 1 } }, { - "id": "example:blacklistrune#2", - "method": "blacklistrune", + "id": "example:commando-blacklist#2", + "method": "commando-blacklist", "params": { "start": 2 } }, { - "id": "example:blacklistrune#3", - "method": "blacklistrune", + "id": "example:commando-blacklist#3", + "method": "commando-blacklist", "params": { "start": 1 } }, { - "id": "example:blacklistrune#4", - "method": "blacklistrune", + "id": "example:commando-blacklist#4", + "method": "commando-blacklist", "params": { "start": 2 } }, { - "id": "example:blacklistrune#5", - "method": "blacklistrune", + "id": "example:commando-blacklist#5", + "method": "commando-blacklist", "params": { "start": 6 } }, { - "id": "example:blacklistrune#6", - "method": "blacklistrune", + "id": "example:commando-blacklist#6", + "method": "commando-blacklist", "params": { "start": 3, "end": 5 } }, { - "id": "example:blacklistrune#7", - "method": "blacklistrune", + "id": "example:commando-blacklist#7", + "method": "commando-blacklist", "params": { "start": 9 } }, { - "id": "example:blacklistrune#8", - "method": "blacklistrune", + "id": "example:commando-blacklist#8", + "method": "commando-blacklist", "params": { "start": 0 } }, { - "id": "example:blacklistrune#9", - "method": "blacklistrune", - "params": "{}" - }, - { - "id": "example:blacklistrune#10", - "method": "blacklistrune", + "id": "example:commando-blacklist#9", + "method": "commando-blacklist", "params": "{}" } ], @@ -14382,18 +9295,6 @@ } ] }, - { - "blacklist": [ - { - "start": 0, - "end": 6 - }, - { - "start": 9, - "end": 9 - } - ] - }, { "blacklist": [ { @@ -14411,645 +9312,975 @@ "Shahana Farooqui <> is mainly responsible." ], "see_also": [ - "lightning-commando-blacklist(7)", - "lightning-showrunes(7)" + "lightning-commando-listrunes(7)" ], "resources": [ "Main web site: " ] }, - "lightning-check.json": { + "lightning-commando-listrunes.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "check", - "title": "Command for verifying parameters", + "added": "v23.05", + "deprecated": [ + "v23.08", + "v24.05" + ], + "rpc": "commando-listrunes", + "title": "Command to list previously generated runes", "description": [ - "The **check** RPC command verifies another command without actually making any changes.", - "", - "This is guaranteed to be safe, and will do all checks up to the point where something in the system would need to be altered (such as checking that channels are in the right state, peers connected, etc).", + "The **commando-listrunes** RPC command either lists runes that we stored as we generate them (see lightning-commando-rune(7)) or decodes the rune given on the command line.", "", - "It does not guarantee successful execution of the command in all cases. For example, a call to lightning-getroute(7) may still fail to find a route even if checking the parameters succeeds." + "NOTE: Runes generated prior to v23.05 were not stored, so will not appear in this list." ], "request": { - "required": [ - "command_to_check" - ], + "required": [], "properties": { - "command_to_check": { + "rune": { "type": "string", "description": [ - "Name of the relevant command." + "Optional rune to list." ] } } }, "response": { + "required": [ + "runes" + ], "properties": { - "command_to_check": { - "type": "string", - "description": [ - "The *command_to_check* argument." - ] + "runes": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "rune", + "unique_id", + "restrictions", + "restrictions_as_english" + ], + "properties": { + "rune": { + "type": "string", + "description": [ + "Base64 encoded rune." + ] + }, + "unique_id": { + "type": "string", + "description": [ + "Unique id assigned when the rune was generated; this is always a u64 for commando runes." + ] + }, + "restrictions": { + "type": "array", + "description": [ + "The restrictions on what commands this rune can authorize." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "alternatives", + "english" + ], + "properties": { + "alternatives": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "fieldname", + "value", + "condition", + "english" + ], + "properties": { + "fieldname": { + "type": "string", + "description": [ + "The field this restriction applies to; see commando-rune(7)." + ] + }, + "value": { + "type": "string", + "description": [ + "The value accepted for this field." + ] + }, + "condition": { + "type": "string", + "description": [ + "The way to compare fieldname and value." + ] + }, + "english": { + "type": "string", + "description": [ + "English readable description of this alternative." + ] + } + } + } + }, + "english": { + "type": "string", + "description": [ + "English readable summary of alternatives above." + ] + } + } + } + }, + "restrictions_as_english": { + "type": "string", + "description": [ + "English readable description of the restrictions array above." + ] + }, + "stored": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)." + ] + }, + "blacklisted": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "The rune has been blacklisted; see commando-blacklist(7)." + ] + }, + "last_used": { + "type": "number", + "description": [ + "The last time this rune was successfully used." + ], + "added": "23.11" + }, + "our_rune": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "This is not a rune for this node (only possible when `rune` is specified)." + ] + } + } + } } - }, - "required": [ - "command_to_check" - ] + } }, "example_json_request": [ { - "id": "example:check#1", - "method": "check", - "params": { - "command_to_check": "helloworld" - } - }, - { - "id": "example:check#2", - "method": "check", - "params": { - "command_to_check": "sendpay", - "route": [ - { - "amount_msat": 1011, - "msatoshi": 1011, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 20, - "channel": "1x1x1" - }, - { - "amount_msat": 1000, - "msatoshi": 1000, - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "delay": 10, - "channel": "2x2x2" - } - ], - "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000" - } - }, - { - "id": "example:check#3", - "method": "check", - "params": { - "command_to_check": "helloworld" - } - }, - { - "id": "example:check#4", - "method": "check", - "params": { - "command_to_check": "help" - } - }, - { - "id": "example:check#5", - "method": "check", - "params": { - "command_to_check": "help", - "command": "check" - } - }, - { - "id": "example:check#6", - "method": "check", - "params": { - "command_to_check": "dev", - "subcommand": "crash" - } - }, - { - "id": "example:check#7", - "method": "check", - "params": { - "command_to_check": "dev", - "subcommand": "slowcmd", - "msec": 1000 - } + "id": "example:commando-listrunes#1", + "method": "commando-listrunes", + "params": "{}" }, { - "id": "example:check#8", - "method": "check", - "params": { - "command_to_check": "dev", - "subcommand": "rhash", - "secret": "0000000000000000000000000000000000000000000000000000000000000000" - } + "id": "example:commando-listrunes#2", + "method": "commando-listrunes", + "params": "{}" }, { - "id": "example:check#9", - "method": "check", - "params": { - "command_to_check": "help" - } + "id": "example:commando-listrunes#3", + "method": "commando-listrunes", + "params": "{}" }, { - "id": "example:check#10", - "method": "check", - "params": { - "command_to_check": "help", - "command": "check" - } + "id": "example:commando-listrunes#4", + "method": "commando-listrunes", + "params": "{}" }, { - "id": "example:check#11", - "method": "check", - "params": { - "command_to_check": "dev", - "subcommand": "crash" - } + "id": "example:commando-listrunes#5", + "method": "commando-listrunes", + "params": "{}" }, { - "id": "example:check#12", - "method": "check", + "id": "example:commando-listrunes#6", + "method": "commando-listrunes", "params": { - "command_to_check": "dev", - "subcommand": "slowcmd", - "msec": 1000 + "rune": "M8f4jNx9gSP2QoiRbr10ybwzFxUgd-rS4CR4yofMSuA9Mg==" } }, { - "id": "example:check#13", - "method": "check", + "id": "example:commando-listrunes#7", + "method": "commando-listrunes", "params": { - "command_to_check": "dev", - "subcommand": "rhash", - "secret": "0000000000000000000000000000000000000000000000000000000000000000" + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv" } }, { - "id": "example:check#14", - "method": "check", + "id": "example:commando-listrunes#8", + "method": "commando-listrunes", "params": { - "command_to_check": "recover", - "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" + "rune": "Am3W_wI0PRn4qVNEsJ2iInHyFPQK8wfdqEXztm8-icQ9MA==" } }, { - "id": "example:check#15", - "method": "check", + "id": "example:commando-listrunes#9", + "method": "commando-listrunes", "params": { - "command_to_check": "recover", - "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==" } } ], "example_json_response": [ { - "command_to_check": "helloworld" - }, - { - "command_to_check": "sendpay" - }, - { - "command_to_check": "helloworld" - }, - { - "command_to_check": "help" - }, - { - "command_to_check": "help" - }, - { - "command_to_check": "dev" - }, - { - "command_to_check": "dev" + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "dev" + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "help" + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "help" + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "dev" + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + }, + { + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "unique_id": "1", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "dev" + "runes": [ + { + "rune": "M8f4jNx9gSP2QoiRbr10ybwzFxUgd-rS4CR4yofMSuA9Mg==", + "stored": false, + "unique_id": "2", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "dev" + "runes": [ + { + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", + "stored": false, + "unique_id": "3", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "id", + "value": "022d223620a359a47ff7", + "condition": "^", + "english": "id starts with 022d223620a359a47ff7" + } + ], + "english": "id starts with 022d223620a359a47ff7" + }, + { + "alternatives": [ + { + "fieldname": "method", + "value": "listpeers", + "condition": "=", + "english": "method equal to listpeers" + } + ], + "english": "method equal to listpeers" + }, + { + "alternatives": [ + { + "fieldname": "pnamelevel", + "value": "", + "condition": "!", + "english": "pnamelevel is missing" + }, + { + "fieldname": "pnamelevel", + "value": "io", + "condition": "/", + "english": "pnamelevel unequal to io" + } + ], + "english": "pnamelevel is missing OR pnamelevel unequal to io" + }, + { + "alternatives": [ + { + "fieldname": "parr1", + "value": "", + "condition": "!", + "english": "parr1 is missing" + }, + { + "fieldname": "parr1", + "value": "io", + "condition": "/", + "english": "parr1 unequal to io" + } + ], + "english": "parr1 is missing OR parr1 unequal to io" + } + ], + "restrictions_as_english": "id starts with 022d223620a359a47ff7 AND method equal to listpeers AND pnamelevel is missing OR pnamelevel unequal to io AND parr1 is missing OR parr1 unequal to io" + } + ] }, { - "command_to_check": "recover" + "runes": [ + { + "rune": "Am3W_wI0PRn4qVNEsJ2iInHyFPQK8wfdqEXztm8-icQ9MA==", + "stored": false, + "our_rune": false, + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] }, { - "command_to_check": "recover" - } + "runes": [ + { + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "blacklisted": true, + "last_used": 1708642720.3330476, + "unique_id": "1", + "restrictions": [], + "restrictions_as_english": "" + } + ] + } ], "author": [ - "Mark Beckwith <> and Rusty Russell <> are mainly responsible." + "Shahana Farooqui <> is mainly responsible." + ], + "see_also": [ + "lightning-commando-rune(7)", + "lightning-commando-blacklist(7)" ], "resources": [ "Main web site: " ] }, - "lightning-checkmessage.json": { + "lightning-commando-rune.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "checkmessage", - "title": "Command to check if a signature is from a node", + "deprecated": [ + "v23.08", + "v23.05" + ], + "rpc": "commando-rune", + "title": "Command to Authorize Remote Peer Access", "description": [ - "The **checkmessage** RPC command is the counterpart to **signmessage**: given a node id (*pubkey*), signature (*zbase*) and a *message*, it verifies that the signature was generated by that node for that message (more technically: by someone who knows that node's secret).", - "", - "As a special case, if *pubkey* is not specified, we will try every known node key (as per *listnodes*), and verification succeeds if it matches for any one of them. Note: this is implemented far more efficiently than trying each one, so performance is not a concern." + "The **commando-rune** RPC command creates a base64 string called a *rune* which can be used to access commands on this node. Each *rune* contains a unique id (a number starting at 0), and can have restrictions inside it. Nobody can remove restrictions from a rune: if you try, the rune will be rejected. There is no limit on how many runes you can issue; the node simply decodes and checks them as they are received (we do store them for lightning-commando- listrunes(7) however)." ], "request": { - "required": [ - "message", - "zbase" - ], + "required": [], "properties": { - "message": { - "type": "string", - "description": [ - "Message to be checked against the signature." - ] - }, - "zbase": { + "rune": { "type": "string", "description": [ - "The Zbase32 encoded signature to verify." + "If supplied, the restrictions are simple appended to that *rune* (it doesn't need to be a rune belonging to this node). If not supplied, a new *rune* is constructed, with a new unique id." ] }, - "pubkey": { - "type": "pubkey", + "restrictions": { "description": [ - "The Zbase32 encoded signature to verify." + "It can be the string `readonly`, or an array of restrictions.", + "Each restriction is an array of one or more alternatives, such as \"method is listpeers\", or \"method is listpeers OR time is before 2023\"." + ], + "oneOf": [ + { + "type": "array", + "description": [ + "Alternatives use a simple language to examine the command which is being run:", + " * time: the current UNIX time, e.g. \"time<1656759180\".", + " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".", + " * method: the command being run, e.g. \"method=withdraw\".", + " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".", + " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".", + " * pnum: the number of parameters. e.g. \"pnum<2\".", + " * pnameX: the parameter named X (with any punctuation like `_` removed). e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".", + " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\"." + ], + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "type": "string", + "enum": [ + "readonly" + ], + "description": [ + "A rune which allows most *get* and *list* commands, and the *summary* command." + ] + } ] } } }, "response": { "required": [ - "verified", - "pubkey" + "rune", + "unique_id" ], "properties": { - "verified": { - "type": "boolean", - "enum": [ - true - ], + "rune": { + "type": "string", "description": [ - "Whether the signature was valid." + "The resulting rune." ] }, - "pubkey": { - "type": "pubkey", + "unique_id": { + "type": "string", "description": [ - "The *pubkey* parameter, or the pubkey found by looking for known nodes." + "The id of this rune: this is set at creation and cannot be changed (even as restrictions are added)." + ] + }, + "warning_unrestricted_rune": { + "type": "string", + "description": [ + "A warning shown when runes are created with powers that could drain your node." ] } } }, + "restriction_format": [ + "Restrictions are one or more alternatives. Each alternative is *name* *operator* *value*. The valid names are shown above.", + "", + "Note that if a value contains `\\`, it must be preceeded by another `\\` to form valid JSON:", + "* `=`: passes if equal ie. identical. e.g. `method=withdraw`", + "* `/`: not equals, e.g. `method/withdraw`", + "* `^`: starts with, e.g. `id^024b9a1fa8e006f1e3937f`", + "* `$`: ends with, e.g. `id$381df1cc449605`.", + "* `~`: contains, e.g. `id~006f1e3937f65f66c40`.", + "* `<`: is a decimal integer, and is less than. e.g. `time<1656759180`", + "* `>`: is a decimal integer, and is greater than. e.g. `time>1656759180`", + "* `{`: preceeds in alphabetical order (or matches but is shorter),", + " e.g. `id{02ff`.", + "* `}`: follows in alphabetical order (or matches but is longer),", + " e.g. `id}02ff`.", + "* `#`: a comment, ignored, e.g. `dumb example#`.", + "* `!`: only passes if the *name* does *not* exist. e.g. `pnamedestination!`.", + "Every other operator except `#` fails if *name* does not exist!" + ], + "example_usage": [ + "This creates a fresh rune which can do anything:", + "", + "```shell", + "$ lightning-cli commando-rune", + "{", + " \"rune\": \"KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA==\",", + " \"unique_id\": \"0\"", + "}", + "```", + "We can add restrictions to that rune, like so:", + "", + "```shell", + "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions=readonly", + "{", + " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", + " \"unique_id\": \"0\"", + "}", + "```", + "The \"readonly\" restriction is a short-cut for two restrictions:", + "", + "1. `[\"method^list\", \"method^get\", \"method=summary\"]`: You may call list, get or summary.", + "2. `[\"method/listdatastore\"]`: But not listdatastore: that contains sensitive stuff!", + "", + "We can do the same manually, like so:", + "", + "```shell", + "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions='[[\"method^list\", \"method^get\", \"method=summary\"],[\"method/listdatastore\"]]'", + "{", + " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", + " \"unique_id\": \"0\"", + "}", + "```", + "Let's create a rune which lets a specific peer (024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605) run \"listpeers\" on themselves:", + "", + "```shell", + "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\",\"parr0=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"]]'", + "{", + " \"rune\": \"FE8GHiGVvxcFqCQcClVRRiNE_XEeLYQzyG2jmqto4jM9MiZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDV8cGFycjA9MDI0YjlhMWZhOGUwMDZmMWUzOTM3ZjY1ZjY2YzQwOGU2ZGE4ZTFjYTcyOGVhNDMyMjJhNzM4MWRmMWNjNDQ5NjA1\",", + " \"unique_id\": \"2\"", + "}", + "```", + "This allows `listpeers` with 1 argument (`pnum=1`), which is either by name (`pnameid`), or position (`parr0`). We could shorten this in several ways: either allowing only positional or named parameters, or by testing the start of the parameters only. Here's an example which only checks the first 9 bytes of the `listpeers` parameter:", + "", + "```shell", + "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid^024b9a1fa8e006f1e393\", \"parr0^024b9a1fa8e006f1e393\"]'", + " {", + " \"rune\": \"fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw==\",", + " \"unique_id\": \"3\"", + "}", + "```", + "Before we give this to our peer, let's add two more restrictions: that it only be usable for 24 hours from now (`time<`), and that it can only be used twice a minute (`rate=2`). `date +%s` can give us the current time in seconds:", + "", + "```shell", + "$ lightning-cli commando-rune rune=fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw== restrictions='[[\"time<'$(($(date +%s) + 24*60*60))'\",\"rate=2\"]]'", + "{", + " \"rune\": \"tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y\",", + " \"unique_id\": \"3\"", + "}", + "```", + "You can also use lightning-decode(7) to examine runes you have been given:", + "", + "```shell", + "$ lightning-cli decode tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y", + "{", + " \"type\": \"rune\",", + " \"unique_id\": \"3\",", + " \"string\": \"b54f912e33220e9636534a375b5a05a306abdfa4451a95a5a0f6d6f7e46e65da:=3&id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605&method=listpeers&pnum=1&pnameid^024b9a1fa8e006f1e393|parr0^024b9a1fa8e006f1e393&time<1656920538&rate=2\",", + " \"restrictions\": [", + " {", + " \"alternatives\": [", + " \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"", + " ],", + " \"summary\": \"id (of commanding peer) equal to '024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605'\"", + " },", + " {", + " \"alternatives\": [", + " \"method=listpeers\"", + " ],", + " \"summary\": \"method (of command) equal to 'listpeers'\"", + " },", + " {", + " \"alternatives\": [", + " \"pnum=1\"", + " ],", + " \"summary\": \"pnum (number of command parameters) equal to 1\"", + " },", + " {", + " \"alternatives\": [", + " \"pnameid^024b9a1fa8e006f1e393\",", + " \"parr0^024b9a1fa8e006f1e393\"", + " ],", + " \"summary\": \"pnameid (object parameter 'id') starts with '024b9a1fa8e006f1e393' OR parr0 (array parameter #0) starts with '024b9a1fa8e006f1e393'\"", + " },", + " {", + " \"alternatives\": [", + " \"time<1656920538\"", + " ],", + " \"summary\": \"time (in seconds since 1970) less than 1656920538 (approximately 19 hours 18 minutes from now)\"", + " },", + " {", + " \"alternatives\": [", + " \"rate=2\"", + " ],", + " \"summary\": \"rate (max per minute) equal to 2\"", + " }", + " ],", + " \"valid\": true", + "}", + "```" + ], + "sharing_runes": [ + "Because anyone can add a restriction to a rune, you can always turn a normal rune into a read-only rune, or restrict access for 30 minutes from the time you give it to someone. Adding restrictions before sharing runes is best practice.", + "", + "If a rune has a ratelimit, any derived rune will have the same id, and thus will compete for that ratelimit. You might want to consider adding a tighter ratelimit to a rune before sharing it, so you will keep the remainder. For example, if you rune has a limit of 60 times per minute, adding a limit of 5 times per minute and handing that rune out means you can still use your original rune 55 times per minute." + ], "example_json_request": [ { - "id": "example:checkmessage#1", - "method": "checkmessage", - "params": { - "message": "testcase to check new rpc error", - "zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx", - "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7" - } + "id": "example:commando-rune#1", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#2", - "method": "checkmessage", - "params": { - "message": "this is a test!", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "id": "example:commando-rune#2", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#3", - "method": "checkmessage", - "params": { - "message": "this is a test!modified", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "id": "example:commando-rune#3", + "method": "commando-rune", + "params": [ + "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", + [ + [ + "pnamelevel!", + "pnamelevel/io" + ] + ] + ] }, { - "id": "example:checkmessage#4", - "method": "checkmessage", - "params": { - "message": "this is a test!", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": null - } + "id": "example:commando-rune#4", + "method": "commando-rune", + "params": [ + "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + [ + [ + "parr1!", + "parr1/io" + ] + ] + ] }, { - "id": "example:checkmessage#5", - "method": "checkmessage", - "params": { - "message": "is this compatible?", - "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" - } + "id": "example:commando-rune#5", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#6", - "method": "checkmessage", - "params": { - "message": "is this compatible?modified", - "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" - } + "id": "example:commando-rune#6", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#7", - "method": "checkmessage", - "params": { - "message": "hi", - "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" - } + "id": "example:commando-rune#7", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#8", - "method": "checkmessage", + "id": "example:commando-rune#8", + "method": "commando-rune", "params": { - "message": "himodified", - "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" + "restrictions": "readonly" } }, { - "id": "example:checkmessage#9", - "method": "checkmessage", + "id": "example:commando-rune#9", + "method": "commando-rune", "params": { - "message": "hi", - "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + "restrictions": [ + [ + "time>1656675211" + ] + ] } }, { - "id": "example:checkmessage#10", - "method": "checkmessage", + "id": "example:commando-rune#10", + "method": "commando-rune", "params": { - "message": "himodified", - "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + "restrictions": [ + [ + "id^022d223620a359a47ff7" + ], + [ + "method=listpeers" + ] + ] } }, { - "id": "example:checkmessage#11", - "method": "checkmessage", - "params": { - "message": "message for you", - "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga", - "pubkey": null - } + "id": "example:commando-rune#11", + "method": "commando-rune", + "params": [ + "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", + [ + [ + "pnamelevel!", + "pnamelevel/io" + ] + ] + ] }, { - "id": "example:checkmessage#12", - "method": "checkmessage", - "params": { - "message": "this is a test!", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "id": "example:commando-rune#12", + "method": "commando-rune", + "params": [ + "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + [ + [ + "parr1!", + "parr1/io" + ] + ] + ] }, { - "id": "example:checkmessage#13", - "method": "checkmessage", + "id": "example:commando-rune#13", + "method": "commando-rune", "params": { - "message": "this is a test!modified", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "restrictions": [ + [ + "pnum=0" + ] + ] } }, { - "id": "example:checkmessage#14", - "method": "checkmessage", - "params": { - "message": "this is a test!", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7", - "pubkey": null - } + "id": "example:commando-rune#14", + "method": "commando-rune", + "params": [ + "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + [ + [ + "rate=3" + ] + ] + ] }, { - "id": "example:checkmessage#15", - "method": "checkmessage", - "params": { - "message": "is this compatible?", - "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" - } + "id": "example:commando-rune#15", + "method": "commando-rune", + "params": [ + "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", + [ + [ + "rate=1" + ] + ] + ] }, { - "id": "example:checkmessage#16", - "method": "checkmessage", + "id": "example:commando-rune#16", + "method": "commando-rune", "params": { - "message": "is this compatible?modified", - "zbase": "rbgfioj114mh48d8egqx8o9qxqw4fmhe8jbeeabdioxnjk8z3t1ma1hu1fiswpakgucwwzwo6ofycffbsqusqdimugbh41n1g698hr9t", - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5" + "restrictions": [ + [ + "method=invoice" + ], + [ + "pnamedescription=@tipjar|jb55@sendsats.lol" + ] + ] } }, { - "id": "example:checkmessage#17", - "method": "checkmessage", + "id": "example:commando-rune#17", + "method": "commando-rune", "params": { - "message": "hi", - "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" + "restrictions": [ + [ + "time<1708642704" + ] + ] } }, { - "id": "example:checkmessage#18", - "method": "checkmessage", - "params": { - "message": "himodified", - "zbase": "rnrphcjswusbacjnmmmrynh9pqip7sy5cx695h6mfu64iac6qmcmsd8xnsyczwmpqp9shqkth3h4jmkgyqu5z47jfn1q7gpxtaqpx4xg", - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b" - } + "id": "example:commando-rune#18", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#19", - "method": "checkmessage", - "params": { - "message": "hi", - "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" - } + "id": "example:commando-rune#19", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#20", - "method": "checkmessage", + "id": "example:commando-rune#20", + "method": "commando-rune", "params": { - "message": "himodified", - "zbase": "ry8bbsopmduhxy3dr5d9ekfeabdpimfx95kagdem7914wtca79jwamtbw4rxh69hg7n6x9ty8cqk33knbxaqftgxsfsaeprxkn1k48p3", - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931" + "restrictions": [ + [ + "method=pay" + ], + [ + "pnameamountmsat<10000" + ] + ] } }, { - "id": "example:checkmessage#21", - "method": "checkmessage", - "params": { - "message": "message for you", - "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga", - "pubkey": null - } + "id": "example:commando-rune#21", + "method": "commando-rune", + "params": "{}" }, { - "id": "example:checkmessage#22", - "method": "checkmessage", - "params": { - "message": "testcase to check new rpc error", - "zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx", - "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7" - } + "id": "example:commando-rune#22", + "method": "commando-rune", + "params": "{}" + }, + { + "id": "example:commando-rune#23", + "method": "commando-rune", + "params": "{}" } ], "example_json_response": [ { - "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7", - "verified": true + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "02c2da9accd82a68f9f898e2fa7823aaa2e8767ccf442ec1af7e0026da9011f684", - "verified": false + "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + "unique_id": "3" }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", + "unique_id": "3" }, { - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5", - "verified": true + "rune": "OL2cUYVGn0oasSBymy2z1S_B7AIV9-LVU895LLSkQpU9MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "032d04a6d6d84edd62aa8696f0c3a271a48ba680545a84e3c012caa360e5c0be3f", - "verified": false + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b", - "verified": true + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "029fdab1a36739cbbdbcf4c6a0cab13b04ede4c4be2555faa66d8a4947329950a1", - "verified": false + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "unique_id": "1" }, { - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931", - "verified": true + "rune": "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=", + "unique_id": "2" }, { - "pubkey": "0343d19e98cadbc122d5d4a5e1d0492e0f9cd9dfd04c6dc2d8519f111f8418fc5c", - "verified": false + "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", + "unique_id": "3" }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + "unique_id": "3" }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", + "unique_id": "3" }, { - "pubkey": "02c2da9accd82a68f9f898e2fa7823aaa2e8767ccf442ec1af7e0026da9011f684", - "verified": false + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "unique_id": "4" }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", + "unique_id": "4" }, { - "pubkey": "02b80cabdf82638aac86948e4c06e82064f547768dcef977677b9ea931ea75bab5", - "verified": true + "rune": "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==", + "unique_id": "4" }, { - "pubkey": "032d04a6d6d84edd62aa8696f0c3a271a48ba680545a84e3c012caa360e5c0be3f", - "verified": false + "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", + "unique_id": "5" }, { - "pubkey": "02de60d194e1ca5947b59fe8e2efd6aadeabfb67f2e89e13ae1a799c1e08e4a43b", - "verified": true + "rune": "JkbxIXkt_Ig1YCInSfA0Rrjw-9eAFvppjwrWBkvfh6o9NiZ0aW1lPDE3MDg2NDI3MDQ=", + "unique_id": "6" }, { - "pubkey": "029fdab1a36739cbbdbcf4c6a0cab13b04ede4c4be2555faa66d8a4947329950a1", - "verified": false + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "022b8ece90ee891cbcdac0c1cc6af46b73c47212d8defbce80265ac81a6b794931", - "verified": true + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "unique_id": "1", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "0343d19e98cadbc122d5d4a5e1d0492e0f9cd9dfd04c6dc2d8519f111f8418fc5c", - "verified": false + "rune": "b3hXuEM7Pqzk-C7HUw83xzvHOV7fmuGaWjdo-wHdfg89MCZtZXRob2Q9cGF5JnBuYW1lYW1vdW50bXNhdDwxMDAwMA==", + "unique_id": "0" }, { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "verified": true + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7", - "verified": true + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "unique_id": "1", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." + }, + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." } ], - "errors": [ - "On failure, an error is returned and core lightning exit with the following error code:", - "", - "- -32602: Parameter missed or malformed;", - "- 1301: *pubkey* not found in the graph." - ], "author": [ - "Rusty Russell <> is mainly responsible." + "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", + "", + "Christian Decker came up with the name \"commando\", which almost excuses his previous adoption of the name \"Eltoo\"." ], "see_also": [ - "lightning-signmessage(7)" + "lightning-commando(7)", + "lightning-decode(7)" ], "resources": [ "Main web site: " ] }, - "lightning-checkrune.json": { + "lightning-commando.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "checkrune", - "title": "Command to Validate Rune", + "rpc": "commando", + "title": "Command to Send a Command to a Remote Peer", "description": [ - "The **checkrune** RPC command checks the validity/authorization rights of specified rune for the given nodeid, method, and params.", - "", - "If successful, the rune \"usage\" counter (used for ratelimiting) is incremented.", - "", - "See lightning-createrune(7) for the fields in the rune which are checked." + "The **commando** RPC command is a homage to bad 80s movies. It also sends a directly-connected *peer_id* a custom message, containing a request to run *method* (with an optional dictionary of *params*); generally the peer will only allow you to run a command if it has provided you with a *rune* which allows it." ], "request": { "required": [ - "rune" + "peer_id", + "method" ], "properties": { - "rune": { - "type": "string", - "description": [ - "Rune to check for authorization." - ] - }, - "nodeid": { - "type": "string", + "peer_id": { + "type": "pubkey", "description": [ - "Node id of requesting node *(required until v23.11)*." + "Peer to command." ] }, "method": { "type": "string", "description": [ - "Method for which rune needs to be validated *(required until v23.11)*." + "Method to invoke on peer." ] }, "params": { @@ -15067,54949 +10298,32590 @@ ] } ] - } - } - }, - "response": { - "required": [ - "valid" - ], - "properties": { - "valid": { - "type": "boolean", + }, + "rune": { + "type": "string", "description": [ - "True if the rune is valid." + "Rune to authorize the command." + ] + }, + "filter": { + "type": "object", + "description": [ + "Filter to peer to apply to any successful result." ] } } }, + "response": { + "required": [], + "properties": {}, + "pre_return_value_notes": [ + "On success, the return depends on the *method* invoked." + ] + }, "errors": [ - "The following error codes may occur:", + "On failure, one of the following error codes may be returned:", "", - "- 1501 (RUNE_NOT_AUTHORIZED): rune is not for this node (or perhaps completely invalid)", - "- 1502 (RUNE_NOT_PERMITTED): rune does not allow this usage (includes a detailed reason why)", - "- 1503 (RUNE_BLACKLISTED): rune has been explicitly blacklisted." + "- -32600: Usually means peer is not connected", + "- 19535: the local commando plugin discovered an error.", + "- 19536: the remote commando plugin discovered an error.", + "- 19537: the remote commando plugin said we weren't authorized.", + "", + "It can also fail if the peer does not respond, in which case it will simply hang awaiting a response." ], "example_json_request": [ { - "id": "example:checkrune#1", - "method": "checkrune", + "id": "example:commando#1", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", - "method": "invoice", - "params": { - "amount_msat": "any", - "label": "lbl", - "description": [ - "@tipjar|jb55@sendsats.lol." - ] - } + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "listpeers" } }, { - "id": "example:checkrune#2", - "method": "checkrune", + "id": "example:commando#2", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", "method": "listpeers", - "params": {} + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } } }, { - "id": "example:checkrune#3", - "method": "checkrune", + "id": "example:commando#3", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "listpeers" } }, { - "id": "example:checkrune#4", - "method": "checkrune", + "id": "example:commando#4", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", - "method": "invoice", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "listpeers", "params": { - "amount_msat": "any", - "label": "lbl", - "description": "@tipjar|jb55@sendsats.lol" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } } }, { - "id": "example:checkrune#5", - "method": "checkrune", + "id": "example:commando#5", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", "method": "listpeers", - "params": {} + "filter": { + "peers": [ + { + "id": true + } + ] + } } }, { - "id": "example:checkrune#6", - "method": "checkrune", + "id": "example:commando#6", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "listpeers", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } } }, { - "id": "example:checkrune#7", - "method": "checkrune", + "id": "example:commando#7", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "getlog", + "params": { + "level": "io" + } } }, { - "id": "example:checkrune#8", - "method": "checkrune", + "id": "example:commando#8", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "method": "invoice", + "params": { + "amount_msat": "any", + "label": "label", + "description": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "deschashonly": true + } } }, { - "id": "example:checkrune#9", - "method": "checkrune", + "id": "example:commando#9", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "_LHs4CFn9a_6hREyEeu2b1yuWHOz6axLxvtwnrgB_J09NiZ0aW1lPDE3MDg2MzE2Mjg=", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", + "method": "invoice", + "params": { + "amount_msat": "any", + "label": "lbl", + "description": "@tipjar|jb55@sendsats.lol" + } } }, { - "id": "example:checkrune#10", - "method": "checkrune", + "id": "example:commando#10", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", "method": "listpeers", - "params": [] + "params": {} } }, { - "id": "example:checkrune#11", - "method": "checkrune", + "id": "example:commando#11", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - "method": "getinfo", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "listpeers", "params": {} } }, { - "id": "example:checkrune#12", - "method": "checkrune", + "id": "example:commando#12", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", - "method": "getinfo" + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "getinfo", + "params": {} } }, { - "id": "example:checkrune#13", - "method": "checkrune", + "id": "example:commando#13", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", - "method": "getinfo" + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "method": "getinfo", + "params": {} } }, { - "id": "example:checkrune#14", - "method": "checkrune", + "id": "example:commando#14", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==", - "method": "getinfo" + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "JkbxIXkt_Ig1YCInSfA0Rrjw-9eAFvppjwrWBkvfh6o9NiZ0aW1lPDE3MDg2NDI3MDQ=", + "method": "getinfo", + "params": {} } }, { - "id": "example:checkrune#15", - "method": "checkrune", + "id": "example:commando#15", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "method": "getinfo", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", + "method": "listpeers", "params": {} } }, { - "id": "example:checkrune#16", - "method": "checkrune", + "id": "example:commando#16", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "method": "listinvoices", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } } }, { - "id": "example:checkrune#17", - "method": "checkrune", + "id": "example:commando#17", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": "broken" + } } }, { - "id": "example:checkrune#18", - "method": "checkrune", + "id": "example:commando#18", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "method": "listinvoices", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", + "method": "listpeers", + "params": [ + "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "broken" + ] } }, { - "id": "example:checkrune#19", - "method": "checkrune", + "id": "example:commando#19", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "method": "getinfo", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", + "method": "listpeers", + "params": [ + "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + ] } }, { - "id": "example:checkrune#20", - "method": "checkrune", + "id": "example:commando#20", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "method": "listinvoices", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "method": "listpeers", + "params": [] } }, { - "id": "example:checkrune#21", - "method": "checkrune", + "id": "example:commando#21", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", "method": "getinfo", "params": {} } }, { - "id": "example:checkrune#22", - "method": "checkrune", + "id": "example:commando#22", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", - "method": "listinvoices", - "params": {} + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "b3hXuEM7Pqzk-C7HUw83xzvHOV7fmuGaWjdo-wHdfg89MCZtZXRob2Q9cGF5JnBuYW1lYW1vdW50bXNhdDwxMDAwMA==", + "method": "pay", + "params": { + "bolt11": "lnbcrt1pja05v6sp5n6gnm380ckkrnhzvytz0hvym0vcf0mlrk586nlp72cq7e2hhhffspp5cwhuvl4jhlqep3st2703z89jp7j6wucm8ytlj7rk9ckk0mv7whysdq5v3jhxcmjd9c8g6t0dceqxqyjw5qcqp99qxpqysgq40udwjtktkry0yyq9408q5vtmj534h88j5nn562lamam0rtfqfu3093t2dhhc63qnqe5maa5jc9ad5pm08q2k2udvp6skw9f6ez9c9qptatlau", + "amount_msat": 9999 + } } }, { - "id": "example:checkrune#23", - "method": "checkrune", + "id": "example:commando#23", + "method": "commando", "params": { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "NrM7go6C4qzfRQDkUSv1DtRroJWSKqdjIOuvGS4TLFE9NCZwZXI9MQ==", + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", "method": "getinfo", - "params": {} + "params": [] } } ], "example_json_response": [ { - "valid": true + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:37355" + ], + "features": "08a0000a0a69a2" + } + ] }, { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - }, - { - "valid": true - } - ], - "author": [ - "Shahana Farooqui <> is mainly responsible for consolidating logic from commando." - ], - "see_also": [ - "lightning-createrune(7)", - "lightning-blacklistrune(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-close.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "close", - "title": "Command for closing channels with direct peers", - "description": [ - "The **close** RPC command attempts to close the channel cooperatively with the peer, or unilaterally after *unilateraltimeout*, and the to-local output will be sent to the address specified in *destination*.", - "", - "The peer needs to be live and connected in order to negotiate a mutual close. The default of unilaterally closing after 48 hours is usually a reasonable indication that you can no longer contact the peer." - ], - "request": { - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "description": [ - "Peer id, channel id or short_channel_id. If the given *id* is a peer ID (66 hex digits as a string), then it applies to the active channel of the direct peer corresponding to the given peer ID. If the given *id* is a channel ID (64 hex digits as a string, or the short channel ID *blockheight:txindex:outindex* form), then it applies to that channel." - ] - }, - "unilateraltimeout": { - "type": "u32", - "description": [ - "If it is not zero, the command will unilaterally close the channel when that number of seconds is reached. If *unilateraltimeout* is zero, then the command will wait indefinitely until the peer is online and can negotiate a mutual close." - ], - "default": "2 days (172800 seconds)" - }, - "destination": { - "type": "string", - "description": [ - "Any Bitcoin bech32 type. If the peer hasn't offered the option_shutdown_anysegwit feature, then taproot addresses (or other v1+ segwit) are not allowed. Tell your friends to upgrade!" - ], - "default": "a Core Lightning wallet address" - }, - "fee_negotiation_step": { - "type": "string", - "description": [ - "It controls how closing fee negotiation is performed assuming the peer proposes a fee that is different than our estimate. (Note that modern peers use the quick-close protocol which does not allow negotiation: see *feerange* instead).", - "", - "On every negotiation step we must give up some amount from our proposal towards the peer's proposal. This parameter can be an integer in which case it is interpreted as number of satoshis to step at a time. Or it can be an integer followed by `%` to designate a percentage of the interval to give up. A few examples, assuming the peer proposes a closing fee of 3000 satoshi and our estimate shows it must be 4000:", - " * `10`: our next proposal will be 4000-10=3990.", - " * `10%`: our next proposal will be 4000-(10% of (4000-3000))=3900.", - " * '1': our next proposal will be 3999. This is the most extreme case when we insist on our fee as much as possible.", - " * `100%`: our next proposal will be 3000. This is the most relaxed case when we quickly accept the peer's proposal." - ], - "default": "`50%`" - }, - "wrong_funding": { - "type": "outpoint", - "description": [ - "It can only be specified if both sides have offered the `shutdown_wrong_funding` feature (enabled by the **experimental-shutdown-wrong-funding** option). It must be a transaction id followed by a colon then the output number. Instead of negotiating a shutdown to spend the expected funding transaction, the shutdown transaction will spend this output instead. This is only allowed if this peer opened the channel and the channel is unused: it can rescue openings which have been manually miscreated." - ] - }, - "force_lease_closed": { - "type": "boolean", - "description": [ - "If the channel has funds leased to the peer (option_will_fund), we prevent initiation of a mutual close unless this flag is passed in." - ], - "default": "False" - }, - "feerange": { - "type": "array", - "items": { - "type": "feerate" - }, - "description": [ - "An optional array [ *min*, *max* ], indicating the minimum and maximum feerates to offer: the peer will obey these if it supports the quick-close protocol. *slow* and *unilateral_close* are the defaults. Note that the maximum fee will be capped at the final commitment transaction fee (unless the experimental anchor-outputs option is negotiated)." - ] - } - } - }, - "response": { - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "mutual", - "unilateral", - "unopened" - ], - "description": [ - "Whether we successfully negotiated a mutual close, closed without them, or discarded not-yet-opened channel." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "mutual", - "unilateral" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "tx", - "txid" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:37355" ], - "properties": { - "type": {}, - "tx": { - "type": "hex", - "description": [ - "The raw bitcoin transaction used to close the channel (if it was open)." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The transaction id of the *tx* field." - ] - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "type": {} - } + "features": "08a0000a0a69a2" } - } - ], - "post_return_value_notes": [ - "A unilateral close may still occur at any time if the peer did not behave correctly during the close negotiation.", - "", - "Unilateral closes will return your funds after a delay. The delay will vary based on the peer *to_self_delay* setting, not your own setting." - ] - }, - "notes": [ - "Prior to 0.7.2, **close** took two parameters: *force* and *timeout*. *timeout* was the number of seconds before *force* took effect (default, 30), and *force* determined whether the result was a unilateral close or an RPC error (default). Even after the timeout, the channel would be closed if the peer reconnected." - ], - "notifications": [ - "Notifications may be returned indicating what is going on, especially if the peer is offline and we are waiting." - ], - "example_json_request": [ - { - "id": "example:close#1", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": 1, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#2", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#3", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": 1, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#4", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#5", - "method": "close", - "params": { - "id": "103x1x0", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#6", - "method": "close", - "params": { - "id": "103x1x0", - "unilateraltimeout": 0, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#7", - "method": "close", - "params": { - "id": "c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f3", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#8", - "method": "close", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#9", - "method": "close", - "params": { - "id": "49481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba", - "unilateraltimeout": 0, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#10", - "method": "close", - "params": { - "id": "ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd8453233", - "unilateraltimeout": 0, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#11", - "method": "close", - "params": { - "id": "76f6a3e25ef6a7b11be81a7483cc9ffad4131c563cc4563c9a898acb23a5bc04", - "unilateraltimeout": 0, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#12", - "method": "close", - "params": { - "id": "8cd4b83ed5028ac9c7d69f8348fd809c748c1401a35b5d27f021e59ffe47d484", - "unilateraltimeout": 0, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#13", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#14", - "method": "close", - "params": { - "id": "103x1x0", - "unilateraltimeout": null, - "destination": "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg", - "fee_negotiation_step": null, - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#15", - "method": "close", - "params": { - "id": "105x1x0", - "destination": "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg" - } - }, - { - "id": "example:close#16", - "method": "close", - "params": [ - "107x1x0", - null, - "bcrt1qeyyk6sl5pr49ycpqyckvmttus5ttj25pd0zpvg" ] }, { - "id": "example:close#17", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "30%", - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#18", - "method": "close", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "30%", - "force_lease_closed": null, - "feerange": null - } - }, - { - "id": "example:close#19", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "100%", - "force_lease_closed": null, - "feerange": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:39297" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:close#20", - "method": "close", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "100%", - "force_lease_closed": null, - "feerange": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:39297" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:close#21", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "1", - "force_lease_closed": null, - "feerange": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + ] }, { - "id": "example:close#22", - "method": "close", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "1", - "force_lease_closed": null, - "feerange": null - } + "totlen": 132 }, { - "id": "example:close#23", - "method": "close", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "unilateraltimeout": null, - "destination": null, - "fee_negotiation_step": "700", - "force_lease_closed": null, - "feerange": null - } - } - ], - "example_json_response": [ - { - "tx": "020000000001018d388ffcd216c92d25163a62096ce47d5c9bbd6270ced51c5a1484f89df33e5700000000009db0e28002a00f00000000000016001445503fa4b65ade3ffdb1a92057688456c9ffae1380130f0000000000220020be82765fdb17fd5568f2dd31c6cf1aabc620ef338995ec5d9a2f3e42f43ae4870400473044022058dcde893655f40fc8162a79596440ef3e304273f8d530401fc17bc92c58159b0220428900ca6537538ba237d569a4a09003d663a991aeb331a9f18dfe807ee78806014730440220111270eeed8b4b1a231d3ce6e0e0daad718623ad159a0fd3781fb18118a8fec70220539826ee7c76cad4116d1d8852329f80314b3434cf21c765d8004186451a4cd50147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae9c3ed620", - "txid": "5d8d917dd7d39fe5a12f121457fc6d712b5e393ed4f16bc8f5976fc08cbbfecd", - "type": "unilateral" - }, - { - "tx": "020000000001011958c603d30516747e8240ff4a6d79f3daefbc37d258f79ca7dfdeb6a6ba87c70000000000ffffffff02f82a0000000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150f90b0f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022058ecbb798100405310e8af8b7521afab7cda14cb88373d744df1d707ed9ed9f00220374b549d2671249b0e109928b751846449b93e2b188e6bbc8eebe4ccb4668d820147304402206a830a23d4047a14856ec8f82fa8e0accf589433ac0a544ec02a75557b6b815b02207dfe93feb8fc596a286c53590a29c4845fa9338ef2fba22fcdd4347b87ad41a30147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "da05d5c767ba7043efe8064acf8cc6bf51eff1a7c0a2693ebae41ebf0c31493a", - "type": "mutual" - }, - { - "tx": "02000000000101617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e3598800000000009db0e280044a010000000000002200200e1a08b3da3bea6a7a77315f95afcd589fe799af46cf9bfb89523172814050e44a01000000000000220020be7935a77ca9ab70a4b8b1906825637767fed3c00824aa90c988983587d68488a00f000000000000220020d809374296af7f826dfaaad71ef187737303d5b500c81ca758a1c7d79b990d1b8f1f0f0000000000220020be82765fdb17fd5568f2dd31c6cf1aabc620ef338995ec5d9a2f3e42f43ae48704004730440220746d16df80d354b9b5b132273fdc5a7cdb3e280b09a48daab7d6ef6b07f7ee9502207657b4ba4ff46a47fc2c881ee973f8bc7670b9c1eaf2a2c01d211987d88303030147304402206665256ae5ccf4120cd546966b2b04b474f9e58d36a9709f928c3045e9e7899b022004efcea0f508e5492a3b99826ccec0ead7f7ba419a10c7b3a6fd8bf7e18ba2780147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae9c3ed620", - "txid": "7f359441e61d2206d241957156bc9873b6f76f9d67977a623cae191b33b2c9a1", - "type": "unilateral" - }, - { - "tx": "020000000001016882ff86851a22eb2bbb196a27eeac07872247e14a8540368d51fe67e3fe80110000000000ffffffff02f82a0000000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150f90b0f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402204f16c0f4fcb6f7505cdf1fea73fb1c98eba62fa43650051407f41e2b1d49359002206771572fe99a63539efb97c3be0b0bcd8ec9b65888ce9b5b9c5086f7698ed49b0147304402205fd42d006edcbfb0971579cbdd9743ba2268c6c44b49c16ed03298c9560eb9e50220657d400270c940d7918c33a498d220ea917ac721ff75987cdf7c0d126c2caec90147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11", - "type": "mutual" - }, - { - "tx": "02000000000101279fcb0bdbfc2cac5229a3f4bd4042d8a778cdd5697f458b3816abfb018f6d750000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022002e3343deb2781a1a3b9add1bacfe7b3f9867b4b9e78dd6f138afb44bd4d7afc022023ed256f8daf62a9c7da2cc9ad1021890cfe2f9572f024f51d82ac2ef99124e001473044022018e93affcda7c6dd66e2a4e0e73cae615014516db0dd22e19aaee794aa97bf8802201439939bcbaeb950187cd3f81c7da9dd4a96b0b4b6267199d7822f0f1e0b9fee0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "6a9b32e97ed4da8ad07e718c7dd6fa1db844f45940dd2e852e6c72d2386e4570", - "type": "mutual" - }, - { - "tx": "020000000001018365665800b3ce8a475852c6ee39fd34e45e2367e0d01bf005ad0d2e11ae7f5f0000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200b363fd20ad719f695e9027b8f2bff2b365be0979c4a9a675513f9a07ffb4b1e0220020b97ad38067949ab1364d1bc53b9302cda9b9a0f5d81407c07b468b549cd83014730440220512591d75dee17f863acdad4f0fe4320d98ff2366ea67481520532ce8055899c02202892df7a61681da61f36709cd82b76d17a37b77e0e3f69804b032cb7fa89e3370147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "c05190230b0ef342b4a598c2ae0cf61b97c8b690d93f8b7b3233e571670f1a36", - "type": "mutual" - }, - { - "tx": "02000000000101c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f30000000000ffffffff0176390f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe604004730440220799dcfffec39f3ee7a17ce6077dd48d3fd4ce5c943158b468762078207c19f800220373724d632d54949527ccdbcecc6f189bfa120e03c2b9edaf652d8fb2e10988d01473044022066d828683ea64bc2e4ef1f021c9d24a62c2fc307a7eb0cf77e1b4cd571c7547502202ec9b9ca50273e764d92e789a0b2069b8f09e94effb518dcef54a54944a3ee0a0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "e957be87a5b9692a72aa9434435e01f57ffe78314bbcdd1f0cbde6e001b45081", - "type": "mutual" - }, - { - "tx": "02000000000101248d81b16f548a13d75706bb428df0ad2bc5b18e99f05041b69c2f7f32f392200000000000ffffffff0176390f00000000002251208a73bb281433f2b5db5461c6778aa2afd28e011de6bd04799a5991662c61d7a8040047304402206e2d0252acb0438ba97268d74d240794737f8fd8533171327f06d0b36b4047bd022075c8c3a5e5c5212e644eb8469c2103104bfefbef8d5c33c38a32b66a180fe29601473044022065ed2dba990ee4001efc3d21c918e93e32573a245f616189e75ef3eab2079ca702207548f509b3ec07520a8981bfad8b4afab4b10c4b196a1f252173e3a4df3ff0cb014752210259b3cb48220dc2016f4d320bb8105cc2c92bd8c79fc25c2ad96f37b496e491c62103bbee60c395056b8a1201e06ed79e2914c11a61d7b1aa781846468d02489dba6952ae00000000", - "txid": "727769f16c466e7a7d11828be92c7ea4e28e5032fac131a6ab11d221b6437ece", - "type": "mutual" - }, - { - "tx": "0200000000010149481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba0000000000ffffffff02a086010000000000225120c423564d07f77208dc317df1536b3c24e635bb7b11c38a6f9690863ee371c9ff50a50d00000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b50400473044022054e0e99d8dcb5326d7890b1a3aa04ad291788313217f290f843fc5ed6d171877022078cd1a620137e02a88bc0abb6186d42ba38f730f3f7ac763b06c0ebf15b8187601473044022000c95aac7e7c0bdc70134dc658f7a4c309d789679cd7ccee9345dcb32098d9f7022035269e0bedfc427c2bfe82b2f1ce2bfafa61033e2d33cd5b354d9bfa0291d4aa01475221023d284a4e3096ab393fc38db505667fccd65c97d1849f5f79b95c588f8244657f2103c53e215a9f2abe9a264a0b81bdcd9c807520d9d87d55be394a2eedcce1179a0b52ae00000000", - "txid": "78fbdcc111f7b363646464e10e590e3b6aab33ed402967d7cb81fe15097f724a", - "type": "mutual" - }, - { - "tx": "02000000000101ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd84532330000000000ffffffff01e8300f0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe604004730440220485866dd4762ee3b98ef67460d83790619a649f57f35031f9b28fc039f6f306702204e662b476b16e47bf304dce8cc6b35bf7014b5cee6119fec3e9d315821a765ec014730440220628ad1113813442b01eaeb11631638e11773071b1c79f940aa2b6a63871f446702203ef879adb449c75097f93d0d9ee391fade4ea875a9eb9629f1ab4dcc928c28e80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "2edcbbfc09db00801fc2c3a6e262cf741c57819e9874f26d332b8204dee965ab", - "type": "mutual" - }, - { - "tx": "0200000000010176f6a3e25ef6a7b11be81a7483cc9ffad4131c563cc4563c9a898acb23a5bc040000000000ffffffff01db3d0f0000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5040047304402207a34ed8159d87b4b3ec805c85e31f8dcdb409fe65098851c805f76f92fcb685402200728e12a6bfe067509690ab82a7533df4df71ac355d04e59efeb48523c7b1d4d014730440220560cd5a0084620d9c61ac6c76d521902c5a2ce8a0f27b795f2668c8fa0a287f102205e630986b82bc031b0228e682a965998e321fd8d49a9daf2b7523628cc48a8a0014752210212284c004a3d24146e54b2a24db48f650370a08e1fe9abe8ff41f92b09cd50542102a3032ef980cc735579aa5295d927b9a1bdbafc459f2da14163dc9bd530e0a21152ae00000000", - "txid": "d6706efb44ea361eaca2b2ed28f811c17ca74c7a36422fd1f4632c956f1f2b3c", - "type": "mutual" - }, - { - "tx": "020000000001018cd4b83ed5028ac9c7d69f8348fd809c748c1401a35b5d27f021e59ffe47d4840000000000ffffffff02a0860100000000002251201729183042d1d4343121bdc66abcea37c4c98f8dfe6baad24cf3dce17599af6df9b50d00000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc0400473044022005f2ff3fb39164652031a002fc2823c1be37a05def9d73faa4a7050f4559235f022043f0c5698e46425cca582a3be251429ed04ea2b1552b76b667866b2a8854226a0147304402205e3e1060a9e92fb92c277de5785f1341f93e0cd182bc39bb711d0b3462d9986602200abfb0b82126fc7ef2cb5e77118f0ed18d3e3249f5c0599148e15c759595434f01475221021246c36ada0f8df6741e0a40c97e71c3bd9420ad2bd7ca555133d1c0266f28ca210378b60dec043bd6dfca2a49d54a5948e6479ab31f5348df7c72edd33bb0dff03852ae00000000", - "txid": "623505672dbabb1d396d329111327da731e5666f10014e39bdfd3d2dbb77b38a", - "type": "mutual" - }, - { - "tx": "020000000001017f0df0af90f11aa1820ddc0db34db3db8b99382b4bf31d52dcb7c0dd861a8e670000000000ffffffff02400d0300000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150b1290c0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402201dda19633b237f559ce42b7c64a680d218761d3d8130f4f9f0434ee0d9023cbe02204cab7df62586f11914a3c76c53c0d131fc072b9f32da16883c621c572130602f01473044022061a27d608b5d361ad21257dbeb2f2e93e3770b0de25617f12c58618ae689dc0f02202381d824ae8cc5abd684b0a2fb148057ffee2f86106ac59addfef8b2a0aa14310147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "2540ebfabb1faca6da060b9271acbb9a5af346f2eef4c1aad914f19f61091a1f", - "type": "mutual" - }, - { - "tx": "0200000000010132cbce7d5f96b4003c3b5c0eab2a29fef90bb6abb833ff312fa122f31e8301810000000000ffffffff02a0860100000000002251205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff8615005b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207e171d056e81cf8ad2d5a613ecbaa212d5dcbd0bf713145d18911d2cbe9d858802206222911660a26d7ffddc2563ae6d41d6ffad9fbd2fc26cf40eab501a31153b9e0147304402204ae7cdc68dc7966eab73f16a1978643336333d54ae0b6f87bc11a2c19174a9710220601e5276aee0825466cc272c4eb7d353b393ef0dd230d303f46772790dee19190147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "4a08e0508e2e39ea033fab5f77b318337f345550421799f6e0eb1b15a892eda4", - "type": "mutual" - }, - { - "tx": "020000000001015d2dda3ef483fe4bf895af8a281d29f3b0c38450b9e6f4d5ad25edcc5edb8b650000000000ffffffff02a086010000000000225120c423564d07f77208dc317df1536b3c24e635bb7b11c38a6f9690863ee371c9ff05b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207bca34f36ca4e743a71695b50c99d336a3758f904504ce0c1548c9a8cac34a46022074598d6f18529916bd759c9a6a0f49e9f7744ff3ce25a281391a0fbfaae9edcc0147304402201eb93b7ac7ba7b439c178b4f23ef3cce1c524d5712d11590ce9349955ea6bd7c022060ba55f29dbc0aee82cb294eb123e9c93ecf1ae6aa83ae4466ad11a3771e6dfb01475221023d284a4e3096ab393fc38db505667fccd65c97d1849f5f79b95c588f8244657f2103c53e215a9f2abe9a264a0b81bdcd9c807520d9d87d55be394a2eedcce1179a0b52ae00000000", - "txid": "e6c0aaf10c45a4248e3c7959b3a443570e7df414df7e1bd54121ef3d01381e25", - "type": "mutual" - }, - { - "tx": "02000000000101233b513665836d240423f45ffcd1fe19aeb08d62303fa5382ad3285f770683a60000000000ffffffff02a086010000000000225120b47216ab60a0fad97de0ba9b8b370d281dfe55f552d82034e2a8d054c2246e4405b10d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a81040047304402207a9e3ca258861b33827d91514690a757e76730ba8c15dd222340bb13d993a1a502204d0ae329273b69abe62df1ffccce808d5f1a29101a8ee95dae99888376dbaef801473044022033c03f406db9f1c9d924cfd8f6ea42d0962f0ab02e3217aef518aea517ca5ba40220076e2af9d40c676316a2765a86f9efd481de3fc4465ceba33b0782c505ae3452014752210212284c004a3d24146e54b2a24db48f650370a08e1fe9abe8ff41f92b09cd50542102a3032ef980cc735579aa5295d927b9a1bdbafc459f2da14163dc9bd530e0a21152ae00000000", - "txid": "d44a1374a30c1a936d2d4fdbe73c0ffff42fec8c27c6cbaec2758b3042f61d08", - "type": "mutual" - }, - { - "tx": "02000000000101b44018dd5df659d94f1712ff14255b6359ceab917fdfa104bf45da4a48fbaca40000000000ffffffff0107f20e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200bd79da73a36d80c1b10434e6ffb1860bdbedc857eb0a0c20271343b18b08d010220296dd701e48d944453e157140bba44a1630e5c4a4f3809b49da01731293d8df201473044022006fab88ed8048178e1b5fb8499422dc6eb972320a92b3e88fa09ef9455460b560220036a7c30d4c9d107589652e62251a6bb9f8374db732d55ec3d2ddd6e1a40e5fc0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "a958da376683ca19f5a79b1b1a79e5662f0732bb3cdfb7604e692192631d8d3c", - "type": "mutual" - }, - { - "tx": "02000000000101fc12a1601f489b857bc5db197f8d905a2ff64c26111c37fcc49a442fe34fbce20000000000ffffffff0137f30e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e040047304402205d6f32ea29970bb425b7ef0f053ccbde8aaa920e3ef31f0fe65e02c5d9da523802207822a0dd43ad745b3216f2c94d096338dabafbb0684df10b62b3c07d0ff2689a0147304402207906c5345ebebcbeb3308383ba3495e180ff36fdbe0ff315d9122c42d0cd57e7022047737c1f4e0548aa8e4ad166ce0159448506f2e1bdbc9291866dc0405bcbcfaa01475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", - "txid": "f766c29dac93b18c3939ea3d16bedbcaa17569f06c351f7770a1f44804cc2782", - "type": "mutual" - }, - { - "tx": "02000000000101a86f4c3293eb757d14438bc775b68c45a498d719d1111f9d19df2fb54d9aa6630000000000ffffffff011ff40e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe60400473044022050199b9b8dffa24b5efae65a78460b6ff4868b029fe9a7bec5a9bfc9380e518d02204812b9ce8298363293cd730fd9b21c4e877ad63de54c05e963ef12137a0c19ca0147304402207bf1fae6d3b9a78f31b896b9a4014d4a2aeaa3a06172ee89aa46d33f279b26e802202e5631acfd9bf794ca37d2d82e0b6f9b61bbd38908b19ad7ca2ab3c6ed1728fa0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "146b34a7f25f49a438856e70dec5cd4f7fb9ac0841b0de75480d0665eae8d4f5", - "type": "mutual" - }, - { - "tx": "0200000000010171b3ad08ebd17667d34993d19c68cabbe655813a236d308b2083d6680787946f0000000000ffffffff012df20e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e040047304402202e82c385df47e493146028b0c00ad90fed7a4f393cc5ec421dfa8b8570a77d1f02205c5802fa7cf727f28565b14525c3493575becae4198e8942b617b81bea63b0ae01473044022015625a10b6c274d5e2a7bd53e3cd1ffc8c050f6ab332f6658bb3d79ffc2603a602202a7dd69d7c7f7d6dd4fa98ec5fae06211a44ef1a1cb55b970d697d282c756eb401475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", - "txid": "0d961fc8367509a044733397cffe0c5edb4f5164bebea0aae91d7dc7615ecec9", - "type": "mutual" - }, - { - "tx": "0200000000010119a5adbfeea9c7f504775b2c4567ee37aafabaf72213c291f2315731ce4455250000000000ffffffff0143f00e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402200f66d15de01885e66b167ac06603882da8b7cab5bea03b4a0b88869e3a0796a302201c480ee3c905c521b152e8a4f70a4864caf2f2b9cfb482519d6914a4a440271d0147304402204f5480fa632dc335e58c63044eb761cfc36aa00898219ded3e288537e7120b200220444d7baa4be773dd6522bca460841293fc1f7b148e6b6e0a6893f8315a4d25d80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "a5efa09e49c58c5dbb7e7a74e87a91e48eb4e17da4b6ccc0b279c239eb930d0a", - "type": "mutual" - }, - { - "tx": "020000000001016f65ea587d4a11b1610801d33440424ecc36179668d6299dbbf3b0aa57154e530000000000ffffffff0116f40e00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e0400473044022072076ad690b1ab54430d4803c8f316ccae0288e0e335998494f1ded254a82b2f02207d758b6c6b081e23a6e9de3df7671c9b22cfef83e736826db2dece1d7f33d964014730440220585442cbda0cd036b9ea71e2001e884b62982cec4758064c74a9454718484466022072f43b7064c774969c4eadc2f550016d41e253cc3f7917385f22595e16b4db8f01475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae00000000", - "txid": "9bfc153b598d1948cfc4003ae6029c5e38af881a37b8c59fbb39d1d2da2f549f", - "type": "mutual" - }, - { - "tx": "0200000000010145db4f5edcb7104387e0aaa50274350c86440b20038b6cb154908c5811f9f7840000000000ffffffff0189f30e0000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6040047304402205d3864098660fd6d161b8d6760669273f5bbcb36d9111559cb1e03b93893159f0220779847f63a92c37af6bbfcfb27133f518b41e5204bdd93b0490badb8977b6c5c014730440220420e9fb98df52f14ec01b9d00e08244c4e60e49711b0302f2267bf7e9c11f235022005fdb7a0193db59da0b7f566de906cfbaef294753c42836affffe7ebef9491e60147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae00000000", - "txid": "81b60f6fe685b0907301346ffd13f73e0d5c6a68e3e76240d24a98d42e634e52", - "type": "mutual" - } - ], - "author": [ - "ZmnSCPxj <> is mainly responsible." - ], - "see_also": [ - "lightning-disconnect(7)", - "lightning-fundchannel(7)", - "lightningd-config(5)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-commando-blacklist.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "deprecated": [ - "v23.08", - "v24.08" - ], - "rpc": "commando-blacklist", - "title": "Command to prevent a rune from working", - "description": [ - "The **commando-blacklist** RPC command allows you to effectively revoke the rune you have created (and any runes derived from that rune with additional restictions). Attempting to use these runes will be resulted in a `Blacklisted rune` error message.", - "", - "All runes created by commando have a unique sequential id within them and can be blacklisted in ranges for efficiency. The command always returns the blacklisted ranges on success. If no parameters are specified, no changes have been made. If start specified without end, that single rune is blacklisted. If end is also specified, every rune from start till end inclusive is blacklisted." - ], - "request": { - "required": [], - "properties": { - "start": { - "type": "u64", - "description": [ - "First rune unique id to blacklist." - ] - }, - "end": { - "type": "u64", - "description": [ - "Final rune unique id to blacklist (defaults to start)." - ] - } - }, - "dependentUpon": { - "start": [ - "end" - ] - } - }, - "response": { - "required": [ - "blacklist" - ], - "properties": { - "blacklist": { - "type": "array", - "description": [ - "The resulting blacklist ranges after the command." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "start", - "end" - ], - "properties": { - "start": { - "type": "u64", - "description": [ - "Unique id of first rune in this blacklist range." - ] - }, - "end": { - "type": "u64", - "description": [ - "Unique id of last rune in this blacklist range." - ] - } - } - } - } - } - }, - "example_json_request": [ - { - "id": "example:commando-blacklist#1", - "method": "commando-blacklist", - "params": { - "start": 1 - } - }, - { - "id": "example:commando-blacklist#2", - "method": "commando-blacklist", - "params": { - "start": 2 - } - }, - { - "id": "example:commando-blacklist#3", - "method": "commando-blacklist", - "params": { - "start": 1 - } - }, - { - "id": "example:commando-blacklist#4", - "method": "commando-blacklist", - "params": { - "start": 2 - } - }, - { - "id": "example:commando-blacklist#5", - "method": "commando-blacklist", - "params": { - "start": 6 - } - }, - { - "id": "example:commando-blacklist#6", - "method": "commando-blacklist", - "params": { - "start": 3, - "end": 5 - } - }, - { - "id": "example:commando-blacklist#7", - "method": "commando-blacklist", - "params": { - "start": 9 - } - }, - { - "id": "example:commando-blacklist#8", - "method": "commando-blacklist", - "params": { - "start": 0 - } - }, - { - "id": "example:commando-blacklist#9", - "method": "commando-blacklist", - "params": "{}" - } - ], - "example_json_response": [ - { - "blacklist": [ + "created_at": "1708642681.950691111", + "bytes_used": 124591, + "bytes_max": 10485760, + "log": [ { - "start": 1, - "end": 1 - } - ] - }, - { - "blacklist": [ + "type": "INFO", + "time": "0.008026201", + "source": "lightningd", + "log": "v23.11-415-gd120eba" + }, { - "start": 1, - "end": 2 - } - ] - }, - { - "blacklist": [ + "type": "DEBUG", + "time": "0.204743502", + "source": "lightningd", + "log": "Opened log file -" + }, { - "start": 1, - "end": 1 - } - ] - }, - { - "blacklist": [ + "type": "DEBUG", + "time": "0.204762584", + "source": "lightningd", + "log": "Opened log file /tmp/ltests-7u_8_rtu/test_commando_1/lightning-1/log" + }, { - "start": 1, - "end": 2 - } - ] - }, - { - "blacklist": [ + "type": "DEBUG", + "time": "0.214902846", + "source": "plugin-manager", + "log": "started(2710710) /home/shahana/workspace/lightning/plugins/autoclean" + }, { - "start": 1, - "end": 2 + "type": "IO_OUT", + "time": "0.215018663", + "source": "plugin-autoclean", + "log": "0", + "data": "" }, { - "start": 6, - "end": 6 - } - ] - }, - { - "blacklist": [ + "type": "DEBUG", + "time": "0.224323946", + "source": "plugin-manager", + "log": "started(2710712) /home/shahana/workspace/lightning/plugins/chanbackup" + }, { - "start": 1, - "end": 6 - } - ] - }, - { - "blacklist": [ + "type": "IO_OUT", + "time": "0.224437640", + "source": "plugin-chanbackup", + "log": "1", + "data": "" + }, { - "start": 1, - "end": 6 + "type": "DEBUG", + "time": "0.235248249", + "source": "plugin-manager", + "log": "started(2710714) /home/shahana/workspace/lightning/plugins/bcli" }, { - "start": 9, - "end": 9 - } - ] - }, - { - "blacklist": [ + "type": "IO_OUT", + "time": "0.235376410", + "source": "plugin-bcli", + "log": "2", + "data": "" + }, { - "start": 0, - "end": 6 + "type": "DEBUG", + "time": "0.248429548", + "source": "plugin-manager", + "log": "started(2710717) /home/shahana/workspace/lightning/plugins/commando" }, { - "start": 9, - "end": 9 - } - ] - }, - { - "blacklist": [ + "type": "IO_OUT", + "time": "0.248583044", + "source": "plugin-commando", + "log": "3", + "data": "" + }, { - "start": 0, - "end": 6 + "type": "DEBUG", + "time": "0.257848549", + "source": "plugin-manager", + "log": "started(2710719) /home/shahana/workspace/lightning/plugins/fetchinvoice" }, { - "start": 9, - "end": 9 - } - ] - } - ], - "author": [ - "Shahana Farooqui <> is mainly responsible." - ], - "see_also": [ - "lightning-commando-listrunes(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-commando-listrunes.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "deprecated": [ - "v23.08", - "v24.05" - ], - "rpc": "commando-listrunes", - "title": "Command to list previously generated runes", - "description": [ - "The **commando-listrunes** RPC command either lists runes that we stored as we generate them (see lightning-commando-rune(7)) or decodes the rune given on the command line.", - "", - "NOTE: Runes generated prior to v23.05 were not stored, so will not appear in this list." - ], - "request": { - "required": [], - "properties": { - "rune": { - "type": "string", - "description": [ - "Optional rune to list." - ] - } - } - }, - "response": { - "required": [ - "runes" - ], - "properties": { - "runes": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "rune", - "unique_id", - "restrictions", - "restrictions_as_english" - ], - "properties": { - "rune": { - "type": "string", - "description": [ - "Base64 encoded rune." - ] - }, - "unique_id": { - "type": "string", - "description": [ - "Unique id assigned when the rune was generated; this is always a u64 for commando runes." - ] - }, - "restrictions": { - "type": "array", - "description": [ - "The restrictions on what commands this rune can authorize." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "alternatives", - "english" - ], - "properties": { - "alternatives": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "fieldname", - "value", - "condition", - "english" - ], - "properties": { - "fieldname": { - "type": "string", - "description": [ - "The field this restriction applies to; see commando-rune(7)." - ] - }, - "value": { - "type": "string", - "description": [ - "The value accepted for this field." - ] - }, - "condition": { - "type": "string", - "description": [ - "The way to compare fieldname and value." - ] - }, - "english": { - "type": "string", - "description": [ - "English readable description of this alternative." - ] - } - } - } - }, - "english": { - "type": "string", - "description": [ - "English readable summary of alternatives above." - ] - } - } - } - }, - "restrictions_as_english": { - "type": "string", - "description": [ - "English readable description of the restrictions array above." - ] - }, - "stored": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)." - ] - }, - "blacklisted": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "The rune has been blacklisted; see commando-blacklist(7)." - ] - }, - "last_used": { - "type": "number", - "description": [ - "The last time this rune was successfully used." - ], - "added": "23.11" - }, - "our_rune": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "This is not a rune for this node (only possible when `rune` is specified)." - ] - } - } - } - } - } - }, - "example_json_request": [ - { - "id": "example:commando-listrunes#1", - "method": "commando-listrunes", - "params": "{}" - }, - { - "id": "example:commando-listrunes#2", - "method": "commando-listrunes", - "params": "{}" - }, - { - "id": "example:commando-listrunes#3", - "method": "commando-listrunes", - "params": "{}" - }, - { - "id": "example:commando-listrunes#4", - "method": "commando-listrunes", - "params": "{}" - }, - { - "id": "example:commando-listrunes#5", - "method": "commando-listrunes", - "params": "{}" - }, - { - "id": "example:commando-listrunes#6", - "method": "commando-listrunes", - "params": { - "rune": "M8f4jNx9gSP2QoiRbr10ybwzFxUgd-rS4CR4yofMSuA9Mg==" - } - }, - { - "id": "example:commando-listrunes#7", - "method": "commando-listrunes", - "params": { - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv" - } - }, - { - "id": "example:commando-listrunes#8", - "method": "commando-listrunes", - "params": { - "rune": "Am3W_wI0PRn4qVNEsJ2iInHyFPQK8wfdqEXztm8-icQ9MA==" - } - }, - { - "id": "example:commando-listrunes#9", - "method": "commando-listrunes", - "params": { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==" - } - } - ], - "example_json_response": [ - { - "runes": [ + "type": "IO_OUT", + "time": "0.257951753", + "source": "plugin-fetchinvoice", + "log": "4", + "data": "" + }, { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "DEBUG", + "time": "0.268121532", + "source": "plugin-manager", + "log": "started(2710721) /home/shahana/workspace/lightning/plugins/funder" + }, { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "IO_OUT", + "time": "0.268219515", + "source": "plugin-funder", + "log": "5", + "data": "" + }, { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "DEBUG", + "time": "0.276920614", + "source": "plugin-manager", + "log": "started(2710723) /home/shahana/workspace/lightning/plugins/topology" + }, { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "IO_OUT", + "time": "0.277020375", + "source": "plugin-topology", + "log": "6", + "data": "" + }, { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" + "type": "DEBUG", + "time": "0.286637531", + "source": "plugin-manager", + "log": "started(2710725) /home/shahana/workspace/lightning/plugins/keysend" }, { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "unique_id": "1", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "IO_OUT", + "time": "0.286759674", + "source": "plugin-keysend", + "log": "7", + "data": "" + }, { - "rune": "M8f4jNx9gSP2QoiRbr10ybwzFxUgd-rS4CR4yofMSuA9Mg==", - "stored": false, - "unique_id": "2", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "DEBUG", + "time": "0.296039134", + "source": "plugin-manager", + "log": "started(2710727) /home/shahana/workspace/lightning/plugins/offers" + }, { - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", - "stored": false, - "unique_id": "3", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "id", - "value": "022d223620a359a47ff7", - "condition": "^", - "english": "id starts with 022d223620a359a47ff7" - } - ], - "english": "id starts with 022d223620a359a47ff7" - }, - { - "alternatives": [ - { - "fieldname": "method", - "value": "listpeers", - "condition": "=", - "english": "method equal to listpeers" - } - ], - "english": "method equal to listpeers" - }, - { - "alternatives": [ - { - "fieldname": "pnamelevel", - "value": "", - "condition": "!", - "english": "pnamelevel is missing" - }, - { - "fieldname": "pnamelevel", - "value": "io", - "condition": "/", - "english": "pnamelevel unequal to io" - } - ], - "english": "pnamelevel is missing OR pnamelevel unequal to io" - }, - { - "alternatives": [ - { - "fieldname": "parr1", - "value": "", - "condition": "!", - "english": "parr1 is missing" - }, - { - "fieldname": "parr1", - "value": "io", - "condition": "/", - "english": "parr1 unequal to io" - } - ], - "english": "parr1 is missing OR parr1 unequal to io" - } - ], - "restrictions_as_english": "id starts with 022d223620a359a47ff7 AND method equal to listpeers AND pnamelevel is missing OR pnamelevel unequal to io AND parr1 is missing OR parr1 unequal to io" - } - ] - }, - { - "runes": [ + "type": "IO_OUT", + "time": "0.296138435", + "source": "plugin-offers", + "log": "8", + "data": "" + }, { - "rune": "Am3W_wI0PRn4qVNEsJ2iInHyFPQK8wfdqEXztm8-icQ9MA==", - "stored": false, - "our_rune": false, - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" - } - ] - }, - { - "runes": [ + "type": "DEBUG", + "time": "0.305721874", + "source": "plugin-manager", + "log": "started(2710729) /home/shahana/workspace/lightning/plugins/pay" + }, { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "blacklisted": true, - "last_used": 1708642720.3330476, - "unique_id": "1", - "restrictions": [], - "restrictions_as_english": "" - } - ] - } - ], - "author": [ - "Shahana Farooqui <> is mainly responsible." - ], - "see_also": [ - "lightning-commando-rune(7)", - "lightning-commando-blacklist(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-commando-rune.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "deprecated": [ - "v23.08", - "v23.05" - ], - "rpc": "commando-rune", - "title": "Command to Authorize Remote Peer Access", - "description": [ - "The **commando-rune** RPC command creates a base64 string called a *rune* which can be used to access commands on this node. Each *rune* contains a unique id (a number starting at 0), and can have restrictions inside it. Nobody can remove restrictions from a rune: if you try, the rune will be rejected. There is no limit on how many runes you can issue; the node simply decodes and checks them as they are received (we do store them for lightning-commando- listrunes(7) however)." - ], - "request": { - "required": [], - "properties": { - "rune": { - "type": "string", - "description": [ - "If supplied, the restrictions are simple appended to that *rune* (it doesn't need to be a rune belonging to this node). If not supplied, a new *rune* is constructed, with a new unique id." - ] - }, - "restrictions": { - "description": [ - "It can be the string `readonly`, or an array of restrictions.", - "Each restriction is an array of one or more alternatives, such as \"method is listpeers\", or \"method is listpeers OR time is before 2023\"." - ], - "oneOf": [ - { - "type": "array", - "description": [ - "Alternatives use a simple language to examine the command which is being run:", - " * time: the current UNIX time, e.g. \"time<1656759180\".", - " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".", - " * method: the command being run, e.g. \"method=withdraw\".", - " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".", - " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".", - " * pnum: the number of parameters. e.g. \"pnum<2\".", - " * pnameX: the parameter named X (with any punctuation like `_` removed). e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".", - " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\"." - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "type": "string", - "enum": [ - "readonly" - ], - "description": [ - "A rune which allows most *get* and *list* commands, and the *summary* command." - ] - } - ] - } - } - }, - "response": { - "required": [ - "rune", - "unique_id" - ], - "properties": { - "rune": { - "type": "string", - "description": [ - "The resulting rune." - ] - }, - "unique_id": { - "type": "string", - "description": [ - "The id of this rune: this is set at creation and cannot be changed (even as restrictions are added)." - ] - }, - "warning_unrestricted_rune": { - "type": "string", - "description": [ - "A warning shown when runes are created with powers that could drain your node." - ] - } - } - }, - "restriction_format": [ - "Restrictions are one or more alternatives. Each alternative is *name* *operator* *value*. The valid names are shown above.", - "", - "Note that if a value contains `\\`, it must be preceeded by another `\\` to form valid JSON:", - "* `=`: passes if equal ie. identical. e.g. `method=withdraw`", - "* `/`: not equals, e.g. `method/withdraw`", - "* `^`: starts with, e.g. `id^024b9a1fa8e006f1e3937f`", - "* `$`: ends with, e.g. `id$381df1cc449605`.", - "* `~`: contains, e.g. `id~006f1e3937f65f66c40`.", - "* `<`: is a decimal integer, and is less than. e.g. `time<1656759180`", - "* `>`: is a decimal integer, and is greater than. e.g. `time>1656759180`", - "* `{`: preceeds in alphabetical order (or matches but is shorter),", - " e.g. `id{02ff`.", - "* `}`: follows in alphabetical order (or matches but is longer),", - " e.g. `id}02ff`.", - "* `#`: a comment, ignored, e.g. `dumb example#`.", - "* `!`: only passes if the *name* does *not* exist. e.g. `pnamedestination!`.", - "Every other operator except `#` fails if *name* does not exist!" - ], - "example_usage": [ - "This creates a fresh rune which can do anything:", - "", - "```shell", - "$ lightning-cli commando-rune", - "{", - " \"rune\": \"KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA==\",", - " \"unique_id\": \"0\"", - "}", - "```", - "We can add restrictions to that rune, like so:", - "", - "```shell", - "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions=readonly", - "{", - " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", - " \"unique_id\": \"0\"", - "}", - "```", - "The \"readonly\" restriction is a short-cut for two restrictions:", - "", - "1. `[\"method^list\", \"method^get\", \"method=summary\"]`: You may call list, get or summary.", - "2. `[\"method/listdatastore\"]`: But not listdatastore: that contains sensitive stuff!", - "", - "We can do the same manually, like so:", - "", - "```shell", - "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions='[[\"method^list\", \"method^get\", \"method=summary\"],[\"method/listdatastore\"]]'", - "{", - " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", - " \"unique_id\": \"0\"", - "}", - "```", - "Let's create a rune which lets a specific peer (024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605) run \"listpeers\" on themselves:", - "", - "```shell", - "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\",\"parr0=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"]]'", - "{", - " \"rune\": \"FE8GHiGVvxcFqCQcClVRRiNE_XEeLYQzyG2jmqto4jM9MiZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDV8cGFycjA9MDI0YjlhMWZhOGUwMDZmMWUzOTM3ZjY1ZjY2YzQwOGU2ZGE4ZTFjYTcyOGVhNDMyMjJhNzM4MWRmMWNjNDQ5NjA1\",", - " \"unique_id\": \"2\"", - "}", - "```", - "This allows `listpeers` with 1 argument (`pnum=1`), which is either by name (`pnameid`), or position (`parr0`). We could shorten this in several ways: either allowing only positional or named parameters, or by testing the start of the parameters only. Here's an example which only checks the first 9 bytes of the `listpeers` parameter:", - "", - "```shell", - "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid^024b9a1fa8e006f1e393\", \"parr0^024b9a1fa8e006f1e393\"]'", - " {", - " \"rune\": \"fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw==\",", - " \"unique_id\": \"3\"", - "}", - "```", - "Before we give this to our peer, let's add two more restrictions: that it only be usable for 24 hours from now (`time<`), and that it can only be used twice a minute (`rate=2`). `date +%s` can give us the current time in seconds:", - "", - "```shell", - "$ lightning-cli commando-rune rune=fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw== restrictions='[[\"time<'$(($(date +%s) + 24*60*60))'\",\"rate=2\"]]'", - "{", - " \"rune\": \"tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y\",", - " \"unique_id\": \"3\"", - "}", - "```", - "You can also use lightning-decode(7) to examine runes you have been given:", - "", - "```shell", - "$ lightning-cli decode tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y", - "{", - " \"type\": \"rune\",", - " \"unique_id\": \"3\",", - " \"string\": \"b54f912e33220e9636534a375b5a05a306abdfa4451a95a5a0f6d6f7e46e65da:=3&id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605&method=listpeers&pnum=1&pnameid^024b9a1fa8e006f1e393|parr0^024b9a1fa8e006f1e393&time<1656920538&rate=2\",", - " \"restrictions\": [", - " {", - " \"alternatives\": [", - " \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"", - " ],", - " \"summary\": \"id (of commanding peer) equal to '024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605'\"", - " },", - " {", - " \"alternatives\": [", - " \"method=listpeers\"", - " ],", - " \"summary\": \"method (of command) equal to 'listpeers'\"", - " },", - " {", - " \"alternatives\": [", - " \"pnum=1\"", - " ],", - " \"summary\": \"pnum (number of command parameters) equal to 1\"", - " },", - " {", - " \"alternatives\": [", - " \"pnameid^024b9a1fa8e006f1e393\",", - " \"parr0^024b9a1fa8e006f1e393\"", - " ],", - " \"summary\": \"pnameid (object parameter 'id') starts with '024b9a1fa8e006f1e393' OR parr0 (array parameter #0) starts with '024b9a1fa8e006f1e393'\"", - " },", - " {", - " \"alternatives\": [", - " \"time<1656920538\"", - " ],", - " \"summary\": \"time (in seconds since 1970) less than 1656920538 (approximately 19 hours 18 minutes from now)\"", - " },", - " {", - " \"alternatives\": [", - " \"rate=2\"", - " ],", - " \"summary\": \"rate (max per minute) equal to 2\"", - " }", - " ],", - " \"valid\": true", - "}", - "```" - ], - "sharing_runes": [ - "Because anyone can add a restriction to a rune, you can always turn a normal rune into a read-only rune, or restrict access for 30 minutes from the time you give it to someone. Adding restrictions before sharing runes is best practice.", - "", - "If a rune has a ratelimit, any derived rune will have the same id, and thus will compete for that ratelimit. You might want to consider adding a tighter ratelimit to a rune before sharing it, so you will keep the remainder. For example, if you rune has a limit of 60 times per minute, adding a limit of 5 times per minute and handing that rune out means you can still use your original rune 55 times per minute." - ], - "example_json_request": [ - { - "id": "example:commando-rune#1", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#2", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#3", - "method": "commando-rune", - "params": [ - "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", - [ - [ - "pnamelevel!", - "pnamelevel/io" - ] - ] - ] - }, - { - "id": "example:commando-rune#4", - "method": "commando-rune", - "params": [ - "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - [ - [ - "parr1!", - "parr1/io" - ] - ] - ] - }, - { - "id": "example:commando-rune#5", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#6", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#7", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#8", - "method": "commando-rune", - "params": { - "restrictions": "readonly" - } - }, - { - "id": "example:commando-rune#9", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "time>1656675211" - ] - ] - } - }, - { - "id": "example:commando-rune#10", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "id^022d223620a359a47ff7" - ], - [ - "method=listpeers" - ] - ] - } - }, - { - "id": "example:commando-rune#11", - "method": "commando-rune", - "params": [ - "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", - [ - [ - "pnamelevel!", - "pnamelevel/io" - ] - ] - ] - }, - { - "id": "example:commando-rune#12", - "method": "commando-rune", - "params": [ - "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - [ - [ - "parr1!", - "parr1/io" - ] - ] - ] - }, - { - "id": "example:commando-rune#13", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "pnum=0" - ] - ] - } - }, - { - "id": "example:commando-rune#14", - "method": "commando-rune", - "params": [ - "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - [ - [ - "rate=3" - ] - ] - ] - }, - { - "id": "example:commando-rune#15", - "method": "commando-rune", - "params": [ - "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", - [ - [ - "rate=1" - ] - ] - ] - }, - { - "id": "example:commando-rune#16", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "method=invoice" - ], - [ - "pnamedescription=@tipjar|jb55@sendsats.lol" - ] - ] - } - }, - { - "id": "example:commando-rune#17", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "time<1708642704" - ] - ] - } - }, - { - "id": "example:commando-rune#18", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#19", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#20", - "method": "commando-rune", - "params": { - "restrictions": [ - [ - "method=pay" - ], - [ - "pnameamountmsat<10000" - ] - ] - } - }, - { - "id": "example:commando-rune#21", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#22", - "method": "commando-rune", - "params": "{}" - }, - { - "id": "example:commando-rune#23", - "method": "commando-rune", - "params": "{}" - } - ], - "example_json_response": [ - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - "unique_id": "3" - }, - { - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", - "unique_id": "3" - }, - { - "rune": "OL2cUYVGn0oasSBymy2z1S_B7AIV9-LVU895LLSkQpU9MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "unique_id": "1" - }, - { - "rune": "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=", - "unique_id": "2" - }, - { - "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", - "unique_id": "3" - }, - { - "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - "unique_id": "3" - }, - { - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", - "unique_id": "3" - }, - { - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - "unique_id": "4" - }, - { - "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", - "unique_id": "4" - }, - { - "rune": "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==", - "unique_id": "4" - }, - { - "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", - "unique_id": "5" - }, - { - "rune": "JkbxIXkt_Ig1YCInSfA0Rrjw-9eAFvppjwrWBkvfh6o9NiZ0aW1lPDE3MDg2NDI3MDQ=", - "unique_id": "6" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "unique_id": "1", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "b3hXuEM7Pqzk-C7HUw83xzvHOV7fmuGaWjdo-wHdfg89MCZtZXRob2Q9cGF5JnBuYW1lYW1vdW50bXNhdDwxMDAwMA==", - "unique_id": "0" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "unique_id": "1", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - } - ], - "author": [ - "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", - "", - "Christian Decker came up with the name \"commando\", which almost excuses his previous adoption of the name \"Eltoo\"." - ], - "see_also": [ - "lightning-commando(7)", - "lightning-decode(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-commando.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "commando", - "title": "Command to Send a Command to a Remote Peer", - "description": [ - "The **commando** RPC command is a homage to bad 80s movies. It also sends a directly-connected *peer_id* a custom message, containing a request to run *method* (with an optional dictionary of *params*); generally the peer will only allow you to run a command if it has provided you with a *rune* which allows it." - ], - "request": { - "required": [ - "peer_id", - "method" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": [ - "Peer to command." - ] - }, - "method": { - "type": "string", - "description": [ - "Method to invoke on peer." - ] - }, - "params": { - "oneOf": [ - { - "type": "array", - "description": [ - "Array of positional parameters." - ] - }, - { - "type": "object", - "description": [ - "Parameters for method." - ] - } - ] - }, - "rune": { - "type": "string", - "description": [ - "Rune to authorize the command." - ] - }, - "filter": { - "type": "object", - "description": [ - "Filter to peer to apply to any successful result." - ] - } - } - }, - "response": { - "required": [], - "properties": {}, - "pre_return_value_notes": [ - "On success, the return depends on the *method* invoked." - ] - }, - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32600: Usually means peer is not connected", - "- 19535: the local commando plugin discovered an error.", - "- 19536: the remote commando plugin discovered an error.", - "- 19537: the remote commando plugin said we weren't authorized.", - "", - "It can also fail if the peer does not respond, in which case it will simply hang awaiting a response." - ], - "example_json_request": [ - { - "id": "example:commando#1", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers" - } - }, - { - "id": "example:commando#2", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - } - }, - { - "id": "example:commando#3", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers" - } - }, - { - "id": "example:commando#4", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - } - }, - { - "id": "example:commando#5", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers", - "filter": { - "peers": [ - { - "id": true - } - ] - } - } - }, - { - "id": "example:commando#6", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - } - }, - { - "id": "example:commando#7", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "getlog", - "params": { - "level": "io" - } - } - }, - { - "id": "example:commando#8", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "invoice", - "params": { - "amount_msat": "any", - "label": "label", - "description": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "deschashonly": true - } - } - }, - { - "id": "example:commando#9", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "617Obfct0oRBj_uqGFQxDk3XZ1sDFiC2Q5ltm5z1i_k9NSZtZXRob2Q9aW52b2ljZSZwbmFtZWRlc2NyaXB0aW9uPUB0aXBqYXJcfGpiNTVAc2VuZHNhdHMubG9s", - "method": "invoice", - "params": { - "amount_msat": "any", - "label": "lbl", - "description": "@tipjar|jb55@sendsats.lol" - } - } - }, - { - "id": "example:commando#10", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "listpeers", - "params": {} - } - }, - { - "id": "example:commando#11", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "listpeers", - "params": {} - } - }, - { - "id": "example:commando#12", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "getinfo", - "params": {} - } - }, - { - "id": "example:commando#13", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "method": "getinfo", - "params": {} - } - }, - { - "id": "example:commando#14", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "JkbxIXkt_Ig1YCInSfA0Rrjw-9eAFvppjwrWBkvfh6o9NiZ0aW1lPDE3MDg2NDI3MDQ=", - "method": "getinfo", - "params": {} - } - }, - { - "id": "example:commando#15", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", - "method": "listpeers", - "params": {} - } - }, - { - "id": "example:commando#16", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - } - }, - { - "id": "example:commando#17", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": "broken" - } - } - }, - { - "id": "example:commando#18", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", - "method": "listpeers", - "params": [ - "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "broken" - ] - } - }, - { - "id": "example:commando#19", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv", - "method": "listpeers", - "params": [ - "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - ] - } - }, - { - "id": "example:commando#20", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - "method": "listpeers", - "params": [] - } - }, - { - "id": "example:commando#21", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - "method": "getinfo", - "params": {} - } - }, - { - "id": "example:commando#22", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "b3hXuEM7Pqzk-C7HUw83xzvHOV7fmuGaWjdo-wHdfg89MCZtZXRob2Q9cGF5JnBuYW1lYW1vdW50bXNhdDwxMDAwMA==", - "method": "pay", - "params": { - "bolt11": "lnbcrt1pja05v6sp5n6gnm380ckkrnhzvytz0hvym0vcf0mlrk586nlp72cq7e2hhhffspp5cwhuvl4jhlqep3st2703z89jp7j6wucm8ytlj7rk9ckk0mv7whysdq5v3jhxcmjd9c8g6t0dceqxqyjw5qcqp99qxpqysgq40udwjtktkry0yyq9408q5vtmj534h88j5nn562lamam0rtfqfu3093t2dhhc63qnqe5maa5jc9ad5pm08q2k2udvp6skw9f6ez9c9qptatlau", - "amount_msat": 9999 - } - } - }, - { - "id": "example:commando#23", - "method": "commando", - "params": { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "method": "getinfo", - "params": [] - } - } - ], - "example_json_response": [ - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:37355" - ], - "features": "08a0000a0a69a2" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:37355" - ], - "features": "08a0000a0a69a2" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:39297" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:39297" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - ] - }, - { - "totlen": 132 - }, - { - "created_at": "1708642681.950691111", - "bytes_used": 124591, - "bytes_max": 10485760, - "log": [ - { - "type": "INFO", - "time": "0.008026201", - "source": "lightningd", - "log": "v23.11-415-gd120eba" - }, - { - "type": "DEBUG", - "time": "0.204743502", - "source": "lightningd", - "log": "Opened log file -" - }, - { - "type": "DEBUG", - "time": "0.204762584", - "source": "lightningd", - "log": "Opened log file /tmp/ltests-7u_8_rtu/test_commando_1/lightning-1/log" - }, - { - "type": "DEBUG", - "time": "0.214902846", - "source": "plugin-manager", - "log": "started(2710710) /home/shahana/workspace/lightning/plugins/autoclean" - }, - { - "type": "IO_OUT", - "time": "0.215018663", - "source": "plugin-autoclean", - "log": "0", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.224323946", - "source": "plugin-manager", - "log": "started(2710712) /home/shahana/workspace/lightning/plugins/chanbackup" - }, - { - "type": "IO_OUT", - "time": "0.224437640", - "source": "plugin-chanbackup", - "log": "1", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.235248249", - "source": "plugin-manager", - "log": "started(2710714) /home/shahana/workspace/lightning/plugins/bcli" - }, - { - "type": "IO_OUT", - "time": "0.235376410", - "source": "plugin-bcli", - "log": "2", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.248429548", - "source": "plugin-manager", - "log": "started(2710717) /home/shahana/workspace/lightning/plugins/commando" - }, - { - "type": "IO_OUT", - "time": "0.248583044", - "source": "plugin-commando", - "log": "3", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.257848549", - "source": "plugin-manager", - "log": "started(2710719) /home/shahana/workspace/lightning/plugins/fetchinvoice" - }, - { - "type": "IO_OUT", - "time": "0.257951753", - "source": "plugin-fetchinvoice", - "log": "4", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.268121532", - "source": "plugin-manager", - "log": "started(2710721) /home/shahana/workspace/lightning/plugins/funder" - }, - { - "type": "IO_OUT", - "time": "0.268219515", - "source": "plugin-funder", - "log": "5", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.276920614", - "source": "plugin-manager", - "log": "started(2710723) /home/shahana/workspace/lightning/plugins/topology" - }, - { - "type": "IO_OUT", - "time": "0.277020375", - "source": "plugin-topology", - "log": "6", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.286637531", - "source": "plugin-manager", - "log": "started(2710725) /home/shahana/workspace/lightning/plugins/keysend" - }, - { - "type": "IO_OUT", - "time": "0.286759674", - "source": "plugin-keysend", - "log": "7", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.296039134", - "source": "plugin-manager", - "log": "started(2710727) /home/shahana/workspace/lightning/plugins/offers" - }, - { - "type": "IO_OUT", - "time": "0.296138435", - "source": "plugin-offers", - "log": "8", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.305721874", - "source": "plugin-manager", - "log": "started(2710729) /home/shahana/workspace/lightning/plugins/pay" - }, - { - "type": "IO_OUT", - "time": "0.305872279", - "source": "plugin-pay", - "log": "9", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.315357209", - "source": "plugin-manager", - "log": "started(2710730) /home/shahana/workspace/lightning/plugins/recover" - }, - { - "type": "IO_OUT", - "time": "0.315477892", - "source": "plugin-recover", - "log": "10", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.325627014", - "source": "plugin-manager", - "log": "started(2710733) /home/shahana/workspace/lightning/plugins/txprepare" - }, - { - "type": "IO_OUT", - "time": "0.325781426", - "source": "plugin-txprepare", - "log": "11", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.335880825", - "source": "plugin-manager", - "log": "started(2710740) /home/shahana/workspace/lightning/plugins/cln-renepay" - }, - { - "type": "IO_OUT", - "time": "0.336028546", - "source": "plugin-cln-renepay", - "log": "12", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.345501465", - "source": "plugin-manager", - "log": "started(2710745) /home/shahana/workspace/lightning/plugins/spenderp" - }, - { - "type": "IO_OUT", - "time": "0.345633036", - "source": "plugin-spenderp", - "log": "13", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.354748514", - "source": "plugin-manager", - "log": "started(2710747) /home/shahana/workspace/lightning/plugins/sql" - }, - { - "type": "IO_OUT", - "time": "0.354872242", - "source": "plugin-sql", - "log": "14", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.364197920", - "source": "plugin-manager", - "log": "started(2710750) /home/shahana/workspace/lightning/plugins/cln-grpc" - }, - { - "type": "IO_OUT", - "time": "0.364313468", - "source": "plugin-cln-grpc", - "log": "15", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.373894240", - "source": "plugin-manager", - "log": "started(2710751) /home/shahana/workspace/lightning/plugins/bookkeeper" - }, - { - "type": "IO_OUT", - "time": "0.373994746", - "source": "plugin-bookkeeper", - "log": "16", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.383655836", - "source": "plugin-manager", - "log": "started(2710758) /home/shahana/workspace/lightning/plugins/clnrest/clnrest.py" - }, - { - "type": "IO_OUT", - "time": "0.383758062", - "source": "plugin-clnrest.py", - "log": "17", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.404523651", - "source": "plugin-cln-grpc", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d65737361" - }, - { - "type": "IO_IN", - "time": "0.404647624", - "source": "plugin-autoclean", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a302c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226175746f636c65616e69" - }, - { - "type": "IO_IN", - "time": "0.404689334", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.404715885", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626974636f696e2d6461" - }, - { - "type": "IO_IN", - "time": "0.404742282", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.404765640", - "source": "plugin-fetchinvoice", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226665746368696e766f69" - }, - { - "type": "IO_IN", - "time": "0.404790420", - "source": "plugin-funder", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a352c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2266756e6465722d706f6c" - }, - { - "type": "IO_IN", - "time": "0.404812025", - "source": "plugin-topology", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a362c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.404858441", - "source": "plugin-keysend", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a372c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.404923679", - "source": "plugin-offers", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a382c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.405000091", - "source": "plugin-pay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a392c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2264697361626c652d6d70" - }, - { - "type": "IO_IN", - "time": "0.405053290", - "source": "plugin-recover", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31302c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b5d2c" - }, - { - "type": "IO_IN", - "time": "0.405116292", - "source": "plugin-txprepare", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" - }, - { - "type": "IO_IN", - "time": "0.405168904", - "source": "plugin-cln-grpc", - "log": "", - "data": "6765223a22506c7567696e206c6f6767696e6720696e697469616c697a6564227d7d0a0a7b226964223a31352c226a736f6e727063223a22322e30222c227265" - }, - { - "type": "DEBUG", - "time": "0.405241972", - "source": "plugin-cln-grpc", - "log": "Plugin logging initialized" - }, - { - "type": "IO_IN", - "time": "0.405292289", - "source": "plugin-autoclean", - "log": "", - "data": "6e766f6963652d6379636c65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506572666f726d20636c65616e7570206f6620" - }, - { - "type": "IO_IN", - "time": "0.405343034", - "source": "plugin-chanbackup", - "log": "", - "data": "616d65223a22656d657267656e63797265636f766572222c227573616765223a22222c226465736372697074696f6e223a22506f70756c617465732074686520" - }, - { - "type": "IO_IN", - "time": "0.405390612", - "source": "plugin-bcli", - "log": "", - "data": "7461646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a222d646174616469722061726720666f7220626974636f696e2d63" - }, - { - "type": "IO_IN", - "time": "0.405441770", - "source": "plugin-commando", - "log": "", - "data": "616d65223a22636f6d6d616e646f222c227573616765223a22706565725f6964206d6574686f64205b706172616d735d205b72756e655d205b66696c7465725d" - }, - { - "type": "IO_IN", - "time": "0.405490143", - "source": "plugin-fetchinvoice", - "log": "", - "data": "63652d6e6f636f6e6e656374222c2274797065223a22666c6167222c226465736372697074696f6e223a22446f6e27742074727920746f20636f6e6e65637420" - }, - { - "type": "IO_IN", - "time": "0.405538475", - "source": "plugin-funder", - "log": "", - "data": "696379222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506f6c69637920746f2075736520666f72206475616c2d66756e6469" - }, - { - "type": "IO_IN", - "time": "0.405597830", - "source": "plugin-topology", - "log": "", - "data": "616d65223a22676574726f757465222c227573616765223a22696420616d6f756e745f6d736174207269736b666163746f72205b636c74765d205b66726f6d69" - }, - { - "type": "IO_IN", - "time": "0.405646517", - "source": "plugin-keysend", - "log": "", - "data": "616d65223a226b657973656e64222c227573616765223a2264657374696e6174696f6e20616d6f756e745f6d736174205b6c6162656c5d205b6d617866656570" - }, - { - "type": "IO_IN", - "time": "0.405694964", - "source": "plugin-offers", - "log": "", - "data": "616d65223a226f66666572222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b7175616e74" - }, - { - "type": "IO_IN", - "time": "0.405776835", - "source": "plugin-pay", - "log": "", - "data": "70222c2274797065223a22666c6167222c226465736372697074696f6e223a2244697361626c65206d756c74692d70617274207061796d656e74732e222c2264" - }, - { - "type": "IO_IN", - "time": "0.405839592", - "source": "plugin-recover", - "log": "", - "data": "22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c226479" - }, - { - "type": "IO_IN", - "time": "0.405889681", - "source": "plugin-txprepare", - "log": "", - "data": "6e616d65223a22747870726570617265222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c" - }, - { - "type": "IO_IN", - "time": "0.405931497", - "source": "plugin-cln-renepay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2272656e657061792d64" - }, - { - "type": "IO_IN", - "time": "0.405953448", - "source": "plugin-spenderp", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" - }, - { - "type": "IO_IN", - "time": "0.405976755", - "source": "plugin-sql", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226465762d73716c6669" - }, - { - "type": "IO_IN", - "time": "0.405999352", - "source": "plugin-cln-grpc", - "log": "", - "data": "73756c74223a7b2264796e616d6963223a66616c73652c226665617475726562697473223a7b7d2c22686f6f6b73223a5b5d2c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d2c226f7074696f6e73223a5b7b226465736372697074696f6e223a22576869636820706f72742073686f756c6420746865206772706320706c7567696e206c697374656e20666f7220696e636f6d696e6720636f6e6e656374696f6e733f222c226e616d65223a22677270632d706f7274222c2274797065223a22696e74227d5d2c227270636d65" - }, - { - "type": "IO_IN", - "time": "0.406027196", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31362c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626f6f6b6b65657065" - }, - { - "type": "IO_IN", - "time": "0.406054953", - "source": "plugin-autoclean", - "log": "", - "data": "6578706972656420696e766f6963657320657665727920676976656e207365636f6e64732c206f7220646f206e6f74206175746f636c65616e2069662030222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f63" - }, - { - "type": "IO_IN", - "time": "0.406080433", - "source": "plugin-chanbackup", - "log": "", - "data": "444220776974682073747562206368616e6e656c73222c226c6f6e675f6465736372697074696f6e223a2272657475726e732073747562206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d2c7b226e616d65223a22726573746f726566726f6d70656572222c227573616765223a22222c226465736372" - }, - { - "type": "IO_IN", - "time": "0.406104364", - "source": "plugin-bcli", - "log": "", - "data": "6c69222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d636c69222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e2d636c6920706174686e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f69" - }, - { - "type": "IO_IN", - "time": "0.406131022", - "source": "plugin-commando", - "log": "", - "data": "222c226465736372697074696f6e223a2253656e64206120636f6d6d616e646f206d65737361676520746f20612064697265637420706565722c207761697420666f7220726573706f6e7365222c226c6f6e675f6465736372697074696f6e223a2253656e6473207b706565725f69647d207b6d6574686f647d207769746820" - }, - { - "type": "IO_IN", - "time": "0.406154383", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6469726563746c7920746f20666574636820616e20696e766f6963652e222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226665746368696e766f696365222c227573616765223a226f66666572205b616d6f756e745f6d7361745d205b7175616e746974795d205b72" - }, - { - "type": "IO_IN", - "time": "0.406184949", - "source": "plugin-funder", - "log": "", - "data": "6e672072657175657374732e205b6d617463682c20617661696c61626c652c2066697865645d222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d706f6c6963792d6d6f64222c2274797065223a22737472696e67222c226465736372697074696f6e223a2250657263656e7420746f2061" - }, - { - "type": "IO_IN", - "time": "0.406209177", - "source": "plugin-topology", - "log": "", - "data": "645d205b66757a7a70657263656e745d205b6578636c7564655d205b6d6178686f70735d222c226465736372697074696f6e223a225072696d697469766520726f75746520636f6d6d616e64222c226c6f6e675f6465736372697074696f6e223a2253686f7720726f75746520746f207b69647d20666f72207b6d7361746f73" - }, - { - "type": "IO_IN", - "time": "0.406233821", - "source": "plugin-keysend", - "log": "", - "data": "657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6578747261746c76735d205b726f75746568696e74735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e642061207061796d656e7420776974686f757420616e2069" - }, - { - "type": "IO_IN", - "time": "0.406259307", - "source": "plugin-offers", - "log": "", - "data": "6974795f6d61785d205b6162736f6c7574655f6578706972795d205b726563757272656e63655d205b726563757272656e63655f626173655d205b726563757272656e63655f70617977696e646f775d205b726563757272656e63655f6c696d69745d205b73696e676c655f7573655d205b726563757272656e63655f737461" - }, - { - "type": "IO_IN", - "time": "0.406284461", - "source": "plugin-pay", - "log": "", - "data": "796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22706179737461747573222c227573616765223a225b626f6c7431315d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f" - }, - { - "type": "IO_IN", - "time": "0.406312361", - "source": "plugin-recover", - "log": "", - "data": "6e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.406369052", - "source": "plugin-txprepare", - "log": "", - "data": "226465736372697074696f6e223a224372656174652061207472616e73616374696f6e2c2077697468206f7074696f6e20746f207370656e6420696e20667574757265202865697468657220747873656e6420616e642074786469736361726429222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e" - }, - { - "type": "IO_IN", - "time": "0.406391962", - "source": "plugin-cln-renepay", - "log": "", - "data": "656275672d6d6366222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179204d434620646562756720" - }, - { - "type": "IO_IN", - "time": "0.406461708", - "source": "plugin-spenderp", - "log": "", - "data": "6e616d65223a226d756c74697769746864726177222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f" - }, - { - "type": "IO_IN", - "time": "0.406487510", - "source": "plugin-sql", - "log": "", - "data": "6c656e616d65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22557365206f6e2d6469736b2073716c697465332066696c6520" - }, - { - "type": "IO_IN", - "time": "0.406508672", - "source": "plugin-cln-grpc", - "log": "", - "data": "74686f6473223a5b5d2c22737562736372697074696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.406587198", - "source": "plugin-bookkeeper", - "log": "", - "data": "722d646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e20666f7220626f6f6b6b6565706572207265" - }, - { - "type": "IO_IN", - "time": "0.406616970", - "source": "plugin-autoclean", - "log": "", - "data": "6c65616e696e766f6963652d657870697265642d6279222c2274797065223a22737472696e67222c226465736372697074696f6e223a224966206578706972656420696e766f696365206175746f636c65616e20656e61626c65642c20696e766f6963657320746861742068617665206578706972656420666f72206174206c65617374207468697320676976656e207365636f6e64732061726520636c65616e6564222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f636c65616e2d6379636c65222c2274797065223a22696e74222c2264" - }, - { - "type": "IO_IN", - "time": "0.406647056", - "source": "plugin-chanbackup", - "log": "", - "data": "697074696f6e223a22436865636b732069662069206861766520676f742061206261636b75702066726f6d206120706565722c20616e6420696620736f2c2077696c6c20737475622074686f7365206368616e6e656c7320696e2074686520646174616261736520616e64206966206973207375636365737366756c2c2077696c6c2072657475726e206c697374206f66206368616e6e656c7320746861742068617665206265656e207375636365737366756c6c792073747562626564222c226c6f6e675f6465736372697074696f6e223a2272657475726e206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d5d2c22737562736372" - }, - { - "type": "IO_IN", - "time": "0.406673358", - "source": "plugin-bcli", - "log": "", - "data": "6e2d72706375736572222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320757365726e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72706370617373776f7264222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e64205250432070617373776f7264222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063636f6e6e656374222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320" - }, - { - "type": "IO_IN", - "time": "0.406700034", - "source": "plugin-commando", - "log": "", - "data": "6f7074696f6e616c207b706172616d737d20616e64207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d72756e65222c227573616765223a225b72756e655d205b7265737472696374696f6e735d222c226465736372697074696f6e223a22437265617465206f7220726573747269637420612072756e65222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d2077697468206f7074696f6e616c207b7265737472696374696f6e737d20616e642072657475726e73207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d6c69737472756e6573222c227573" - }, - { - "type": "IO_IN", - "time": "0.406731491", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6563757272656e63655f636f756e7465725d205b726563757272656e63655f73746172745d205b726563757272656e63655f6c6162656c5d205b74696d656f75745d205b70617965725f6e6f74655d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220616e20696e766f69636520666f722074686973207b6f666665727d2c2077697468207b616d6f756e747d2c207b7175616e69746974797d2c207b726563757272656e63655f636f756e7465727d2c207b726563757272656e63655f73746172747d20616e64207b726563757272656e63655f6c6162656c7d206966662072657175697265642e227d" - }, - { - "type": "IO_IN", - "time": "0.406762478", - "source": "plugin-funder", - "log": "", - "data": "70706c7920706f6c69637920617420286d617463682f617661696c61626c65293b206f7220616d6f756e7420746f2066756e642028666978656429222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d696e2d74686569722d66756e64696e67222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e672070656572206d757374206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d61782d74686569722d66756e64696e67222c" - }, - { - "type": "IO_IN", - "time": "0.406789416", - "source": "plugin-topology", - "log": "", - "data": "68697d2c207573696e67207b7269736b666163746f727d20616e64206f7074696f6e616c207b636c74767d202864656661756c742039292e20496620737065636966696564207365617263682066726f6d207b66726f6d69647d206f7468657277697365207573652074686973206e6f646520617320736f757263652e2052616e646f6d697a652074686520726f757465207769746820757020746f207b66757a7a70657263656e747d202869676e6f72656429292e207b6578636c7564657d20616e206172726179206f662073686f72742d6368616e6e656c2d69642f646972656374696f6e2028652e672e205b20273536343333347838373778312f3027" - }, - { - "type": "IO_IN", - "time": "0.406815670", - "source": "plugin-keysend", - "log": "", - "data": "6e766f69636520746f2061206e6f6465222c226c6f6e675f6465736372697074696f6e223a2253656e6420616e20756e736f6c696369746564207061796d656e74206f66207b616d6f756e747d20746f207b64657374696e6174696f6e7d2c2062792070726f766964696e672074686520726563697069656e7420746865206e656365737361727920696e666f726d6174696f6e20746f20636c61696d20746865207061796d656e74227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a2268746c635f6163636570746564227d" - }, - { - "type": "IO_IN", - "time": "0.406844276", - "source": "plugin-offers", - "log": "", - "data": "72745f616e795f706572696f645d222c226465736372697074696f6e223a2243726561746520616e206f6666657220746f20616363657074206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e206f6666657220666f7220696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c207b7175616e746974795f6d696e7d2c207b7175616e746974795f6d61787d2c207b6162736f6c7574655f6578706972797d2c207b726563757272656e63657d2c207b726563757272656e" - }, - { - "type": "IO_IN", - "time": "0.406877716", - "source": "plugin-pay", - "log": "", - "data": "7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a226c69737470617973222c227573616765223a225b626f6c7431315d205b7061796d656e745f686173685d205b7374617475735d222c226465736372697074696f6e223a224c69737420726573756c74206f66207061796d656e74207b626f6c7431317d206f72207b7061796d656e745f686173687d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f76657273206f6c64207061796d656e747320286661696c656420" - }, - { - "type": "IO_IN", - "time": "0.406904658", - "source": "plugin-txprepare", - "log": "", - "data": "20756e7369676e6564207472616e73616374696f6e20706179696e67207b6f7574707574737d2077697468206f7074696f6e616c207b666565726174657d2c207b6d696e636f6e667d20616e64207b7574786f737d227d2c7b226e616d65223a22747864697363617264222c227573616765223a2274786964222c226465736372697074696f6e223a22446973636172642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a22446973636172642061207472616e73636174696f6e206279207b747869647d227d2c7b226e616d65223a22747873656e64222c227573" - }, - { - "type": "IO_IN", - "time": "0.406935905", - "source": "plugin-cln-renepay", - "log": "", - "data": "696e666f2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2272656e657061792d64656275672d706179666c6f77222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179207061796d656e7420666c6f777320646562756720696e666f2e222c22" - }, - { - "type": "IO_IN", - "time": "0.406965240", - "source": "plugin-spenderp", - "log": "", - "data": "735d222c226465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d2076696120612073696e676c6520426974636f696e207472616e73616374696f6e2e222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d20" - }, - { - "type": "IO_IN", - "time": "0.406989384", - "source": "plugin-sql", - "log": "", - "data": "696e7374656164206f6620696e206d656d6f72792028652e672e20646562756767696e6729222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2273716c222c227573616765223a227175657279222c226465736372697074696f6e223a2252756e207b71756572797d20" - }, - { - "type": "IO_IN", - "time": "0.407013750", - "source": "plugin-bookkeeper", - "log": "", - "data": "636f7264732e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626f6f6b6b65657065722d6462222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e206f662074686520626f6f6b6b6565706572206461746162617365222c2264796e616d6963223a66" - }, - { - "type": "IO_IN", - "time": "0.407045476", - "source": "plugin-autoclean", - "log": "", - "data": "65736372697074696f6e223a22506572666f726d20636c65616e757020657665727920676976656e207365636f6e6473222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c20666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c656420666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c2070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d" - }, - { - "type": "IO_IN", - "time": "0.407083064", - "source": "plugin-chanbackup", - "log": "", - "data": "697074696f6e73223a5b226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d2c7b226e616d65223a22706565725f636f6e6e6563746564227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.407297853", - "source": "plugin-bcli", - "log": "", - "data": "686f737420746f20636f6e6e65637420746f222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063706f7274222c2274797065223a22696e74222c226465736372697074696f6e223a22626974636f696e642052504320686f7374277320706f7274222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72657472792d74696d656f7574222c2274797065223a22737472696e67222c226465736372697074696f6e223a22686f77206c6f6e6720746f206b656570207265747279696e6720746f20636f6e7461637420626974636f696e64206265666f726520666174616c6c792065786974696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226465762d6e6f2d66616b652d66656573222c2274797065223a22626f6f6c222c226465736372697074696f6e223a225375707072657373206665652066616b696e6720666f722072656774657374222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22676574726177626c6f636b6279686569676874222c227573616765223a22686569676874222c226465736372697074696f6e223a224765742074686520626974636f696e20626c6f636b206174206120676976656e20686569676874222c226c6f6e" - }, - { - "type": "IO_IN", - "time": "0.407340157", - "source": "plugin-commando", - "log": "", - "data": "616765223a225b72756e655d222c226465736372697074696f6e223a224c6973742072756e657320776520686176652063726561746564206561726c696572222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d20616e642072657475726e73206c697374206f66207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d626c61636b6c697374222c227573616765223a225b73746172745d205b656e645d222c226465736372697074696f6e223a22426c61636b6c69737420612072756e65206f722072616e6765206f662072756e657320627920756e69717565206964222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b73746172747d20616e6420616e206f7074696f6e616c207b656e647d20616e642072657475726e73207b626c61636b6c6973747d20617272617920636f6e7461696e696e67207b73746172747d2c207b656e647d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f7469666963617469" - }, - { - "type": "IO_IN", - "time": "0.407380206", - "source": "plugin-fetchinvoice", - "log": "", - "data": "2c7b226e616d65223a2273656e64696e766f696365222c227573616765223a22696e76726571206c6162656c205b616d6f756e745f6d7361745d205b74696d656f75745d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220746f207061792074686973207b696e767265717d2c2077697468207b6c6162656c7d2c206f7074696f6e616c207b616d6f756e745f6d7361747d2c20616e64207b74696d656f75747d202864656661756c74203930207365636f6e6473292e227d2c7b226e616d65223a226465762d72617772657175657374222c227573616765223a22696e76726571206e6f64656964205b74696d656f75745d222c226465736372697074696f6e223a2253656e64207b696e767265717d20746f207b6e6f646569647d2c2077616974207b74696d656f75747d20283630207365636f6e64732062792064656661756c7429227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f726563765f736563726574227d2c7b226e616d65223a22696e766f6963655f7061796d656e74227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e" - }, - { - "type": "IO_IN", - "time": "0.407416271", - "source": "plugin-funder", - "log": "", - "data": "2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e672070656572206d6179206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d696e222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2049662077652063616e2774206d65657420746869732c20776520646f6e27742066756e64222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d6178222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2057652063617020616c6c20636f6e747269627574696f6e7320746f2074686973222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d726573657276652d74616e6b222c2274797065223a22737472696e67222c226465736372697074696f6e223a22416d6f756e74206f662066756e6473207765276c6c20616c77617973206c" - }, - { - "type": "IO_IN", - "time": "0.407451616", - "source": "plugin-topology", - "log": "", - "data": "2c2027353634313935783132393278302f3127205d29206f72206e6f64652d69642066726f6d20636f6e73696465726174696f6e2e2053657420746865207b6d6178686f70737d2074686520726f7574652063616e2074616b65202864656661756c74203230292e227d2c7b226e616d65223a226c6973746368616e6e656c73222c227573616765223a225b73686f72745f6368616e6e656c5f69645d205b736f757263655d205b64657374696e6174696f6e5d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206368616e6e656c7320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206368616e6e656c7320666f72207b73686f72745f6368616e6e656c5f69647d2c207b736f757263657d206f72207b64657374696e6174696f6e7d20286f7220616c6c206b6e6f776e206368616e6e656c732c206966206e6f742073706563696669656429227d2c7b226e616d65223a226c6973746e6f646573222c227573616765223a225b69645d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206e6f64657320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206e6f6465207b69647d20286f7220616c6c206b6e6f776e206e6f64732c206966206e6f" - }, - { - "type": "IO_IN", - "time": "0.407493307", - "source": "plugin-keysend", - "log": "", - "data": "5d2c226665617475726562697473223a7b22696e6974223a22222c226e6f6465223a223830303030303030303030303030222c226368616e6e656c223a22222c22696e766f696365223a22227d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.407678570", - "source": "plugin-offers", - "log": "", - "data": "63655f626173657d2c207b726563757272656e63655f70617977696e646f777d2c207b726563757272656e63655f6c696d69747d20616e64207b73696e676c655f7573657d227d2c7b226e616d65223a22696e766f69636572657175657374222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b6162736f6c7574655f6578706972795d205b73696e676c655f7573655d222c226465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2073656e64206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2070617920696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c20616e64207b6162736f6c7574655f6578706972797d227d2c7b226e616d65223a226465636f6465222c227573616765223a22737472696e67222c226465736372697074696f6e223a224465636f6465207b737472696e677d206d6573736167652c2072657475726e696e67207b747970657d20616e6420696e666f726d6174696f6e2e227d5d2c22737562736372697074696f6e73223a" - }, - { - "type": "IO_IN", - "time": "0.407729859", - "source": "plugin-pay", - "log": "", - "data": "616e64207375636365656465642920616e642063757272656e74206f6e65732e227d2c7b226e616d65223a22706179222c227573616765223a22626f6c743131205b616d6f756e745f6d7361745d205b6c6162656c5d205b7269736b666163746f725d205b6d617866656570657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6c6f63616c696e7672657169645d205b6578636c7564655d205b6d61786665655d205b6465736372697074696f6e5d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b626f6c7431317d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920746865207b626f6c7431317d20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.408055954", - "source": "plugin-txprepare", - "log": "", - "data": "616765223a2274786964222c226465736372697074696f6e223a2253656e642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a2253656e642061207472616e7361636174696f6e206279207b747869647d227d2c7b226e616d65223a227769746864726177222c227573616765223a2264657374696e6174696f6e207361746f736869205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c226465736372697074696f6e223a2253656e642066756e647320746f207b64657374696e6174696f6e7d2061646472657373222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f207b64657374696e6174696f6e7d207b7361746f7368697d20286f722027616c6c2729206174206f7074696f6e616c207b666565726174657d207573696e67207574786f732066726f6d207b6d696e636f6e667d206f72207b7574786f737d2e227d2c7b226e616d65223a227570677261646577616c6c6574222c227573616765223a225b666565726174655d205b72657365727665646f6b5d222c226465736372697074696f6e223a225370656e6420703273682077726170706564206f75747075747320696e746f2061206e617469766520736567776974206f7574707574222c226c6f6e675f646573" - }, - { - "type": "IO_IN", - "time": "0.408118481", - "source": "plugin-cln-renepay", - "log": "", - "data": "64796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2272656e65706179737461747573222c227573616765223a225b696e76737472696e675d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a2272656e65706179222c227573616765223a22696e76737472696e67205b616d6f756e745f6d7361" - }, - { - "type": "IO_IN", - "time": "0.408165604", - "source": "plugin-spenderp", - "log": "", - "data": "6174206f7074696f6e61207b666565726174657d2c207370656e64696e6720636f696e73206174206c65617374207b6d696e636f6e667d2064657074682c206f722074686520737065636966696564207b7574786f737d2e227d2c7b226e616d65223a2266756e646368616e6e656c222c227573616765223a22696420616d6f756e74205b666565726174655d205b616e6e6f756e63655d205b6d696e636f6e665d205b7574786f735d205b707573685f6d7361745d205b636c6f73655f746f5d205b726571756573745f616d745d205b636f6d706163745f6c656173655d205b6d696e64657074685d205b726573657276655d205b6368616e6e656c5f7479" - }, - { - "type": "IO_IN", - "time": "0.408206649", - "source": "plugin-sql", - "log": "", - "data": "616e642072657475726e20726573756c74222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e64206576657221227d2c7b226e616d65223a226c69737473716c736368656d6173222c227573616765223a225b7461626c655d222c226465736372697074696f6e223a22446973706c617920736368656d617320666f7220696e7465726e616c2073716c207461626c65732c206f72206a757374207b7461626c657d222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e642065" - }, - { - "type": "IO_IN", - "time": "0.408245758", - "source": "plugin-bookkeeper", - "log": "", - "data": "616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22626b70722d6c69737462616c616e636573222c227573616765223a22222c226465736372697074696f6e223a224c6973742063757272656e74206163636f756e742062616c616e636573222c226c6f6e675f6465736372697074696f6e223a224c697374206f662063757272656e74206163636f756e747320616e642074686569722062616c616e636573227d2c7b226e616d65223a22626b70722d6c6973746163636f756e746576656e7473222c227573616765223a225b6163636f756e745d222c226465736372697074696f6e223a224c69737420616c6c206576656e747320" - }, - { - "type": "IO_IN", - "time": "0.408301313", - "source": "plugin-autoclean", - "log": "", - "data": "6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c65642070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d70616964696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207061696420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d65787069726564696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206578706972656420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226175746f636c65616e696e766f696365222c227573616765223a225b6379636c655f7365636f6e64735d205b657870697265645f62795d222c226465736372697074696f6e223a22536574207570206175746f636c65616e206f66206578706972656420696e766f696365732e20222c226c6f6e675f6465736372697074696f6e223a22506572666f726d20636c65616e7570206576657279207b6379636c655f7365636f6e64737d202864656661756c742033363030292c206f722064697361626c65206175746f636c65616e20696620302e20436c65616e207570206578706972656420696e766f6963657320746861742068617665206578706972656420666f72207b657870697265645f62797d207365636f6e6473202864656661756c74203836343030292e20222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d7d2c7b226e616d65223a226175746f636c65616e2d737461747573222c227573616765223a225b73756273797374656d5d222c226465736372697074696f6e223a2253686f7720737461747573206f66206175746f636c65616e696e67222c226c6f6e675f6465736372697074696f6e223a2254616b6573206f7074696f6e616c207b73756273797374656d7d227d2c7b226e616d65223a226175746f636c65616e2d6f6e6365222c227573616765223a2273756273797374656d20616765222c226465736372697074696f6e223a22506572666f726d2061" - }, - { - "type": "IO_IN", - "time": "0.408399912", - "source": "plugin-bcli", - "log": "", - "data": "675f6465736372697074696f6e223a22227d2c7b226e616d65223a22676574636861696e696e666f222c227573616765223a226c6173745f686569676874222c226465736372697074696f6e223a224765742074686520636861696e2069642c207468652068656164657220636f756e742c2074686520626c6f636b20636f756e742c20616e6420776865746865722074686973206973204942442e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a22657374696d61746566656573222c227573616765223a22222c226465736372697074696f6e223a224765742074686520757267656e742c206e6f726d616c20616e6420736c6f7720426974636f696e206665657261746573206173207361742f6b56422e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a2273656e647261777472616e73616374696f6e222c227573616765223a22747820616c6c6f776869676866656573222c226465736372697074696f6e223a2253656e64206120726177207472616e73616374696f6e20746f2074686520426974636f696e206e6574776f726b2e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a226765747574786f7574222c227573616765223a227478696420766f7574222c226465736372697074696f6e223a2247657420696e666f726d6174696f6e2061626f757420616e206f75747075742c206964656e7469666965642062792061207b747869647d20616e2061207b766f75747d222c226c6f6e675f6465736372697074696f6e223a22227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.409041715", - "source": "plugin-commando", - "log": "", - "data": "6f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.409285439", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.409537225", - "source": "plugin-funder", - "log": "", - "data": "6561766520617661696c61626c652e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66757a7a2d70657263656e74222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e7420746f2066757a7a2074686520706f6c69637920636f6e747269627574696f6e2062792e2044656661756c747320746f2030252e204d61782069732031303025222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66756e642d70726f626162696c697479222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e74206f6620726571756573747320746f20636f6e73696465722e2044656661756c747320746f20313030252e2053657474696e6720746f2030252077696c6c2064697361626c65206475616c2d66756e64696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6c656173652d72657175657374732d6f6e6c79222c2274797065223a22626f6f6c222c226465736372697074696f6e223a224f6e6c792066756e64206c656173652072657175657374732e2044656661756c747320746f2074727565206966206368616e6e656c206c6561736520726174657320617265206265696e672061647665727469736564222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d626173652d736174222c2274797065223a22737472696e67222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20626173652066656520666f72206c65617365642066756e64732c20696e207361746f7368692e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d6261736973222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206261736973206368617267656420666f72206c65617365642066756e647320287065722031302c303030207361746f7368692e29222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d66756e64696e672d776569676874222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20776569676874207765276c6c2061736b206f70656e696e67207065657220746f2070617920666f7220696e2066756e64696e67207472616e73616374696f6e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d626173652d6d736174222c2274797065223a22737472696e67222c2264" - }, - { - "type": "IO_IN", - "time": "0.409606956", - "source": "plugin-topology", - "log": "", - "data": "742073706563696669656429227d2c7b226e616d65223a226c697374696e636f6d696e67222c227573616765223a22222c226465736372697074696f6e223a224c69737420746865206368616e6e656c7320696e636f6d696e672066726f6d206f757220646972656374207065657273222c226c6f6e675f6465736372697074696f6e223a225573656420627920696e766f69636520636f646520746f2073656c65637420706565727320666f7220726f75746568696e7473227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.409865706", - "source": "plugin-offers", - "log": "", - "data": "5b22626c6f636b5f6164646564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f72656376227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.410098614", - "source": "plugin-txprepare", - "log": "", - "data": "6372697074696f6e223a2253656e6420616c6c20703273682d77726170706564206f75747075747320746f206120626563683332206e6174697665207365677769742061646472657373227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.410380168", - "source": "plugin-cln-renepay", - "log": "", - "data": "745d205b6d61786665655d205b6d617864656c61795d205b72657472795f666f725d205b6c6f63616c6f6666657269645d205b6465736372697074696f6e5d205b6c6162656c5d205b6465765f626173655f6665655f70656e616c74795d205b6465765f70726f625f636f73745f666163746f725d205b6465765f7269736b666163746f725d205b6465765f6d696e5f70726f625f737563636573735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b696e76737472696e677d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920616e20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273656e647061795f73756363657373222c2273656e647061795f6661696c757265222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.410604156", - "source": "plugin-spenderp", - "log": "", - "data": "70655d222c226465736372697074696f6e223a2246756e64206368616e6e656c2077697468207b69647d207573696e67207b616d6f756e747d20286f722027616c6c27292c206174206f7074696f6e616c207b666565726174657d2e204f6e6c7920757365206f75747075747320746861742068617665207b6d696e636f6e667d20636f6e6669726d6174696f6e732e222c226c6f6e675f6465736372697074696f6e223a22496e69746961746965732061206368616e6e656c206f70656e2077697468206e6f646520276964272e204d75737420626520636f6e6e656374656420746f20746865206e6f646520616e64206861766520656e6f7567682066756e647320617661696c61626c652061742074686520726571756573746564206d696e696d756d20636f6e6669726d6174696f6e20646570746820286d696e636f6e6629227d2c7b226e616d65223a226d756c746966756e646368616e6e656c222c227573616765223a2264657374696e6174696f6e73205b666565726174655d205b6d696e636f6e665d205b7574786f735d205b6d696e6368616e6e656c735d205b636f6d6d69746d656e745f666565726174655d222c226465736372697074696f6e223a2246756e64206368616e6e656c7320746f207b64657374696e6174696f6e737d2c20776869636820697320616e206172726179206f66206f626a65" - }, - { - "type": "IO_IN", - "time": "0.410656013", - "source": "plugin-sql", - "log": "", - "data": "76657221227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.410862439", - "source": "plugin-bookkeeper", - "log": "", - "data": "666f7220616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f7220616e207b6163636f756e747d20286f7220616c6c206163636f756e74732c206966206e6f206163636f756e74207370656369666965642920696e207b666f726d61747d2e20536f727465642062792074696d657374616d70227d2c7b226e616d65223a22626b70722d696e7370656374222c227573616765223a226163636f756e74222c226465736372697074696f6e223a22536565207468652063757272656e74206f6e2d636861696e206772617068206f6620616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a225072696e7473206f757420746865206f6e2d636861696e20666f6f747072696e74206f66206120676976656e207b6163636f756e747d2e227d2c7b226e616d65223a22626b70722d6c697374696e636f6d65222c227573616765223a225b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a224c69737420616c6c20696e636f6d6520696d70616374696e67206576656e7473222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f722074686973206e6f646520746861" - }, - { - "type": "IO_IN", - "time": "0.410961630", - "source": "plugin-autoclean", - "log": "", - "data": "2073696e676c652072756e206f66206175746f636c65616e696e67206f6e206f6e652073756273797374656d222c226c6f6e675f6465736372697074696f6e223a225265717569726573207b73756273797374656d7d20616e64207b6167657d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.411662019", - "source": "plugin-funder", - "log": "", - "data": "65736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d206368616e6e656c206665652062617365207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d70726f706f7274696f6e616c2d74686f7573616e64746873222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d2070726f706f7274696f6e616c206665652028696e2074686f7573616e647468732c206f722070707429207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e204e6f74653a2031707074203d20312c30303070706d222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2266756e646572757064617465222c227573616765223a225b706f6c6963795d205b706f6c6963795f6d6f645d205b6c65617365735f6f6e6c795d205b6d696e5f74686569725f66756e64696e675f6d7361745d205b6d61785f74686569725f66756e64696e675f6d7361745d205b7065725f6368616e6e656c5f6d696e5f6d7361745d205b7065725f6368616e6e656c5f6d61785f6d7361745d205b726573657276655f74616e6b5f6d7361745d205b66757a7a5f70657263656e745d205b66756e645f70726f626162696c6974795d205b6c656173655f6665655f626173655f6d7361745d205b6c656173655f6665655f62617369735d205b66756e64696e675f7765696768745d205b6368616e6e656c5f6665655f6d61785f626173655f6d7361745d205b6368616e6e656c5f6665655f6d61785f70726f706f7274696f6e616c5f74686f7573616e647468735d222c226465736372697074696f6e223a22436f6e66696775726174696f6e20666f72206475616c2d66756e64696e672073657474696e67732e222c226c6f6e675f6465736372697074696f6e223a225570646174652063757272656e742073657474696e67732e204d6f64696669657320686f77206e6f64652072656163747320746f20696e636f6d696e67206368616e6e656c206f70656e2072657175657374732e20526573706f6e64732077697468206c697374206f662063757272656e7420636f6e666967732e227d5d2c22737562736372697074696f6e73223a5b226368616e6e656c5f6f70656e5f6661696c6564222c22646973636f6e6e656374222c226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f70656e6368616e6e656c32227d2c7b226e616d65223a226f70656e6368616e6e656c325f6368616e676564227d2c7b226e616d65223a226f70656e6368616e6e656c325f7369676e227d2c7b226e616d65223a227262665f6368616e6e656c227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.412597479", - "source": "plugin-spenderp", - "log": "", - "data": "63747320636f6e7461696e696e672070656572207b69647d2c207b616d6f756e747d2c20616e64206f7074696f6e616c207b616e6e6f756e63657d20616e64207b707573685f6d7361747d2e2020412073696e676c65207472616e73616374696f6e2077696c6c206265207573656420746f2066756e6420616c6c20746865206368616e6e656c732e2020557365207b666565726174657d20666f7220746865207472616e73616374696f6e2c2073656c656374206f75747075747320746861742061726520627572696564207b6d696e636f6e667d20626c6f636b7320646565702c206f722073706563696679206120736574206f66207b7574786f737d2e222c226c6f6e675f6465736372697074696f6e223a2246756e64206d756c7469706c65206368616e6e656c73206174206f6e63652e227d5d2c22737562736372697074696f6e73223a5b226f70656e6368616e6e656c5f706565725f73696773222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.412869687", - "source": "plugin-bookkeeper", - "log": "", - "data": "7420696d70616374656420696e636f6d65227d2c7b226e616d65223a22626b70722d64756d70696e636f6d65637376222c227573616765223a226373765f666f726d6174205b6373765f66696c655d205b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225072696e74206f757420616c6c2074686520696e636f6d65206576656e747320746f2061206373762066696c6520696e20207b6373765f666f726d6174222c226c6f6e675f6465736372697074696f6e223a2244756d7020696e636f6d6520737461746d656e74206461746120746f207b6373765f66696c657d20696e207b6373765f666f726d61747d2e204f7074696f6e616c6c792c207b636f6e736f6c69646174655f6665657d7320696e746f2073696e676c6520656e7472696573202864656661756c743a207472756529227d2c7b226e616d65223a22626b70722d6368616e6e656c73617079222c227573616765223a225b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225374617473206f6e206368616e6e656c2066756e64207573616765222c226c6f6e675f6465736372697074696f6e223a225072696e74206f7574207374617473206f6e206368616e656e6c2066756e64207573616765227d5d2c22737562736372697074696f6e73223a5b22636f696e5f6d6f76656d656e74222c2262616c616e63655f736e617073686f74222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.773648733", - "source": "plugin-clnrest.py", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226964223a2031372c2022726573756c74223a207b226f7074696f6e73223a205b7b226e616d65223a2022636c" - }, - { - "type": "IO_IN", - "time": "0.773717575", - "source": "plugin-clnrest.py", - "log": "", - "data": "6e726573742d6365727473222c202264656661756c74223a20222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c" - }, - { - "type": "IO_IN", - "time": "0.773762238", - "source": "plugin-clnrest.py", - "log": "", - "data": "696768746e696e672d312f72656774657374222c20226465736372697074696f6e223a20225061746820666f72206365727469666963617465732028666f7220687474707329222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c20" - }, - { - "type": "IO_IN", - "time": "0.773796337", - "source": "plugin-clnrest.py", - "log": "", - "data": "2264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d70726f746f636f6c222c202264656661756c74223a20226874747073222c20226465736372697074696f6e223a202252455354207365727665722070726f746f636f6c222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d686f7374222c202264656661756c74223a20223132372e302e302e31222c20226465736372697074696f6e223a202252455354207365727665" - }, - { - "type": "IO_IN", - "time": "0.773844037", - "source": "plugin-clnrest.py", - "log": "", - "data": "7220686f7374222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d706f7274222c20226465736372697074696f6e223a2022524553542073657276657220706f727420746f206c697374656e222c202274797065223a2022696e74222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d636f72732d6f726967696e73222c202264656661756c74223a20222a222c20226465736372697074696f6e223a202243726f7373206f726967696e207265736f757263652073686172696e67206f726967696e73222c202274797065223a2022737472696e67222c20226d756c7469223a20747275652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d637370222c202264656661756c74223a202264656661756c742d737263202773656c66273b20666f6e742d737263202773656c66273b20696d672d737263202773656c662720646174613a3b206672616d652d737263202773656c66" - }, - { - "type": "IO_IN", - "time": "0.773902645", - "source": "plugin-clnrest.py", - "log": "", - "data": "273b207374796c652d737263202773656c66272027756e736166652d696e6c696e65273b207363726970742d737263202773656c66272027756e736166652d696e6c696e65273b222c20226465736372697074696f6e223a2022436f6e74656e7420736563757269747920706f6c69637920284353502920666f722074686520736572766572222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d5d2c20227270636d6574686f6473223a205b5d2c2022737562736372697074696f6e73223a205b222a225d2c2022686f6f6b73223a205b5d2c202264796e616d6963223a20747275652c20226e6f6e6e756d65726963696473223a20747275652c20226e6f74696669636174696f6e73223a205b5d2c20226665617475726562697473223a207b7d7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.774616883", - "source": "lightningd", - "log": "io_break: check_plugins_manifests" - }, - { - "type": "DEBUG", - "time": "0.774637046", - "source": "lightningd", - "log": "io_loop_with_timers: plugins_init" - }, - { - "type": "DEBUG", - "time": "0.775612129", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_channeld" - }, - { - "type": "DEBUG", - "time": "0.776721503", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_closingd" - }, - { - "type": "DEBUG", - "time": "0.777734592", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_connectd" - }, - { - "type": "DEBUG", - "time": "0.778735969", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_gossipd" - }, - { - "type": "DEBUG", - "time": "0.779770044", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_hsmd" - }, - { - "type": "DEBUG", - "time": "0.780753096", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_onchaind" - }, - { - "type": "DEBUG", - "time": "0.781715051", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_openingd" - }, - { - "type": "DEBUG", - "time": "0.782899859", - "source": "hsmd", - "log": "pid 2710774, msgfd 54" - }, - { - "type": "DEBUG", - "time": "0.783562262", - "source": "hsmd", - "log": "capability +WIRE_HSMD_CHECK_PUBKEY" - }, - { - "type": "DEBUG", - "time": "0.783584052", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_ANY_DELAYED_PAYMENT_TO_US" - }, - { - "type": "DEBUG", - "time": "0.783595401", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_ANCHORSPEND" - }, - { - "type": "DEBUG", - "time": "0.783605306", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_HTLC_TX_MINGLE" - }, - { - "type": "DEBUG", - "time": "0.783614852", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_SPLICE_TX" - }, - { - "type": "DEBUG", - "time": "0.783624210", - "source": "hsmd", - "log": "capability +WIRE_HSMD_CHECK_OUTPOINT" - }, - { - "type": "DEBUG", - "time": "0.783633521", - "source": "hsmd", - "log": "capability +WIRE_HSMD_FORGET_CHANNEL" - }, - { - "type": "DEBUG", - "time": "0.783645496", - "source": "hsmd", - "log": "capability +WIRE_HSMD_REVOKE_COMMITMENT_TX" - }, - { - "type": "INFO", - "time": "0.784313641", - "source": "lightningd", - "log": "Creating database" - }, - { - "type": "DEBUG", - "time": "0.843400286", - "source": "connectd", - "log": "pid 2710776, msgfd 58" - }, - { - "type": "DEBUG", - "time": "0.843919589", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "DEBUG", - "time": "0.844070218", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "DEBUG", - "time": "0.844153500", - "source": "hsmd", - "log": "new_client: 0" - }, - { - "type": "DEBUG", - "time": "0.844353050", - "source": "connectd", - "log": "Created listener on 127.0.0.1:40367" - }, - { - "type": "DEBUG", - "time": "0.844420569", - "source": "connectd", - "log": "REPLY WIRE_CONNECTD_INIT_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.844477272", - "source": "lightningd", - "log": "io_break: connect_init_done" - }, - { - "type": "DEBUG", - "time": "0.844516356", - "source": "lightningd", - "log": "io_loop: connectd_init" - }, - { - "type": "IO_OUT", - "time": "0.851840790", - "source": "plugin-bcli", - "log": "\"cln:init#18\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.855642381", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233138222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "INFO", - "time": "0.855800854", - "source": "plugin-bcli", - "log": "bitcoin-cli initialized and connected to bitcoind." - }, - { - "type": "DEBUG", - "time": "0.855894887", - "source": "lightningd", - "log": "io_break: plugin_config_cb" - }, - { - "type": "DEBUG", - "time": "0.855927982", - "source": "lightningd", - "log": "io_loop_with_timers: config_plugin" - }, - { - "type": "DEBUG", - "time": "0.855954129", - "source": "lightningd", - "log": "All Bitcoin plugin commands registered" - }, - { - "type": "IO_OUT", - "time": "0.856031531", - "source": "lightningd", - "log": "\"cln:getchaininfo#19\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.856136589", - "source": "lightningd", - "log": "\"cln:estimatefees#20\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.861142683", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574636861696e696e666f233139222c22726573756c74223a7b22636861696e223a2272656774657374222c22686561646572636f756e74223a3130312c22626c6f636b636f756e74223a3130312c22696264223a66616c73657d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.861534213", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#21\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.876760224", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233231222c22726573756c74223a7b22626c6f636b68617368223a2237636131653663306462313039663132303463613437656639613738303632336665386238663463356336316364303539393566346339353836393835343333222c22626c6f636b223a22303030303030323037313639623236623833383733333661666536313265353031653031383237613438643938303237366361366537383664616139396338373439343462353338396333666230376434383632393966383837393666333536396439323139636631633762623438343436643937636563336661323666313431643738353565343862643164373635666666663766323030303030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363430306666666666666666303230306632303532613031303030303030313630303134633634633831303737393032346165643230656134343665336634663236636163363661656433363030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.877124398", - "source": "lightningd", - "log": "Adding block 100: 7ca1e6c0db109f1204ca47ef9a780623fe8b8f4c5c61cd05995f4c9586985433" - }, - { - "type": "IO_IN", - "time": "0.881999971", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a657374696d61746566656573233230222c22726573756c74223a7b226665657261746573223a5b7b22626c6f636b73223a322c2266656572617465223a36303030307d2c7b22626c6f636b73223a362c2266656572617465223a34343030307d2c7b22626c6f636b73223a31322c2266656572617465223a33303030307d2c7b22626c6f636b73223a3130302c2266656572617465223a31353030307d5d2c22666565726174655f666c6f6f72223a313030307d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.882166527", - "source": "lightningd", - "log": "io_break: maybe_completed_init" - }, - { - "type": "DEBUG", - "time": "0.882215382", - "source": "lightningd", - "log": "io_loop_with_timers: setup_topology" - }, - { - "type": "DEBUG", - "time": "0.882528957", - "source": "wallet", - "log": "Loaded 0 channels from DB" - }, - { - "type": "DEBUG", - "time": "0.884127718", - "source": "gossipd", - "log": "pid 2710796, msgfd 57" - }, - { - "type": "DEBUG", - "time": "0.884380219", - "source": "hsmd", - "log": "new_client: 0" - }, - { - "type": "DEBUG", - "time": "0.885181127", - "source": "gossipd", - "log": "Store compact time: 0 msec" - }, - { - "type": "DEBUG", - "time": "0.885322156", - "source": "gossipd", - "log": "gossip_store: Read 0/0/0/0 cannounce/cupdate/nannounce/delete from store in 0 bytes, now 1 bytes (populated=false)" - }, - { - "type": "DEBUG", - "time": "0.885452713", - "source": "gossipd", - "log": "seeker: state = STARTING_UP New seeker" - }, - { - "type": "DEBUG", - "time": "0.885545421", - "source": "gossipd", - "log": "REPLY WIRE_GOSSIPD_INIT_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.885612954", - "source": "lightningd", - "log": "io_break: gossipd_init_done" - }, - { - "type": "DEBUG", - "time": "0.885671304", - "source": "lightningd", - "log": "io_loop: gossip_init" - }, - { - "type": "IO_OUT", - "time": "0.885852556", - "source": "plugin-autoclean", - "log": "\"cln:init#22\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.885979586", - "source": "plugin-chanbackup", - "log": "\"cln:init#23\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886040896", - "source": "plugin-commando", - "log": "\"cln:init#24\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886104839", - "source": "plugin-fetchinvoice", - "log": "\"cln:init#25\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886163916", - "source": "plugin-funder", - "log": "\"cln:init#26\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886309028", - "source": "plugin-topology", - "log": "\"cln:init#27\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886429051", - "source": "plugin-keysend", - "log": "\"cln:init#28\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886570691", - "source": "plugin-offers", - "log": "\"cln:init#29\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886693412", - "source": "plugin-pay", - "log": "\"cln:init#30\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886821264", - "source": "plugin-recover", - "log": "\"cln:init#31\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.886921195", - "source": "plugin-txprepare", - "log": "\"cln:init#32\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887005400", - "source": "plugin-cln-renepay", - "log": "\"cln:init#33\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887064070", - "source": "plugin-spenderp", - "log": "\"cln:init#34\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887114341", - "source": "plugin-sql", - "log": "\"cln:init#35\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887172034", - "source": "plugin-cln-grpc", - "log": "\"cln:init#36\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887231196", - "source": "plugin-bookkeeper", - "log": "\"cln:init#37\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.887284254", - "source": "plugin-clnrest.py", - "log": "\"cln:init#38\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.888163653", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c226d6574686f64223a" - }, - { - "type": "IO_IN", - "time": "0.888486498", - "source": "jsonrpc#56", - "log": "", - "data": "226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c22737563636565646564666f72776172647322" - }, - { - "type": "IO_IN", - "time": "0.888594650", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c226d6574686f64223a22676574696e66" - }, - { - "type": "IO_IN", - "time": "0.888694428", - "source": "plugin-cln-grpc", - "log": "", - "data": "7b226964223a22636c6e3a696e6974233336222c226a736f6e727063223a22322e30222c22726573756c74223a7b2264697361626c65223a224d697373696e672027677270632d706f727427206f7074696f6e227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.888933084", - "source": "plugin-cln-grpc", - "log": "Killing plugin: disabled itself at init: Missing 'grpc-port' option" - }, - { - "type": "IO_IN", - "time": "0.889016698", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c226d6574686f64223a22676574696e666f" - }, - { - "type": "IO_IN", - "time": "0.889061293", - "source": "plugin-clnrest.py", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226964223a2022636c6e3a696e6974233338222c2022726573756c74223a207b2264697361626c65223a202260636c6e726573742d706f727460206f7074696f6e206973206e6f7420636f6e66696775726564227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.889190582", - "source": "plugin-clnrest.py", - "log": "Killing plugin: disabled itself at init: `clnrest-port` option is not configured" - }, - { - "type": "IO_IN", - "time": "0.889324051", - "source": "jsonrpc#56", - "log": "", - "data": "2c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.889396883", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#0\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.889589085", - "source": "lightningd", - "log": "Looking for [autoclean,succeededforwards,num]" - }, - { - "type": "IO_OUT", - "time": "0.889787976", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.889887810", - "source": "jsonrpc#59", - "log": "", - "data": "6f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.889988346", - "source": "jsonrpc#59", - "log": "\"init/topology:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.890433226", - "source": "jsonrpc#60", - "log": "", - "data": "222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.890534861", - "source": "jsonrpc#60", - "log": "\"init/recover:getinfo#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.891036455", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.891125681", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.891335420", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c6564666f727761726473222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.891415324", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#1\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.891606071", - "source": "lightningd", - "log": "Looking for [autoclean,failedforwards,num]" - }, - { - "type": "IO_IN", - "time": "0.891771953", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c226d6574686f64223a22676574696e666f222c2270" - }, - { - "type": "IO_OUT", - "time": "0.891859225", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.891954876", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" - }, - { - "type": "IO_IN", - "time": "0.892040593", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_IN", - "time": "0.892304613", - "source": "jsonrpc#39", - "log": "", - "data": "6172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.892424449", - "source": "jsonrpc#39", - "log": "\"init/pay:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.893007832", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c226d6574686f64223a2267657469" - }, - { - "type": "IO_OUT", - "time": "0.893063773", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.893212506", - "source": "jsonrpc#59", - "log": "", - "data": "72227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.893284546", - "source": "jsonrpc#59", - "log": "\"init/topology:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.893596284", - "source": "jsonrpc#60", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.893681912", - "source": "jsonrpc#60", - "log": "\"init/recover:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.893991269", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2273756363656564656470617973222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.894053906", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#2\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.894200087", - "source": "lightningd", - "log": "Looking for [autoclean,succeededpays,num]" - }, - { - "type": "IO_IN", - "time": "0.894495889", - "source": "jsonrpc#40", - "log": "", - "data": "6e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.894593308", - "source": "jsonrpc#40", - "log": "\"init/chanbackup:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.894870160", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c226d6574686f64223a22676574696e666f22" - }, - { - "type": "IO_OUT", - "time": "0.894915611", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.894989596", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.895018360", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.895049801", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.895323064", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.895432434", - "source": "jsonrpc#39", - "log": "\"init/pay:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.898551667", - "source": "jsonrpc#43", - "log": "", - "data": "2c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.898599491", - "source": "jsonrpc#43", - "log": "\"init/offers:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.898787946", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c226d6574686f64223a226765" - }, - { - "type": "IO_OUT", - "time": "0.898840481", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.898896391", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.899242768", - "source": "plugin-topology", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233237222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.899340718", - "source": "plugin-recover", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a225265636f76657220506c7567696e20496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22476f73736d6170206c6f6164656421227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233331222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.899387923", - "source": "plugin-recover", - "log": "Recover Plugin Initialised!" - }, - { - "type": "DEBUG", - "time": "0.899418899", - "source": "plugin-recover", - "log": "Gossmap loaded!" - }, - { - "type": "IO_IN", - "time": "0.899543395", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c656470617973222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.899592781", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#3\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.899701616", - "source": "lightningd", - "log": "Looking for [autoclean,failedpays,num]" - }, - { - "type": "IO_IN", - "time": "0.899835997", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c226d6574686f64223a227374617469636261636b7570222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.899879475", - "source": "jsonrpc#40", - "log": "\"init/chanbackup:staticbackup#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.899968948", - "source": "jsonrpc#44", - "log": "", - "data": "74696e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.900005975", - "source": "jsonrpc#44", - "log": "\"init/fetchinvoice:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.900171293", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c226d6574686f64223a226c69" - }, - { - "type": "IO_OUT", - "time": "0.900203146", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.900246738", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c22726573756c74223a7b22736362223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.900267439", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.900360947", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a" - }, - { - "type": "IO_IN", - "time": "0.900413061", - "source": "jsonrpc#39", - "log": "\"init/pay:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.900544425", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.900583675", - "source": "jsonrpc#43", - "log": "\"init/offers:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.902733533", - "source": "jsonrpc#61", - "log": "", - "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_IN", - "time": "0.902764463", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c226d6574686f64223a226c697374" - }, - { - "type": "IO_OUT", - "time": "0.902787505", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.903030104", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.903174516", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2270616964696e766f69636573222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.903243008", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#4\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.903346153", - "source": "lightningd", - "log": "Looking for [autoclean,paidinvoices,num]" - }, - { - "type": "IO_IN", - "time": "0.903450267", - "source": "jsonrpc#39", - "log": "", - "data": "0a" - }, - { - "type": "IO_IN", - "time": "0.903484539", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22686578223a223733363336323230373336353633373236353734227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.903528008", - "source": "jsonrpc#40", - "log": "\"init/chanbackup:makesecret#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.903866632", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a226578706572696d656e74616c2d6f6666657273227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.903962513", - "source": "jsonrpc#44", - "log": "\"init/fetchinvoice:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.904118675", - "source": "jsonrpc#61", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.904165437", - "source": "jsonrpc#61", - "log": "\"init/commando:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.904297461", - "source": "jsonrpc#62", - "log": "", - "data": "636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.904337629", - "source": "jsonrpc#62", - "log": "\"init/funder:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.906410574", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c226d6574686f64223a22676574696e666f" - }, - { - "type": "IO_OUT", - "time": "0.906442195", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.906692310", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.906717491", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.906746496", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2261396132653734323430356332386630353933343931333239323361393933333761653766373131363862373438353439366533333635663562633636346564227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.906774339", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.906879321", - "source": "plugin-pay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233330222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.907027513", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22737472696e67223a22626f6c7431322d696e766f6963652d62617365227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.907069654", - "source": "jsonrpc#43", - "log": "\"init/offers:makesecret#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.907325278", - "source": "jsonrpc#63", - "log": "", - "data": "222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.907441796", - "source": "jsonrpc#63", - "log": "\"init/keysend:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.907643339", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c226d6574686f64223a226c697374636f6e" - }, - { - "type": "IO_OUT", - "time": "0.907669657", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.907714934", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2262633033373064343038643361643934353233643566396463363964653633323365303962373665633165393064356338613032323631393234346365316565227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.907749540", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233234222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.907828310", - "source": "plugin-fetchinvoice", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233235222c22726573756c74223a7b2264697361626c65223a226f6666657273206e6f7420656e61626c656420696e20636f6e666967227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.907883837", - "source": "plugin-fetchinvoice", - "log": "Killing plugin: disabled itself at init: offers not enabled in config" - }, - { - "type": "IO_IN", - "time": "0.907960792", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c226d6574686f64223a226c69" - }, - { - "type": "IO_IN", - "time": "0.908049818", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2265787069726564696e766f69636573222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.908114795", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listdatastore#5\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.908227354", - "source": "lightningd", - "log": "Looking for [autoclean,expiredinvoices,num]" - }, - { - "type": "DEBUG", - "time": "0.908341318", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "IO_IN", - "time": "0.908370976", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_OUT", - "time": "0.908408309", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.908443802", - "source": "jsonrpc#64", - "log": "", - "data": "66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.908484731", - "source": "jsonrpc#64", - "log": "\"init/sql:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.908606162", - "source": "jsonrpc#65", - "log": "", - "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_IN", - "time": "0.908702545", - "source": "jsonrpc#62", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.908741212", - "source": "jsonrpc#62", - "log": "\"init/funder:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.908879924", - "source": "jsonrpc#17", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c226d6574686f64223a226c" - }, - { - "type": "IO_OUT", - "time": "0.908906439", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.908932049", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.908983586", - "source": "jsonrpc#65", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.909027544", - "source": "jsonrpc#65", - "log": "\"init/spenderp:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.909237783", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c226d6574686f64223a226261746368696e67222c22706172616d73223a7b22656e61626c65223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.909284897", - "source": "jsonrpc#56", - "log": "\"init/autoclean:batching#6\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.909499591", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "IO_IN", - "time": "0.909548046", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75" - }, - { - "type": "IO_IN", - "time": "0.909615629", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_IN", - "time": "0.909683276", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c226d6574686f64223a22676574" - }, - { - "type": "IO_IN", - "time": "0.909756113", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.909811952", - "source": "jsonrpc#63", - "log": "\"init/keysend:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.911660556", - "source": "jsonrpc#17", - "log": "", - "data": "697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_OUT", - "time": "0.911688175", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.911914623", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.911937109", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912042354", - "source": "plugin-funder", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233236222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912138805", - "source": "plugin-sql", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233335222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912248607", - "source": "jsonrpc#40", - "log": "", - "data": "736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912286664", - "source": "jsonrpc#40", - "log": "\"init/chanbackup:listconfigs#3\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.912417725", - "source": "jsonrpc#43", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912454626", - "source": "jsonrpc#43", - "log": "\"init/offers:listconfigs#3\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.912575829", - "source": "jsonrpc#18", - "log": "", - "data": "696e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912621467", - "source": "jsonrpc#18", - "log": "\"init/cln-renepay:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.912823134", - "source": "jsonrpc#17", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.912864270", - "source": "jsonrpc#17", - "log": "\"init/txprepare:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.912984885", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c226d6574686f64223a22" - }, - { - "type": "IO_OUT", - "time": "0.913008758", - "source": "jsonrpc#17", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.913031243", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.913076325", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.913099189", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.913148307", - "source": "plugin-spenderp", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233334222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.913215986", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.913256060", - "source": "jsonrpc#56", - "log": "\"init/autoclean:listconfigs#7\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.913389861", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_IN", - "time": "0.913443337", - "source": "jsonrpc#44", - "log": "", - "data": "6c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" - }, - { - "type": "IO_OUT", - "time": "0.913481696", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.913537256", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a224368616e6261636b757020496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e6720456d657267656e6379205265636f76657279227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233233222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.913643398", - "source": "plugin-chanbackup", - "log": "Chanbackup Initialised!" - }, - { - "type": "INFO", - "time": "0.913702526", - "source": "plugin-chanbackup", - "log": "Creating Emergency Recovery" - }, - { - "type": "IO_IN", - "time": "0.913819751", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.913893003", - "source": "jsonrpc#18", - "log": "\"init/cln-renepay:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.915741775", - "source": "jsonrpc#63", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.915783713", - "source": "jsonrpc#63", - "log": "\"init/keysend:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.915910799", - "source": "jsonrpc#44", - "log": "", - "data": "72227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.915948712", - "source": "jsonrpc#44", - "log": "\"init/bookkeeper:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.916065533", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.916090228", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.916112918", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.916416163", - "source": "plugin-autoclean", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233232222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.916508687", - "source": "plugin-offers", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233239222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.916567589", - "source": "plugin-txprepare", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233332222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.916814527", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a2253657474696e672075702064617461626173652061742073716c697465333a2f2f6163636f756e74732e73716c69746533227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e67206461746162617365227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233337222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.916903032", - "source": "plugin-bookkeeper", - "log": "Setting up database at sqlite3://accounts.sqlite3" - }, - { - "type": "INFO", - "time": "0.916960635", - "source": "plugin-bookkeeper", - "log": "Creating database" - }, - { - "type": "IO_IN", - "time": "0.917065374", - "source": "plugin-keysend", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233238222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.917129987", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d" - }, - { - "type": "IO_IN", - "time": "0.917165247", - "source": "jsonrpc#18", - "log": "", - "data": "75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.917209318", - "source": "jsonrpc#18", - "log": "\"init/cln-renepay:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.917336312", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.917603296", - "source": "plugin-cln-renepay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233333222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.918042485", - "source": "connectd", - "log": "REPLY WIRE_CONNECTD_ACTIVATE_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.918073921", - "source": "lightningd", - "log": "io_break: connect_activate_done" - }, - { - "type": "DEBUG", - "time": "0.918094891", - "source": "lightningd", - "log": "io_loop: connectd_activate" - }, - { - "type": "INFO", - "time": "0.918269132", - "source": "lightningd", - "log": "--------------------------------------------------" - }, - { - "type": "INFO", - "time": "0.918296625", - "source": "lightningd", - "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" - }, - { - "type": "IO_OUT", - "time": "0.918365320", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#39\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.925436939", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233339222c22726573756c74223a7b22626c6f636b68617368223a2237323861333663366238373466383864386235373639656134343665333331376530646539333034336566353436313635363034666231366465333636313861222c22626c6f636b223a22303030303030323033333534393838363935346335663939303563643631356334633866386266653233303637383961656634376361303431323966313064626330653661313763653762326665656631306130353031333536656134343963383562653130346563393439633638383037356530656336633233373964643833363133303162653862643164373635666666663766323030313030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363530306666666666666666303230306632303532613031303030303030313630303134633634633831303737393032346165643230656134343665336634663236636163363661656433363030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.925786237", - "source": "lightningd", - "log": "Adding block 101: 728a36c6b874f88d8b5769ea446e3317e0de93043ef546165604fb16de36618a" - }, - { - "type": "IO_OUT", - "time": "0.926181253", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#40\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.932547787", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233430222c22726573756c74223a7b22626c6f636b68617368223a6e756c6c2c22626c6f636b223a6e756c6c7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.934380742", - "source": "gossipd", - "log": "REPLY WIRE_GOSSIPD_NEW_BLOCKHEIGHT_REPLY with 0 fds" - }, - { - "type": "IO_IN", - "time": "0.936279900", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a226163636f756e742077616c6c6574206861732062616c616e636520306d736174227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22536e617073686f742062616c616e6365732075706461746564227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.936351058", - "source": "plugin-bookkeeper", - "log": "account wallet has balance 0msat" - }, - { - "type": "INFO", - "time": "0.936383697", - "source": "plugin-bookkeeper", - "log": "account wallet not found, adding" - }, - { - "type": "DEBUG", - "time": "0.936409736", - "source": "plugin-bookkeeper", - "log": "Snapshot balances updated" - }, - { - "type": "IO_IN", - "time": "0.992999235", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a205b22676574696e666f225d2c20226964" - }, - { - "type": "IO_IN", - "time": "0.993101695", - "source": "jsonrpc#66", - "log": "", - "data": "223a20227079746573743a636865636b2331227d" - }, - { - "type": "IO_IN", - "time": "0.993204046", - "source": "jsonrpc#66", - "log": "\"pytest:check#1\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.993427970", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2331222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22676574696e666f227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.993885736", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022676574696e666f222c2022706172616d73223a207b7d2c20226964223a2022707974" - }, - { - "type": "IO_IN", - "time": "0.993976972", - "source": "jsonrpc#66", - "log": "", - "data": "6573743a676574696e666f2332227d" - }, - { - "type": "IO_IN", - "time": "0.994065685", - "source": "jsonrpc#66", - "log": "\"pytest:getinfo#2\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.994488302", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a676574696e666f2332222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130312c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.004177303", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b226964223a20223032326432323336" - }, - { - "type": "IO_IN", - "time": "1.004314397", - "source": "jsonrpc#66", - "log": "", - "data": "32306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2022686f" - }, - { - "type": "IO_IN", - "time": "1.004417923", - "source": "jsonrpc#66", - "log": "", - "data": "7374223a20226c6f63616c686f7374222c2022706f7274223a2033393239372c2022636f6d6d616e645f746f5f636865636b223a2022636f6e6e656374227d2c20226964223a20227079746573743a636865636b2333227d" - }, - { - "type": "IO_IN", - "time": "1.004561538", - "source": "jsonrpc#66", - "log": "\"pytest:check#3\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.005107515", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2333222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22636f6e6e656374227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.005710858", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636f6e6e656374222c2022706172616d73223a207b226964223a2022303232643232" - }, - { - "type": "IO_IN", - "time": "1.005920597", - "source": "jsonrpc#66", - "log": "", - "data": "333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2022" - }, - { - "type": "IO_IN", - "time": "1.006064842", - "source": "jsonrpc#66", - "log": "", - "data": "686f7374223a20226c6f63616c686f7374222c2022706f7274223a2033393239377d2c20226964223a20227079746573743a636f6e6e6563742334227d" - }, - { - "type": "IO_IN", - "time": "1.006246597", - "source": "jsonrpc#66", - "log": "\"pytest:connect#4\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "1.007473548", - "source": "gossipd", - "log": "REPLY WIRE_GOSSIPD_GET_ADDRS_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "1.009183894", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "Connected out, starting crypto" - }, - { - "type": "DEBUG", - "time": "1.012164428", - "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "source": "hsmd", - "log": "Got WIRE_HSMD_ECDH_REQ" - }, - { - "type": "DEBUG", - "time": "1.012576931", - "source": "hsmd", - "log": "Client: Received message 1 from client" - }, - { - "type": "DEBUG", - "time": "1.012966175", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "Connect OUT" - }, - { - "type": "IO_OUT", - "time": "1.013278715", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "001000021100000708a0000a8a5961012006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f" - }, - { - "type": "IO_IN", - "time": "1.014914818", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "001000021100000708a0000a8a5961012006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0307017f000001be50" - }, - { - "type": "DEBUG", - "time": "1.015836225", - "source": "lightningd", - "log": "Calling peer_connected hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.016100970", - "source": "plugin-chanbackup", - "log": "\"pytest:connect#4/cln:peer_connected#41\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "1.016525175", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "Handed peer, entering loop" - }, - { - "type": "DEBUG", - "time": "1.016747789", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "gossipd", - "log": "seeker: chosen as startup peer" - }, - { - "type": "IO_IN", - "time": "1.016903158", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6e6e65637423342f636c6e3a706565725f636f6e6e6563746564233431222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.017193773", - "source": "lightningd", - "log": "Plugin chanbackup returned from peer_connected hook call" - }, - { - "type": "IO_OUT", - "time": "1.017685668", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6e6e6563742334222c22726573756c74223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226665617475726573223a223038613030303061386135393631222c22646972656374696f6e223a226f7574222c2261646472657373223a7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33393239377d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.018071563", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "010906226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00000000ffffffff" - }, - { - "type": "DEBUG", - "time": "1.018344790", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "gossipd", - "log": "seeker: starting gossip (EVERTHING)" - }, - { - "type": "IO_IN", - "time": "1.018677717", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "010906226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00000000ffffffff" - }, - { - "type": "IO_IN", - "time": "1.021293860", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b22636f6d6d616e645f746f5f636865" - }, - { - "type": "IO_IN", - "time": "1.021493068", - "source": "jsonrpc#66", - "log": "", - "data": "636b223a2022636f6d6d616e646f2d72756e65227d2c20226964223a20227079746573743a636865636b2335227d" - }, - { - "type": "IO_IN", - "time": "1.021701386", - "source": "jsonrpc#66", - "log": "\"pytest:check#5\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.022267279", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2335222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22636f6d6d616e646f2d72756e65227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.023122768", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636f6d6d616e646f2d72756e65222c2022706172616d73223a207b7d2c2022696422" - }, - { - "type": "IO_IN", - "time": "1.023312029", - "source": "jsonrpc#66", - "log": "", - "data": "3a20227079746573743a636f6d6d616e646f2d72756e652336227d" - }, - { - "type": "IO_IN", - "time": "1.023507661", - "source": "jsonrpc#66", - "log": "\"pytest:commando-rune#6\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.024046387", - "source": "plugin-commando", - "log": "\"pytest:commando-rune#6/cln:commando-rune#42\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.025073948", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e652334322f636f6d6d616e646f3a63726561746572756e652331222c226d6574686f64223a2263726561746572756e65222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.025346436", - "source": "jsonrpc#61", - "log": "\"pytest:commando-rune#6/cln:commando-rune#42/commando:createrune#1\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.029167075", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e652334322f636f6d6d616e646f3a63726561746572756e652331222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.030190971", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e65233432222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.030733449", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e652336222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.040965643", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f5f810a475ab5d3f67b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23342f636c6e3a636f6d6d616e646f233432222c22706172616d73223a7b7d2c2272756e65223a225658593441416b7250794832767a53764f486e49375044566653364f30346252514c55434955464a443559394e6a516d625756306147396b50576c75646d39705932556d636d46305a5430794d5a3d3d227d" - }, - { - "type": "DEBUG", - "time": "1.041668514", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.041926016", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#43\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.042712027", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233433222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.043062860", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.043134427", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.043341942", - "source": "plugin-commando", - "log": "\"cln:custommsg#44\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.046312543", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233434222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.046930065", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.047133993", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652332222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a225658593441416b7250794832767a53764f486e49375044566653364f30346252514c55434955464a443559394e6a516d625756306147396b50576c75646d39705932556d636d46305a5430794d5a3d3d222c226d6574686f64223a22" - }, - { - "type": "IO_IN", - "time": "1.047336335", - "source": "jsonrpc#61", - "log": "", - "data": "6c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.047532032", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#2\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.049254175", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652332222c226572726f72223a7b22636f6465223a313530312c226d657373616765223a224e6f7420617574686f72697a65643a204e6f7420646572697665642066726f6d206d6173746572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.050040119", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672333222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346435663831306134373561623564336636376232323635373237323666373232323361376232323633366636343635323233613331333933353333333732633232366436353733373336313637363532323361323234393665373636313663363936343230373237353665363533613230346536663734323036313735373436383666373236393761363536343361323034653666373432303634363537323639373636353634323036363732366636643230366436313733373436353732323237643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.050396158", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#3\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.051022304", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672333222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.051932489", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594d5f810a475ab5d3f67b226572726f72223a7b22636f6465223a31393533372c226d657373616765223a22496e76616c69642072756e653a204e6f7420617574686f72697a65643a204e6f7420646572697665642066726f6d206d6173746572227d7d" - }, - { - "type": "IO_IN", - "time": "1.065257049", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f708a72d954606f2c7b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f233435222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.065965691", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.066195575", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#45\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.066873858", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233435222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.067221272", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.067292581", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.067501602", - "source": "plugin-commando", - "log": "\"cln:custommsg#46\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.069007116", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233436222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.069357275", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.069495963", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652334222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.069715532", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#4\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.073936876", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652334222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.074717312", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f2334352f636f6d6d616e646f3a6c69737470656572732335222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.075008983", - "source": "jsonrpc#61", - "log": "\"pytest:commando#6/cln:commando#45/commando:listpeers#5\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.075515296", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f2334352f636f6d6d616e646f3a6c69737470656572732335222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.076286178", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672336222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a2235393464373038613732643935343630366632633762323236613733366636653732373036333232336132323332326533303232326332323639363432323361323237303739373436353733373433613633366636643664363136653634366632333336326636333663366533613633366636643664363136653634366632333334333532323263323237323635373337353663373432323361376232323730363536353732373332323361356237623232363936343232336132323330333233323634333233323333333633323330363133333335333936313334333736363636333736363337363136333334333433373633333833353633333433363633333933323333363436313335333333333338333933323332333136313330333033353334363333313331363333313635333336333631333333313634333533393232326332323633366636653665363536333734" - }, - { - "type": "IO_IN", - "time": "1.076583692", - "source": "jsonrpc#61", - "log": "", - "data": "363536343232336137343732373536353263323236653735366435663633363836313665366536353663373332323361333032633232366536353734363136343634373232323361356232323331333233373265333032653330326533313361333333393332333933373232356432633232363636353631373437353732363537333232336132323330333836313330333033303330363133383631333533393336333132323764356437643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.076848396", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#6\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.077479561", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672336222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.078478377", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594d708a72d954606f2c7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f233435222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d" - }, - { - "type": "IO_IN", - "time": "1.097930749", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f1348e2e394aa9e867b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f233438222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.098748039", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.099020418", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#47\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.099748674", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233437222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.100097324", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.100169604", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.100378204", - "source": "plugin-commando", - "log": "\"cln:custommsg#48\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.103388293", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233438222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.103743584", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.103888546", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652337222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.104129164", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#7\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.108099832", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652337222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.108859660", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f2334382f636f6d6d616e646f3a6c69737470656572732338222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.109177488", - "source": "jsonrpc#61", - "log": "\"pytest:commando#8/cln:commando#48/commando:listpeers#8\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.109969214", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f2334382f636f6d6d616e646f3a6c69737470656572732338222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.111103499", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672339222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a2235393464313334386532653339346161396538363762323236613733366636653732373036333232336132323332326533303232326332323639363432323361323237303739373436353733373433613633366636643664363136653634366632333338326636333663366533613633366636643664363136653634366632333334333832323263323237323635373337353663373432323361376232323730363536353732373332323361356237623232363936343232336132323330333233323634333233323333333633323330363133333335333936313334333736363636333736363337363136333334333433373633333833353633333433363633333933323333363436313335333333333338333933323332333136313330333033353334363333313331363333313635333336333631333333313634333533393232326332323633366636653665363536333734363536343232336137343732373536353263323236653735366435663633363836313665366536353663373332323361333032633232366536353734363136343634373232323361356232323331333233373265333032653330326533313361333333393332333933373232356432633232363636353631373437353732363537333232336132323330333836313330333033303330363133383631333533393336333132323764356437643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.111711847", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#9\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.112773210", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672339222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.113794787", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594d1348e2e394aa9e867b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f233438222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d" - }, - { - "type": "IO_IN", - "time": "1.128315634", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4fa7d18d8e67ef80037b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f233531222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c2266696c746572223a7b227065657273223a205b7b226964223a20747275657d5d7d7d" - }, - { - "type": "DEBUG", - "time": "1.129209002", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.129496339", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#49\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.130294213", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233439222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.130694513", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.130774619", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.130986881", - "source": "plugin-commando", - "log": "\"cln:custommsg#50\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.132510034", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233530222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.132874508", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.133020538", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233130222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.133253904", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#10\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.137048161", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233130222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.137808937", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f2335312f636f6d6d616e646f3a6c6973747065657273233131222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d2c2266696c746572223a7b227065657273223a205b7b226964223a20747275657d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.138243692", - "source": "jsonrpc#61", - "log": "\"pytest:commando#10/cln:commando#51/commando:listpeers#11\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.138785218", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f2335312f636f6d6d616e646f3a6c6973747065657273233131222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.139561738", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233132222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346461376431386438653637656638303033376232323661373336663665373237303633323233613232333232653330323232633232363936343232336132323730373937343635373337343361363336663664366436313665363436663233333133303266363336633665336136333666366436643631366536343666323333353331323232633232373236353733373536633734323233613762323237303635363537323733323233613562376232323639363432323361323233303332333236343332333233333336333233303631333333353339363133343337363636363337363633373631363333343334333736333338333536333334333636333339333233333634363133353333333333383339333233323331363133303330333533343633333133313633333136353333363336313333333136343335333932323764356437643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.139933310", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#12\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.140724938", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233132222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.141705291", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594da7d18d8e67ef80037b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f233531222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d5d7d7d" - }, - { - "type": "IO_IN", - "time": "1.156985594", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f32aaf1ae0d2c97137b226d6574686f64223a227769746864726177222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f233534222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.158150116", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.158442735", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#51\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.159161150", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233531222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.159514237", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.159586788", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.159831508", - "source": "plugin-commando", - "log": "\"cln:custommsg#52\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.161814755", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233532222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.162173124", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.162314136", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233133222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a227769746864726177222c22706172616d73223a7b7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.162536928", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#13\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.166452524", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233133222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.167198007", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a7769746864726177233134222c226d6574686f64223a227769746864726177222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.167483435", - "source": "jsonrpc#61", - "log": "\"pytest:commando#12/cln:commando#54/commando:withdraw#14\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.167954920", - "source": "plugin-txprepare", - "log": "\"pytest:commando#12/cln:commando#54/commando:withdraw#14/cln:withdraw#53\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.168825122", - "source": "plugin-txprepare", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a77697468647261772331342f636c6e3a7769746864726177233533222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.169264333", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a7769746864726177233134222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.170077476", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233135222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346433326161663161653064326339373133376232323661373336663665373237303633323233613232333232653330323232633232363936343232336132323730373937343635373337343361363336663664366436313665363436663233333133323266363336633665336136333666366436643631366536343666323333353334323232633232363537323732366637323232336137623232363336663634363532323361326433333332333633303332326332323664363537333733363136373635323233613232366436393733373336393665363732303732363537313735363937323635363432303730363137323631366436353734363537323361323036343635373337343639366536313734363936663665323237643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.170447279", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#15\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.171089558", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233135222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.172081697", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594d32aaf1ae0d2c97137b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f233534222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d" - }, - { - "type": "IO_IN", - "time": "1.186417219", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f217b71148eb355417b226d6574686f64223a22696e766f696365222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f233537222c22706172616d73223a7b22666f6f626172223a20317d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.187246572", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.187482959", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#54\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.188194347", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233534222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.188548938", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.188619907", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.188829839", - "source": "plugin-commando", - "log": "\"cln:custommsg#55\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.190770244", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233535222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.191128404", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.191269014", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233136222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a22696e766f696365222c22706172616d73223a7b22666f6f626172223a20317d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.191524269", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#16\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.196963780", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233136222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.197735253", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f2335372f636f6d6d616e646f3a696e766f696365233137222c226d6574686f64223a22696e766f696365222c22706172616d73223a7b22666f6f626172223a317d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.198249712", - "source": "jsonrpc#61", - "log": "\"pytest:commando#14/cln:commando#57/commando:invoice#17\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.198889198", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f2335372f636f6d6d616e646f3a696e766f696365233137222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a22756e6b6e6f776e20706172616d657465723a20666f6f6261722c2074686973206d6179206265206361757365642062792061206661696c75726520746f206175746f646574656374206b65793d76616c75652d7374796c6520706172616d65746572732e20506c6561736520747279207573696e6720746865202d6b20666c616720616e64206578706c69636974206b65793d76616c7565207061697273206f6620706172616d65746572732e227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.199704787", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233138222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a22353934643231376237313134386562333535343137623232366137333666366537323730363332323361323233323265333032323263323236393634323233613232373037393734363537333734336136333666366436643631366536343666323333313334326636333663366533613633366636643664363136653634366632333335333732323263323236353732373236663732323233613762323236333666363436353232336132643333333233363330333232633232366436353733373336313637363532323361323237353665366236653666373736653230373036313732363136643635373436353732336132303636366636663632363137323263323037343638363937333230366436313739323036323635323036333631373537333635363432303632373932303631323036363631363936633735373236353230373436663230363137353734366636343635373436353633373432303662363537393364373636313663373536353264373337343739366336353230373036313732363136643635373436353732373332653230353036633635363137333635323037343732373932303735373336393665363732303734363836353230326436623230363636633631363732303631366536343230363537383730366336393633363937343230366236353739336437363631366337353635323037303631363937323733323036663636323037303631373236313664363537343635373237333265323237643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.200099223", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#18\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.200738494", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233138222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.201494092", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594d217b71148eb355417b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f233537222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a22756e6b6e6f776e20706172616d657465723a20666f6f6261722c2074686973206d6179206265206361757365642062792061206661696c75726520746f206175746f646574656374206b65793d76616c75652d7374796c6520706172616d65746572732e20506c6561736520747279207573696e6720746865202d6b20666c616720616e64206578706c69636974206b65793d76616c7565207061697273206f6620706172616d65746572732e227d7d" - }, - { - "type": "IO_IN", - "time": "1.210386519", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4fc36802bc9bf50e357b226d6574686f64223a2270696e67222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f233630222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.210737198", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.210864124", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#56\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.211199167", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233536222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.211362591", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.211394058", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.211478894", - "source": "plugin-commando", - "log": "\"cln:custommsg#57\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.212143717", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233537222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.212286460", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.212344835", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233139222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a2270696e67222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.212443146", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#19\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.214597778", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233139222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.214975079", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f2336302f636f6d6d616e646f3a70696e67233230222c226d6574686f64223a2270696e67222c22706172616d73223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.215096488", - "source": "jsonrpc#61", - "log": "\"pytest:commando#16/cln:commando#60/commando:ping#20\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.215772453", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "0012008000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "type": "DEBUG", - "time": "1.215933752", - "source": "connectd", - "log": "sending ping expecting response" - }, - { - "type": "IO_IN", - "time": "1.654771004", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "001300800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "type": "DEBUG", - "time": "1.655166020", - "source": "connectd", - "log": "Got pong 128 bytes (...)" - }, - { - "type": "DEBUG", - "time": "1.655363921", - "source": "connectd", - "log": "REPLY WIRE_CONNECTD_PING_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "1.655472178", - "source": "connectd", - "log": "Got ping reply!" - }, - { - "type": "IO_OUT", - "time": "1.655684378", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f2336302f636f6d6d616e646f3a70696e67233230222c22726573756c74223a7b22746f746c656e223a3133327d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.656479393", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233231222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a22353934646333363830326263396266353065333537623232366137333666366537323730363332323361323233323265333032323263323236393634323233613232373037393734363537333734336136333666366436643631366536343666323333313336326636333663366533613633366636643664363136653634366632333336333032323263323237323635373337353663373432323361376232323734366637343663363536653232336133313333333237643764227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.657036627", - "source": "jsonrpc#61", - "log": "\"commando:sendcustommsg#21\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.657781157", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233231222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "1.658756414", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "594dc36802bc9bf50e357b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f233630222c22726573756c74223a7b22746f746c656e223a3133327d7d" - }, - { - "type": "IO_IN", - "time": "1.674013368", - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "source": "connectd", - "log": "", - "data": "4c4f81e1be441e04c9f67b226d6574686f64223a226765746c6f67222c226964223a227079746573743a636f6d6d616e646f2331382f636c6e3a636f6d6d616e646f233633222c22706172616d73223a7b226c6576656c223a2022696f227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" - }, - { - "type": "DEBUG", - "time": "1.674680424", - "source": "lightningd", - "log": "Calling custommsg hook of plugin chanbackup" - }, - { - "type": "IO_OUT", - "time": "1.674902747", - "source": "plugin-chanbackup", - "log": "\"cln:custommsg#58\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.675604017", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233538222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.675985216", - "source": "lightningd", - "log": "Plugin chanbackup returned from custommsg hook call" - }, - { - "type": "DEBUG", - "time": "1.676057841", - "source": "lightningd", - "log": "Calling custommsg hook of plugin commando" - }, - { - "type": "IO_OUT", - "time": "1.676268994", - "source": "plugin-commando", - "log": "\"cln:custommsg#59\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "1.678243290", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233539222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "1.678604199", - "source": "lightningd", - "log": "Plugin commando returned from custommsg hook call" - }, - { - "type": "IO_IN", - "time": "1.678744634", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233232222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226765746c6f67222c22706172616d73223a7b226c6576656c223a2022696f227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.678975032", - "source": "jsonrpc#61", - "log": "\"commando:checkrune#22\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.683170290", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233232222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.683991246", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331382f636c6e3a636f6d6d616e646f2336332f636f6d6d616e646f3a6765746c6f67233233222c226d6574686f64223a226765746c6f67222c22706172616d73223a7b226c6576656c223a22696f227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.684377834", - "source": "jsonrpc#61", - "log": "\"pytest:commando#18/cln:commando#63/commando:getlog#23\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.685069543", - "source": "jsonrpc#61", - "log": "Suppressing logging of getlog command", - "data": "" - } - ] - }, - { - "payment_hash": "365e39cc97eacf029bf602057a33f9c51a9727fb9e205e355dfce8a8230ec4ba", - "expires_at": 1709247483, - "bolt11": "lnbcrt1pja05tmsp5r99sew4g40a486cemxzswgk0zrwevnkgt90fdccennvygxvhp3tspp5xe0rnnyhat8s9xlkqgzh5vlec5dfwflmncs9ud2aln52sgcwcjaqhp5qhkwn00xjzlnjgu6efpp8grdpfwakt4kajwwps49tyamrqe0tv4qxqyjw5qcqp99qxpqysgqnj46at0luxcrz9h884t0skc886a2czzskr0czaac3gx8z905mmchypws5m0hrvm93dga7eg6u5tq4w49nnvpyh3ywzvmwewtler7deqp3wga3f", - "payment_secret": "194b0cbaa8abfb53eb19d9850722cf10dd964ec8595e96e3199cd84419970c57", - "created_index": 1, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "451306e8f6d2d58bf24321475cc2b4bc1f92ed4761a680fb9eea62452953de7a", - "expires_at": 1709247489, - "bolt11": "lnbcrt1pja05vpsp5j8av7ky7kp254pfm0hklk6qd79unsz0z32qqg9fh7j3he45mamvspp5g5fsd68k6t2chujry9r4es45hs0e9m28vxngp7u7af3y222nmeaqdpggp6xjur2v9e8c6nzx565qum9dej8xct5wvhxcmmvxqyjw5qcqp99qxpqysgqyggryxs79wq5lds48e5nhhgwxfg9fs6krhpqmaqefayvgzem55p4gnhtve9q7pqgq7aygt2lunz08y9rav6y6uag5sq3vjy73933g0gq54qwre", - "payment_secret": "91facf589eb0554a853b7dedfb680df1793809e28a80041537f4a37cd69beed9", - "created_index": 1, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "num_peers": 1, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 42513 - } - ], - "version": "v23.11-415-gd120eba", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", - "our_features": { - "init": "08a0000a8a5961", - "node": "88a0000a8a5961", - "channel": "", - "invoice": "02000002024100" - } - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "num_peers": 1, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 42513 - } - ], - "version": "v23.11-415-gd120eba", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", - "our_features": { - "init": "08a0000a8a5961", - "node": "88a0000a8a5961", - "channel": "", - "invoice": "02000002024100" - } - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "num_peers": 1, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 42513 - } - ], - "version": "v23.11-415-gd120eba", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", - "our_features": { - "init": "08a0000a8a5961", - "node": "88a0000a8a5961", - "channel": "", - "invoice": "02000002024100" - } - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961", - "log": [ - { - "type": "SKIPPED", - "num_skipped": 28 - } - ] - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961", - "log": [ - { - "type": "SKIPPED", - "num_skipped": 30 - } - ] - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:40119" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "num_peers": 1, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 42513 - } - ], - "version": "v23.11-415-gd120eba", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", - "our_features": { - "init": "08a0000a8a5961", - "node": "88a0000a8a5961", - "channel": "", - "invoice": "02000002024100" - } - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "c3afc67eb2bfc190c60b579f111cb20fa5a7731b3917f978762e2d67ed9e75c9", - "created_at": 1708642714.8110592, - "parts": 1, - "amount_msat": 9999, - "amount_sent_msat": 9999, - "payment_preimage": "17632717785b1a833a296ba1831cb968602872e68881c2f324e06e87979296dc", - "status": "complete" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "num_peers": 1, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 36551 - } - ], - "version": "v23.11-415-gd120eba", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_blacklist_1/lightning-1/regtest", - "our_features": { - "init": "08a0000a8a5961", - "node": "88a0000a8a5961", - "channel": "", - "invoice": "02000002024100" - } - } - ], - "author": [ - "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", - "", - "Christian Decker came up with the name \"commando\", which almost excuses his previous adoption of the name \"Eltoo\"." - ], - "see_also": [ - "lightning-commando-rune(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-connect.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "connect", - "title": "Command for connecting to another lightning node", - "description": [ - "The **connect** RPC command establishes a new connection with another node in the Lightning Network.", - "", - "Connecting to a node is just the first step in opening a channel with another node. Once the peer is connected a channel can be opened with lightning-fundchannel(7).", - "", - "If there are active channels with the peer, **connect** returns once all the subdaemons are in place to handle the channels, not just once it's connected." - ], - "request": { - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "description": [ - "The target node's public key. As a convenience, *id* may be of the form *id@host* or *id@host:port*. In this case, the *host* and *port* parameters must be omitted. This can fail if your C-lightning node is a fresh install that has not connected to any peers yet (your node has no gossip yet), or if the target *id* is a fresh install that has no channels yet (nobody will gossip about a node until it has one published channel)." - ] - }, - "host": { - "type": "string", - "description": [ - "The peer's hostname or IP address. If *host* is not specified (or doesn't work), the connection will be attempted to an IP belonging to *id* obtained through gossip with other already connected peers. If *host* begins with a `/` it is interpreted as a local path and the connection will be made to that local socket (see **bind-addr** in lightningd-config(5))." - ] - }, - "port": { - "type": "u16", - "description": [ - "The peer's port number. If not specified, the *port* depends on the current network:", - " * bitcoin **mainnet**: 9735.", - " * bitcoin **testnet**: 19735.", - " * bitcoin **signet**: 39735.", - " * bitcoin **regtest**: 19846." - ] - } - } - }, - "response": { - "required": [ - "id", - "features", - "direction", - "address" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The peer we connected to." - ] - }, - "features": { - "type": "hex", - "description": [ - "BOLT 9 features bitmap offered by peer." - ] - }, - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": [ - "Whether they initiated connection or we did." - ] - }, - "address": { - "type": "object", - "description": [ - "Address information (mainly useful if **direction** is *out*)." - ], - "additionalProperties": true, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": [ - "Type of connection (*torv2*/*torv3* only if **direction** is *out*)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "socket" - ], - "properties": { - "type": {}, - "socket": { - "type": "string", - "description": [ - "Socket filename." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "address", - "port" - ], - "properties": { - "type": {}, - "address": { - "type": "string", - "description": [ - "Address in expected format for **type**." - ] - }, - "port": { - "type": "u16", - "description": [ - "Port number." - ] - } - } - } - } - ] - } - } - }, - "errors": [ - "On failure, one of the following errors will be returned:", - "", - "- 400: Unable to connect, no address known for peer", - "- 401: If some addresses are known but connecting to all of them failed, the message will contain details about the failures", - "- 402: If the peer disconnected while we were connecting", - "- -32602: If the given parameters are wrong" - ], - "example_json_request": [ - { - "id": "example:connect#1", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 44619 - } - }, - { - "id": "example:connect#2", - "method": "connect", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "host": "localhost", - "port": 39611 - } - }, - { - "id": "example:connect#3", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 46563 - } - }, - { - "id": "example:connect#4", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 32945 - } - }, - { - "id": "example:connect#5", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 37031 - } - }, - { - "id": "example:connect#6", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 40605 - } - }, - { - "id": "example:connect#7", - "method": "connect", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "host": "localhost", - "port": 33395 - } - }, - { - "id": "example:connect#8", - "method": "connect", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "host": "localhost", - "port": 41921 - } - }, - { - "id": "example:connect#9", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 45661 - } - }, - { - "id": "example:connect#10", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 45661 - } - }, - { - "id": "example:connect#11", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 38595 - } - }, - { - "id": "example:connect#12", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 38851 - } - }, - { - "id": "example:connect#13", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 35191 - } - }, - { - "id": "example:connect#14", - "method": "connect", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "host": "localhost", - "port": 33379 - } - }, - { - "id": "example:connect#15", - "method": "connect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "host": "localhost", - "port": 33173 - } - }, - { - "id": "example:connect#16", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "127.0.0.1", - "port": 42839 - } - }, - { - "id": "example:connect#17", - "method": "connect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "host": "127.0.0.1", - "port": 34365 - } - }, - { - "id": "example:connect#18", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 34555 - } - }, - { - "id": "example:connect#19", - "method": "connect", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "host": "localhost", - "port": 45651 - } - }, - { - "id": "example:connect#20", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 41785 - } - }, - { - "id": "example:connect#21", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 34719 - } - }, - { - "id": "example:connect#22", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 46411 - } - }, - { - "id": "example:connect#23", - "method": "connect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "host": "localhost", - "port": 44027 - } - } - ], - "example_json_response": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a0a69a2", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 44619 - } - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "features": "08a0000a0a69a2", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 39611 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 46563 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 32945 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 37031 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 40605 - } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 33395 - } - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 41921 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 45661 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 45661 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 38595 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0800a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 38851 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 35191 - } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 33379 - } - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 33173 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 42839 - } - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 34365 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 34555 - } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 45651 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 41785 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 34719 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 46411 - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "features": "08a0000a8a5961", - "direction": "out", - "address": { - "type": "ipv4", - "address": "127.0.0.1", - "port": 44027 - } - } - ], - "author": [ - "Rusty Russell <> is mainly responsible. Felix <> is the original author of this manpage." - ], - "see_also": [ - "lightning-fundchannel(7)", - "lightning-listpeers(7)", - "lightning-listchannels(7)", - "lightning-disconnect(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-createinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "createinvoice", - "title": "Low-level invoice creation", - "description": [ - "The **createinvoice** RPC command signs and saves an invoice into the database." - ], - "request": { - "required": [ - "invstring", - "label", - "preimage" - ], - "properties": { - "invstring": { - "type": "string", - "description": [ - "The bolt11 form, but the final signature is ignored. Minimal sanity checks are done. (Note: if **experimental-offers** is enabled, *invstring* can actually be an unsigned bolt12 invoice)." - ] - }, - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": [ - "A unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice." - ] - }, - "preimage": { - "type": "hex", - "description": [ - "The preimage to supply upon successful payment of the invoice." - ] - } - } - }, - "response": { - "required": [ - "label", - "created_index", - "payment_hash", - "status", - "description", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": [ - "The label for the invoice." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string (always present unless **bolt12** is)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string instead of **bolt11** (**experimental-offers** only)." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount of the invoice (if it has one)." - ] - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired", - "unpaid" - ], - "description": [ - "Whether it has been paid, or can no longer be paid." - ] - }, - "description": { - "type": "string", - "description": [ - "Description extracted from **bolt11** or **bolt12**." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when invoice expires (or expired)." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "pay_index": { - "type": "u64", - "description": [ - "Incrementing id for when this was paid (**status** *paid* only)." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "Amount actually received (**status** *paid* only)." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when invoice was paid (**status** *paid* only)." - ] - }, - "paid_outpoint": { - "type": "object", - "description": [ - "Outpoint this invoice was paid with (**status** *paid* only)." - ], - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": [ - "ID of the transaction that paid the invoice (**status** *paid* only)." - ] - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": [ - "The 0-based output number of the transaction that paid the invoice (**status** *paid* only)." - ] - } - } - }, - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - }, - "local_offer_id": { - "type": "hex", - "description": [ - "The *id* of our offer which created this invoice (**experimental-offers** only)." - ], - "maxLength": 64, - "minLength": 64 - }, - "invreq_payer_note": { - "type": "string", - "description": [ - "The optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." - ] - } - }, - "pre_return_value_notes": [ - "(Note: the return format is the same as lightning-listinvoices(7))." - ] - }, - "errors": [ - "On failure, an error is returned and no invoice is created. If the lightning process fails before responding, the caller should use lightning-listinvoices(7) to query whether this invoice was created or not.", - "", - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 900: An invoice with the given *label* already exists." - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-invoice(7)", - "lightning-listinvoices(7)", - "lightning-delinvoice(7)", - "lightning-getroute(7)", - "lightning-sendpay(7)", - "lightning-offer(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-createonion.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "createonion", - "title": "Low-level command to create a custom onion", - "description": [ - "The **createonion** RPC command allows the caller to create a custom onion with custom payloads at each hop in the route. A custom onion can be used to implement protocol extensions that are not supported by Core Lightning directly." - ], - "request": { - "required": [ - "hops", - "assocdata" - ], - "properties": { - "hops": { - "type": "array", - "description": [ - "A JSON list of dicts, each specifying a node and the payload destined for that node." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "pubkey", - "payload" - ], - "properties": { - "pubkey": { - "type": "pubkey", - "description": [ - "Node pubkey." - ] - }, - "payload": { - "type": "hex", - "description": [ - "Payload to be sent to the node." - ] - } - } - } - }, - "assocdata": { - "type": "hex", - "description": [ - "The associated data that the onion should commit to. If the onion is to be used to send a payment later it MUST match the `payment_hash` of the payment in order to be valid." - ] - }, - "session_key": { - "type": "secret", - "description": [ - "Can be used to specify a secret that is used to generate the shared secrets used to encrypt the onion for each hop. It should only be used for testing or if a specific shared secret is important. If not specified it will be securely generated internally, and the shared secrets will be returned." - ] - }, - "onion_size": { - "type": "u16", - "description": [ - "A size different from the default payment onion (1300 bytes). May be used for custom protocols like trampoline routing." - ] - } - } - }, - "response": { - "required": [ - "onion", - "shared_secrets" - ], - "properties": { - "onion": { - "type": "hex", - "description": [ - "The onion packet (*onion_size* bytes)." - ] - }, - "shared_secrets": { - "type": "array", - "description": [ - "One shared secret for each node in the *hops* parameter." - ], - "items": { - "type": "secret", - "description": [ - "The shared secret with this hop." - ] - } - } - } - }, - "example_usage": [ - "The *hops* parameter is very similar to the result from `getroute` however it needs to be modified slightly. The following is the `getroute` response from which the example json request's *hops* parameter was generated:", - "```json", - "[", - " {", - " \"id\": \"022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59\",", - " \"channel\": \"103x2x1\",", - " \"direction\": 1,", - " \"msatoshi\": 1002,", - " \"amount_msat\": \"1002msat\",", - " \"delay\": 21,", - " }, {", - " \"id\": \"035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d\",", - " \"channel\": \"103x1x1\",", - " \"direction\": 0,", - " \"msatoshi\": 1001,", - " \"amount_msat\": \"1001msat\",", - " \"delay\": 15,", - " }, {", - " \"id\": \"0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199\",", - " \"channel\": \"103x3x1\",", - " \"direction\": 0,", - " \"msatoshi\": 1000,", - " \"amount_msat\": \"1000msat\",", - " \"delay\": 9,", - " }", - "]", - "```", - "", - " - Notice that the payload in the *hops* parameter is the hex-encoded TLV of the parameters in the `getroute` response, with length prepended as a `bigsize_t`.", - " - Except for the pubkey, the values are shifted left by one, i.e., the 1st payload in `createonion` corresponds to the 2nd set of values from `getroute`.", - " - The final payload is a copy of the last payload sans `channel`", - "", - "These rules are directly derived from the onion construction. Please refer BOLT 04 for details and rationale." - ], - "example_json_request": [ - { - "id": "example:createonion#1", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payload": "11020203e904017b06080000670000010001" - }, - { - "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payload": "11020203e804017506080000670000030001" - }, - { - "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payload": "07020203e8040175" - } - ], - "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - } - }, - { - "id": "example:createonion#2", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619", - "payload": "1202023a98040205dc06080000000000000001" - }, - { - "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", - "payload": "52020236b00402057806080000000000000002fd02013c0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f" - }, - { - "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", - "payload": "12020230d4040204e206080000000000000003" - }, - { - "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", - "payload": "1202022710040203e806080000000000000004" - }, - { - "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", - "payload": "fd011002022710040203e8082224a33562c54507a9334e79f0dc4f17d407e6d7c61f0e2f3d0d38599502f617042710fd012de02a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a" - } - ], - "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - } - }, - { - "id": "example:createonion#3", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619", - "payload": "1202023a98040205dc06080000000000000001" - }, - { - "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", - "payload": "52020236b00402057806080000000000000002fd02013c0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f" - }, - { - "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", - "payload": "12020230d4040204e206080000000000000003" - }, - { - "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", - "payload": "1202022710040203e806080000000000000004" - }, - { - "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", - "payload": "fd011002022710040203e8082224a33562c54507a9334e79f0dc4f17d407e6d7c61f0e2f3d0d38599502f617042710fd012de02a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a" - } - ], - "assocdata": "4242424242424242424242424242424242424242424242424242424242424242", - "session_key": "4141414141414141414141414141414141414141414141414141414141414141" - } - }, - { - "id": "example:createonion#4", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payload": "11020203e904017b06080000670000010000" - }, - { - "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payload": "11020203e804017506080000670000030000" - }, - { - "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" - } - ], - "assocdata": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f" - } - }, - { - "id": "example:createonion#5", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payload": "11020203e904017b06080000670000010000" - }, - { - "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payload": "11020203e804017506080000670000030000" - }, - { - "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" - } - ], - "assocdata": "0000000000000000000000000000000000000000000000000000000000000000" - } - }, - { - "id": "example:createonion#6", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payload": "11020203e904017b06080000670000010000" - }, - { - "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payload": "11020203e804017506080000670000030000" - }, - { - "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" - } - ], - "assocdata": "0101010101010101010101010101010101010101010101010101010101010101" - } - }, - { - "id": "example:createonion#7", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - } - ], - "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - } - }, - { - "id": "example:createonion#8", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payload": "e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - }, - { - "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", - "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - } - ], - "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", - "onion_size": 1301 - } - }, - { - "id": "example:createonion#9", - "method": "createonion", - "params": { - "hops": [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payload": "0cfdb000084869207468657265" - } - ], - "assocdata": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8" - } - } - ], - "example_json_response": [ - "The following example is the result of calling *createonion* with the", - "above hops parameter:", - "", - { - "onion": "0003f3f80d2142b953319336d2fe4097[...]6af33fcf4fb113bce01f56dd62248a9e5fcbbfba35c", - "shared_secrets": [ - "88ce98c73e4d9293ab1797b0a913fe9bca0213a566252047d01b8af6da871f3e", - "4474d296810e57bd460ef8b83d2e7d288321f8a99ff7686f87384699747bcfc4", - "2a862e4123e01799a732be487fbce297f7dc7cc1467e410f18369cfee476adc2" - ] - }, - "", - "The `onion` corresponds to 1366 hex-encoded bytes. Each shared secret consists", - "of 32 hex-encoded bytes. Both arguments can be passed on to **sendonion**.", - { - "onion": "000380ccf728d48e7a3ecd9bb5d88064837a0f070eb213a2dbf4d61647a17f4be14676f209e46bba5d4b8c469ee91dfeed9fbb3d6ca82b68948869321fbf0245efba972dbdb0076d97dcb6780c01c72fe6563f8d1655f4e109aa28ae9db34666cf0ad9186b7697cd631cc853ca3861f72b356251b354cbb5b97ef27019f94bead7ad3cb28c7e79c47a00d70d54f0717f724146e72a19f3ce2594263a5503dfafe63f1e2e32f0da3f4d3e44a0c4783b4730485beef721d14d5a5faf6c79fdcdd3d0f0a2034bc19c859030aa94e91d28261b786b6dd37146b7207a7f60ffad3a8532214993a009ea045ff88a605253fde9321e357a2d5fb233edc708bec33666b09febd2ecf12e64c7e12a7c3edaf8d503ab0950682993e288dfa4785e3f157d54cab9227de5de48c60ebeb53fc9625079ccd2b53639da33be33214da4f25a1ceca71eb545535da463c9aa877d91f6b6898e3f022f386e6a037a30c7d2ccf7e46de185e44e88564525ba636c9fe1f9632558b501c93440c50eae41537a1700621d8f0fd27e000e95cd9d71e0e6fdfb96ab1c71aae941c1d6e29e98b87b578994f7e254e259e5bec9f2c3190b76283b5eacf73bc9d5e4e96a857ddfc3ade061ac2374dd78974234d54e7f996e7b858e22f1e441005df7a44882610856eec95c350e99725f216fcb2046354456877256b7d9feafb248585b866545c6a4056d0070ce6ffd1c2b4d2bc39d5f7d31c7d0c0b85d583f28dba6d407a40d26ed642aa1077d2ad009a3bd98c002ef2af35e2ad6b20c552bca2779b20f20bec14f50d594281176ab0fc1be8628670ebe1d1259c4886ac9d90ed16d0fa2e8340803ecbc2a1c63c1e5ea0f9a32c39b540720c229c8189035889d17d926a25858ec7957a8741292f724cb09907125fdb5f4871d54d01e90ad5633e882ecda9e33c477ca5e360a6c52dc9ff66bcae22923067e66cfee544acdb123a50085fd246a8a4816ca16996bda24de792f2286a3a3bf2e9f0cc9f1ffabf51846d870df6c5db84cf261e4b813f538df1c117a55d2d96dec2adc231da73c7be9c9b46308c7f78b8a9bcc4b9aeb0f764fe593ede7bfe355d5cdf9007e6a02d5da8ab395da4035cdf4b0e29acb9b5904b55cc271991f836b404cdd358e802860ba0798cab00240d365674f5eecdeb0a891529f0d379e12036f78a7ddd8c2771280d0f2e186a7ee095d5d44ce7c520d2d40fc0d8f589ed175771a8dcd20f31f5377ef1a167c3a105d8e847a07a7a9fa2bb0d2276f0e0c147d5de475cdbe60868da8aa130b84a14746b41341d0c9a2790df9c97a9219bfcf29ccf9e6b61307033f48a923e26b98ee3f29d1d1eda51811f272dac7948c9f66e733e4e85f5efb65fb280335fa1c8e751dea4b9a09a11d672672693c39fa9377ff3a596f859354d82c5db1e27961069da29aab6a346123988ba5c57f6a3facd1f64b13e327b0ac4531ede9a06bd4381ef4a9e53cf833663b802c3e1451ba3259a344ec20a1e2d691b8c15230bb9d0c4710ade729e9c70fcc7bf3cb5e256f44fe7e01e40d2e8b0602cddb7eda84acd3c4e3339706eb18b938a3d42fd4110f56a7a77d14e679c86bd971e89ff713d23462ec7f56876d1936e79b75d9e09ded3019232f5d8b9754a0542da4b74d27a0c0ec5198faec71944f9fcecedecaf426d400ff2698d9e97b8ebcaa1e5700d05f3be9e908d87dd87a0e8c01326fec36b19bec87e1c3715fb08c903ad3b7857d76f50a80e3617c856646fb425b675e44cd337d473b78f0898d1ce1a024d9819e91f1dc6984bfee7bd1e68c8eeef76e7b119083b17bc395d42a9465ac60aeb2e7f41c719932495923b457560d3214c74e3deead2e8c4cd987befc33b679c24e1fda0c63b4e08de389c5d8c11c127fa8d0b939a49b64b097290cb951d87c488e41", - "shared_secrets": [ - "96fc65a3348267df09ae36c47c5105f538dce08696354b241a7382f42f9d5100", - "e09561e5b77462240b111ab51417d798d3cbfca7e7bfc30357be987c5038d5a0", - "824c356e8b23088f6fe57ec5a5609c6b29d7c38490e0c2708fba721ff7915c9f", - "8d8b0a80649a50338e56e825015bedc16c38428cf1d71feb12a51d8a1cd62860", - "e94ee38f8962bcc1619bc0267c0e3655ab09f17ef1295b521a80107d8564460f" - ] - }, - { - "onion": "0002eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619f7f3416a5aa36dc7eeb3ec6d421e9615471ab870a33ac07fa5d5a51df0a8823aabe3fea3f90d387529d4f72837f9e687230371ccd8d263072206dbed0234f6505e21e282abd8c0e4f5b9ff8042800bbab065036eadd0149b37f27dde664725a49866e052e809d2b0198ab9610faa656bbf4ec516763a59f8f42c171b179166ba38958d4f51b39b3e98706e2d14a2dafd6a5df808093abfca5aeaaca16eded5db7d21fb0294dd1a163edf0fb445d5c8d7d688d6dd9c541762bf5a5123bf9939d957fe648416e88f1b0928bfa034982b22548e1a4d922690eecf546275afb233acf4323974680779f1a964cfe687456035cc0fba8a5428430b390f0057b6d1fe9a8875bfa89693eeb838ce59f09d207a503ee6f6299c92d6361bc335fcbf9b5cd44747aadce2ce6069cfdc3d671daef9f8ae590cf93d957c9e873e9a1bc62d9640dc8fc39c14902d49a1c80239b6c5b7fd91d05878cbf5ffc7db2569f47c43d6c0d27c438abff276e87364deb8858a37e5a62c446af95d8b786eaf0b5fcf78d98b41496794f8dcaac4eef34b2acfb94c7e8c32a9e9866a8fa0b6f2a06f00a1ccde569f97eec05c803ba7500acc96691d8898d73d8e6a47b8f43c3d5de74458d20eda61474c426359677001fbd75a74d7d5db6cb4feb83122f133206203e4e2d293f838bf8c8b3a29acb321315100b87e80e0edb272ee80fda944e3fb6084ed4d7f7c7d21c69d9da43d31a90b70693f9b0cc3eac74c11ab8ff655905688916cfa4ef0bd04135f2e50b7c689a21d04e8e981e74c6058188b9b1f9dfc3eec6838e9ffbcf22ce738d8a177c19318dffef090cee67e12de1a3e2a39f61247547ba5257489cbc11d7d91ed34617fcc42f7a9da2e3cf31a94a210a1018143173913c38f60e62b24bf0d7518f38b5bab3e6a1f8aeb35e31d6442c8abb5178efc892d2e787d79c6ad9e2fc271792983fa9955ac4d1d84a36c024071bc6e431b625519d556af38185601f70e29035ea6a09c8b676c9d88cf7e05e0f17098b584c4168735940263f940033a220f40be4c85344128b14beb9e75696db37014107801a59b13e89cd9d2258c169d523be6d31552c44c82ff4bb18ec9f099f3bf0e5b1bb2ba9a87d7e26f98d294927b600b5529c47e04d98956677cbcee8fa2b60f49776d8b8c367465b7c626da53700684fb6c918ead0eab8360e4f60edd25b4f43816a75ecf70f909301825b512469f8389d79402311d8aecb7b3ef8599e79485a4388d87744d899f7c47ee644361e17040a7958c8911be6f463ab6a9b2afacd688ec55ef517b38f1339efc54487232798bb25522ff4572ff68567fe830f92f7b8113efce3e98c3fffbaedce4fd8b50e41da97c0c08e423a72689cc68e68f752a5e3a9003e64e35c957ca2e1c48bb6f64b05f56b70b575ad2f278d57850a7ad568c24a4d32a3d74b29f03dc125488bc7c637da582357f40b0a52d16b3b40bb2c2315d03360bc24209e20972c200566bcf3bbe5c5b0aedd83132a8a4d5b4242ba370b6d67d9b67eb01052d132c7866b9cb502e44796d9d356e4e3cb47cc527322cd24976fe7c9257a2864151a38e568ef7a79f10d6ef27cc04ce382347a2488b1f404fdbf407fe1ca1c9d0d5649e34800e25e18951c98cae9f43555eef65fee1ea8f15828807366c3b612cd5753bf9fb8fced08855f742cddd6f765f74254f03186683d646e6f09ac2805586c7cf11998357cafc5df3f285329366f475130c928b2dceba4aa383758e7a9d20705c4bb9db619e2992f608a1ba65db254bb389468741d0502e2588aeb54390ac600c19af5c8e61383fc1bebe0029e4474051e4ef908828db9cca13277ef65db3fd47ccc2179126aaefb627719f421e20", - "shared_secrets": [ - "53eb63ea8a3fec3b3cd433b85cd62a4b145e1dda09391b348c4e1cd36a03ea66", - "a6519e98832a0b179f62123b3567c106db99ee37bef036e783263602f3488fae", - "3a6b412548762f0dbccce5c7ae7bb8147d1caf9b5471c34120b30bc9c04891cc", - "21e13c2d7cfe7e18836df50872466117a295783ab8aab0e7ecc8c725503ad02d", - "b5756b9b542727dbafc6765a49488b023a725d631af688fc031217e90770c328" - ] - }, - { - "onion": "00036b9407a2cd28287af9ec81f90e64b78b0be1f9f4e38501fb52ec741678d13daa5162dd98601bcb1c815fedd8b4713d37a8090dab5387096784e33f6896c66d4862c3a7878594b9a2ec79bdcedff5aedbfeac3ea0d4bc7e70b40ff8e69a5d39d8e7a5f45a1d7dcfecaadff759eac75c055f3d55ff103ad496fe044ae460df4452779806c069f1ef008b00e6a5914c4b8181c8ebcd5154501d378dea22e003c710bd6d639cd8e80087721802609152f84efca89599648d6194a4c724e55e8ab23c70cce81ba5d00cc18b475220c34aa8bf4491cee4e233527de5fa5be254ad83fc4c78d78ca7786cf2dfc364a8370c525ffc6baedce0221ee382d1f267d2e3bdcc98157d55a4bfc3f2923d5d23f8485eb8fa73673100c066f39d5b734f517b217be3365408fe072a938d4272c6c6708bf56b378139f3ddd52d9ffbf4ab728df1768e213698fc7b4881b2d74bc1382562197ab346757ca943776cb980666fe2ac145689bce088fd9d933e322356ec39482ba04026c461b83526ce99c670d63bfb05ea6bdc7049ed1cbe9bdc8a58e1ea6d53638971d6cbcf3947f60c7215ba883ddf8d8adf115488fe56738b5072544eeaa9485d068ac87c0d7f9536f8e9d67518fd972f35f7ca7ffddfcabbee31bd5bb7a22b83447c8628e51cbd55a37a8ef236f0f8302da6504648c546c7e142c6c3e2f9b54a420ca3d5a02e42e88f6faf12e4962ef6d6c349ad2604e499d3c1b1bbc072a6aa19d94ee1765eabb2abf776ee8e87b7df7e974ae522fd75a0631ff994c393ebc3ebdfef1d361e1ccfd75db0a379072a64fb5053a84eccbb1c6d5f5f33e5f3ceee0a661b98524f31a8c72238ce4b6196d75aba16ddf0b8a399e6cf13847c8ed203b46d3509b8d0c15d9be276bd53c312ee53e2bc7b4546b5274a71fbf17f8790a686cfd9dcf41976943e202446ade0f6e66e6204b046cbbea7537a141324a1785c8b49a0ef8cf98d7dc248657de19dfae365cea6671e44a752d02c1f3a706bf4719081f4a9e3085fc0f1870884e617ade5ca895a971317cd8cf96f6e9137d0d7d893fb83ed1f091a768186b3a9b6ba6c0eb486bd8b08678686dcfac9c4dae8ffdaa4fd201308c3ee44ee2f13f358bfb3ccb3e07ad68c72b1d95ab7c1c2bb9f8914af1746a6e435a56efaaa51b7d805ff0353da65ffd8907ccfc17194584e22b04be6e5b9cf661121c1e56281b60b8f47ee5c2bd9cc76bf39fd97ff2cdaf8f7f8e0314051f5007559cae4efc65ec50e8fba4accd8d2ac52b6516efa143d1282f0a6b46950485b7ed59449c5f8975ad96d483fc2b90f1e4f61ec3fc7a40826e8b4394c7dbf1b0f8fa0ecfffebb0b4662f79c9cffe88aadd77eb70b73e4ce2f7430aa67dd3912a75ffd0584573bebf8e0a87afc68114f12a411724f24ac0a994bad0f0e86067d74c156e40e549d2fea21a7c76e691895c6bc5333b308066a09050d618fb24bb736b7f04f806a7a4feabfce3850d328202ea768851ea3c4b789d2109461fd28dc7fd3516ea9e5c95e8ddf565d8f263dcd497fd5ec4e4c12f25f4ed83f0270179ee360713f0f244ea1eb542bce7fad343313c1b7b8e9729e646236f51fcd83d55df231d4bc5029125c8f95bdcc2cc4a7dae8fa5bcea1bfa92c0e8e81061051e90a47a40d17b767f381e322ba41d648e46fc415e6e2f2436dabb4f20dbd112e4ba5446936705ae861798b8e798c2e4c2ac388dbfaedc458a97f2dcd951734c774bccc7ff9cf088480363effe6d0a7afce0dc677f9767c0a6a58783cfa11e1aa3cd90d1cf11bad21daa4d8f4188c30b737baa2a15d8cc97bb1d6e9f3e04959bb255736458a20af6a2d030d56aaa0d736b24e517a087c3e3e504c45d4f49250ae607bc5932013b99c794db8fa75f23ae674449f59cd7b9eea3f48f51355f653f5", - "shared_secrets": [ - "3626c50586cf85ef36aa9abd1cb16831d7ecd4f69f254b8c44a15fdd75e3c8f9", - "0fdacde82238132c3e7b572dc90384f45ea5afa144d9b6f1c46ee62048b8c9b4", - "7c60537fb7296bb84cb8bc0305585cb22b77ae9152c0062eeb624ca1a61a3c5d" - ] - }, - { - "onion": "00028ce28d347275a016e4e22e8f39e93475f5113d236f21840e2f725961c172795122feb0aee950e9a237f7bfe8daa95420be5e943320a838b8e17c9fe3bd340c61f703de0f3170647b26b2868787b7c9d06ded7a17f7b578b0f2989d1335ceb51e8ba0c2921a7cdd90a5f58ae292881ab7520920099ff67f725db44ea1ff066bd88581c06882690a8d9daa481b22c5bee57be8806ff484ed1bbc84cf560f204db25cc2b53ee72ba7eb67d91f15a8cc8466e29eda795dc2e2fcb9adf511517fb29e7aba0aab59cee61ae3a3c409ac23e17e737ab98acae35953645dd2b1a857610908f121e07ff0eace39145acf9b00b4b0eed384b5464bcf4026fcb97bf104ffea79b817b431a0ee21179978ec7469919e35e049cfb5e98c692f45bd8a7cf37ef9dc44df4bb6c0df9bce581b85ce72b95bcf2848c3e7ddbd0b2702f222e736e82e5a04a9a2d35ccf40762d9318aa1248cd3fc861ac720ff014f1c5cb8b81cdf15b6bb5c368214d52064c7c6ee8d90fc0227dcc6e3e71a982c177bf440b39abef9664f124549b6ab9380a0a7190311d0c66410b98169f10bfcb52e9277c436f16f9f0c8f015f2de05d9297577465ac4e37fe362e9c21161528daab059cc919eeeba0a9df9052e54145d74be05a6d48d2209cdb2377479077106a95bf59fa58fc9bc2b8074b04d3a38bcc7c2b59117d47f412067ad8b14e82f9c6f0d80b55753e4d40eb9b336e2ac781b81fe08a7b9756d7722462da9e919085abd9871e315203f915f2688213bbb5a75a9785f2d6cad20c10210206e1e35bb4fa23575c2b6d144677f9aa7adc0593d620501978bd628fe6535ba19eca9f6264547d05f0a84ce6c02bdd7cfaa646fa42d9a4686cde1c31973665ee1917d403aa205ed35282432a859a53827bf8fc004a670fbad2a1568307d0ca1492a6ab40bd514119817a6498b7cfdb37da3aa0ba94344a84d06ee69432e7e1c33e6a0f9dfa4aae98862f942bce59a31d6fdcaf7bce20bad42d5244cd670ce7110379e575d791de0b2180eedad4838add30c28b30c1864b65f3b3df09a2686c6fbe9846a78cf21b1934e7a854326fcb4701a87459d31e806b223419a018e5055d3e618cba4ade3c6e08ec0bc4369edb427e78d19abb58b3be54b12cf45cebe73f3e360263285e18365c590979c260d837a0afbb318be04f8241467f18630738694588da9a7cd4d05fd646fd206b38465b34d66ce8b4e4eb1d26ceadc4401dee2164df0e8ac91a131f8dbf66a20af984c79a24e1bc0cb16a017438eac151a8cb9c6be78b0dc1f8605d35c5032cbcd6e43509d606cf8d4751b4aefec2d66195d1501ed4dc52dda27bcb45478b9df08e6290e57acc7d20c0c97f5d6f583e2c6806fe8b83b43d1d839c7945d8076dd332a275e96d86661a8e58d6592588103fa897f3185b1b08bc963db99aa725b892d571bc1a4968532e1a7209c89807739ca030d91812cdb99db0c5c1e792cfd94d2b438798722dafe71b5e1aea88fb6c82efe7e608324bad832e5295fbb58817ceb59c1beb97c71a8cb01a61831d7879d80d34872d14584ee1250d15c3d55917baf0a722eb8a1fdeb2b328008049873c739c5c262c232fded96a5bc27bf59c5fa233ba838666ed61bf0c04deeb0e84c4778aca3c246e2f853aa7b52d18954eaaca49c7b52369aa29658aab0157dcba94d0e578f809640072d859d947f0d3fb06977bac5e61be0672dbeb355c2f3a43e88fe294ec02f5325e712b9e140567ac195e9d34f3173c49de896ccb17e9608d8e6cfe21a33a53b4e52f04e3d6e606d748a2d93b629d36a30e836daf7c4b251d4507514d7e06147e0a5dcbbe84fcb5e7313b484ec4d89482cf2096a04dcd461580eac25398a67032c85cfb00934a94e8da8d5103db4ec6d680deda18b58c48933d60ad4fc1985", - "shared_secrets": [ - "0c9d34ae742338373d3ea605ecf19397ac21a37461718650842d2b8b56c5371d", - "482631f39612f1e331a23164349a0e6e279dac52e0fb99528d9c6182a7ec50ae", - "39aae52fc8a87a2a07e49b94e7952cf83f93777376f6e50b7a2ec058b9b97b2a" - ] - }, - { - "onion": "000279e2d6559ba42c7b800182dca1a7df56ab164cc0b52bd7c7f466aaf7fded27b2fccffa4170c13652fd5640315cd9fefd86116117003f4fe1f9d0daba46c05dc1e2446483f7a5ab9815dc7229b4ec2aaaeb370387e7060d8858a98bf3ddeab7c6e10545603eef93624419e0bf2b6fe9060705f684437169878a810d14f47544c8feeac7b5c679e3f1ba2243b46873f6cf828e3b3c28cece47710d1cfe6fd0534045d4010655f0b7e6d46bb70c24910d8f955d381e923fc6ce47d242430eb52b21c9f9902bcb77ad98b9ff96f4d3971621759814749245b41af89122d31e693449912005de7aa43b43ef0cb1924de78e73d0612141e94b43f9f6d719490233ee23b89d6aa76a5d4b602ca9cd2f96babff10d424ca0f597e2c060aabf8c7b98d4f6da51e29d0940ce5ac67a31eb840dce7fc23053ba203b5831f01bbdc27f49f99487a2b719aee9a92d45099abd4dd0b0ef44a6ac65320c529d67165a84230ab4c0319d20f84770352698097514b3a041f662376492d80cc9894b9c81e615a075b378b1b3cc9cae9d16e21c7b9dda6e4e149193da7533e1d16928ca93a9bd494aeb259844481fad20149ad210f54fe81434841ebc9b3598444df519ca47e97d624ee9cba0c27b7937f188ba093abe2bc2047144862f0b885626b9c15a329710c111174b25833f8ecf0a8c480b4524bf58f7871c2a1a57efa0fb46bfc1275f126812b0480c510a722ef6a513c646b3e72ed7a54ac4dc3943981dd3cb8c18d94793e88495715fd8fd2545fb0934c7b84355ec86778a86240dc18e26677d2a10cafe8103e51481ec7c01ea2d929f46752a6c4669c02c231211dc3fefaddc6472f14e40d48214c0b40f7a57b0dedf6fc980eb432bdee9f259729d558514ef39338c90da26e112d21995f6e8896449184c7da433078a881d82837b50549cb3491118b52fd02de65b4ff619700a89685d3c0c86c21302f4936af8c7dc2acb774a1c8c0ae8595ef9f766f349b16eeedf0a03046a1f131883fd3ccb3b1d848b6d2957a0145840a140dda346da56861889e42593994cbfdd91d3a48dfaf36e19c2746fd47bdfb587d6ff861ea3e611644b95f6c5ab07e75569324cc5656009d9a21d99e0642bf56c6bf9c6cd0b3c244829eab65c2a2d2152aff2f40060b1fa94f02de78d6045c9ab79cd6a610ed4193102ffb934f330cdd14bf5283373ab6d79180c3245fd2ea0c3a3a295a3a2fe7e49a8c41d5c3f5a4df01c9611d9b5ea804995f608903748fba6c103daba023aec38be92c10507275dcd2cad9559b2becb1a2d3090ede9cd6a3e3ea83cf5a7e3a7d4f3e7861685316babb8db992befe8ebae2855c7a7b1ffcbcb400e1f7ce07cb06390aa52db842f2aad75c328aa88fcb692fd88cab2dce4f488a5098031e16c14f16849150a3a269b48748a158f46a2638d7b47e99fd8ea9790c5b47d67c7fc111642c65ddbcc9744ba18694a7d92bb7f7e6913267b7725e2d7f7355c42fbde6d2181410d72225f9080c803f76c0c4c5639400566425e09cc63a2a0b906505c65dc3d9805e115e7f621b95328b4105de8012e5717122ac05a041a5896fd927ea1ea8b1fc68c2efaeea76b49388b8acd8e62f8049bdb61a8a3f13c69c6ce94cb7cc8d4d3270d635c911acb0628d193e41cbdd506f88dc6f798b5caa50d04580fa4e6f40b50db4651001fb309e0fa0d10cd541dad4ac08f91e6eecbfb9e3c9704118e406561cf0efe54437ea80e4deb5b5316c00437a941615ea1e85dc8d7f77476cc074f7549f018b43eeb71c0ae43263dbcbd620704f441bbe3c431e7fc0cc7616c1a3f68e874baf35a1ee8358579c6b395935a82336daee90df0353e4f8428d9007a48d72eecc2454c7abc180422d496cd54acc6fbde831e28fa19190df5b50de728ce04eee7e600cee4b8", - "shared_secrets": [ - "55c87e6dcd4f253088c6f30951a592a80c0eca598b0fec2acbd5be71f1f9bc91", - "14171ae97d9bb1010cf4a491cc87eb07f855e2daf1b888bf3ecca96b09f36a4e", - "5a83831780ec724685f7233fad40aa5da5d95d5fde1df275f40494bb30295181" - ] - }, - { - "onion": "00034bdc2409a5697ab03310ca914035897e215fd0e3eedc8c11077dab3f5e835f392e5f4f4bb87be23b98f79b9497da510d536188d53f1318d71833bafd172183ef7fb2a273a7670d713f38484c837524104d91443102f1f72ce3dd1a8d7edb36266dc96a4cc7349ebcb48886efd37daa42058ea4deb7158295d5bbfeccdcc670c3f0bd99739fa0c313663e2dbb3c4a25d16867a1074e882abea0a80a35e727586660d8ea9a07a41822839e2708e00c56cc911f535ec3215dbe50df13b40660c0cdf651485f78198fbaaf0f9b90c756af63659e622f2be92f451a72e9c96058b29b3d30e9ab0c7aa3f3e70b5ddff8d0f319b463599e388d796b1e6862b1186c9ecf1060549d3c78ffc5d933eee763c49350e011fe96c72665e15ef2be04f17bf4162423c6ca1ccc32b7e7284743cd48f43c32d725cf6c3ea454fbf7aa137a6c8e01068ae4a17c74a0ece7625bedf0e317efb6a0443d8866437839e74f02e9a41ee84c1ffc9641df8065dd6d5e68cfb79e26995f540d72dd0032d806bf6710c607ee9c235ab9bf58acbbae396dd893533e757efef57ae82234b1cd8b756706b5d7e631d267eef1ba28d96814ac3addd642f5924c0145c4c06ebe4c48f07c587fa4744a5fee85b8ff07d3032aaab95e5d98c89fb4e9ce2b40413e85eae15b536a904490bfe9b974799c5a25c8ebad28eefdaf3cb15c1f17ab6a837e0e50428e4fbaf51c27fa6ed88b4fdbe5bfbfb510fe15f80edfa70fa65ac19a200175317e80b12030f829a2bb77db4d93ad7331a34f6b5fa8d849adc92456f36233674cc9696f6973aac96fa3756bc4c04678ef92cdc9e9e92303edf26f595c5edb4aa4ae8514b2aec5923333c7d4c5a09b2b7cb284d54499c6f17842a20f992c9b6c6373d1cdef2b1b9144c47031e77e2433a6f7e7caedd1669a9006f4c1fab399e479726844f1b7581ef042c395d9be17db33042f5f14ba579b594cbd4b6b20fedb471d787933078a7ff7a7701b6d5019aa92ce6ae312c1dd6be44d390064b4432c4ec1ffb18c087dac57fc5f1ec7a949d819edd083e0f36392b08763f771361b2d8d991a1b8021d37c4bd274c88783978b884066e2a6c28c5ed2e311eab6de25edcc11b8c19d942bbdda7aaec8573d6440a288541a6ff74f1b393346f210f53dcf874c7e229cdf24304b05112e0f068710e65e486d8aa4f5f5420ebe37d287c14a47e68adca0d84ec06f2cae312859d006112128995991603b7943fa0e250256392b6488a017e46a5e28558496f7793d4b6a501af1048061f988b01feb96c3310d8ed4ca442460a13b6bb85ea576b269d1b26fae5cafe7d8800790f7022478ce1940ab7e2cd3b12cb2ac47e9828a0a768c8955ea7337db8410a69f4279d35b635c11169b29df88a038aa70eb82a59430e037e86ab6601e4161b7f184b88d6683c7bf995b2a6be18c637d329f2a2f0a5dccabb05185fbe0306509157c56a00435e94d6f24d44217c4f122e3cfbc2ee38de7c1f1065d2432594d3c603a1b798939cd658ebe7a1898d4f1ae90f2cd335fd0f40910ac3c2a2638601b4352cd005cf9374320712dd7de84a8f3f39b8ec155ee47a368ae8f1d6c7e909c6336ce2b06f8c5bbdcb05bcec9d3f45e9340929ae0a0b37255144ea5c87c2c7a51bcf1f538f8f0beb10a60ea1c70492ea317e1a144e7da8b03d94da08a42fa040467fe1e48f4e3664b5d3b56ba9fd0d56c115aa61e827d5a558d667703e536f0361a52ffc0f0ddf09cf1e533cde4f7b43aedd37471ada815b32040773fadb471a622f23ecf753bb92e39bdc15220ff3a6c91d3e24ba3dfd693c3c7033e9bc5dd1f57475024706bb22146e61aa203d0b4fc0e39d8a62d1af34cb6f9caa89b2cc066d27125d90c3522f0e04154e760ffff83667ba711da6e57b84249272a4fdc81", - "shared_secrets": [ - "9bfc6b9310764fb4d3a924c52ff6aa3763a8cb059ac93fbeba460d34a7adc406", - "acc3306979bd674323846dd85bae3bb76beaa0038fc6dad3548b3739007e7af8", - "43d9f8011156114ec97909d74a492bc5a63a6d0368423d1912b8cfd8c437abc2", - "dfaf5b7dca976ff6eec0202924773412aa9e310ed6035d4a2b9edfa6efa4332f", - "33ce6628218be41191ce2d48e2262c79dafcbf22d9af9d8268d27254dfa59168" - ] - }, - { - "onion": "00034c3f9e11d92555260db3ee4ba0378a645d01c2556451f4289a1d9b43c7afa9a4f9ecc7010dafb26787bb583c514c3b3990d40c8168b1046659d7bc2512d2f1ee0afd2b87c42de2b70102b649634d211b38049593dbb6ed8ee8f93f0b9ff23cd9654c1341137711ce67751d40867cc90c290a9446be2b8a5a43641d4549505b13e807b4240b5b82ffaf22cb534cff01be46db3985ac83b7db465fbd86d4c8d472f60678946c71eca97dd5db732fe5a6d3765e5a5afad72f035207173e7eaaa0da4f0a4540472c7dd269a030428ae586a61b2a70a428055c3848427d2a2e8bd521aadbaf79d56ea39df63c059772e026d57f0b6844c1ab99e936beadf42aaa78193b05f7380e242258deeaa90db316a943d311ef4f2a08f422422c9da454f9666742ad61c6ae003bce83cf6243adf64a728ea50bdaf129ab2ac70e1988a117609cbefc01c884f86b2494349d1067f5cf17760cdab6ae076631693147e8712412d4f0b17cf288b394fd9e29419156ee629966553c2e7598631cbf7493820388eef1ae9f4d2f9da88872e8afbbedb3b46cd7c461cbe4c5491dc6f4a68bc244584bc79b1bb227c869fae16dab4b16412523c984d3ed2b872f63b95a62f66563d2b03c3d1b5fff0290411b293569ce8435b96b447be776b49395a8d94f48cb2f7699a38e8de58d6fff04075d226dcac07668512b6d2c20d4c49d03ad300a52769e4ebbacf97378633126958df1817effc12fd679723123df244fd9b5421f8a2aedb9a8b6fb4049e3a7cae3985059081239bea38351f0c90ed5a0ff45cc492e6ab353e4c13d22ff48912d6ecfda711edfb88dc0767ecfc5dddf8fb0e112a538aeee55c0f73b3b8afc4f40ef3588eabde5b95344a4525adf67841dd67b1db10da180fb346e0bd2958f095d011827063c42361964f8ac2c356d2ec1868a9498dcd6b5915a4df4601c58fcbeb688e14de61300f13183c154b3320cc8e80042a46f22d796f56ff1fdd7e28440c05f14b960c1d0a7c627b09295112bcb635b0e2447a9374fafc4a23ceaf9de4d10b29b2f6cabd7f0c7706cf0404452681d7372d559b644627b2695960deb3b4ae57028e0164b29d5ef9e701d3122b6a5715c502e1dca5252e8c215ed754b01a193041ad9751ed2fff1b55991e256edd6099a38004a367ad097c7caf953da302201263715517f6d32cff57969be994df42fd6cadb649e3c738be798f779aaf4c07cada6bf1e4115b74e2670baf4b1592c70b10a6c043b6606b428b3f79545dc8e9783c876e5402909858f9c604963c37fbc477137c8908e6cfa11ece18c8784a6f25428a5ee1e91d0095fe310d6a91139a7c5c6624bbfcaa15ee847a25b06f57332917f68526a6317f575792e9bcba8576a96bc5859b1f2a00fd8ab08a5ac4ab71833b0b711d1f120cbdb374bcedcdcbeba3806644f5082ec737a945221f5d99562fcbb02a43beeafb16ceecd4e35f06a04c9ff9f4f33725ab62cf22c36650280e4cfb9e150a2c4ebee7785108522e8ecb4682d2d751168e7597299346c3a5e885e36eda66b9a1112997111135767972d771b02c1a36c1d1fb1ce539ecfb98e9e1d8f8fdbf89aec28ad34ff5c00c1a4a8c59848dc8b64c0e65f6f10122e60b4adc1cfc602f49d6cfbdd54be6b0951d3f9cafe8cdd0428f9ce6994844e92d8b72d44edda623bad428b398f88643c3904bda16dd15e886ca4ef6ea7f1450744ac38ffce902569d2e9026bcedd6d0ee54aceabda22bf2de72cba89e6c274064619e32a1192cf2d78b56cf497f7785a6d599de9f8383d1f66f47fc385dc569ee1f08ddbbc7f1aeb0a0126fc4020d948dda10255f11e776db7a037059a40fde38a2ee0c0ce49c7f3df175881bf12371fa72fec3fba657107892a97efe41dcc18aeecd99f3e46c33cf42c2a0ba8b75cf000", - "shared_secrets": [ - "ccf2512684e2508cb4a842393757e6040b7d25e29d3a2031f29d00a000af6128", - "d4cec39fe6287d41165bf5c608b0c720a411208a83c64c805a012c86662a2e5a", - "91bc712ebd4a900e05830394ca8b1f1168777ecdd6996029d96ec8838b9903b9", - "93c373dcb14dc36ababa3e0c5c55869a667ca175e09913a98c3be67e6af97e16", - "b2642a5770a6b61ade071fdf69d3ea365cf48434fc2a2c399512778821a33e5c" - ] - }, - { - "onion": "0002cdce4bfaa9faa2c060afafe001b80bde07fc670e882c063a80b4738d5f78c9351825c6461cdfcd4fe4144d3b51f63da6351b28dd49c7bfdb0b4f7d8bda4ad0d99699eda39e551084c0a095746c358d1dc6d2eec8082f2aa2f69ae8f61b1f1437ae0ed673078fec6c0510a34058167ad1a34e819a3813d4cf27b2c4917a8c6ca3d70c3381a2a41b4c1b4540adf0e922e25f57d1cfc3064f29cfec4c17244160121975cab59b44c83b4a4905bf7ebfbd308de376334bf86d8aa92c674f7bcfec85680d73e9fee72642c98c603128e358c86e0bc88a60aaebc2637441a57261c61c6be145f00f2fc56164a6495f4b52d3172cb0ef52e91fa0d32a9ae2502d17433bda58d93fbc24a70ec6b5e740952a61404c7370eafe52599c7ee52e77b1cda87c46da98d2ff0d02fe09db5adcb2d2e9bcd083ef58392907b8a21681fa4ea1e4806b4676656457fea000fa504f9b4d159fe8b241266ac91dcc0351053c6dcc1493a6b02bed652cc8b92a8470c98924ebfde6ddc5cf7fd75f6e83a7350642053b70d4834179c30eb56d8c86656cda784daf3b6cd125779bec51099301e3f79f78d85d0454aef8bf5f9058491881b73e99b662b64080cd3eb16fd7f9d9640c18738736cfc15f391232b7df92f46ceb5abf08732ff833e9409ee541d7c926f7a0fe3e233d3eee4a63b65ab23b7c835b7cdd809ddfac8abb1df471fa66a54092815aa41e6fc1a026b86c5675d39c4e8c5c4b4acd48534165239f5634b9e828a7f9df94efcd2a39045efdee4d2f006a63ae828e6e90e3610c522085da6e0198141d6e501d83aba32057f4e59f9b7dfb0bf949c5ef91917cb54561d45a9e7ead049c57deb62d14ba6e18f5d7b0fb9f15e97bf5bd9f909f99c86c787357946654b87c489d34245d07fbb72119166e338b608a4178b452695235dd96bf7fd338e29a9f054ec1a63a442e12602d2329834297f6a197d8a377d608f402f0bcc936f45f33c8d2f9d40e5aef41816dd883add81ca20f1e0631457fe00aa2bd75c9165ffcd96c100c1db83a53aeee23d59f2a542ee3ba39ba62298ddfbd9ecfafd6b5d2121eb003ee23a2ebb8c6b6b687f42492c962510c5acf5231ff96635eba37354559ba39b042d9b6883cac662f418d7c62f9908b2a67964af5e5471804f7684e0d582b8bfec99816bb3442cca1d1fe4efd75d573ebf09fa9cad811063864fb14be4a7768ec2ddb118a77969e986c6584c4b20f8622941ca73d73562857d36e17a46a68d6e10147aaefff1ffb9809f0652a5f760148ed33550661b63c8176d5679e701c221d8a49d4062eb04010ea74cc1132fbeb8934c6e582ba2a16162b7e9171f95bce4ec3e339e70c781f95aaca406cd718b74397658fdefdd093486664be7ed13efa437012f1f57f9f1f4fb4eef7501ccf0e0ac4edc01fde138038c4dd65cb5c3291ad02a6728d6761b1afa35d49bd6ef117012bdd9bd6ee8a175620feb2249aa18d6175351b4bfc2b2b4fd57ff52f5969b109aa9b6cb2cde8f350917c0da2da1bc3d52eb0c7e6080b8f69c5783f2ed26feceb05ba4e7ed66676041d03d0acd3dd6343a85ac0b9c36f9640ddd0db884822f98dc42ea7911a6938dc14ba19d3d25a2b2f82794a2b5dd751dc856d7a9ccdb2d351a0b84e7030fa925ac949a37594f3aa2ba28ae5155b0aaac9c6820b8888d0b8a9db148513b9e3dbde68333ac30a0720289b6a0145d88629d49e76a6d3538330c5aececc9d54127b0a5a0e92d5a5a73beb71132c208b589cab61d53ed357c907929198c559426ae729b374a803dd3321a45ccca39efd39eddaba6e79a2f8911bdf74e18733dc7efc51132b5608d97fd2d0f22fa8961de04cdf6d0dbfbab21e362e7abaef3976f993088aa97ed3f1f4bcf3fffb012f583558bd2f15face9cba20b3e6754b70", - "shared_secrets": [ - "3f53c03f98eb83db88ff97c2c4004051ce23265ed2414a7aebf7a3e7078839ab" - ] - } - ], - "author": [ - "Christian Decker <> is mainly responsible." - ], - "see_also": [ - "lightning-sendonion(7)", - "lightning-getroute(7)" - ], - "resources": [ - "Main web site: ", - "", - "[BOLT 04](https://github.com/lightning/bolts/blob/master/04-onion-routing.md)" - ] - }, - "lightning-createrune.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.08", - "rpc": "createrune", - "title": "Command to Create/Update Rune for Authorizing Remote Peer Access", - "description": [ - "The **createrune** RPC command creates a base64 string called a *rune* which can be used to access commands on this node. Each *rune* contains a unique id (a number starting at 0), and can have restrictions inside it. Nobody can remove restrictions from a rune: if you try, the rune will be rejected. There is no limit on how many runes you can issue; the node simply decodes and checks them as they are received.", - "", - "Oh, I almost forgot. Runes can also be invoked like in ancient times with the **invokerune** command. Feel the magical powers of a rune by invoking it." - ], - "request": { - "required": [], - "properties": { - "rune": { - "type": "string", - "description": [ - "If supplied, the restrictions are simple appended to that *rune* (it doesn't need to be a rune belonging to this node). If not supplied, a new *rune* is constructed, with a new unique id." - ] - }, - "restrictions": { - "description": [ - "It can be the string `readonly`, or an array of restrictions.", - "Each restriction is an array of one or more alternatives, such as \"method is listpeers\", or \"method is listpeers OR time is before 2023\"." - ], - "oneOf": [ - { - "type": "array", - "description": [ - "Alternatives use a simple language to examine the command which is being run:", - " * time: the current UNIX time, e.g. \"time<1656759180\".", - " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".", - " * method: the command being run, e.g. \"method=withdraw\".", - " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".", - " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".", - " * pnum: the number of parameters. e.g. \"pnum<2\".", - " * pnameX: the parameter named X (with any punctuation like `_` removed). e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".", - " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\"." - ], - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "type": "string", - "enum": [ - "readonly" - ], - "description": [ - "A rune which allows most *get* and *list* commands, and the *summary* command." - ] - } - ] - } - } - }, - "response": { - "required": [ - "rune", - "unique_id" - ], - "properties": { - "rune": { - "type": "string", - "description": [ - "The resulting rune." - ] - }, - "unique_id": { - "type": "string", - "description": [ - "The id of this rune: this is set at creation and cannot be changed (even as restrictions are added)." - ] - }, - "warning_unrestricted_rune": { - "type": "string", - "description": [ - "A warning shown when runes are created with powers that could drain your node." - ] - } - } - }, - "restriction_format": [ - "Restrictions are one or more alternatives. Each alternative is *name* *operator* *value*. The valid names are shown above.", - "", - "Note that if a value contains `\\`, it must be preceeded by another `\\` to form valid JSON:", - "* `=`: passes if equal ie. identical. e.g. `method=withdraw`", - "* `/`: not equals, e.g. `method/withdraw`", - "* `^`: starts with, e.g. `id^024b9a1fa8e006f1e3937f`", - "* `$`: ends with, e.g. `id$381df1cc449605`.", - "* `~`: contains, e.g. `id~006f1e3937f65f66c40`.", - "* `<`: is a decimal integer, and is less than. e.g. `time<1656759180`", - "* `>`: is a decimal integer, and is greater than. e.g. `time>1656759180`", - "* `{`: preceeds in alphabetical order (or matches but is shorter),", - " e.g. `id{02ff`.", - "* `}`: follows in alphabetical order (or matches but is longer),", - " e.g. `id}02ff`.", - "* `#`: a comment, ignored, e.g. `dumb example#`.", - "* `!`: only passes if the *name* does *not* exist. e.g. `pnamedestination!`.", - "Every other operator except `#` fails if *name* does not exist!" - ], - "example_usage": [ - "This creates a fresh rune which can do anything:", - "", - "```shell", - "$ lightning-cli commando-rune", - "{", - " \"rune\": \"KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA==\",", - " \"unique_id\": \"0\"", - "}", - "```", - "We can add restrictions to that rune, like so:", - "", - "```shell", - "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions=readonly", - "{", - " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", - " \"unique_id\": \"0\"", - "}", - "```", - "The \"readonly\" restriction is a short-cut for two restrictions:", - "", - "1. `[\"method^list\", \"method^get\", \"method=summary\"]`: You may call list, get or summary.", - "2. `[\"method/listdatastore\"]`: But not listdatastore: that contains sensitive stuff!", - "", - "We can do the same manually, like so:", - "", - "```shell", - "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions='[[\"method^list\", \"method^get\", \"method=summary\"],[\"method/listdatastore\"]]'", - "{", - " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", - " \"unique_id\": \"0\"", - "}", - "```", - "Let's create a rune which lets a specific peer (024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605) run \"listpeers\" on themselves:", - "", - "```shell", - "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\",\"parr0=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"]]'", - "{", - " \"rune\": \"FE8GHiGVvxcFqCQcClVRRiNE_XEeLYQzyG2jmqto4jM9MiZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDV8cGFycjA9MDI0YjlhMWZhOGUwMDZmMWUzOTM3ZjY1ZjY2YzQwOGU2ZGE4ZTFjYTcyOGVhNDMyMjJhNzM4MWRmMWNjNDQ5NjA1\",", - " \"unique_id\": \"2\"", - "}", - "```", - "This allows `listpeers` with 1 argument (`pnum=1`), which is either by name (`pnameid`), or position (`parr0`). We could shorten this in several ways: either allowing only positional or named parameters, or by testing the start of the parameters only. Here's an example which only checks the first 9 bytes of the `listpeers` parameter:", - "", - "```shell", - "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid^024b9a1fa8e006f1e393\", \"parr0^024b9a1fa8e006f1e393\"]'", - " {", - " \"rune\": \"fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw==\",", - " \"unique_id\": \"3\"", - "}", - "```", - "Before we give this to our peer, let's add two more restrictions: that it only be usable for 24 hours from now (`time<`), and that it can only be used twice a minute (`rate=2`). `date +%s` can give us the current time in seconds:", - "", - "```shell", - "$ lightning-cli commando-rune rune=fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw== restrictions='[[\"time<'$(($(date +%s) + 24*60*60))'\",\"rate=2\"]]'", - "{", - " \"rune\": \"tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y\",", - " \"unique_id\": \"3\"", - "}", - "```", - "You can also use lightning-decode(7) to examine runes you have been given:", - "", - "```shell", - "$ lightning-cli decode tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y", - "{", - " \"type\": \"rune\",", - " \"unique_id\": \"3\",", - " \"string\": \"b54f912e33220e9636534a375b5a05a306abdfa4451a95a5a0f6d6f7e46e65da:=3&id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605&method=listpeers&pnum=1&pnameid^024b9a1fa8e006f1e393|parr0^024b9a1fa8e006f1e393&time<1656920538&rate=2\",", - " \"restrictions\": [", - " {", - " \"alternatives\": [", - " \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"", - " ],", - " \"summary\": \"id (of commanding peer) equal to '024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605'\"", - " },", - " {", - " \"alternatives\": [", - " \"method=listpeers\"", - " ],", - " \"summary\": \"method (of command) equal to 'listpeers'\"", - " },", - " {", - " \"alternatives\": [", - " \"pnum=1\"", - " ],", - " \"summary\": \"pnum (number of command parameters) equal to 1\"", - " },", - " {", - " \"alternatives\": [", - " \"pnameid^024b9a1fa8e006f1e393\",", - " \"parr0^024b9a1fa8e006f1e393\"", - " ],", - " \"summary\": \"pnameid (object parameter 'id') starts with '024b9a1fa8e006f1e393' OR parr0 (array parameter #0) starts with '024b9a1fa8e006f1e393'\"", - " },", - " {", - " \"alternatives\": [", - " \"time<1656920538\"", - " ],", - " \"summary\": \"time (in seconds since 1970) less than 1656920538 (approximately 19 hours 18 minutes from now)\"", - " },", - " {", - " \"alternatives\": [", - " \"rate=2\"", - " ],", - " \"summary\": \"rate (max per minute) equal to 2\"", - " }", - " ],", - " \"valid\": true", - "}", - "```" - ], - "sharing_runes": [ - "Because anyone can add a restriction to a rune, you can always turn a normal rune into a read-only rune, or restrict access for 30 minutes from the time you give it to someone. Adding restrictions before sharing runes is best practice.", - "", - "If a rune has a ratelimit, any derived rune will have the same id, and thus will compete for that ratelimit. You might want to consider adding a tighter ratelimit to a rune before sharing it, so you will keep the remainder. For example, if you rune has a limit of 60 times per minute, adding a limit of 5 times per minute and handing that rune out means you can still use your original rune 55 times per minute." - ], - "example_json_request": [ - { - "id": "example:createrune#1", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#2", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method/getinfo" - ] - ] - } - }, - { - "id": "example:createrune#3", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#4", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method/getinfo" - ] - ] - } - }, - { - "id": "example:createrune#5", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=getinfo" - ] - ] - } - }, - { - "id": "example:createrune#6", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=invoice" - ] - ] - } - }, - { - "id": "example:createrune#7", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=invoice" - ] - ] - } - }, - { - "id": "example:createrune#8", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=invoice" - ] - ] - } - }, - { - "id": "example:createrune#9", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#10", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#11", - "method": "createrune", - "params": { - "restrictions": "readonly" - } - }, - { - "id": "example:createrune#12", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=listclnrest-notifications" - ] - ] - } - }, - { - "id": "example:createrune#13", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method/listclnrest-notifications" - ] - ] - } - }, - { - "id": "example:createrune#14", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=listclnrest-notifications" - ] - ] - } - }, - { - "id": "example:createrune#15", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#16", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#17", - "method": "createrune", - "params": { - "restrictions": [ - [ - "method=getinfo" - ] - ] - } - }, - { - "id": "example:createrune#18", - "method": "createrune", - "params": "{}" - }, - { - "id": "example:createrune#19", - "method": "createrune", - "params": { - "restrictions": "readonly" - } - }, - { - "id": "example:createrune#20", - "method": "createrune", - "params": { - "restrictions": [ - [ - "time>1656675211" - ] - ] - } - }, - { - "id": "example:createrune#21", - "method": "createrune", - "params": { - "restrictions": [ - [ - "id^022d223620a359a47ff7" - ], - [ - "method=listpeers" - ] - ] - } - }, - { - "id": "example:createrune#22", - "method": "createrune", - "params": { - "restrictions": [ - [ - "pnum=0" - ] - ] - } - }, - { - "id": "example:createrune#23", - "method": "createrune", - "params": [ - "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - [ - [ - "rate=3" - ] - ] - ] - } - ], - "example_json_response": [ - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "S5f-BKt3rR-cvJmujdpDCUQm_XLahfB4iQuDlwqMJiQ9MCZtZXRob2QvZ2V0aW5mbw==", - "unique_id": "0" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "S5f-BKt3rR-cvJmujdpDCUQm_XLahfB4iQuDlwqMJiQ9MCZtZXRob2QvZ2V0aW5mbw==", - "unique_id": "0" - }, - { - "rune": "u7TWBaWJjWoBfxgoZq-8RLYzO4eJOZuhnK2dB3JMGmM9MSZtZXRob2Q9Z2V0aW5mbw==", - "unique_id": "1" - }, - { - "rune": "3qQTTpOUOWXAfUKla0x8t0t5-lHS-ajEuVtuq83lUuk9MiZtZXRob2Q9aW52b2ljZQ==", - "unique_id": "2" - }, - { - "rune": "HNSFwA6BUHzTNJe3OeEKl8nIZdzDguKUDqVLEc5Fao49MyZtZXRob2Q9aW52b2ljZQ==", - "unique_id": "3" - }, - { - "rune": "uJePZBfRC-PzpYzpFpMxQMXARKCFNT1u0UowS7kAXO09NCZtZXRob2Q9aW52b2ljZQ==", - "unique_id": "4" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "unique_id": "0" - }, - { - "rune": "_VPs630BTE0VRIuvN00YeTv1d6-bNd80TuiW3945ZGs9MCZtZXRob2Q9bGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", - "unique_id": "0" - }, - { - "rune": "85Yq1LuOdiVQM2B60SDzX6_YJcOtFXkusX7nkKXOXr09MCZtZXRob2QvbGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", - "unique_id": "0" - }, - { - "rune": "p53gRfKLJvJepYivOGOEaVQmvOn3wmxcZhUR5gK-9cw9MCZtZXRob2Q9bGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", - "unique_id": "0" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "unique_id": "1", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", - "unique_id": "2" - }, - { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." - }, - { - "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", - "unique_id": "1" - }, - { - "rune": "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=", - "unique_id": "2" - }, - { - "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", - "unique_id": "3" - }, - { - "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", - "unique_id": "4" - }, - { - "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", - "unique_id": "4" - } - ], - "author": [ - "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", - "", - "Shahana Farooqui <> is mainly responsible for migrating commando-rune to createrune." - ], - "see_also": [ - "lightning-commando-rune(7)", - "lightning-checkrune(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-datastore.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "datastore", - "title": "Command for storing (plugin) data", - "description": [ - "The **datastore** RPC command allows plugins to store data in the Core Lightning database, for later retrieval." - ], - "request": { - "required": [ - "key" - ], - "properties": { - "key": { - "description": [ - "A key can either have children or a value, never both: parents are created and removed automatically." - ], - "oneOf": [ - { - "type": "array", - "description": [ - "An array of values to form a hierarchy (though a single value is treated as a one-element array). Using the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended." - ], - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "string": { - "type": "string", - "description": [ - "Data to be saved in string format." - ] - }, - "hex": { - "type": "hex", - "description": [ - "Data to be saved in hex format." - ] - }, - "mode": { - "type": "string", - "description": [ - "Write mode to determine how the record is updated:", - " * `must-create`: fails if it already exists.", - " * `must-replace`: fails if it doesn't already exist.", - " * `create-or-replace`: never fails.", - " * `must-append`: must already exist, append this to what's already there.", - " * `create-or-append`: append if anything is there, otherwise create." - ], - "enum": [ - "must-create", - "must-replace", - "create-or-replace", - "must-append", - "create-or-append" - ], - "default": "`must-create`" - }, - "generation": { - "type": "u64", - "description": [ - "If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with *mode* `must-replace` or `must-append`." - ] - } - } - }, - "response": { - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Part of the key added to the datastore." - ] - } - }, - "generation": { - "type": "u64", - "description": [ - "The number of times this has been updated." - ] - }, - "hex": { - "type": "hex", - "description": [ - "The hex data which has been added to the datastore." - ] - }, - "string": { - "type": "string", - "description": [ - "The data as a string, if it's valid utf-8." - ] - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- 1202: The key already exists (and mode said it must not)", - "- 1203: The key does not exist (and mode said it must)", - "- 1204: The generation was wrong (and generation was specified)", - "- 1205: The key has children already.", - "- 1206: One of the parents already exists with a value.", - "- -32602: invalid parameters" - ], - "example_json_request": [ - { - "id": "example:datastore#1", - "method": "datastore", - "params": { - "key": [ - "test_libplugin", - "name" - ], - "string": null, - "hex": "00010203", - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#2", - "method": "datastore", - "params": { - "key": [ - "test_libplugin", - "name" - ], - "string": "foobar", - "hex": null, - "mode": "must-replace", - "generation": null - } - }, - { - "id": "example:datastore#3", - "method": "datastore", - "params": { - "key": [ - "test_libplugin", - "name" - ], - "string": null, - "hex": "00010203", - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#4", - "method": "datastore", - "params": { - "key": [ - "test_libplugin", - "name" - ], - "string": "foobar", - "hex": null, - "mode": "must-replace", - "generation": null - } - }, - { - "id": "example:datastore#5", - "method": "datastore", - "params": { - "key": "foo_bar", - "string": "{\"foo\": \"bar\"}", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#6", - "method": "datastore", - "params": { - "key": "somekey", - "string": null, - "hex": "736f6d6564617461", - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#7", - "method": "datastore", - "params": { - "key": "somekey", - "string": null, - "hex": "736f6d656461", - "mode": "must-replace", - "generation": null - } - }, - { - "id": "example:datastore#8", - "method": "datastore", - "params": { - "key": "somekey", - "string": null, - "hex": "74", - "mode": "must-append", - "generation": null - } - }, - { - "id": "example:datastore#9", - "method": "datastore", - "params": { - "key": "somekey", - "string": null, - "hex": "61", - "mode": "create-or-append", - "generation": null - } - }, - { - "id": "example:datastore#10", - "method": "datastore", - "params": { - "key": "otherkey", - "string": "otherdata", - "hex": null, - "mode": "create-or-append", - "generation": null - } - }, - { - "id": "example:datastore#11", - "method": "datastore", - "params": { - "key": "badstring", - "string": null, - "hex": "00", - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#12", - "method": "datastore", - "params": { - "key": "otherkey", - "string": "otherdataa", - "hex": null, - "mode": "must-replace", - "generation": 0 - } - }, - { - "id": "example:datastore#13", - "method": "datastore", - "params": { - "key": "a", - "string": "aval", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#14", - "method": "datastore", - "params": { - "key": [ - "a", - "b" - ], - "string": "abval", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#15", - "method": "datastore", - "params": { - "key": [ - "a", - "b2" - ], - "string": "ab2val", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#16", - "method": "datastore", - "params": { - "key": [ - "a", - "b3", - "c" - ], - "string": "ab2val", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#17", - "method": "datastore", - "params": { - "key": [ - "a", - "b3", - "c" - ], - "string": "2", - "hex": null, - "mode": "must-append", - "generation": null - } - }, - { - "id": "example:datastore#18", - "method": "datastore", - "params": { - "key": [ - "a", - "b" - ], - "string": "somedatatostoreinthedatastore", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#19", - "method": "datastore", - "params": { - "key": [ - "a", - "c" - ], - "string": "somedatatostoreinthedatastore", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#20", - "method": "datastore", - "params": { - "key": [ - "a", - "thisissomelongkeythattriestostore46bytesofdata" - ], - "string": "somedatatostoreinthedatastore", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#21", - "method": "datastore", - "params": { - "key": [ - "thisissomelongkeythattriestostore46bytesofdata", - "a" - ], - "string": "somedatatostoreinthedatastore", - "hex": null, - "mode": null, - "generation": null - } - }, - { - "id": "example:datastore#22", - "method": "datastore", - "params": { - "key": [ - "a", - "d", - "e", - "f", - "g" - ], - "string": "somedatatostoreinthedatastore", - "hex": null, - "mode": null, - "generation": null - } - } - ], - "example_json_response": [ - { - "key": [ - "test_libplugin", - "name" - ], - "generation": 0, - "hex": "00010203" - }, - { - "key": [ - "test_libplugin", - "name" - ], - "generation": 1, - "hex": "666f6f626172", - "string": "foobar" - }, - { - "key": [ - "test_libplugin", - "name" - ], - "generation": 0, - "hex": "00010203" - }, - { - "key": [ - "test_libplugin", - "name" - ], - "generation": 1, - "hex": "666f6f626172", - "string": "foobar" - }, - { - "key": [ - "foo_bar" - ], - "generation": 0, - "hex": "7b22666f6f223a2022626172227d", - "string": "{\"foo\": \"bar\"}" - }, - { - "key": [ - "somekey" - ], - "generation": 0, - "hex": "736f6d6564617461", - "string": "somedata" - }, - { - "key": [ - "somekey" - ], - "generation": 1, - "hex": "736f6d656461", - "string": "someda" - }, - { - "key": [ - "somekey" - ], - "generation": 2, - "hex": "736f6d65646174", - "string": "somedat" - }, - { - "key": [ - "somekey" - ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" - }, - { - "key": [ - "otherkey" - ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" - }, - { - "key": [ - "badstring" - ], - "generation": 0, - "hex": "00" - }, - { - "key": [ - "otherkey" - ], - "generation": 1, - "hex": "6f746865726461746161", - "string": "otherdataa" - }, - { - "key": [ - "a" - ], - "generation": 0, - "hex": "6176616c", - "string": "aval" - }, - { - "key": [ - "a", - "b" - ], - "generation": 0, - "hex": "616276616c", - "string": "abval" - }, - { - "key": [ - "a", - "b2" - ], - "generation": 0, - "hex": "61623276616c", - "string": "ab2val" - }, - { - "key": [ - "a", - "b3", - "c" - ], - "generation": 0, - "hex": "61623276616c", - "string": "ab2val" - }, - { - "key": [ - "a", - "b3", - "c" - ], - "generation": 1, - "hex": "61623276616c32", - "string": "ab2val2" - }, - { - "key": [ - "a", - "b" - ], - "generation": 0, - "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", - "string": "somedatatostoreinthedatastore" - }, - { - "key": [ - "a", - "c" - ], - "generation": 0, - "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", - "string": "somedatatostoreinthedatastore" - }, - { - "key": [ - "a", - "thisissomelongkeythattriestostore46bytesofdata" - ], - "generation": 0, - "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", - "string": "somedatatostoreinthedatastore" - }, - { - "key": [ - "thisissomelongkeythattriestostore46bytesofdata", - "a" - ], - "generation": 0, - "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", - "string": "somedatatostoreinthedatastore" - }, - { - "key": [ - "a", - "d", - "e", - "f", - "g" - ], - "generation": 0, - "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", - "string": "somedatatostoreinthedatastore" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listdatastore(7)", - "lightning-deldatastore(7)", - "lightning-datastoreusage(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-datastoreusage.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.11", - "rpc": "datastoreusage", - "title": "Command for listing datastore usage info", - "description": [ - "The **datastoreusage** RPC command allows the caller to fetch the total bytes that are stored under a certain *key* (or from the root), including the size of the *key*.", - "", - "All descendants of the *key* (or root) are taken into account." - ], - "request": { - "required": [], - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": [ - "Key is an array of values (though a single value is treated as a one-element array). Used as the starting point to traverse the datastore." - ], - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - } - } - }, - "response": { - "required": [ - "datastoreusage" - ], - "properties": { - "datastoreusage": { - "type": "object", - "additionalProperties": false, - "required": [ - "key", - "total_bytes" - ], - "properties": { - "key": { - "type": "string", - "description": [ - "The key from which the database was traversed." - ] - }, - "total_bytes": { - "type": "u64", - "description": [ - "The total bytes that are stored under the *key*, including the all descendants data and the size of the keys themselves." - ] - } - } - } - } - }, - "example_json_request": [ - { - "id": "example:datastoreusage#1", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#2", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#3", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#4", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#5", - "method": "datastoreusage", - "params": { - "key": "a" - } - }, - { - "id": "example:datastoreusage#6", - "method": "datastoreusage", - "params": { - "key": [ - "a", - "b" - ] - } - }, - { - "id": "example:datastoreusage#7", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#8", - "method": "datastoreusage", - "params": { - "key": [ - "a", - "b" - ] - } - }, - { - "id": "example:datastoreusage#9", - "method": "datastoreusage", - "params": { - "key": [ - "a", - "c" - ] - } - }, - { - "id": "example:datastoreusage#10", - "method": "datastoreusage", - "params": { - "key": null - } - }, - { - "id": "example:datastoreusage#11", - "method": "datastoreusage", - "params": { - "key": [ - "a", - "thisissomelongkeythattriestostore46bytesofdata" - ] - } - }, - { - "id": "example:datastoreusage#12", - "method": "datastoreusage", - "params": { - "key": [ - "thisissomelongkeythattriestostore46bytesofdata", - "a" - ] - } - }, - { - "id": "example:datastoreusage#13", - "method": "datastoreusage", - "params": { - "key": [ - "a", - "d", - "e", - "f", - "g" - ] - } - }, - { - "id": "example:datastoreusage#14", - "method": "datastoreusage", - "params": { - "key": null - } - } - ], - "example_json_response": [ - { - "datastoreusage": { - "key": "[]", - "total_bytes": 0 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 0 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[a]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[a,b]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 64 - } - }, - { - "datastoreusage": { - "key": "[a,b]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[a,c]", - "total_bytes": 32 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 141 - } - }, - { - "datastoreusage": { - "key": "[a,thisissomelongkeythattriestostore46bytesofdata]", - "total_bytes": 77 - } - }, - { - "datastoreusage": { - "key": "[thisissomelongkeythattriestostore46bytesofdata,a]", - "total_bytes": 77 - } - }, - { - "datastoreusage": { - "key": "[a,d,e,f,g]", - "total_bytes": 38 - } - }, - { - "datastoreusage": { - "key": "[]", - "total_bytes": 256 - } - } - ], - "author": [ - "Peter Neuroth <> is mainly responsible." - ], - "see_also": [ - "lightning-datastore(7)", - "lightning-deldatastore(7)", - "lightning-listdatastore(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-decode.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "rpc": "decode", - "title": "Command for decoding an invoice string (low-level)", - "description": [ - "The **decode** RPC command checks and parses `bolt11`, `bolt12`, `rune` or `emergency_recover`. It may decode other formats in future." - ], - "request": { - "required": [ - "string" - ], - "properties": { - "string": { - "type": "string", - "description": [ - "Value to be decoded:", - " * a *bolt11* or *bolt12* string (optionally prefixed by `lightning:` or `LIGHTNING:`) as specified by the BOLT 11 and BOLT 12 specifications.", - " * a *rune* as created by lightning-commando-rune(7).", - " * an *emergency_recover* string generated by hsmtool like `lightning-hsmtool getemergencyrecover `. It holds `emergency.recover` contents and starts with `clnemerg1`." - ] - } - } - }, - "response": { - "required": [ - "type", - "valid" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer", - "bolt12 invoice", - "bolt12 invoice_request", - "bolt11 invoice", - "rune", - "emergency recover" - ], - "description": [ - "What kind of object it decoded to." - ] - }, - "valid": { - "type": "boolean", - "description": [ - "If this is false, you *MUST* not use the result except for diagnostics!" - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "offer_id", - "offer_node_id", - "offer_description" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": [ - "The id we use to identify this offer." - ], - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": [ - "Which blockchains this offer is for (missing implies bitcoin mainnet only)." - ], - "items": { - "type": "hash", - "description": [ - "The genesis blockhash." - ] - } - }, - "offer_metadata": { - "type": "hex", - "description": [ - "Any metadata the creator of the offer includes." - ] - }, - "offer_currency": { - "type": "string", - "description": [ - "ISO 4217 code of the currency (missing implies Bitcoin)." - ], - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": [ - "The currency code is unknown (so no `currency_minor_unit`)." - ] - }, - "currency_minor_unit": { - "type": "u32", - "description": [ - "The number of decimal places to apply to amount (if currency known)." - ] - }, - "offer_amount": { - "type": "u64", - "description": [ - "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." - ] - }, - "offer_amount_msat": { - "type": "msat", - "description": [ - "The amount in bitcoin (if specified, and no `offer_currency`)." - ] - }, - "offer_description": { - "type": "string", - "description": [ - "The description of the purpose of the offer." - ] - }, - "offer_issuer": { - "type": "string", - "description": [ - "The description of the creator of the offer." - ] - }, - "offer_features": { - "type": "hex", - "description": [ - "The feature bits of the offer." - ] - }, - "offer_absolute_expiry": { - "type": "u64", - "description": [ - "UNIX timestamp of when this offer expires." - ] - }, - "offer_quantity_max": { - "type": "u64", - "description": [ - "The maximum quantity (or, if 0, means any quantity)." - ] - }, - "offer_paths": { - "type": "array", - "description": [ - "Paths to the destination." - ], - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": [ - "The (presumably well-known) public key of the start of the path." - ] - }, - "blinding": { - "type": "pubkey", - "description": [ - "Blinding factor for this path." - ] - }, - "path": { - "type": "array", - "description": [ - "An individual path." - ], - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": [ - "Node_id of the hop." - ] - }, - "encrypted_recipient_data": { - "type": "hex", - "description": [ - "Encrypted TLV entry for this hop." - ] - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": [ - "Public key of the offering node." - ] - }, - "offer_recurrence": { - "type": "object", - "description": [ - "How often to this offer should be used." - ], - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": [ - "The BOLT12 time unit." - ] - }, - "time_unit_name": { - "type": "string", - "description": [ - "The name of `time_unit` (if valid)." - ] - }, - "period": { - "type": "u32", - "description": [ - "How many `time_unit` per payment period." - ] - }, - "basetime": { - "type": "u64", - "description": [ - "Period starts at this UNIX timestamp." - ] - }, - "start_any_period": { - "type": "u64", - "description": [ - "You can start at any period (only if `basetime` present)." - ] - }, - "limit": { - "type": "u32", - "description": [ - "Maximum period number for recurrence." - ] - }, - "paywindow": { - "type": "object", - "description": [ - "When within a period will payment be accepted." - ], - "default": "prior and during the period", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": [ - "Seconds prior to period start." - ] - }, - "seconds_after": { - "type": "u32", - "description": [ - "Seconds after to period start." - ] - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Amount should be scaled if paid after period start." - ] - } - } - } - } - }, - "unknown_offer_tlvs": { - "type": "array", - "description": [ - "Any extra fields we didn't know how to parse." - ], - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": [ - "The type." - ] - }, - "length": { - "type": "u64", - "description": [ - "The length." - ] - }, - "value": { - "type": "hex", - "description": [ - "The value." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 offer" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "node_id": {}, - "signature": {}, - "chains": {}, - "currency": {}, - "minor_unit": {}, - "warning_unknown_offer_currency": {}, - "amount": {}, - "amount_msat": {}, - "send_invoice": {}, - "description": {}, - "vendor": {}, - "features": {}, - "absolute_expiry": {}, - "paths": {}, - "quantity_max": {}, - "unknown_offer_tlvs": {}, - "recurrence": {}, - "warning_missing_offer_node_id": { - "type": "string", - "description": [ - "`offer_node_id` is not present." - ] - }, - "warning_invalid_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not valid UTF8." - ] - }, - "warning_missing_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not present." - ] - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": [ - "`offer_currency_code` is not valid UTF8." - ] - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": [ - "`offer_issuer` is not valid UTF8." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice_request" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "offer_node_id", - "offer_description", - "invreq_metadata", - "invreq_payer_id", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": [ - "The id we use to identify this offer." - ], - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": [ - "Which blockchains this offer is for (missing implies bitcoin mainnet only)." - ], - "items": { - "type": "hex", - "description": [ - "The genesis blockhash." - ], - "maxLength": 64, - "minLength": 64 - } - }, - "offer_metadata": { - "type": "hex", - "description": [ - "Any metadata the creator of the offer includes." - ] - }, - "offer_currency": { - "type": "string", - "description": [ - "ISO 4217 code of the currency (missing implies Bitcoin)." - ], - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": [ - "The currency code is unknown (so no `currency_minor_unit`)." - ] - }, - "currency_minor_unit": { - "type": "u32", - "description": [ - "The number of decimal places to apply to amount (if currency known)." - ] - }, - "offer_amount": { - "type": "u64", - "description": [ - "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." - ] - }, - "offer_amount_msat": { - "type": "msat", - "description": [ - "The amount in bitcoin (if specified, and no `offer_currency`)." - ] - }, - "offer_description": { - "type": "string", - "description": [ - "The description of the purpose of the offer." - ] - }, - "offer_issuer": { - "type": "string", - "description": [ - "The description of the creator of the offer." - ] - }, - "offer_features": { - "type": "hex", - "description": [ - "The feature bits of the offer." - ] - }, - "offer_absolute_expiry": { - "type": "u64", - "description": [ - "UNIX timestamp of when this offer expires." - ] - }, - "offer_quantity_max": { - "type": "u64", - "description": [ - "The maximum quantity (or, if 0, means any quantity)." - ] - }, - "offer_paths": { - "type": "array", - "description": [ - "Paths to the destination." - ], - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": [ - "The (presumably well-known) public key of the start of the path." - ] - }, - "blinding": { - "type": "pubkey", - "description": [ - "Blinding factor for this path." - ] - }, - "path": { - "type": "array", - "description": [ - "An individual path." - ], - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": [ - "Node_id of the hop." - ] - }, - "encrypted_recipient_data": { - "type": "hex", - "description": [ - "Encrypted TLV entry for this hop." - ] - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": [ - "Public key of the offering node." - ] - }, - "offer_recurrence": { - "type": "object", - "description": [ - "How often to this offer should be used." - ], - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": [ - "The BOLT12 time unit." - ] - }, - "time_unit_name": { - "type": "string", - "description": [ - "The name of `time_unit` (if valid)." - ] - }, - "period": { - "type": "u32", - "description": [ - "How many `time_unit` per payment period." - ] - }, - "basetime": { - "type": "u64", - "description": [ - "Period starts at this UNIX timestamp." - ] - }, - "start_any_period": { - "type": "u64", - "description": [ - "You can start at any period (only if `basetime` present)." - ] - }, - "limit": { - "type": "u32", - "description": [ - "Maximum period number for recurrence." - ] - }, - "paywindow": { - "type": "object", - "description": [ - "When within a period will payment be accepted." - ], - "default": "prior and during the period", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": [ - "Seconds prior to period start." - ] - }, - "seconds_after": { - "type": "u32", - "description": [ - "Seconds after to period start." - ] - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Amount should be scaled if paid after period start." - ] - } - } - } - } - }, - "invreq_metadata": { - "type": "hex", - "description": [ - "The payer-provided blob to derive invreq_payer_id." - ] - }, - "invreq_payer_id": { - "type": "hex", - "description": [ - "The payer-provided key." - ] - }, - "invreq_chain": { - "type": "hex", - "description": [ - "Which blockchain this offer is for (missing implies bitcoin mainnet only)." - ], - "maxLength": 64, - "minLength": 64 - }, - "invreq_amount_msat": { - "type": "msat", - "description": [ - "The amount the invoice should be for." - ] - }, - "invreq_features": { - "type": "hex", - "description": [ - "The feature bits of the invoice_request." - ] - }, - "invreq_quantity": { - "type": "u64", - "description": [ - "The number of items to invoice for." - ] - }, - "invreq_payer_note": { - "type": "string", - "description": [ - "A note attached by the payer." - ] - }, - "invreq_recurrence_counter": { - "type": "u32", - "description": [ - "Which number request this is for the same invoice." - ] - }, - "invreq_recurrence_start": { - "type": "u32", - "description": [ - "When we're requesting to start an invoice at a non-zero period." - ] - }, - "signature": { - "type": "bip340sig", - "description": [ - "BIP-340 signature of the `invreq_payer_id` on this invoice_request." - ] - }, - "unknown_invoice_request_tlvs": { - "type": "array", - "description": [ - "Any extra fields we didn't know how to parse." - ], - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": [ - "The type." - ] - }, - "length": { - "type": "u64", - "description": [ - "The length." - ] - }, - "value": { - "type": "hex", - "description": [ - "The value." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice_request" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "offer_chains": {}, - "offer_metadata": {}, - "offer_currency": {}, - "warning_unknown_offer_currency": {}, - "currency_minor_unit": {}, - "offer_amount": {}, - "offer_amount_msat": {}, - "offer_description": {}, - "offer_issuer": {}, - "offer_features": {}, - "offer_absolute_expiry": {}, - "offer_quantity_max": {}, - "offer_paths": {}, - "offer_node_id": {}, - "offer_recurrence": {}, - "invreq_metadata": {}, - "invreq_payer_id": {}, - "invreq_chain": {}, - "invreq_amount_msat": {}, - "invreq_features": {}, - "invreq_quantity": {}, - "invreq_payer_note": {}, - "invreq_recurrence_counter": {}, - "invreq_recurrence_start": {}, - "warning_invalid_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not valid UTF8." - ] - }, - "warning_missing_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not present." - ] - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": [ - "`offer_currency_code` is not valid UTF8." - ] - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": [ - "`offer_issuer` is not valid UTF8." - ] - }, - "warning_missing_invreq_metadata": { - "type": "string", - "description": [ - "`invreq_metadata` is not present." - ] - }, - "warning_missing_invreq_payer_id": { - "type": "string", - "description": [ - "`invreq_payer_id` is not present." - ] - }, - "warning_invalid_invreq_payer_note": { - "type": "string", - "description": [ - "`invreq_payer_note` is not valid UTF8." - ] - }, - "warning_missing_invoice_request_signature": { - "type": "string", - "description": [ - "`signature` is not present." - ] - }, - "warning_invalid_invoice_request_signature": { - "type": "string", - "description": [ - "Incorrect `signature`." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "offer_node_id", - "offer_description", - "invreq_metadata", - "invreq_payer_id", - "invoice_paths", - "invoice_created_at", - "invoice_payment_hash", - "invoice_amount_msat", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": { - "type": "hex", - "description": [ - "The id we use to identify this offer." - ], - "maxLength": 64, - "minLength": 64 - }, - "offer_chains": { - "type": "array", - "description": [ - "Which blockchains this offer is for (missing implies bitcoin mainnet only)." - ], - "items": { - "type": "hex", - "description": [ - "The genesis blockhash." - ], - "maxLength": 64, - "minLength": 64 - } - }, - "offer_metadata": { - "type": "hex", - "description": [ - "Any metadata the creator of the offer includes." - ] - }, - "offer_currency": { - "type": "string", - "description": [ - "ISO 4217 code of the currency (missing implies Bitcoin)." - ], - "maxLength": 3, - "minLength": 3 - }, - "warning_unknown_offer_currency": { - "type": "string", - "description": [ - "The currency code is unknown (so no `currency_minor_unit`)." - ] - }, - "currency_minor_unit": { - "type": "u32", - "description": [ - "The number of decimal places to apply to amount (if currency known)." - ] - }, - "offer_amount": { - "type": "u64", - "description": [ - "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." - ] - }, - "offer_amount_msat": { - "type": "msat", - "description": [ - "The amount in bitcoin (if specified, and no `offer_currency`)." - ] - }, - "offer_description": { - "type": "string", - "description": [ - "The description of the purpose of the offer." - ] - }, - "offer_issuer": { - "type": "string", - "description": [ - "The description of the creator of the offer." - ] - }, - "offer_features": { - "type": "hex", - "description": [ - "The feature bits of the offer." - ] - }, - "offer_absolute_expiry": { - "type": "u64", - "description": [ - "UNIX timestamp of when this offer expires." - ] - }, - "offer_quantity_max": { - "type": "u64", - "description": [ - "The maximum quantity (or, if 0, means any quantity)." - ] - }, - "offer_paths": { - "type": "array", - "description": [ - "Paths to the destination." - ], - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": [ - "The (presumably well-known) public key of the start of the path." - ] - }, - "blinding": { - "type": "pubkey", - "description": [ - "Blinding factor for this path." - ] - }, - "path": { - "type": "array", - "description": [ - "An individual path." - ], - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": [ - "Node_id of the hop." - ] - }, - "encrypted_recipient_data": { - "type": "hex", - "description": [ - "Encrypted TLV entry for this hop." - ] - } - } - } - } - } - } - }, - "offer_node_id": { - "type": "pubkey", - "description": [ - "Public key of the offering node." - ] - }, - "offer_recurrence": { - "type": "object", - "description": [ - "How often to this offer should be used." - ], - "required": [ - "period", - "time_unit" - ], - "additionalProperties": false, - "properties": { - "time_unit": { - "type": "u32", - "description": [ - "The BOLT12 time unit." - ] - }, - "time_unit_name": { - "type": "string", - "description": [ - "The name of `time_unit` (if valid)." - ] - }, - "period": { - "type": "u32", - "description": [ - "How many `time_unit` per payment period." - ] - }, - "basetime": { - "type": "u64", - "description": [ - "Period starts at this UNIX timestamp." - ] - }, - "start_any_period": { - "type": "u64", - "description": [ - "You can start at any period (only if `basetime` present)." - ] - }, - "limit": { - "type": "u32", - "description": [ - "Maximum period number for recurrence." - ] - }, - "paywindow": { - "type": "object", - "description": [ - "When within a period will payment be accepted." - ], - "default": "prior and during the period", - "required": [ - "seconds_before", - "seconds_after" - ], - "additionalProperties": false, - "properties": { - "seconds_before": { - "type": "u32", - "description": [ - "Seconds prior to period start." - ] - }, - "seconds_after": { - "type": "u32", - "description": [ - "Seconds after to period start." - ] - }, - "proportional_amount": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Amount should be scaled if paid after period start." - ] - } - } - } - } - }, - "invreq_metadata": { - "type": "hex", - "description": [ - "The payer-provided blob to derive invreq_payer_id." - ] - }, - "invreq_payer_id": { - "type": "hex", - "description": [ - "The payer-provided key." - ] - }, - "invreq_chain": { - "type": "hex", - "description": [ - "Which blockchain this offer is for (missing implies bitcoin mainnet only)." - ], - "maxLength": 64, - "minLength": 64 - }, - "invreq_amount_msat": { - "type": "msat", - "description": [ - "The amount the invoice should be for." - ] - }, - "invreq_features": { - "type": "hex", - "description": [ - "The feature bits of the invoice_request." - ] - }, - "invreq_quantity": { - "type": "u64", - "description": [ - "The number of items to invoice for." - ] - }, - "invreq_payer_note": { - "type": "string", - "description": [ - "A note attached by the payer." - ] - }, - "invreq_recurrence_counter": { - "type": "u32", - "description": [ - "Which number request this is for the same invoice." - ] - }, - "invreq_recurrence_start": { - "type": "u32", - "description": [ - "When we're requesting to start an invoice at a non-zero period." - ] - }, - "invoice_paths": { - "type": "array", - "description": [ - "Paths to pay the destination." - ], - "items": { - "type": "object", - "required": [ - "first_node_id", - "blinding", - "payinfo", - "path" - ], - "additionalProperties": false, - "properties": { - "first_node_id": { - "type": "pubkey", - "description": [ - "The (presumably well-known) public key of the start of the path." - ] - }, - "blinding": { - "type": "pubkey", - "description": [ - "Blinding factor for this path." - ] - }, - "payinfo": { - "type": "object", - "required": [ - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta", - "features" - ], - "additionalProperties": false, - "properties": { - "fee_base_msat": { - "type": "msat", - "description": [ - "Basefee for path." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "description": [ - "Proportional fee for path." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "description": [ - "CLTV delta for path." - ] - }, - "features": { - "type": "hex", - "description": [ - "Features allowed for path." - ] - } - } - }, - "path": { - "type": "array", - "description": [ - "An individual path." - ], - "items": { - "type": "object", - "required": [ - "blinded_node_id", - "encrypted_recipient_data" - ], - "additionalProperties": false, - "properties": { - "blinded_node_id": { - "type": "pubkey", - "description": [ - "Node_id of the hop." - ] - }, - "encrypted_recipient_data": { - "type": "hex", - "description": [ - "Encrypted TLV entry for this hop." - ] - } - } - } - } - } - } - }, - "invoice_created_at": { - "type": "u64", - "description": [ - "The UNIX timestamp of invoice creation." - ] - }, - "invoice_relative_expiry": { - "type": "u32", - "description": [ - "The number of seconds after *invoice_created_at* when this expires." - ] - }, - "invoice_payment_hash": { - "type": "hex", - "description": [ - "The hash of the *payment_preimage*." - ], - "maxLength": 64, - "minLength": 64 - }, - "invoice_amount_msat": { - "type": "msat", - "description": [ - "The amount required to fulfill invoice." - ] - }, - "invoice_fallbacks": { - "type": "array", - "description": [ - "Onchain addresses." - ], - "items": { - "type": "object", - "required": [ - "version", - "hex" - ], - "additionalProperties": false, - "properties": { - "version": { - "type": "u8", - "description": [ - "Segwit address version." - ] - }, - "hex": { - "type": "hex", - "description": [ - "Raw encoded segwit address." - ] - }, - "address": { - "type": "string", - "description": [ - "Bech32 segwit address." - ] - } - } - } - }, - "invoice_features": { - "type": "hex", - "description": [ - "The feature bits of the invoice." - ] - }, - "invoice_node_id": { - "type": "pubkey", - "description": [ - "The id to pay (usually the same as offer_node_id)." - ] - }, - "invoice_recurrence_basetime": { - "type": "u64", - "description": [ - "The UNIX timestamp to base the invoice periods on." - ] - }, - "signature": { - "type": "bip340sig", - "description": [ - "BIP-340 signature of the `offer_node_id` on this invoice." - ] - }, - "unknown_invoice_tlvs": { - "type": "array", - "description": [ - "Any extra fields we didn't know how to parse." - ], - "items": { - "type": "object", - "required": [ - "type", - "length", - "value" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "u64", - "description": [ - "The type." - ] - }, - "length": { - "type": "u64", - "description": [ - "The length." - ] - }, - "value": { - "type": "hex", - "description": [ - "The value." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt12 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "offer_id": {}, - "offer_chains": {}, - "offer_metadata": {}, - "offer_currency": {}, - "warning_unknown_offer_currency": {}, - "currency_minor_unit": {}, - "offer_amount": {}, - "offer_amount_msat": {}, - "offer_description": {}, - "offer_issuer": {}, - "offer_features": {}, - "offer_absolute_expiry": {}, - "offer_quantity_max": {}, - "offer_paths": {}, - "offer_node_id": {}, - "offer_recurrence": {}, - "invreq_metadata": {}, - "invreq_payer_id": {}, - "invreq_chain": {}, - "invreq_amount_msat": {}, - "invreq_features": {}, - "invreq_quantity": {}, - "invreq_payer_note": {}, - "invreq_node_id": {}, - "invreq_recurrence_counter": {}, - "invreq_recurrence_start": {}, - "warning_invalid_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not valid UTF8." - ] - }, - "warning_missing_offer_description": { - "type": "string", - "description": [ - "`offer_description` is not present." - ] - }, - "warning_invalid_offer_currency": { - "type": "string", - "description": [ - "`offer_currency_code` is not valid UTF8." - ] - }, - "warning_invalid_offer_issuer": { - "type": "string", - "description": [ - "`offer_issuer` is not valid UTF8." - ] - }, - "warning_missing_invreq_metadata": { - "type": "string", - "description": [ - "`invreq_metadata` is not present." - ] - }, - "warning_invalid_invreq_payer_note": { - "type": "string", - "description": [ - "`invreq_payer_note` is not valid UTF8." - ] - }, - "warning_missing_invoice_paths": { - "type": "string", - "description": [ - "`invoice_paths` is not present." - ] - }, - "warning_missing_invoice_blindedpay": { - "type": "string", - "description": [ - "`invoice_blindedpay` is not present." - ] - }, - "warning_missing_invoice_created_at": { - "type": "string", - "description": [ - "`invoice_created_at` is not present." - ] - }, - "warning_missing_invoice_payment_hash": { - "type": "string", - "description": [ - "`invoice_payment_hash` is not present." - ] - }, - "warning_missing_invoice_amount": { - "type": "string", - "description": [ - "`invoice_amount` is not present." - ] - }, - "warning_missing_invoice_recurrence_basetime": { - "type": "string", - "description": [ - "`invoice_recurrence_basetime` is not present." - ] - }, - "warning_missing_invoice_node_id": { - "type": "string", - "description": [ - "`invoice_node_id` is not present." - ] - }, - "warning_missing_invoice_signature": { - "type": "string", - "description": [ - "`signature` is not present." - ] - }, - "warning_invalid_invoice_signature": { - "type": "string", - "description": [ - "Incorrect `signature`." - ] - }, - "fallbacks": { - "type": "array", - "items": { - "type": "object", - "required": [ - "version", - "hex" - ], - "properties": { - "version": {}, - "hex": {}, - "address": {}, - "warning_invoice_fallbacks_version_invalid": { - "type": "string", - "description": [ - "`version` is > 16." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "bolt11 invoice" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "currency", - "created_at", - "expiry", - "payee", - "min_final_cltv_expiry", - "payment_hash", - "signature" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "currency": { - "type": "string", - "description": [ - "The BIP173 name for the currency." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX-style timestamp of the invoice." - ] - }, - "expiry": { - "type": "u64", - "description": [ - "The number of seconds this is valid after `created_at`." - ] - }, - "payee": { - "type": "pubkey", - "description": [ - "The public key of the recipient." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount the invoice asked for." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage*." - ] - }, - "signature": { - "type": "signature", - "description": [ - "Signature of the *payee* on this invoice." - ] - }, - "description": { - "type": "string", - "description": [ - "The description of the purpose of the purchase." - ] - }, - "description_hash": { - "type": "hash", - "description": [ - "The hash of the description, in place of *description*." - ] - }, - "min_final_cltv_expiry": { - "type": "u32", - "description": [ - "The minimum CLTV delay for the final node." - ] - }, - "payment_secret": { - "type": "secret", - "description": [ - "The secret to hand to the payee node." - ] - }, - "features": { - "type": "hex", - "description": [ - "The features bitmap for this invoice." - ] - }, - "payment_metadata": { - "type": "hex", - "description": [ - "The payment_metadata to put in the payment." - ] - }, - "fallbacks": { - "type": "array", - "description": [ - "Onchain addresses." - ], - "items": { - "type": "object", - "required": [ - "type", - "hex" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "string", - "description": [ - "The address type (if known)." - ], - "enum": [ - "P2PKH", - "P2SH", - "P2WPKH", - "P2WSH", - "P2TR" - ] - }, - "addr": { - "type": "string", - "description": [ - "The address in appropriate format for *type*." - ] - }, - "hex": { - "type": "hex", - "description": [ - "Raw encoded address." - ] - } - } - } - }, - "routes": { - "type": "array", - "description": [ - "Route hints to the *payee*." - ], - "items": { - "type": "array", - "description": [ - "Hops in the route." - ], - "items": { - "type": "object", - "required": [ - "pubkey", - "short_channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta" - ], - "additionalProperties": false, - "properties": { - "pubkey": { - "type": "pubkey", - "description": [ - "The public key of the node." - ] - }, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "A channel to the next peer." - ] - }, - "fee_base_msat": { - "type": "msat", - "description": [ - "The base fee for payments." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "description": [ - "The parts-per-million fee for payments." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "description": [ - "The CLTV delta across this hop." - ] - } - } - } - } - }, - "extra": { - "type": "array", - "description": [ - "Any extra fields we didn't know how to parse." - ], - "items": { - "type": "object", - "required": [ - "tag", - "data" - ], - "additionalProperties": false, - "properties": { - "tag": { - "type": "string", - "description": [ - "The bech32 letter which identifies this field." - ], - "maxLength": 1, - "minLength": 1 - }, - "data": { - "type": "string", - "description": [ - "The bech32 data for this field." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "rune" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "string", - "restrictions", - "valid" - ], - "additionalProperties": false, - "properties": { - "unique_id": { - "type": "string", - "description": [ - "Unique id (always a numeric id on runes we create)." - ] - }, - "version": { - "type": "string", - "description": [ - "Rune version, not currently set on runes we create." - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - }, - "type": {}, - "string": { - "type": "string", - "description": [ - "The string encoding of the rune." - ] - }, - "restrictions": { - "type": "array", - "description": [ - "Restrictions built into the rune: all must pass." - ], - "items": { - "type": "object", - "required": [ - "alternatives", - "summary" - ], - "additionalProperties": false, - "properties": { - "alternatives": { - "type": "array", - "description": [ - "Each way restriction can be met: any can pass." - ], - "items": { - "type": "string", - "description": [ - "The alternative of form fieldname condition fieldname." - ] - } - }, - "summary": { - "type": "string", - "description": [ - "Human-readable summary of this restriction." - ] - } - } - } - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "rune" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - false - ] - } - } - }, - "then": { - "required": [ - "valid" - ], - "additionalProperties": false, - "properties": { - "valid": { - "type": "boolean", - "enum": [ - false - ] - }, - "type": {}, - "warning_rune_invalid_utf8": { - "type": "string", - "description": [ - "The rune contains invalid UTF-8 strings." - ] - }, - "hex": { - "type": "hex", - "description": [ - "The raw rune in hex." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "emergency recover" - ] - }, - "valid": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "decrypted" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "valid": {}, - "decrypted": { - "type": "hex", - "description": [ - "The decrypted value of the provided bech32 of emergency.recover." - ], - "added": "v23.11" - } - } - } - } - ] - }, - "example_json_request": [ - { - "id": "example:decode#1", - "method": "decode", - "params": [ - "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==" - ] - }, - { - "id": "example:decode#2", - "method": "decode", - "params": [ - "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#3", - "method": "decode", - "params": [ - "lnbcrt1m1pja0f2hsp5xyssdvdsu24dmmesrt6x84wfrm4mscsnzq7hl2suzeu90wy6g53qpp5zyyu3anwfsfl64pewe0tg7j28map2wwnhvaam5nt70rlwxa0cegqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqlgqqqq86qqqc9qxpqysgq7u4f99u4kepagme27t5c3gdl7czlnjaw7kxryxgm87w2j02j3g94r2vrukhpgedhcdkcdec27m7jrl2lvcr6uh3rdv9lgpz0vc0zcfcqnugjdw" - ] - }, - { - "id": "example:decode#4", - "method": "decode", - "params": [ - "lnbcrt1m1pja0f2esp5uh4pqqccm55l5emrz7q0zrjdq06xcrsvx7re7wakk6thltnnhvmspp57ktsz35wh5qprw8zyqq3y2cwzkr3pnxjrktz5m8une55a439dl9qdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqlgqqqq86qqqc9qxpqysgqhvjyd84vflvjnv6hw3p3sxg9yn6k9sr6n0gs0326x5my36nj8px5nv2qay0jrlng37aasve60sxjnss34ry57glqfcmh89gnvhxg7hcq5etyz2" - ] - }, - { - "id": "example:decode#5", - "method": "decode", - "params": [ - "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==" - ] - }, - { - "id": "example:decode#6", - "method": "decode", - "params": [ - "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#7", - "method": "decode", - "params": [ - "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz" - ] - }, - { - "id": "example:decode#8", - "method": "decode", - "params": [ - "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=" - ] - }, - { - "id": "example:decode#9", - "method": "decode", - "params": [ - "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv" - ] - }, - { - "id": "example:decode#10", - "method": "decode", - "params": [ - "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=" - ] - }, - { - "id": "example:decode#11", - "method": "decode", - "params": [ - "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z" - ] - }, - { - "id": "example:decode#12", - "method": "decode", - "params": [ - "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==" - ] - }, - { - "id": "example:decode#13", - "method": "decode", - "params": [ - "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=" - ] - }, - { - "id": "example:decode#14", - "method": "decode", - "params": [ - "5zi6-ugA6hC4_XZ0R7snl5IuiQX4ugL4gm9BQKYaKUU9gCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#15", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9ASZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#16", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9AiZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#17", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9AyZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#18", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#19", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#20", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BiZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#21", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9ByZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#22", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9CCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - }, - { - "id": "example:decode#23", - "method": "decode", - "params": [ - "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9CSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" - ] - } - ], - "example_json_response": [ - { - "type": "rune", - "unique_id": "0", - "string": "392a9cee2c58e85fa08dc8a005fc6dcca508e78bb3805480e987c14285860d5f:=0", - "restrictions": [], - "valid": true - }, - { - "type": "rune", - "unique_id": "1", - "string": "ce6d31fde2e01dec5a4ef667dc2cfb81bfd896fae56060e8ff0e0162547d492d:=1&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "bolt11 invoice", - "currency": "bcrt", - "created_at": 1708631383, - "expiry": 604800, - "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "description": "description", - "min_final_cltv_expiry": 5, - "payment_secret": "312106b1b0e2aaddef301af463d5c91eebb86213103d7faa1c167857b89a4522", - "features": "02024100", - "routes": [ - [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "fee_base_msat": 1000, - "fee_proportional_millionths": 1000, - "cltv_expiry_delta": 6 - } - ] - ], - "payment_hash": "1109c8f66e4c13fd5439765eb47a4a3efa1539d3bb3bddd26bf3c7f71bafc650", - "signature": "3045022100f72a929795b643d46f2af2e988a1bff605f9cbaef58c32191b3f9ca93d528a0b022051a983e5ae1465b7c36d86e70af6fd21fd5f6607ae5e236b0bf4044f661e2c27", - "valid": true - }, - { - "type": "bolt11 invoice", - "currency": "bcrt", - "created_at": 1708631385, - "expiry": 604800, - "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "description": "description", - "min_final_cltv_expiry": 5, - "payment_secret": "e5ea100318dd29fa67631780f10e4d03f46c0e0c37879f3bb6b6977fae73bb37", - "features": "02024100", - "routes": [ - [ - { - "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "fee_base_msat": 1000, - "fee_proportional_millionths": 1000, - "cltv_expiry_delta": 6 - } - ] - ], - "payment_hash": "f59701468ebd0011b8e22001122b0e158710ccd21d962a6cfc9e694ed6256fca", - "signature": "3045022100bb24469eac4fd929b357744318190524f562c07a9bd107c55a353648ea72384d022049b140e91f21fe688fbbd8333a7c0d29c211a8c94f23e04e3773951365cc8f5f", - "valid": true - }, - { - "type": "rune", - "unique_id": "0", - "string": "392a9cee2c58e85fa08dc8a005fc6dcca508e78bb3805480e987c14285860d5f:=0", - "restrictions": [], - "valid": true - }, - { - "type": "rune", - "unique_id": "1", - "string": "ce6d31fde2e01dec5a4ef667dc2cfb81bfd896fae56060e8ff0e0162547d492d:=1&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "3", - "string": "60fa23bfdaa01cf6b78a6d1e8aa45bfa0f1a46aefa39ab327e5b461aa74550e5:=3&id^022d223620a359a47ff7&method=listpeers", - "restrictions": [ - { - "alternatives": [ - "id^022d223620a359a47ff7" - ], - "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" - }, - { - "alternatives": [ - "method=listpeers" - ], - "summary": "method (of command) equal to 'listpeers'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "3", - "string": "666ec0da62a42e777997a12bfce3001f318a6daf7b8a3f2503e329358330f679:=3&id^022d223620a359a47ff7&method=listpeers&pnamelevel!|pnamelevel/io", - "restrictions": [ - { - "alternatives": [ - "id^022d223620a359a47ff7" - ], - "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" - }, - { - "alternatives": [ - "method=listpeers" - ], - "summary": "method (of command) equal to 'listpeers'" - }, - { - "alternatives": [ - "pnamelevel!", - "pnamelevel/io" - ], - "summary": "pnamelevel (object parameter 'level') is missing OR pnamelevel (object parameter 'level') unequal to 'io'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "3", - "string": "9bfb72474aaa1d4b8b11b1495ba02198183ef67a71557db22a87100458bd72f6:=3&id^022d223620a359a47ff7&method=listpeers&pnamelevel!|pnamelevel/io&parr1!|parr1/io", - "restrictions": [ - { - "alternatives": [ - "id^022d223620a359a47ff7" - ], - "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" - }, - { - "alternatives": [ - "method=listpeers" - ], - "summary": "method (of command) equal to 'listpeers'" - }, - { - "alternatives": [ - "pnamelevel!", - "pnamelevel/io" - ], - "summary": "pnamelevel (object parameter 'level') is missing OR pnamelevel (object parameter 'level') unequal to 'io'" - }, - { - "alternatives": [ - "parr1!", - "parr1/io" - ], - "summary": "parr1 (array parameter #1) is missing OR parr1 (array parameter #1) unequal to 'io'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "4", - "string": "7a75f4b13a4707ccb592dc93005f340a712f19eb46df8d0d7b700622db9d052e:=4&pnum=0", - "restrictions": [ - { - "alternatives": [ - "pnum=0" - ], - "summary": "pnum (number of command parameters) equal to 0" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "4", - "string": "fe1d9e2a3a0aec84c017e250d52e68ba6f683107acaf3fadd4547d9030a1441e:=4&pnum=0&rate=3", - "restrictions": [ - { - "alternatives": [ - "pnum=0" - ], - "summary": "pnum (number of command parameters) equal to 0" - }, - { - "alternatives": [ - "rate=3" - ], - "summary": "rate (max per minute) equal to 3" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "4", - "string": "5351835ea5d1bdf3750385a60d51136b353d627bccb03caded6c0dce96349211:=4&pnum=0&rate=3&rate=1", - "restrictions": [ - { - "alternatives": [ - "pnum=0" - ], - "summary": "pnum (number of command parameters) equal to 0" - }, - { - "alternatives": [ - "rate=3" - ], - "summary": "rate (max per minute) equal to 3" - }, - { - "alternatives": [ - "rate=1" - ], - "summary": "rate (max per minute) equal to 1" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "2", - "string": "9b11f056c0bf5be3c7eebefdc17416ab104d1da1e7708a888c43f23ffbc63ac1:=2&time>1656675211", - "restrictions": [ - { - "alternatives": [ - "time>1656675211" - ], - "summary": "time (in seconds since 1970) greater than 1656675211 (approximately 20 months 1 days ago)" - } - ], - "valid": true - }, - { - "type": "rune", - "hex": "653733386261666165383030656131306238666437363734343762623237393739323265383930356638626130326638383236663431343061363161323934353a3d80266d6574686f645e6c6973747c6d6574686f645e6765747c6d6574686f643d73756d6d617279266d6574686f642f6c6973746461746173746f7265", - "warning_rune_invalid_utf8": "Rune contains invalid UTF-8 strings", - "valid": false - }, - { - "type": "rune", - "unique_id": "\u0001", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0001&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0002", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0002&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0003", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0003&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0004", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0004&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0005", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0005&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0006", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0006&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\u0007", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0007&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\b", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\b&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - }, - { - "type": "rune", - "unique_id": "\t", - "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\t&method^list|method^get|method=summary&method/listdatastore", - "restrictions": [ - { - "alternatives": [ - "method^list", - "method^get", - "method=summary" - ], - "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" - }, - { - "alternatives": [ - "method/listdatastore" - ], - "summary": "method (of command) unequal to 'listdatastore'" - } - ], - "valid": true - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-pay(7)", - "lightning-offer(7)", - "lightning-fetchinvoice(7)", - "lightning-sendinvoice(7)", - "lightning-commando-rune(7)" - ], - "resources": [ - "[BOLT #11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)", - "", - "[BOLT #12](https://github.com/rustyrussell/lightning-rfc/blob/guilt/offers/12-offer-encoding.md)", - "(experimental, [bolt](https://github.com/lightning/bolts) #798)", - "", - "Main web site: " - ] - }, - "lightning-decodepay.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "rpc": "decodepay", - "title": "Command for decoding a bolt11 string (low-level)", - "description": [ - "The **decodepay** RPC command checks and parses a *bolt11* string as specified by the BOLT 11 specification." - ], - "request": { - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": [ - "Bolt11 invoice to decode." - ] - }, - "description": { - "type": "string", - "description": [ - "Description of the invoice to decode." - ] - } - } - }, - "response": { - "required": [ - "currency", - "created_at", - "expiry", - "payee", - "min_final_cltv_expiry", - "payment_hash", - "signature" - ], - "properties": { - "currency": { - "type": "string", - "description": [ - "The BIP173 name for the currency." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX-style timestamp of the invoice." - ] - }, - "expiry": { - "type": "u64", - "description": [ - "The number of seconds this is valid after *timestamp*." - ] - }, - "payee": { - "type": "pubkey", - "description": [ - "The public key of the recipient." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount the invoice asked for." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage*." - ] - }, - "signature": { - "type": "signature", - "description": [ - "Signature of the *payee* on this invoice." - ] - }, - "description": { - "type": "string", - "description": [ - "The description of the purpose of the purchase." - ] - }, - "description_hash": { - "type": "hash", - "description": [ - "The hash of the description, in place of *description*." - ] - }, - "min_final_cltv_expiry": { - "type": "u32", - "description": [ - "The minimum CLTV delay for the final node." - ] - }, - "payment_secret": { - "type": "hash", - "description": [ - "The secret to hand to the payee node." - ] - }, - "features": { - "type": "hex", - "description": [ - "The features bitmap for this invoice." - ] - }, - "payment_metadata": { - "type": "hex", - "description": [ - "The payment_metadata to put in the payment." - ] - }, - "fallbacks": { - "type": "array", - "description": [ - "Onchain addresses." - ], - "items": { - "type": "object", - "required": [ - "type", - "hex" - ], - "additionalProperties": false, - "properties": { - "type": { - "type": "string", - "description": [ - "The address type (if known)." - ], - "enum": [ - "P2PKH", - "P2SH", - "P2WPKH", - "P2WSH", - "P2TR" - ] - }, - "addr": { - "type": "string", - "description": [ - "The address in appropriate format for *type*." - ] - }, - "hex": { - "type": "hex", - "description": [ - "Raw encoded address." - ] - } - } - } - }, - "routes": { - "type": "array", - "description": [ - "Route hints to the *payee*." - ], - "items": { - "type": "array", - "description": [ - "Hops in the route." - ], - "items": { - "type": "object", - "required": [ - "pubkey", - "short_channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "cltv_expiry_delta" - ], - "additionalProperties": false, - "properties": { - "pubkey": { - "type": "pubkey", - "description": [ - "The public key of the node." - ] - }, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "A channel to the next peer." - ] - }, - "fee_base_msat": { - "type": "msat", - "description": [ - "The base fee for payments." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "description": [ - "The parts-per-million fee for payments." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "description": [ - "The CLTV delta across this hop." - ] - } - } - } - } - }, - "extra": { - "type": "array", - "description": [ - "Any extra fields we didn't know how to parse." - ], - "items": { - "type": "object", - "required": [ - "tag", - "data" - ], - "additionalProperties": false, - "properties": { - "tag": { - "type": "string", - "description": [ - "The bech32 letter which identifies this field." - ], - "maxLength": 1, - "minLength": 1 - }, - "data": { - "type": "string", - "description": [ - "The bech32 data for this field." - ] - } - } - } - } - }, - "post_return_value_notes": [ - "Technically, the *description* field is optional if a *description_hash* field is given, but in this case **decodepay** will only succeed if the optional *description* field is passed and matches the *description_hash*. In practice, these are currently unused." - ] - }, - "example_json_request": [ - { - "id": "example:decodepay#1", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", - "description": null - } - }, - { - "id": "example:decodepay#2", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pjmruj7sp572q8qp6ugprchkq7v09rz7fjjxgc040t46sn2m6rs8eer9kl7f4qpp5qkxd9v877u8cvdknlvmfh7nzd46msmls878dr666pz3yqdfqg0nqdpq8qc5w4r0vuexxdtkxapyzarttgeyscjwxqyjw5qcqp99qxpqysgqktasg7fp9p8qw0s7pdr3pnn6vns5d3w8pf88n4kwwk2qqg7u8prqljx9u8fvv7nz64q2e0auwxzmtdwkqtazlwxvn7r3akturtl9w9spd99k8p", - "description": null - } - }, - { - "id": "example:decodepay#3", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", - "description": null - } - }, - { - "id": "example:decodepay#4", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", - "description": null - } - }, - { - "id": "example:decodepay#5", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", - "description": null - } - }, - { - "id": "example:decodepay#6", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", - "description": null - } - }, - { - "id": "example:decodepay#7", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", - "description": null - } - }, - { - "id": "example:decodepay#8", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", - "description": null - } - }, - { - "id": "example:decodepay#9", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", - "description": null - } - }, - { - "id": "example:decodepay#10", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", - "description": null - } - }, - { - "id": "example:decodepay#11", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", - "description": null - } - }, - { - "id": "example:decodepay#12", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", - "description": null - } - }, - { - "id": "example:decodepay#13", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", - "description": null - } - }, - { - "id": "example:decodepay#14", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", - "description": null - } - }, - { - "id": "example:decodepay#15", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", - "description": null - } - }, - { - "id": "example:decodepay#16", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", - "description": null - } - }, - { - "id": "example:decodepay#17", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", - "description": null - } - }, - { - "id": "example:decodepay#18", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", - "description": null - } - }, - { - "id": "example:decodepay#19", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", - "description": null - } - }, - { - "id": "example:decodepay#20", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", - "description": null - } - }, - { - "id": "example:decodepay#21", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", - "description": null - } - }, - { - "id": "example:decodepay#22", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", - "description": null - } - }, - { - "id": "example:decodepay#23", - "method": "decodepay", - "params": { - "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m", - "description": null - } - } - ], - "example_json_response": [ - { - "currency": "bcrt", - "created_at": 1706152930, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": [ - "XEoCR94SIz6UIRUEkxum." - ], - "min_final_cltv_expiry": 5, - "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", - "features": "02024100", - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "signature": "3045022100e3b7d8886eae1a7c9e55e1797aa0dcb77b8c5a19d56c657cad030e360c90682802203a35713acb098245e53a37faeac98754a29a7078db5ed6f2166f917e55b94484" - }, - { - "currency": "bcrt", - "created_at": 1706160734, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": [ - "81GTog2c5v7BAtkZ2HbN." - ], - "min_final_cltv_expiry": 5, - "payment_secret": "f28070075c40478bd81e63ca317932919187d5ebaea1356f4381f39196dff26a", - "features": "02024100", - "payment_hash": "058cd2b0fef70f8636d3fb369bfa626d75b86ff03f8ed1eb5a08a240352043e6", - "signature": "3045022100b2fb047921284e073e1e0b4710ce7a64e146c5c70a4e79d6ce75940023dc384602200fc8c5e1d2c67a62d540acbfbc7185b5b5d602fa2fb8cc9f871ed97c1afe5716" - }, - { - "currency": "bcrt", - "created_at": 1708624137, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": "W7PjXOrD1V9QzqlXde6S", - "min_final_cltv_expiry": 5, - "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", - "features": "02024100", - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "signature": "3045022100be184d7b40a03616b3383d32447ef46e5b017996f19e7d5947aa68af78947b5602207811a710476cac270e2b056d6a432a9cc7135c330ec46155313bdb0cb1a73944" - }, - { - "currency": "bcrt", - "created_at": 1708624138, - "expiry": 604800, - "payee": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 100001, - "description": "kQ3N0jwwJABOkKbMq7I4", - "min_final_cltv_expiry": 5, - "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", - "features": "02024100", - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "signature": "3045022100c9b9c8a257a3851b573401ac51a03a15c16d034b9f2a6d61b6233dcab297aa71022011c1da30a75ec1d2d0507fb2cc6dd5ddf1efbd29ee15f7bb55320dac1b5439d6" - }, - { - "currency": "bcrt", - "created_at": 1708624150, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 111, - "description": "npVAv3iWbQBCHjsDK1YS", - "min_final_cltv_expiry": 5, - "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", - "features": "02024100", - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "signature": "304402207fc2dc954e8ab5f477591bf3da89fa4facac28ee05cf695d5313e66d54914d8c0220630568c89fb376477729f59637b502b329121d2f0046f28787d51f795af7d676" - }, - { - "currency": "bcrt", - "created_at": 1708624152, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 222, - "description": "gjXz22eJleM5SNBasEOV", - "min_final_cltv_expiry": 5, - "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", - "features": "02024100", - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "signature": "3044022033efda0a9aa03a30e193dddde8d612e0c3a252a6718897ab22b0024f40ca2c2b0220722c08791e59376fad30d43ca2c88b97a3deb859c5ac4de9344b2606d8025789" - }, - { - "currency": "bcrt", - "created_at": 1708624153, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 4000000, - "description": "WZcOtfF564NiUQ5vlwRU", - "min_final_cltv_expiry": 5, - "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", - "features": "02024100", - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "signature": "3045022100d8b06c65bff99ff024fdf19b00684616de19ebd3fee8af5a7175e37c6584d2d1022063fdba303d23c07377abded035aab4de85db6ccc4fa90343fd4f14fb799cfa34" - }, - { - "currency": "bcrt", - "created_at": 1708624189, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": "7mCJoNSFtlzLA9hEIzX1", - "min_final_cltv_expiry": 5, - "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", - "features": "02024100", - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "signature": "3045022100c63d5f2945437c50b3145778e08e3e0848f353533965ca398a7ecca1894c2a5f02206548450000d7028fef311439df15eb372ef3952d3b048989e4ec82e7e4080b5d" - }, - { - "currency": "bcrt", - "created_at": 1708624212, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": "sK54KAL3qX01yNt76y0B", - "min_final_cltv_expiry": 5, - "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", - "features": "02024100", - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "signature": "30440220228c0c6bed955bc90fbd53acb1fdc7aa6517b7b097cbdfa4791e38ae019ab9f0022014045d01cecf75aa57212e8018d6095bbe65af53fbedfbde4ad6559d8dfa8bb9" - }, - { - "currency": "bcrt", - "created_at": 1708624223, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": "n3jx9JMqg936KMwVWRzM", - "min_final_cltv_expiry": 5, - "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", - "features": "02024100", - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "signature": "304502210090ad26aa4ee4e106aace556c451edd014a08d7343985a981e47ac7fadba4f9600220016e52640e096017e629a7c26f23f88641d8c16281845e25d16103fc002ccfce" - }, - { - "currency": "bcrt", - "created_at": 1708624241, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "min_final_cltv_expiry": 5, - "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", - "features": "02024100", - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "signature": "3045022100b50f69d56fc33b0db22e94de098945fcd1c6a71453448e66c2c44c52607db5be022009d4d944e7755b974e03faff03556ce848eeca3e6580c6b8280df1a6723c20ba" - }, - { - "currency": "bcrt", - "created_at": 1708624682, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": "AlIJdm8x4tFYvkcrIXAk", - "min_final_cltv_expiry": 5, - "payment_secret": "0d04da0e55104a906a27c513af2bb1b6d1c0ac3e40887bf686395bf30bab0bae", - "features": "02024100", - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "signature": "3045022100e85344291ca4c291bd6112180b48d0c80bfd5dff853559f1486aec6c95263d96022077ad128b15fec121dceca1422d02a61814c762edbefeba228372cd58e8b21957" - }, - { - "currency": "bcrt", - "created_at": 1708624696, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": "oGCNVbOBJvbffmQqyVch", - "min_final_cltv_expiry": 5, - "payment_secret": "c84ca8495a24ab6ba4ef21c891e3dd0da66ee29e11b30abadea39f6b3ea08b89", - "features": "02024100", - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "signature": "3045022100f37f88b138d65f8a36fc0dc613f07a5f0414c3e5f83ce7515ba937d3707c10c90220296071edc3dda11e034e6d30f93137ed714cd0a594e2217f8e99f7a5687dcee7" - }, - { - "currency": "bcrt", - "created_at": 1708624705, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": "1yu6xcmRXk9Dv38jFulR", - "min_final_cltv_expiry": 5, - "payment_secret": "428888fdcc3f62933e86de029123739c94ee1911e2547b598052cf4353fe1a0b", - "features": "02024100", - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "signature": "30440220587d34035548467524fbc01a2fafbba5200066a0bc79cf637d76e058b977dbde022035ea6a64e5cbb73424795ef6b032a1f716393519bfb04a57ff101beb45d88eba" - }, - { - "currency": "bcrt", - "created_at": 1708624732, - "expiry": 604800, - "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "description": "PG1CZyQnANz5wHulULi6", - "min_final_cltv_expiry": 5, - "payment_secret": "ac1fa2590feb152de819465a30d6862b713efaecddd2a938fc2504df99214896", - "features": "02024100", - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "signature": "304402201db85b249f26323b485999d300ec4ba9a22ff81d99e835768cd38b7831b2d96f022012332de936011a674c6fe9513bfbcfae540f2de943feaa7a29b9078529c16b53" - }, - { - "currency": "bcrt", - "created_at": 1708624733, - "expiry": 604800, - "payee": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount_msat": 100000000, - "description": "ScVmvGtECsSc48NVaiGz", - "min_final_cltv_expiry": 5, - "payment_secret": "00c2b79bb89b764df4c3a283a4351bd9b91ad254f274d92fa5667e8055b28934", - "features": "02024100", - "routes": [ - [ - { - "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x4x0", - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "cltv_expiry_delta": 6 - } - ] - ], - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "signature": "3045022100d9178807b845364f06de9afb9385daaf946bc6a61683e4d186118f366753941d02202f0008c5c193a65c522f55e23b7a505915f17d3cf38b40d82bb190e0356cc26b" - }, - { - "currency": "bcrt", - "created_at": 1708624742, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": "exCYz8NgTLbygkgwipco", - "min_final_cltv_expiry": 5, - "payment_secret": "5b9d7d2ef23b3e981861505cd9f89560268f3b742803393cb33f332abc4695de", - "features": "02024100", - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "signature": "304402201154034e7fb70d9b65d5f47182ac489b33f4aaa804c1502b74a60a07dedca8a802204aa12146d48207901fc7d8a47f22e7af94be0c8e8e82814b2d28bcef5d59aea3" - }, - { - "currency": "bcrt", - "created_at": 1708624761, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "description": "Wogsce4STNqPOUMuBw0T", - "min_final_cltv_expiry": 5, - "payment_secret": "8cafc0fe8eacd45686c2475f5ae38d12cc25bea3cb397e49bb70fdcb4ac1c8d0", - "features": "02024100", - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "signature": "3045022100f7addcdb56964bff9b7338818a1e41001949e736b6210543fbede105b914b5060220624d1f2c6264c09c5d25ea8a866fcb50cbe1a84cd7830972947804c274da4987" - }, - { - "currency": "bcrt", - "created_at": 1708624763, - "expiry": 604800, - "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "description": "OFPBDlYTIA9f5a02IMZF", - "min_final_cltv_expiry": 5, - "payment_secret": "db3ca32adb640f7cee2d5542832a0613eded84cdc7e938e8944d0bcecd3f538e", - "features": "02024100", - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "signature": "304502210085cac6b3df4db58bb094bfd5ee73a1f53da2ba188f3ae21382f280b633dab34a022061572bd1d31c7f8d1a8ced7ae1046adf5f4f7ec1b261c5c25eb91769646632a2" - }, - { - "currency": "bcrt", - "created_at": 1708624763, - "expiry": 604800, - "payee": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount_msat": 100000000, - "description": "r2fm2NS2lShNwR8MGHwy", - "min_final_cltv_expiry": 5, - "payment_secret": "9a5e4864d7df7e38c627c934aba9e8054333fa5eec542a368119ae0ab6e129bc", - "features": "02024100", - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "signature": "30450221008fba1d19922dd94bb855e23f19d4d100cdaf9c3b463fe6a67f368b0a7e3427e902200e0c5a4eed9941d63e341308615e9e8b51e5ef2e0752c8098da52d6d8a42b143" - }, - { - "currency": "bcrt", - "created_at": 1708624827, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "description": "YR07QkHcieUMkSGD8VFv", - "min_final_cltv_expiry": 5, - "payment_secret": "455212998fa379dfe832111755ec99e3ccd74757b56600a398044d855cee9202", - "features": "02024100", - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "signature": "3045022100c8c0f0c4c418964ea2d6abc8997ac63f9ec246113a66d043d22614a3dae7240f0220789adfb2521fe1b8b2f5f8d061f87efa21113bf4ae9d56fbebd9daae09b32417" - }, - { - "currency": "bcrt", - "created_at": 1708624839, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "description": "nRt598eghJGkxAZ7CENJ", - "min_final_cltv_expiry": 5, - "payment_secret": "4c75b8e132112cbb659bab0bc61b98db0685f8b79ecbfedbcea6c6f446127c43", - "features": "02024100", - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "signature": "304402201da8a9188babe38f014d7fb42790fda1527a7a5f475e1a76381d1c969a7ca4990220720215123158b14e19a064ff38eb6c077efbfdc8f610c899247a17dfd258cf73" - }, - { - "currency": "bcrt", - "created_at": 1708624851, - "expiry": 604800, - "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "description": "OFnEKAYYfz6VgFWcXSZC", - "min_final_cltv_expiry": 5, - "payment_secret": "87da98a783ba7808d362d32bef7f6ed0f98784f6fb283967642c2991451995bb", - "features": "02024100", - "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", - "signature": "3045022100ffacb67cb0eb91034b79d3fb7de74185a615306e62596459b885b345b3af8724022055bf8ee99213a33d5fc1c340b2fee4843d57a0de4bc02854d552643660db1f35" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-pay(7)", - "lightning-getroute(7)", - "lightning-sendpay(7)" - ], - "resources": [ - "[BOLT #11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)", - "", - "Main web site: " - ] - }, - "lightning-deldatastore.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "deldatastore", - "title": "Command for removing (plugin) data", - "description": [ - "The **deldatastore** RPC command allows plugins to delete data it has stored in the Core Lightning database.", - "", - "The command fails if the *key* isn't present, or if *generation* is specified and the generation of the data does not exactly match." - ], - "request": { - "required": [ - "key" - ], - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": [ - "Key is an array of values (though a single value is treated as a one-element array), to form a heirarchy. Using the first element of the key as the plugin name (e.g. [ 'summary' ]) is recommended. A key can either have children or a value, never both: parents are created and removed automatically." - ], - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "generation": { - "type": "u64", - "description": [ - "If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with mode `must-replace` or `must-append`." - ] - } - } - }, - "response": { - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Part of the key added to the datastore." - ] - } - }, - "generation": { - "type": "u64", - "description": [ - "The number of times this has been updated." - ] - }, - "hex": { - "type": "hex", - "description": [ - "The hex data which has removed from the datastore." - ] - }, - "string": { - "type": "string", - "description": [ - "The data as a string, if it's valid utf-8." - ] - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- 1200: the key does not exist", - "- 1201: the key does exist, but the generation is wrong", - "- -32602: invalid parameters" - ], - "example_json_request": [ - { - "id": "example:deldatastore#1", - "method": "deldatastore", - "params": { - "key": "somekey", - "generation": null - } - }, - { - "id": "example:deldatastore#2", - "method": "deldatastore", - "params": { - "key": "badstring", - "generation": null - } - }, - { - "id": "example:deldatastore#3", - "method": "deldatastore", - "params": { - "key": "somekey", - "generation": null - } - }, - { - "id": "example:deldatastore#4", - "method": "deldatastore", - "params": { - "key": "badstring", - "generation": null - } - }, - { - "id": "example:deldatastore#5", - "method": "deldatastore", - "params": { - "key": "otherkey", - "generation": 1 - } - }, - { - "id": "example:deldatastore#6", - "method": "deldatastore", - "params": { - "key": [ - "a" - ], - "generation": null - } - } - ], - "example_json_response": [ - { - "key": [ - "somekey" - ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" - }, - { - "key": [ - "badstring" - ], - "generation": 0, - "hex": "00" - }, - { - "key": [ - "somekey" - ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" - }, - { - "key": [ - "badstring" - ], - "generation": 0, - "hex": "00" - }, - { - "key": [ - "otherkey" - ], - "generation": 1, - "hex": "6f746865726461746161", - "string": "otherdataa" - }, - { - "key": [ - "a" - ], - "generation": 0, - "hex": "6176616c", - "string": "aval" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listdatastore(7)", - "lightning-datastore(7)", - "lightning-datastoreusage(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-delexpiredinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "delexpiredinvoice", - "title": "Command for removing expired invoices", - "description": [ - "The **delexpiredinvoice** RPC command removes all invoices that have expired on or before the given *maxexpirytime*." - ], - "request": { - "required": [], - "properties": { - "maxexpirytime": { - "type": "u64", - "description": [ - "Invoice expiry time in seconds. If not specified then all expired invoices are deleted." - ] - } - } - }, - "response": { - "required": [], - "properties": {} - }, - "example_json_request": [ - { - "id": "example:delexpiredinvoice#1", - "method": "delexpiredinvoice", - "params": { - "maxexpirytime": null - } - }, - { - "id": "example:delexpiredinvoice#2", - "method": "delexpiredinvoice", - "params": { - "maxexpirytime": null - } - } - ], - "example_json_response": [ - {}, - {} - ], - "author": [ - "ZmnSCPxj <> is mainly responsible." - ], - "see_also": [ - "lightning-delinvoice(7)", - "lightning-autoclean-status(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-delforward.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "delforward", - "title": "Command for removing a forwarding entry", - "description": [ - "The **delforward** RPC command removes a single forward from **listforwards**, using the uniquely-identifying *in_channel* and *in_htlc_id* (and, as a sanity check, the *status*) given by that command.", - "", - "This command is mainly used by the *autoclean* plugin (see lightningd- config(7)), As these database entries are only kept for your own analysis, removing them has no effect on the running of your node." - ], - "request": { - "required": [ - "in_channel", - "in_htlc_id", - "status" - ], - "properties": { - "in_channel": { - "type": "short_channel_id", - "description": [ - "Only the matching forwards on the given inbound channel are deleted. Note: for **listforwards** entries without an *in_htlc_id* entry (no longer created in v22.11, but can exist from older versions), a value of 18446744073709551615 can be used, but then it will delete *all* entries without *in_htlc_id* for this *in_channel* and *status*." - ] - }, - "in_htlc_id": { - "type": "u64", - "description": [ - "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." - ] - }, - "status": { - "type": "string", - "description": [ - "The status of the forward to delete. You cannot delete forwards which have status *offered* (i.e. are currently active)." - ], - "enum": [ - "settled", - "local_failed", - "failed" - ] - } - } - }, - "response": { - "required": [], - "properties": {} - }, - "errors": [ - "The following errors may be reported:", - "", - "- 1401: The forward specified does not exist." - ], - "example_json_request": [ - { - "id": "example:delforward#1", - "method": "delforward", - "params": { - "in_channel": "103x1x0", - "in_htlc_id": 0, - "status": "settled" - } - }, - { - "id": "example:delforward#2", - "method": "delforward", - "params": { - "in_channel": "103x1x0", - "in_htlc_id": 1, - "status": "settled" - } - }, - { - "id": "example:delforward#3", - "method": "delforward", - "params": { - "in_channel": "103x1x0", - "in_htlc_id": 0, - "status": "settled" - } - }, - { - "id": "example:delforward#4", - "method": "delforward", - "params": { - "in_channel": "103x1x0", - "in_htlc_id": 1, - "status": "settled" - } - }, - { - "id": "example:delforward#5", - "method": "delforward", - "params": { - "in_channel": "103x1x0", - "in_htlc_id": 2, - "status": "local_failed" - } - }, - { - "id": "example:delforward#6", - "method": "delforward", - "params": [ - "103x1x0", - 1, - "failed" - ] - } - ], - "example_json_response": [ - {}, - {}, - {}, - {}, - {}, - {} - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-autoclean(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-delinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "delinvoice", - "title": "Command for removing an invoice (or just its description)", - "description": [ - "The **delinvoice** RPC command removes an invoice with *status* as given in **listinvoices**, or with *desconly* set, removes its description." - ], - "request": { - "required": [ - "label", - "status" - ], - "properties": { - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "u64" - } - ], - "description": [ - "Label of the invoice to be deleted." - ] - }, - "status": { - "type": "string", - "description": [ - "Label of the invoice to be deleted. The caller should be particularly aware of the error case caused by the *status* changing just before this command is invoked!" - ], - "enum": [ - "paid", - "expired", - "unpaid" - ] - }, - "desconly": { - "type": "boolean", - "description": [ - "If set to True, the invoice is not deleted, but has its description removed (this can save space with very large descriptions, as would be used with lightning-invoice(7) *deschashonly*." - ] - } - } - }, - "response": { - "required": [ - "label", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": [ - "Unique label given at creation time." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "BOLT11 string." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "BOLT12 string." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount required to pay this invoice." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was changed (only present if it has changed since creation)." - ] - }, - "status": { - "type": "string", - "description": [ - "State of invoice." - ], - "enum": [ - "paid", - "expired", - "unpaid" - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp when invoice expires (or expired)." - ] - } - }, - "allOf": [ - { - "if": { - "required": [ - "bolt12" - ] - }, - "then": { - "required": [], - "additionalProperties": false, - "properties": { - "label": {}, - "bolt12": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "pay_index": {}, - "created_index": {}, - "updated_index": {}, - "amount_received_msat": {}, - "paid_at": {}, - "payment_preimage": {}, - "local_offer_id": { - "type": "hex", - "description": [ - "Offer for which this invoice was created." - ] - }, - "invreq_payer_note": { - "type": "string", - "description": [ - "The optional *invreq_payer_note* from invoice_request which created this invoice." - ] - } - } - }, - "else": { - "required": [ - "bolt11" - ], - "additionalProperties": false, - "properties": { - "label": {}, - "bolt11": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "pay_index": {}, - "created_index": {}, - "updated_index": {}, - "amount_received_msat": {}, - "msatoshi_received": {}, - "paid_at": {}, - "payment_preimage": {} - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "bolt11": {}, - "bolt12": {}, - "status": {}, - "expires_at": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "invreq_payer_note": {}, - "local_offer_id": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": [ - "Unique index for this invoice payment." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "How much was actually received." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when payment was received." - ] - }, - "payment_preimage": { - "type": "secret", - "description": [ - "SHA256 of this is the *payment_hash* offered in the invoice." - ] - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "bolt11": {}, - "bolt12": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "description": {}, - "payment_hash": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": {}, - "invreq_payer_note": {}, - "local_offer_id": {} - } - } - } - ], - "pre_return_value_notes": [ - "Note: The return is the same as an object from lightning-listinvoice(7)." - ] - }, - "errors": [ - "The following errors may be reported:", - "", - "- -1: Database error.", - "- 905: An invoice with that label does not exist.", - "- 906: The invoice *status* does not match the parameter. An error object will be returned as error *data*, containing *current_status* and *expected_status* fields. This is most likely due to the *status* of the invoice changing just before this command is invoked.", - "- 908: The invoice already has no description, and *desconly* was set." - ], - "example_json_request": [ - { - "id": "example:delinvoice#1", - "method": "delinvoice", - "params": { - "label": "inv5", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#2", - "method": "delinvoice", - "params": { - "label": "inv3", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#3", - "method": "delinvoice", - "params": { - "label": "label", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#4", - "method": "delinvoice", - "params": { - "label": "test_renepay2", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#5", - "method": "delinvoice", - "params": { - "label": "test2", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#6", - "method": "delinvoice", - "params": { - "label": "label \\ \" \t \n", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#7", - "method": "delinvoice", - "params": { - "label": 25, - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#8", - "method": "delinvoice", - "params": { - "label": "test_pay", - "status": "expired", - "desconly": null - } - }, - { - "id": "example:delinvoice#9", - "method": "delinvoice", - "params": { - "label": "invlabel", - "status": "paid", - "desconly": null - } - }, - { - "id": "example:delinvoice#10", - "method": "delinvoice", - "params": { - "label": "invlabel2", - "status": "unpaid", - "desconly": true - } - }, - { - "id": "example:delinvoice#11", - "method": "delinvoice", - "params": { - "label": "label", - "status": "paid", - "desconly": true - } - }, - { - "id": "example:delinvoice#12", - "method": "delinvoice", - "params": { - "label": "keysend-1708640419.666098582", - "status": "paid", - "desconly": null - } - }, - { - "id": "example:delinvoice#13", - "method": "delinvoice", - "params": { - "label": "keysend-1708640421.048851856", - "status": "paid", - "desconly": null - } - }, - { - "id": "example:delinvoice#14", - "method": "delinvoice", - "params": { - "label": "keysend-1708640422.456567424", - "status": "paid", - "desconly": null - } - }, - { - "id": "example:delinvoice#15", - "method": "delinvoice", - "params": { - "label": "test2", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#16", - "method": "delinvoice", - "params": { - "label": "invlabel3", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#17", - "method": "delinvoice", - "params": { - "label": "inv5", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#18", - "method": "delinvoice", - "params": { - "label": "inv3", - "status": "unpaid", - "desconly": null - } - }, - { - "id": "example:delinvoice#19", - "method": "delinvoice", - "params": { - "label": "inv2", - "status": "unpaid", - "desconly": null - } - } - ], - "example_json_response": [ - { - "label": "inv5", - "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", - "payment_hash": "bf75a41a19d1e559ebd4a33ca295b3d82ae8d50178a66e3cc2eddb8ac443455e", - "amount_msat": 12300, - "status": "unpaid", - "description": [ - "Description5." - ], - "expires_at": 1706233744, - "created_index": 5 - }, - { - "label": "inv3", - "bolt11": "lnbcrt123n1pjmxz9ssp5nllypzlcqjcrlfn3peal79r4h7nmwy7ulmjgj80ym9jw4m9ht0aspp58fd6xjwd8zzwvv9fmfqcc5kg33mp82ws7r2wvv2m055ylkekrn9sdq5v3jhxcmjd9c8g6t0dc6sxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq5cwchj0w22mrwwns68qg0xwhh9uttep29652u5sxz4ln2vzkdzuqsmss6zyy9ltkznpguvdktnt6lgt9wduvyd0u5er4zd9m0040ccsqytnvgl", - "payment_hash": "3a5ba349cd3884e630a9da418c52c88c7613a9d0f0d4e6315b7d284fdb361ccb", - "amount_msat": 12300, - "status": "unpaid", - "description": [ - "Description5." - ], - "expires_at": 1706836784, - "created_index": 3 - }, - { - "label": "label", - "bolt11": "lnbcrt1230n1pja0rl2sp5dh70q98shxhzls8geycfrkxstvfhszgdz9wcdhrvkjxz59gmhn8qpp5kgls5k4pyflthqsk07jqj9n62q293k592tlpfrhd2r65utfrvrcsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqlcjnaycj8stvvgw8nj9ffq52366k9vs3pyce9s3ltsh4rlsxj6vz88kyjkmsvqrdhj4n3zw2hlrd2azrp6s04f5atzj9ydujkkgueasps0t4ly", - "payment_hash": "b23f0a5aa1227ebb82167fa409167a501458da8552fe148eed50f54e2d2360f1", - "amount_msat": 123000, - "status": "unpaid", - "description": "description", - "expires_at": 1709230698, - "created_index": 1 - }, - { - "label": "test_renepay2", - "bolt11": "lnbcrt210n1pja0fytsp5jt0l60haur7sxyjepnw9h55jd2758f6tw5ha95vdv3wmqs2rqa6spp57zn5de8xk3a8qtmxnwgp7snkdrnkp7xp9j9qnx4h2fh4vd6wglwqdq5v3jhxcmjd9c8g6t0dceqxqyjw5qcqp99qxpqysgq9fvucqdjy2zxce3d4e0k63mmdk3tezgjwfufxllt5uap2dkl2fjr6pflepeuts4r7u3me4efphe8nsrlqe59el8hxv6kerlmq78qxpqpqxexll", - "payment_hash": "f0a746e4e6b47a702f669b901f427668e760f8c12c8a099ab7526f56374e47dc", - "amount_msat": 21000, - "status": "unpaid", - "description": "description2", - "expires_at": 1709235979, - "created_index": 2 - }, - { - "label": "test2", - "bolt11": "lnbcrt100n1pja0fgksp5ka2286hn6hc4lpnlj6k8a0k54zmwhvr63spp6e8a49qhde277n3spp59wlrrxzjwjywf2yvw4aykv8swkdq8jzp3mek6rhppkskhypfkh2qdqgw3jhxapjxqyjw5qcqp99qxpqysgqzqzc4ypga2a9we3y2hp6nscus72uug2exrep4h46zxm63tu08nnzd965dq8ne5vsmk3f7gj7rd247zrvpl67430x2aj0uauk6evsltcp4nktsy", - "payment_hash": "2bbe3198527488e4a88c757a4b30f0759a03c8418ef36d0ee10da16b9029b5d4", - "amount_msat": 10000, - "status": "unpaid", - "description": "test2", - "expires_at": 1709236118, - "created_index": 2 - }, - { - "label": "label \\ \" \t \n", - "bolt11": "lnbcrt1230n1pja0tnjsp5p0h9mxzjdaler0l3nqd55edq2j5rg2sz58h0tqq4mdl7aa5gypfspp5hka0zvgqjr6fd7yfrnw9r5akd5z8j088kvasa68ts98a60568knqdqlv3jhxcmjd9c8g6t0dcs9cgpzyqyjqzsxqyjw5qcqp99qxpqysgq2g24kcq70vpwlskehqptzdtq0y77vdx95nef6qngkf6rqfgyzazywu3mwpj8t0v6sq83ppr84xaslkgmm5nvdrphg67nep27gr94xngqrkz0t8", - "payment_hash": "bdbaf1310090f496f8891cdc51d3b66d04793ce7b33b0ee8eb814fdd3e9a3da6", - "amount_msat": 123000, - "status": "unpaid", - "description": "description \\ \" \t \n", - "expires_at": 1709238514, - "created_index": 1 - }, - { - "label": "25", - "bolt11": "lnbcrt1230n1pja0tnjsp5rpqcwxxgg4xe7wwzhqh746d7yqp5l76f5x7j5stexkf67y7c6ncqpp5dx94m8g8ecpxzeukp5lvs9f3l6qq9stlnc5jfdshl7py6577vrxsdqzygxqyjw5qcqp99qxpqysgqmlk9n686c5ua6wzhel3udhnuscckj9w39qhu8c6lr6pxt398g2z39mpgem9gczr26950kj8vjyhjdpy60llcgc9jj09fmpz2h707pncpndark7", - "payment_hash": "698b5d9d07ce026167960d3ec81531fe8002c17f9e2924b617ff824d53de60cd", - "amount_msat": 123000, - "status": "unpaid", - "description": "\"", - "expires_at": 1709238514, - "created_index": 2 - }, - { - "label": "test_pay", - "bolt11": "lnbcrt1230n1pja0t43sp5mq6r455y9t7h2p28tf4f4rfk68gxmwldep6hdfrnvd634v8d8jtqpp5mdp0fexhzgw2n7tafa6sj8erjzsnf52sut4yym0s9a2a7zw9r09qdqjv3jhxcmjd9c8g6t0dcxqppcqp99qxpqysgqq0y8ravqwhvr38apr6vagk6qzm0zxez6cxnjhdymcadd4jhxdqj373m33yj9escr94recy4t8sv8al3kpx8h32kn4nqudexy3vtdf6gqdflvu2", - "payment_hash": "db42f4e4d7121ca9f97d4f75091f2390a134d150e2ea426df02f55df09c51bca", - "amount_msat": 123000, - "status": "expired", - "description": "description", - "expires_at": 1708633778, - "created_index": 1, - "updated_index": 1 - }, - { - "label": "invlabel", - "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj", - "payment_hash": "e1059d78a996b9371c0ce3a9b6d9aaf8a376302e96e6fc5d9a859f04d8392593", - "amount_msat": 42, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 42, - "paid_at": 1708633891, - "payment_preimage": "0518949118828cb3a81e982b331c27fcbdc217831e13cbf1f8ee2135cacb9eb7", - "description": "invdesc", - "expires_at": 1709238689, - "created_index": 1, - "updated_index": 1 - }, - { - "label": "invlabel2", - "bolt11": "lnbcrt420p1pja0tefsp5vvzg40t4g24l0eqk0jch7mc6jm3ec52ts8w8gwzpwtx9c8nv05rspp533e9csxurt7j9sn2cx7hsn6m00475qgrau8sux5r7djpdedwy2fshp5xqsmrtgfcwsnhxcxmf3tuc65kl6fxvqhvujfmxw2kpeh95yy2x8sxqyjw5qcqp99qxpqysgqgfjrz4q5zcq2lluxxg9h475mq2d3w0tpdstm5274zmhadjl8cqapylfskzk96apka5599a2flm90rmavsk7q8mhh87yle3sgh5vrlycq72fern", - "payment_hash": "8c725c40dc1afd22c26ac1bd784f5b7bebea0103ef0f0e1a83f36416e5ae2293", - "amount_msat": 42, - "status": "unpaid", - "expires_at": 1709238697, - "created_index": 3 - }, - { - "label": "label", - "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", - "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", - "amount_msat": 42, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 42, - "paid_at": 1708633907, - "payment_preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", - "expires_at": 1709238706, - "created_index": 1, - "updated_index": 1 - }, - { - "label": "keysend-1708640419.666098582", - "bolt11": "lnbcrt1pja0j9rsp5tg3zvj846gcdzw394njazq40s946sq2ur3hkl4xu4xudtjdtckxspp5fuunrfzsnyz2uxjmg2n95mqhghv4fpvv2kud3kvq4fkys3vmzu5sdqvddjhjum9dejqxqyjw5qcqp99qxpqysgqwt7r0gjlgt7zrfldc3um9myfc36acpqnsdn77c2m42facjtps30yufc5nsmwzhgexlj59f6xa5hess6e3tqrxynt9fejzj3rrshddtcqnappmj", - "payment_hash": "4f3931a4509904ae1a5b42a65a6c1745d954858c55b8d8d980aa6c48459b1729", - "status": "paid", - "pay_index": 1, - "amount_received_msat": 10000000, - "paid_at": 1708640419, - "payment_preimage": "b760af47f456a217e8dfda21a282f1f78c903487c1b21b3b318135f75aa3bf11", - "description": "keysend", - "expires_at": 1709245219, - "created_index": 1, - "updated_index": 1 - }, - { - "label": "keysend-1708640421.048851856", - "bolt11": "lnbcrt1pja0j99sp5srhncux5m9xl8u7hsrlterlejua5a7af4ngw5qhruc3upjjkygxspp58s95srkcmyvfraukyv6fdcvtt48ngpu9c6c3we3lu638tx8zfarsdpqddjhjum9dejr5grgv4kxcmeqw35x2un9xqyjw5qcqp99qxpqysgqxsamahp58r2anfmxyudcl9rjc77ee7z4ahenxcjn0yxa7esdup89znyz2t0phcxr3r8ehx8ch6l7sfapytxc7av2ee4364702lhg4gspnqsa4u", - "payment_hash": "3c0b480ed8d91891f796233496e18b5d4f340785c6b117663fe6a27598e24f47", - "status": "paid", - "pay_index": 2, - "amount_received_msat": 10000000, - "paid_at": 1708640421, - "payment_preimage": "3e705f0e2fb0924e0dd192326a9b096ec700849be8cb04f54539599a8b6f0514", - "description": "keysend: hello there", - "expires_at": 1709245221, - "created_index": 2, - "updated_index": 2 - }, - { - "label": "keysend-1708640422.456567424", - "bolt11": "lnbcrt1pja0j9xsp56wyn2d6rn0w65hk2cwv3zwxtacr9uphs29lt7akav6nh5hkcvxtqpp50twcvh5rfcleu523hkcurtyj5ngtj3sjv8xw7lr69v6up79lu9pqhp5zjwx2hwm63np8muzh8ppt3d8pvx6ezhhz9l28gvq86mtax5q43tqxqyjw5qcqp99qxpqysgq3w0p70lckq7jrcwrn37y2vvkqysspd2zjfdnsjsncrls7jls4j5y92kv9hvjcy8p3u8cvlt2lyddfql45vn87236j954amr6gp69jlspdwkzqy", - "payment_hash": "7add865e834e3f9e5151bdb1c1ac92a4d0b9461261ccef7c7a2b35c0f8bfe142", - "status": "paid", - "pay_index": 3, - "amount_received_msat": 10000000, - "paid_at": 1708640422, - "payment_preimage": "661f76dfd40bf4b4ba623ee976c255297d70f3ea2ba8b2609b54dbfa7785a319", - "description": "keysend: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "expires_at": 1709245222, - "created_index": 3, - "updated_index": 3 - }, - { - "label": "test2", - "bolt11": "lnbcrt100n1pja0jkpsp5zzwlw7cac9y8mtgv5czt4xfrlrngs8h04ay3rre7ag0qe8ggvdnqpp5mpy58hd66enwk37w9vcfa7fathhadv3rv6xwm7jje3xu7dv8xjpqdqgw3jhxapjxqyjw5qcqp99qxpqysgqdwz2vkk480x3vt9su43r5dae2egtx5xr6fqw9fewrpfafasdaqujh5yj53gjm7cluunnryry7yjfx7ja4e0a3cpc9f8m55yr9dtu09cqgyrzwv", - "payment_hash": "d84943ddbad666eb47ce2b309ef93d5defd6b223668cedfa52cc4dcf35873482", - "amount_msat": 10000, - "status": "unpaid", - "description": "test2", - "expires_at": 1709245761, - "created_index": 2 - }, - { - "label": "invlabel3", - "bolt11": "lnbcrt420p1pja0j76sp59286gf3uv549dhyua43hsmwstegs0w4d2ykrq6a0czprs00prgsqpp5rhhltj7e0w6v847a4z7tdznzuhugul7pgccz9feymhppt0svzg0qdqdd9h8ver9wd3nxxqyjw5qcqp99qxpqysgqyckjezpg68mv586jw8wxt2r6fk54hlhszrkpwa2vrzkstdrywwe5urcyjnnjdc2hst7663zl0asv6tjp3ma4nsgpct37a0a9f76xuwspdum344", - "payment_hash": "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", - "amount_msat": 42, - "status": "unpaid", - "description": "invdesc3", - "expires_at": 1709246042, - "created_index": 3 - }, - { - "label": "inv5", - "bolt11": "lnbcrt123n1pja050zsp5vhjcrwrcvqrmlvlv5rggycak8wmfduytqjp9a9eh24gdgs503gxqpp5lg8h8zdyn6sw4tsy3jtxemz0zfz6esmh500qred8p8q4x3syrtpsdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqm6qwjdmvtxptu4gs82dnlur90je96g4rlnakxts4nnwdvacqs4hqjf735s059jj5gr229dh2texxz4euu7hm6m72vl4l858apl929hgq74e32s", - "payment_hash": "fa0f7389a49ea0eaae048c966cec4f1245acc377a3de01e5a709c15346041ac3", - "amount_msat": 12300, - "status": "unpaid", - "description": "description5", - "expires_at": 1708644786, - "created_index": 5 - }, - { - "label": "inv3", - "bolt11": "lnbcrt123n1pja05nqsp5635mkyk9fqzytd9zty65xpg3j7jy9v8jhmft775nee8xzrgnd5mspp5zw9d0khdugsp5w7up2t24sypxzr7yj26dlmqtl4sd5evtyh0fvzsdq5v3jhxcmjd9c8g6t0dc6sxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqwmcag7qh72njap9c4fv0g7ez7nxxu6trx02wvkmlghwjg5hl2j0jajeca02zx329ryg83rx5pg2fzkrpdw7ehcf0z7x27n3eplcw52qq97cvyh", - "payment_hash": "138ad7daede2201a3bdc0a96aac0813087e2495a6ff605feb06d32c592ef4b05", - "amount_msat": 12300, - "status": "unpaid", - "description": "description5", - "expires_at": 1709247712, - "created_index": 3 - }, - { - "label": "inv2", - "bolt11": "lnbcrt420p1pja0h87sp580njsetjavrqagpnlgkhxjfnwry9fzjsah7utky2f678rtfcun2qpp5et96quzyd7s2d2hl67kf2c3f0fal48hxsppypytwwckhnjzg256qdqdd9h8ver9wd3nyxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqumxmwl3xn89n3xdhlvf7hfypfsm2l32vrna77qjf3qg55ytr5cws63dhsepul5tw06lkum7dx5sgq97up09clcg6dly570eas90ekwsqfwew2k", - "payment_hash": "cacba070446fa0a6aaffd7ac9562297a7bfa9ee6804240916e762d79c8485534", - "amount_msat": 42, - "status": "unpaid", - "description": "invdesc2", - "expires_at": 1709250430, - "created_index": 2 - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listinvoice(7)", - "lightning-waitinvoice(7)", - "lightning-invoice(7)", - "lightning-delexpiredinvoice(7)", - "lightning-autoclean-status(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-delpay.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "delpay", - "title": "Command for removing a completed or failed payment", - "description": [ - "The **delpay** RPC command deletes a payment with the given `payment_hash` if its status is either `complete` or `failed`. If *partid* and *groupid* are not specified, all payment parts with matchin status are deleted." - ], - "request": { - "required": [ - "payment_hash", - "status" - ], - "properties": { - "payment_hash": { - "type": "hash", - "description": [ - "The unique identifier of a payment." - ] - }, - "status": { - "type": "string", - "description": [ - "Expected status of the payment. Only deletes if the payment status matches. Deleting a `pending` payment will return an error." - ], - "enum": [ - "complete", - "failed" - ] - }, - "partid": { - "type": "u64", - "description": [ - "Specific partid to delete (must be paired with *groupid*)." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Specific groupid to delete (must be paired with *partid*)." - ] - } - }, - "pairedWith": [ - [ - "partid", - "groupid" - ] - ] - }, - "response": { - "required": [ - "payments" - ], - "properties": { - "payments": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "created_index", - "id", - "payment_hash", - "status", - "amount_sent_msat", - "created_at" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was created in." - ] - }, - "id": { - "type": "u64", - "description": [ - "Old synonym for created_index." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": [ - "Status of the payment." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "The amount we actually sent, including fees." - ] - }, - "partid": { - "type": "u64", - "description": [ - "Unique ID within this (multi-part) payment." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment if known." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount the destination received, if known." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was changed (only present if it has changed since creation)." - ] - }, - "completed_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was completed." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." - ] - }, - "payment_preimage": { - "type": "secret", - "description": [ - "Proof of payment." - ] - }, - "label": { - "type": "string", - "description": [ - "The label, if given to sendpay." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string (if pay supplied one)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string (if supplied for pay: **experimental-offers** only)." - ] - }, - "erroronion": { - "type": "hex", - "description": [ - "The error onion returned on failure, if any." - ] - } - } - } - } - }, - "pre_return_value_notes": [ - "The returned format is the same as lightning-listsendpays(7). If the payment is a multi-part payment (MPP) the command return a list of payments will be returned -- one payment object for each partid." - ] - }, - "example_json_request": [ - { - "id": "example:delpay#1", - "method": "delpay", - "params": { - "payment_hash": "4fa2f1b001067ec06d7f95b8695b8acd9ef04c1b4d1110e3b94e1fa0687bb1e0", - "status": "complete" - } - }, - { - "id": "example:delpay#2", - "method": "delpay", - "params": [ - "9f9a28a224125a361decee39a4045248ca5a0d7454199495d62a4410f078c481", - "complete" - ] - }, - { - "id": "example:delpay#3", - "method": "delpay", - "params": [ - "c9d4547473d0d646f1fdd8ca7f01803e4d31ceab01df33c79456f9c24b04034e", - "failed" - ] - }, - { - "id": "example:delpay#4", - "method": "delpay", - "params": [ - "1b56052c93885aac962d6101c1b1d10f7e5ab6713ef69b3edb306011c9affc5f", - "complete" - ] - }, - { - "id": "example:delpay#5", - "method": "delpay", - "params": [ - "f6c49cc1b9bddbdc340f9e8934eed62d954f2d2da1696184da0a32275b13c981", - "failed" - ] - }, - { - "id": "example:delpay#6", - "method": "delpay", - "params": { - "payment_hash": "bbc35e0a46d1483292a4ff8d4daaceaab8c3c084dd835be4128785b52e469c64", - "status": "complete", - "groupid": 1, - "partid": 1 - } - }, - { - "id": "example:delpay#7", - "method": "delpay", - "params": [ - "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", - "failed", - 0, - 1 - ] - } - ], - "errors": [ - "On failure, an error is returned. If the lightning process fails before responding, the", - "caller should use lightning-listsentpays(7) or lightning-listpays(7) to query whether this payment was deleted or not.", - "", - "The following error codes may occur:", - "", - "- -32602: Parameter missed or malformed;", - "- 211: Payment status mismatch. Check the correct status via **paystatus**;", - "- 208: Payment with payment_hash not found." - ], - "example_json_response": [ - { - "payments": [ - { - "id": 2, - "payment_hash": "8dfd6538eeb33811c9114a75f792a143728d7f05643f38c3d574d3097e8910c0", - "destination": "0219f8900ee78a89f050c24d8b69492954f9fdbabed753710845eb75d3a75a5880", - "msatoshi": 1000, - "amount_msat": "1000msat", - "msatoshi_sent": 1000, - "amount_sent_msat": "1000msat", - "created_at": 1596224858, - "status": "complete", - "payment_preimage": "35bd4e2b481a1a84a22215b5372672cf81460a671816960ddb206464359e1822", - "bolt11": "lntb10n1p0jga20pp53h7k2w8wkvuprjg3ff6l0y4pgdeg6lc9vsln3s74wnfsjl5fzrqqdqdw3jhxazldahx2xqyjw5qcqp2sp5wut5jnhr6n7jd5747ky2g5flmw7hgx9yjnqzu60ps2jf6f7tc0us9qy9qsqu2a0k37nckl62005p69xavlkydkvhnypk4dphffy4x09zltwh9437ad7xkl83tefdarzhu5t30ju5s56wlrg97qkx404pq3srfc425cq3ke9af" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "9f9a28a224125a361decee39a4045248ca5a0d7454199495d62a4410f078c481", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000, - "amount_sent_msat": 100000, - "created_at": 1706316364, - "completed_at": 1706316366, - "status": "complete", - "payment_preimage": "4b6a8b5df821517ac6376e79279aefaa81ece270933a1e4234593a14546d94b7", - "bolt11": "lnbcrt1u1pjmg5jtsp5uwrerppmclxl8q3zwj2ag20rgan0ueufqv2nar5yp07ggha2w5kspp5n7dz3g3yzfdrv80vacu6gpzjfr995rt52svef9wk9fzppurccjqsdq9d9h8vxqyjw5qcqp99qxpqysgq20s6n2szgca4p5vf9jyzgd3dan7agzdn4pq6u3x2kf9z7xpauagxy04jctuhk33urd3r2l7tfatkwvcayzkehgf4q6c2h7rdyzk78jgp7zy6za" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "c9d4547473d0d646f1fdd8ca7f01803e4d31ceab01df33c79456f9c24b04034e", - "groupid": 1, - "updated_index": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000, - "amount_sent_msat": 100002, - "created_at": 1706316468, - "completed_at": 1706316471, - "status": "failed", - "bolt11": "lnbcrt1u1pjmg54nsp5ke626txv6wwwmqmpuy63t3jnu9hqxwj880zsfkkj7jjqagdaz2sqpp5e829garn6rtydu0amr987qvq8exnrn4tq80n83u52muuyjcyqd8qdq8v3jhxccxqyjw5qcqp99qxpqysgqalktfwy9svsamvvvrzzzzpdaa4rh7n6s5p7t9lx7qv0raz4vnm9knkh5ury3u5cmnhx2gms98nxkclm3833uhjrlnzmftc685vz2f0gpfnjy4y" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "1b56052c93885aac962d6101c1b1d10f7e5ab6713ef69b3edb306011c9affc5f", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000, - "amount_sent_msat": 100000, - "created_at": 1708640559, - "completed_at": 1708640560, - "status": "complete", - "payment_preimage": "3b699f52639938c95323dcd7002c8b384627ff5e4e0a43c30034b947af3b1a39", - "bolt11": "lnbcrt1u1pja0jf0sp5wqglq8es4jndu9554ct7qzuggrdytq0dg99xrfde4emzl5ggkhxspp5rdtq2tyn3pd2e93dvyqurvw3pal94dn38mmfk0kmxpsprjd0l30sdq9d9h8vxqyjw5qcqp99qxpqysgq7n5pex8xf5yjd5k7yrvjkxku3m8kh02utwyukppuep6xd6tsenaz87mpkaygyqza2cgnsh5qhe582hrq5t2jz4klzh028vjc4hz5wvcqshsf7w" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f6c49cc1b9bddbdc340f9e8934eed62d954f2d2da1696184da0a32275b13c981", - "groupid": 1, - "updated_index": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000, - "amount_sent_msat": 100002, - "created_at": 1708640584, - "completed_at": 1708640585, - "status": "failed", - "bolt11": "lnbcrt1u1pja0j2gsp5mxfzhdjfm8pdc7fhvqy5ydgkvals2z62yrdcp30ydqf9q2xvguespp57mzfesdehhdacdq0n6ynfmkk9k257tfd595krpx6pgezwkcnexqsdq8v3jhxccxqyjw5qcqp99qxpqysgq2swrqpwjltxfyjr7d5u5nje0ht3wp6t9lshe6xf2euwjjw9yqdz8uyfadr295wxrqdq55xee2dnaunp3nv40d9gtgy8zuvqrmvp4pvqq7ecre4" - } - ] - }, - { - "payments": [ - { - "created_index": 2, - "id": 2, - "payment_hash": "bbc35e0a46d1483292a4ff8d4daaceaab8c3c084dd835be4128785b52e469c64", - "groupid": 1, - "updated_index": 2, - "partid": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000, - "amount_sent_msat": 102100, - "created_at": 1708641193, - "completed_at": 1708641194, - "status": "complete", - "payment_preimage": "a6ebb1cfbf69e76200f196f1eafd28a3d850633499c223a7eb7a7dba3b995286" - } - ] - }, - { - "payments": [ - { - "created_index": 3, - "id": 3, - "payment_hash": "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", - "groupid": 1, - "updated_index": 3, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 42, - "amount_sent_msat": 42, - "created_at": 1708641243, - "completed_at": 1708641244, - "status": "failed", - "bolt11": "lnbcrt420p1pja0j76sp59286gf3uv549dhyua43hsmwstegs0w4d2ykrq6a0czprs00prgsqpp5rhhltj7e0w6v847a4z7tdznzuhugul7pgccz9feymhppt0svzg0qdqdd9h8ver9wd3nxxqyjw5qcqp99qxpqysgqyckjezpg68mv586jw8wxt2r6fk54hlhszrkpwa2vrzkstdrywwe5urcyjnnjdc2hst7663zl0asv6tjp3ma4nsgpct37a0a9f76xuwspdum344" - } - ] - } - ], - "author": [ - "Vincenzo Palazzo <> is mainly responsible." - ], - "see_also": [ - "lightning-listpays(7)", - "lightning-listsendpays(7)", - "lightning-paystatus(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-deprecations.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v24.02", - "rpc": "deprecations", - "title": "Command to enable/disable deprecated APIs", - "description": [ - "The **deprecations** RPC command is used to override global config option `allow-deprecated-apis` for further RPC commands on this same connection. This can be useful for developer testing to ensure you don't accidentally rely on deprecated features." - ], - "request": { - "required": [ - "enable" - ], - "properties": { - "enable": { - "type": "boolean", - "description": [ - "Flag to enable or disable deprecated APIs. Setting it to `false` will neither accept deprecated parameters or commands, nor output deprecated fields." - ] - } - } - }, - "response": { - "properties": {} - }, - "example_json_request": [ - { - "id": "example:deprecations#1", - "method": "deprecations", - "params": { - "enable": false - } - } - ], - "example_json_response": [ - {} - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "author": [ - "Rusty Russell <> wrote the initial version of this man page." - ], - "see_also": [ - "lightningd-config(5)", - "lightning-notifications(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-disableinvoicerequest.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v22.11", - "rpc": "disableinvoicerequest", - "title": "Command for removing an invoice request", - "warning": "experimental-offers only", - "description": [ - "The **disableinvoicerequest** RPC command disables an invoice_request, so that no further invoices will be accepted (and thus, no further payments made)..", - "", - "We currently don't support deletion of invoice_requests, so they are not forgotten entirely (there may be payments which refer to this invoice_request)." - ], - "request": { - "required": [ - "invreq_id" - ], - "properties": { - "invreq_id": { - "type": "string", - "description": [ - "A specific invoice can be disabled by providing the `invreq_id`, which is presented by lightning-invoicerequest(7)." - ] - } - } - }, - "response": { - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "properties": { - "invreq_id": { - "type": "hash", - "description": [ - "The SHA256 hash of all invoice_request fields less than 160." - ] - }, - "active": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether the invoice_request is currently active." - ] - }, - "single_use": { - "type": "boolean", - "description": [ - "Whether the invoice_request will become inactive after we pay an invoice for it." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string starting with lnr." - ] - }, - "used": { - "type": "boolean", - "description": [ - "Whether the invoice_request has already been used." - ] - }, - "label": { - "type": "string", - "description": [ - "The label provided when creating the invoice_request." - ] - } - }, - "pre_return_value_notes": [ - "Note: the returned object is the same format as **listinvoicerequest**." - ] - }, - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-invoicerequest(7)", - "lightning-listinvoicerequest(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-disableoffer.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "disableoffer", - "title": "Command for removing an offer", - "warning": "experimental-offers only", - "description": [ - "The **disableoffer** RPC command disables an offer, so that no further invoices will be given out.", - "", - "We currently don't support deletion of offers, so offers are not forgotten entirely (there may be invoices which refer to this offer)." - ], - "request": { - "required": [ - "offer_id" - ], - "properties": { - "offer_id": { - "type": "hash", - "description": [ - "The id we use to identify this offer." - ] - } - } - }, - "response": { - "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used" - ], - "properties": { - "offer_id": { - "type": "hash", - "description": [ - "The merkle hash of the offer." - ] - }, - "active": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether the offer can produce invoices/payments." - ] - }, - "single_use": { - "type": "boolean", - "description": [ - "Whether the offer is disabled after first successful use." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string representing this offer." - ] - }, - "used": { - "type": "boolean", - "description": [ - "Whether the offer has had an invoice paid / payment made." - ] - }, - "label": { - "type": "string", - "description": [ - "The label provided when offer was created." - ] - } - }, - "pre_return_value_notes": [ - "Note: the returned object is the same format as **listoffers**." - ] - }, - "example_json_request": [ - { - "id": "example:disableoffer#1", - "method": "disableoffer", - "params": { - "offer_id": "713a16ccd4eb10438bdcfbc2c8276be301020dd9d489c530773ba64f3b33307d" - } - }, - { - "id": "example:disableoffer#2", - "method": "disableoffer", - "params": { - "offer_id": "942dbb8d7ec9a096afd70660e9c9aaf38ad219a072e6f7ece850eb0e2efb6443" - } - } - ], - "example_json_response": [ - { - "offer_id": "053a5c566fbea2681a5ff9c05a913da23e45b95d09ef5bd25d7d408f23da7084", - "active": false, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqvqcdgq2z9pk7enxv4jjqen0wgs8yatnw3ujz83qkc6rvp4j28rt3dtrn32zkvdy7efhnlrpr5rp5geqxs783wtlj550qs8czzku4nk3pqp6m593qxgunzuqcwkmgqkmp6ty0wyvjcqdguv3pnpukedwn6cr87m89t74h3auyaeg89xkvgzpac70z3m9rn5xzu28c", - "used": false - }, - { - "offer_id": "942dbb8d7ec9a096afd70660e9c9aaf38ad219a072e6f7ece850eb0e2efb6443", - "active": false, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", - "used": true - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-offer(7)", - "lightning-listoffers(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-disconnect.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "disconnect", - "title": "Command for disconnecting from another lightning node", - "description": [ - "The disconnect RPC command closes an existing connection to a peer, identified by *id*, in the Lightning Network, as long as it doesn't have an active channel." - ], - "request": { - "required": [ - "id" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The public key of the peer to terminate the connection. It can be discovered in the output of the listpeers command, which returns a set of peers:", - "{", - " 'peers':", - " [", - " {", - " 'id': '0563aea81...',", - " 'connected': true,", - " ...", - " }", - " ]", - "}" - ] - }, - "force": { - "type": "boolean", - "description": [ - "If set to True, it will disconnect even with an active channel." - ] - } - } - }, - "response": { - "properties": {} - }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error." - ], - "example_json_request": [ - { - "id": "example:disconnect#1", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": false - } - }, - { - "id": "example:disconnect#2", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": false - } - }, - { - "id": "example:disconnect#3", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - }, - { - "id": "example:disconnect#4", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - }, - { - "id": "example:disconnect#5", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - }, - { - "id": "example:disconnect#6", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": false - } - }, - { - "id": "example:disconnect#7", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - }, - { - "id": "example:disconnect#8", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": false - } - }, - { - "id": "example:disconnect#9", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - }, - { - "id": "example:disconnect#10", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#11", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#12", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#13", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#14", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#15", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#16", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#17", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#18", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#19", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#20", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#21", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#22", - "method": "disconnect", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "force": true - } - }, - { - "id": "example:disconnect#23", - "method": "disconnect", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "force": true - } - } - ], - "example_json_response": [ - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {} - ], - "author": [ - "Michael Hawkins <>." - ], - "see_also": [ - "lightning-connect(1)", - "lightning-listpeers(1)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-emergencyrecover.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "emergencyrecover", - "title": "Command for recovering channels from the emergency.recovery file in the lightning directory", - "description": [ - "The **emergencyrecover** RPC command fetches data from the emergency.recover file and tries to reconnect to the peer and force him to close the channel. The data in this file has enough information to reconnect and sweep the funds.", - "", - "This recovery method is not spontaneous and it depends on the peer, so it should be used as a last resort to recover the funds stored in a channel in case of severe data loss." - ], - "request": { - "required": [], - "properties": {} - }, - "response": { - "required": [ - "stubs" - ], - "properties": { - "stubs": { - "type": "array", - "items": { - "type": "hash", - "description": [ - "Channel IDs of channels successfully inserted." - ] - } - } - } - }, - "example_json_request": [ - { - "id": "example:emergencyrecover#1", - "method": "emergencyrecover", - "params": "{}" - }, - { - "id": "example:emergencyrecover#2", - "method": "emergencyrecover", - "params": "{}" - }, - { - "id": "example:emergencyrecover#3", - "method": "emergencyrecover", - "params": "{}" - }, - { - "id": "example:emergencyrecover#4", - "method": "emergencyrecover", - "params": "{}" - } - ], - "example_json_response": [ - { - "stubs": [] - }, - { - "stubs": [ - "c00734472f344fdadd0bf787de182e5cf144ccda5d731b0f7c75befd1f1eff52" - ] - }, - { - "stubs": [] - }, - { - "stubs": [ - "a78f309601c48697decff74b856ed2c353f85665a65255c62598b9302ab35446" - ] - } - ], - "author": [ - "Aditya <> is mainly responsible." - ], - "see_also": [ - "lightning-getsharedsecret(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-feerates.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "feerates", - "title": "Command for querying recommended onchain feerates", - "description": [ - "The **feerates** command returns the feerates that CLN will use. The feerates will be based on the recommended feerates from the backend. The backend may fail to provide estimates, but if it was able to provide estimates in the past, CLN will continue to use those for a while. CLN will also smoothen feerate estimations from the backend.", - "", - "Explorers often present fees in \"sat/vB\": 4 sat/vB is `4000perkb` or `1000perkw`.", - "", - "Bitcoin transactions have non-witness and witness bytes:", - "", - "* Non-witness bytes count as 4 weight, 1 virtual byte. All bytes other than SegWit witness count as non-witness bytes. * Witness bytes count as 1 weight, 0.25 virtual bytes.", - "", - "Thus, all *perkb* feerates will be exactly 4 times *perkw* feerates.", - "", - "To compute the fee for a transaction, multiply its weight or virtual bytes by the appropriate *perkw* or *perkw* feerate returned by this command, then divide by 1000.", - "", - "There is currently no way to change these feerates from the RPC. If you need custom control over onchain feerates, you will need to provide your own plugin that replaces the `bcli` plugin backend. For commands like lightning-withdraw(7) or lightning-fundchannel(7) you can provide a preferred feerate directly as a parameter, which will override the recommended feerates returned by **feerates**." - ], - "request": { - "required": [ - "style" - ], - "properties": { - "style": { - "type": "string", - "description": [ - "Fee rate style to use. This can be:", - " *perkw* - provide feerate in units of satoshis per 1000 weight (e.g. the minimum fee is usually `253perkw`).", - " *perkb* - provide feerate in units of satoshis per 1000 virtual bytes (eg. the minimum fee is usually `1000perkb`)." - ], - "enum": [ - "perkb", - "perkw" - ] - } - } - }, - "response": { - "required": [], - "properties": { - "warning_missing_feerates": { - "type": "string", - "description": [ - "Some fee estimates are missing." - ] - }, - "perkb": { - "type": "object", - "description": [ - "If *style* parameter was perkb." - ], - "additionalProperties": false, - "required": [ - "min_acceptable", - "max_acceptable", - "floor", - "estimates" - ], - "properties": { - "min_acceptable": { - "type": "u32", - "description": [ - "The smallest feerate that we allow peers to specify: half the 100-block estimate." - ] - }, - "max_acceptable": { - "type": "u32", - "description": [ - "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." - ] - }, - "floor": { - "type": "u32", - "added": "v23.05", - "description": [ - "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)." - ] - }, - "estimates": { - "type": "array", - "added": "v23.05", - "description": [ - "Feerate estimates from plugin which we are using (usuallly bcli)." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "blockcount", - "feerate", - "smoothed_feerate" - ], - "properties": { - "blockcount": { - "type": "u32", - "added": "v23.05", - "description": [ - "The number of blocks the feerate is expected to get a transaction in." - ] - }, - "feerate": { - "type": "u32", - "added": "v23.05", - "description": [ - "The feerate for this estimate, in given *style*." - ] - }, - "smoothed_feerate": { - "type": "u32", - "added": "v23.05", - "description": [ - "The feerate, smoothed over time (useful for coordinating with other nodes)." - ] - } - } - } - }, - "opening": { - "type": "u32", - "description": [ - "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)." - ] - }, - "mutual_close": { - "type": "u32", - "description": [ - "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." - ] - }, - "unilateral_close": { - "type": "u32", - "description": [ - "Feerate for commitment_transaction in a live channel which we originally funded." - ] - }, - "unilateral_anchor_close": { - "type": "u32", - "added": "v23.08", - "description": [ - "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)." - ] - }, - "delayed_to_us": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": [ - "Feerate for returning unilateral close funds to our wallet." - ] - }, - "htlc_resolution": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": [ - "Feerate for returning unilateral close HTLC outputs to our wallet." - ] - }, - "penalty": { - "type": "u32", - "description": [ - "Feerate to use when creating penalty tx for watchtowers." - ] - } - } - }, - "perkw": { - "type": "object", - "description": [ - "If *style* parameter was perkw." - ], - "additionalProperties": false, - "required": [ - "min_acceptable", - "max_acceptable", - "floor", - "estimates" - ], - "properties": { - "min_acceptable": { - "type": "u32", - "description": [ - "The smallest feerate that you can use, usually the minimum relayed feerate of the backend." - ] - }, - "max_acceptable": { - "type": "u32", - "description": [ - "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." - ] - }, - "floor": { - "type": "u32", - "added": "v23.05", - "description": [ - "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)." - ] - }, - "estimates": { - "type": "array", - "added": "v23.05", - "description": [ - "Feerate estimates from plugin which we are using (usuallly bcli)." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "blockcount", - "feerate", - "smoothed_feerate" - ], - "properties": { - "blockcount": { - "type": "u32", - "added": "v23.05", - "description": [ - "The number of blocks the feerate is expected to get a transaction in." - ] - }, - "feerate": { - "type": "u32", - "added": "v23.05", - "description": [ - "The feerate for this estimate, in given *style*." - ] - }, - "smoothed_feerate": { - "type": "u32", - "added": "v23.05", - "description": [ - "The feerate, smoothed over time (useful for coordinating with other nodes)." - ] - } - } - } - }, - "opening": { - "type": "u32", - "description": [ - "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)." - ] - }, - "mutual_close": { - "type": "u32", - "description": [ - "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." - ] - }, - "unilateral_close": { - "type": "u32", - "description": [ - "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was not negotiated)." - ] - }, - "unilateral_anchor_close": { - "type": "u32", - "added": "v23.08", - "description": [ - "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)." - ] - }, - "delayed_to_us": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": [ - "Feerate for returning unilateral close funds to our wallet." - ] - }, - "htlc_resolution": { - "type": "u32", - "deprecated": [ - "v23.05", - "v24.05" - ], - "description": [ - "Feerate for returning unilateral close HTLC outputs to our wallet." - ] - }, - "penalty": { - "type": "u32", - "description": [ - "Feerate to use when creating penalty tx for watchtowers." - ] - } - } - }, - "onchain_fee_estimates": { - "type": "object", - "additionalProperties": false, - "required": [ - "opening_channel_satoshis", - "mutual_close_satoshis", - "unilateral_close_satoshis", - "htlc_timeout_satoshis", - "htlc_success_satoshis" - ], - "properties": { - "opening_channel_satoshis": { - "type": "u64", - "description": [ - "Estimated cost of typical channel open." - ] - }, - "mutual_close_satoshis": { - "type": "u64", - "description": [ - "Estimated cost of typical channel close." - ] - }, - "unilateral_close_satoshis": { - "type": "u64", - "description": [ - "Estimated cost of typical unilateral close (without HTLCs). If anchors are supported, this assumes a channel with anchors." - ] - }, - "unilateral_close_nonanchor_satoshis": { - "added": "v23.08", - "type": "u64", - "description": [ - "Estimated cost of non-anchor typical unilateral close (without HTLCs)." - ] - }, - "htlc_timeout_satoshis": { - "type": "u64", - "description": [ - "Estimated cost of typical HTLC timeout transaction (non-anchors)." - ] - }, - "htlc_success_satoshis": { - "type": "u64", - "description": [ - "Estimated cost of typical HTLC fulfillment transaction (non-anchors)." - ] - } - } - } - } - }, - "errors": [ - "The **feerates** command will never error, however some fields may be missing in the result if feerate estimates for that kind of transaction are unavailable." - ], - "notes": [ - "Many other commands have a *feerate* parameter. This can be:", - "", - "* One of the strings to use lightningd's internal estimates:", - " * *urgent* (next 6 blocks or so)", - " * *normal* (next 12 blocks or so)", - " * *slow* (next 100 blocks or so)", - " * *minimum* for the lowest value bitcoind will currently accept (added in v23.05)", - "", - "* A number, with an optional suffix:", - " * *blocks* means aim for confirmation in that many blocks (added in v23.05)", - " * *perkw* means the number is interpreted as satoshi-per-kilosipa (weight)", - " * *perkb* means it is interpreted bitcoind-style as satoshi-per-kilobyte. ", - "", - "Omitting the suffix is equivalent to *perkb*." - ], - "trivia": [ - "In C-lightning we like to call the weight unit \"sipa\" in honor of Pieter Wuille, who uses the name \"sipa\" on IRC and elsewhere. Internally we call the *perkw* style as \"feerate per kilosipa\"." - ], - "example_json_request": [ - { - "id": "example:feerates#1", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#2", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#3", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#4", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#5", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#6", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#7", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#8", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#9", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#10", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#11", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#12", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#13", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#14", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#15", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#16", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#17", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#18", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#19", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#20", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#21", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#22", - "method": "feerates", - "params": { - "style": "perkw", - "urgent": null, - "normal": null, - "slow": null - } - }, - { - "id": "example:feerates#23", - "method": "feerates", - "params": { - "style": "perkb", - "urgent": null, - "normal": null, - "slow": null - } - } - ], - "example_json_response": [ - { - "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", - "perkw": { - "min_acceptable": 253, - "max_acceptable": 4294967295, - "floor": 253, - "estimates": [] - } - }, - { - "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", - "perkw": { - "min_acceptable": 253, - "max_acceptable": 4294967295, - "floor": 253, - "estimates": [] - } - }, - { - "perkw": { - "opening": 1000000, - "mutual_close": 26362, - "unilateral_close": 26362, - "unilateral_anchor_close": 1000000, - "penalty": 26362, - "min_acceptable": 3750, - "max_acceptable": 10000000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 6, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 12, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 100, - "feerate": 1000000, - "smoothed_feerate": 26362 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 702000, - "mutual_close_satoshis": 17741, - "unilateral_close_satoshis": 1112000, - "unilateral_close_nonanchor_satoshis": 15764, - "htlc_timeout_satoshis": 17478, - "htlc_success_satoshis": 18532 - } - }, - { - "perkw": { - "opening": 1000000, - "mutual_close": 26362, - "unilateral_close": 26362, - "unilateral_anchor_close": 1000000, - "penalty": 26362, - "min_acceptable": 3750, - "max_acceptable": 10000000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 6, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 12, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 100, - "feerate": 1000000, - "smoothed_feerate": 26362 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 702000, - "mutual_close_satoshis": 17741, - "unilateral_close_satoshis": 1112000, - "unilateral_close_nonanchor_satoshis": 15764, - "htlc_timeout_satoshis": 17478, - "htlc_success_satoshis": 18532 - } - }, - { - "perkw": { - "opening": 1000000, - "mutual_close": 26362, - "unilateral_close": 26362, - "unilateral_anchor_close": 1000000, - "penalty": 26362, - "min_acceptable": 3750, - "max_acceptable": 10000000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 6, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 12, - "feerate": 1000000, - "smoothed_feerate": 26362 - }, - { - "blockcount": 100, - "feerate": 1000000, - "smoothed_feerate": 26362 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 702000, - "mutual_close_satoshis": 17741, - "unilateral_close_satoshis": 1112000, - "unilateral_close_nonanchor_satoshis": 15764, - "htlc_timeout_satoshis": 17478, - "htlc_success_satoshis": 18532 - } - }, - { - "perkw": { - "opening": 1000000, - "mutual_close": 44866, - "unilateral_close": 44866, - "unilateral_anchor_close": 1000000, - "penalty": 44866, - "min_acceptable": 3750, - "max_acceptable": 10000000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 1000000, - "smoothed_feerate": 44866 - }, - { - "blockcount": 6, - "feerate": 1000000, - "smoothed_feerate": 44866 - }, - { - "blockcount": 12, - "feerate": 1000000, - "smoothed_feerate": 44866 - }, - { - "blockcount": 100, - "feerate": 1000000, - "smoothed_feerate": 44866 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 702000, - "mutual_close_satoshis": 30194, - "unilateral_close_satoshis": 1112000, - "unilateral_close_nonanchor_satoshis": 26829, - "htlc_timeout_satoshis": 29746, - "htlc_success_satoshis": 31540 - } - }, - { - "perkw": { - "opening": 1000000, - "mutual_close": 80825, - "unilateral_close": 80825, - "unilateral_anchor_close": 1000000, - "penalty": 80825, - "min_acceptable": 500000, - "max_acceptable": 10000000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 1000000, - "smoothed_feerate": 80825 - }, - { - "blockcount": 6, - "feerate": 1000000, - "smoothed_feerate": 80825 - }, - { - "blockcount": 12, - "feerate": 1000000, - "smoothed_feerate": 80825 - }, - { - "blockcount": 100, - "feerate": 1000000, - "smoothed_feerate": 80825 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 702000, - "mutual_close_satoshis": 54395, - "unilateral_close_satoshis": 1112000, - "unilateral_close_nonanchor_satoshis": 48333, - "htlc_timeout_satoshis": 53586, - "htlc_success_satoshis": 56819 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 7500, - "max_acceptable": 300000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 7500, - "max_acceptable": 300000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 7500, - "max_acceptable": 300000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 8000, - "max_acceptable": 300000, - "floor": 8000, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 7500, - "max_acceptable": 300000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 7500, - "max_acceptable": 300000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 30000, - "mutual_close": 15000, - "unilateral_close": 44000, - "unilateral_anchor_close": 15000, - "penalty": 30000, - "min_acceptable": 8000, - "max_acceptable": 300000, - "floor": 8000, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 30000, - "smoothed_feerate": 30000 - }, - { - "blockcount": 100, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 5265, - "mutual_close_satoshis": 2523, - "unilateral_close_satoshis": 4170, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", - "perkw": { - "min_acceptable": 253, - "max_acceptable": 4294967295, - "floor": 253, - "estimates": [] - } - }, - { - "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", - "perkw": { - "min_acceptable": 253, - "max_acceptable": 4294967295, - "floor": 253, - "estimates": [] - } - }, - { - "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", - "perkb": { - "min_acceptable": 1012, - "max_acceptable": 4294967295, - "floor": 1012, - "estimates": [] - } - }, - { - "perkw": { - "opening": 15000, - "mutual_close": 15000, - "unilateral_close": 15000, - "unilateral_anchor_close": 15000, - "penalty": 15000, - "min_acceptable": 7500, - "max_acceptable": 150000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 10530, - "mutual_close_satoshis": 10095, - "unilateral_close_satoshis": 8970, - "unilateral_close_nonanchor_satoshis": 8970, - "htlc_timeout_satoshis": 9945, - "htlc_success_satoshis": 10545 - } - }, - { - "perkw": { - "opening": 15000, - "mutual_close": 15000, - "unilateral_close": 15000, - "unilateral_anchor_close": 15000, - "penalty": 15000, - "min_acceptable": 7500, - "max_acceptable": 150000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 15000, - "smoothed_feerate": 15000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 10530, - "mutual_close_satoshis": 10095, - "unilateral_close_satoshis": 8970, - "unilateral_close_nonanchor_satoshis": 8970, - "htlc_timeout_satoshis": 9945, - "htlc_success_satoshis": 10545 - } - }, - { - "perkw": { - "opening": 11000, - "mutual_close": 11000, - "unilateral_close": 11000, - "unilateral_anchor_close": 11000, - "penalty": 11000, - "min_acceptable": 5500, - "max_acceptable": 150000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 15000, - "smoothed_feerate": 15000 - }, - { - "blockcount": 6, - "feerate": 11000, - "smoothed_feerate": 11000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 7722, - "mutual_close_satoshis": 7403, - "unilateral_close_satoshis": 6578, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkw": { - "opening": 11000, - "mutual_close": 11000, - "unilateral_close": 11000, - "unilateral_anchor_close": 11000, - "penalty": 11000, - "min_acceptable": 5500, - "max_acceptable": 150000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 15000, - "smoothed_feerate": 15000 - }, - { - "blockcount": 6, - "feerate": 11000, - "smoothed_feerate": 11000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 7722, - "mutual_close_satoshis": 7403, - "unilateral_close_satoshis": 6578, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkw": { - "opening": 6250, - "mutual_close": 6250, - "unilateral_close": 11000, - "unilateral_anchor_close": 6250, - "penalty": 6250, - "min_acceptable": 3125, - "max_acceptable": 150000, - "floor": 253, - "estimates": [ - { - "blockcount": 2, - "feerate": 15000, - "smoothed_feerate": 15000 - }, - { - "blockcount": 6, - "feerate": 11000, - "smoothed_feerate": 11000 - }, - { - "blockcount": 12, - "feerate": 6250, - "smoothed_feerate": 6250 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 4387, - "mutual_close_satoshis": 4206, - "unilateral_close_satoshis": 6578, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - }, - { - "perkb": { - "opening": 25000, - "mutual_close": 25000, - "unilateral_close": 44000, - "unilateral_anchor_close": 25000, - "penalty": 25000, - "min_acceptable": 12500, - "max_acceptable": 600000, - "floor": 1012, - "estimates": [ - { - "blockcount": 2, - "feerate": 60000, - "smoothed_feerate": 60000 - }, - { - "blockcount": 6, - "feerate": 44000, - "smoothed_feerate": 44000 - }, - { - "blockcount": 12, - "feerate": 25000, - "smoothed_feerate": 25000 - } - ] - }, - "onchain_fee_estimates": { - "opening_channel_satoshis": 4387, - "mutual_close_satoshis": 4206, - "unilateral_close_satoshis": 6578, - "unilateral_close_nonanchor_satoshis": 6578, - "htlc_timeout_satoshis": 7293, - "htlc_success_satoshis": 7733 - } - } - ], - "author": [ - "ZmnSCPxj <> wrote the initial version of this manpage." - ], - "see_also": [ - "lightning-parsefeerate(7)", - "lightning-fundchannel(7)", - "lightning-withdraw(7)", - "lightning-txprepare(7)", - "lightning-fundchannel_start(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-fetchinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fetchinvoice", - "title": "Command for fetch an invoice for an offer", - "warning": "experimental-offers only", - "description": [ - "The **fetchinvoice** RPC command contacts the issuer of an *offer* to get an actual invoice that can be paid. It highlights any changes between the offer and the returned invoice.", - "", - "If **fetchinvoice-noconnect** is not specified in the configuation, it will connect to the destination in the (currently common!) case where it cannot find a route which supports `option_onion_messages`." - ], - "request": { - "required": [ - "offer" - ], - "properties": { - "offer": { - "type": "string", - "description": [ - "Offer string to get an actual invoice that can be paid." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Required if the offer does not specify an amount at all, otherwise it is optional (but presumably if you set it to less than the offer, you will get an error from the issuer)." - ] - }, - "quantity": { - "type": "u64", - "description": [ - "Required if the offer specifies quantity_max, otherwise it is not allowed." - ] - }, - "recurrence_counter": { - "type": "u64", - "description": [ - "Required if the offer specifies recurrence, otherwise it is not allowed. recurrence_counter should first be set to 0, and incremented for each successive invoice in a given series." - ] - }, - "recurrence_start": { - "type": "number", - "description": [ - "Required if the offer specifies recurrence_base with start_any_period set, otherwise it is not allowed. It indicates what period number to start at." - ] - }, - "recurrence_label": { - "type": "string", - "description": [ - "Required if recurrence_counter is set, and otherwise is not allowed. It must be the same as prior fetchinvoice calls for the same recurrence, as it is used to link them together." - ] - }, - "timeout": { - "type": "number", - "description": [ - "If we don't get a reply before this we fail (default, 60 seconds)." - ] - }, - "payer_note": { - "type": "string", - "description": [ - "To ask the issuer to include in the fetched invoice." - ] - } - } - }, - "response": { - "required": [ - "invoice", - "changes" - ], - "properties": { - "invoice": { - "type": "string", - "description": [ - "The BOLT12 invoice we fetched." - ] - }, - "changes": { - "type": "object", - "description": [ - "Summary of changes from offer." - ], - "additionalProperties": false, - "required": [], - "properties": { - "description_appended": { - "type": "string", - "description": [ - "Extra characters appended to the *description* field." - ] - }, - "description": { - "type": "string", - "description": [ - "A completely replaced *description* field." - ] - }, - "vendor_removed": { - "type": "string", - "description": [ - "The *vendor* from the offer, which is missing in the invoice." - ] - }, - "vendor": { - "type": "string", - "description": [ - "A completely replaced *vendor* field." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount, if different from the offer amount multiplied by any *quantity* (or the offer had no amount, or was not in BTC)." - ] - } - } - }, - "next_period": { - "type": "object", - "description": [ - "Only for recurring invoices if the next period is under the *recurrence_limit*." - ], - "additionalProperties": false, - "required": [ - "counter", - "starttime", - "endtime", - "paywindow_start", - "paywindow_end" - ], - "properties": { - "counter": { - "type": "u64", - "description": [ - "The index of the next period to fetchinvoice." - ] - }, - "starttime": { - "type": "u64", - "description": [ - "UNIX timestamp that the next period starts." - ] - }, - "endtime": { - "type": "u64", - "description": [ - "UNIX timestamp that the next period ends." - ] - }, - "paywindow_start": { - "type": "u64", - "description": [ - "UNIX timestamp of the earliest time that the next invoice can be fetched." - ] - }, - "paywindow_end": { - "type": "u64", - "description": [ - "UNIX timestamp of the latest time that the next invoice can be fetched." - ] - } - } - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 1002: Offer has expired.", - "- 1003: Cannot find a route to the node making the offer.", - "- 1004: The node making the offer returned an error message.", - "- 1005: We timed out trying to fetch an invoice." - ], - "example_json_request": [ - { - "id": "example:fetchinvoice#1", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq" - } - }, - { - "id": "example:fetchinvoice#2", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5xt5v4ehghm0venx2ujlv3jhqun9vdshgetytashq6gkyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kg" - } - }, - { - "id": "example:fetchinvoice#3", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq" - } - }, - { - "id": "example:fetchinvoice#4", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5xt5v4ehghm0venx2ujlv3jhqun9vdshgetytashq6gkyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kg" - } - }, - { - "id": "example:fetchinvoice#5", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcss8qkwt84lrzl8mpr80shrtu3jjjuejt8v492frl8c54kxevkemcve" - } - }, - { - "id": "example:fetchinvoice#6", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza" - } - }, - { - "id": "example:fetchinvoice#7", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", - "payer_note": "Thanks for the fish!" - } - }, - { - "id": "example:fetchinvoice#8", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", - "amount_msat": 3 - } - }, - { - "id": "example:fetchinvoice#9", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2pasku7fqv9kk7atwwss8getnwstzzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5", - "amount_msat": 100 - } - }, - { - "id": "example:fetchinvoice#10", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rmnd9hxwmr9946hxefqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshg" - } - }, - { - "id": "example:fetchinvoice#11", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rmnd9hxwmr9946hxefqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshg" - } - }, - { - "id": "example:fetchinvoice#12", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgqgp76zsg24f5ggr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96" - } - }, - { - "id": "example:fetchinvoice#13", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5pn0venx2u3nzcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" - } - }, - { - "id": "example:fetchinvoice#14", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza" - } - }, - { - "id": "example:fetchinvoice#15", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", - "recurrence_counter": 0, - "recurrence_label": "test recurrence" - } - }, - { - "id": "example:fetchinvoice#16", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", - "recurrence_counter": 1, - "recurrence_label": "test recurrence" - } - }, - { - "id": "example:fetchinvoice#17", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", - "recurrence_counter": 2, - "recurrence_label": "test recurrence" - } - }, - { - "id": "example:fetchinvoice#18", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", - "recurrence_counter": 0, - "recurrence_label": "test paywindow" - } - }, - { - "id": "example:fetchinvoice#19", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", - "recurrence_counter": 1, - "recurrence_label": "test paywindow" - } - }, - { - "id": "example:fetchinvoice#20", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", - "recurrence_counter": 1, - "recurrence_label": "test paywindow" - } - }, - { - "id": "example:fetchinvoice#21", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" - } - }, - { - "id": "example:fetchinvoice#22", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" - } - }, - { - "id": "example:fetchinvoice#23", - "method": "fetchinvoice", - "params": { - "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zsqs593pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j", - "quantity": 2 - } - } - ], - "example_json_response": [ - { - "invoice": "lni1qqgxr7gha7gusyg83lsr8qcqg4axgq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqjz06c8s2vvmrpjlkcse0txx0gmc6jalqqxmeyjm75qcnfnqxwyt2sfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpe8qlx9xssexfc0aguke3q6u0jgw2qmn008mzu04mkmqmjmhes3gcpqdqdnzl270s48vsp635rd4jm04snvgkcp65qlkgp8qztu2mdp7c5uqpj2rll3pzu56st537rct3v62gfqeamzthjuwkr0pkvsdnnffpn4sq9sz0lryaufktx0nfxlffum3yesqev5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtvwkyz5zq2000hlwvadejz366lqjt9sd2j4rf5tfd9rgmmyegt4dqd34cf6v4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqn3n74ccym4wcvq20vsx7lmk450kprpvlrh4cukk8xy9ptjcef4rnhytnkyn4vnxxtd57yeaksze2s30y26cs6u3rjd9322eg9puk24q", - "changes": {} - }, - { - "invoice": "lni1qqggsajfacv7xgn3w9gp0cm5sctmcq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpgvhgetnw30k7enxv4e97er9wpex2cmpw3jkghmpwp53vggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4v4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzql6gr49xpad8x9jstywntr3jl59msxk4gzt0hzyl08hacghpr58zwsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypsfvnw8va52uuvw37fjhvr5l4jhqq7740qqjav7ughyx8flezacsqpq0tjtn6nvs7rvc5zpj4g3w49jlk82p6ey57yfqnmkqlfj2llf2r2sqpjw4g5pucwtyfn0lgl9505tk48mnrydcdev8jukhamyrm4sr5r43swaauf27xl8rka5yuf35d6nfkn3kq55gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtdz5qk5zpv48mzeppd0z2th96q6xcrjlz87ycmc9yckkdl7gr2hac7vvf0lv4gqs9vppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqwu74dgz9kk92yfakmdkxhlttgxm4szj9hyfv26v8epn9q6wsmt5ddklxu39c8vgpc0tqnqxpdzxjk4t4g537u55mc46d5vk55ysyw5q", - "changes": {} - }, - { - "invoice": "lni1qqgqdee2cwuaepw59trtww9l4ktf5q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnjfrgj5r8wyv4hvjuq46pcw5t8x0ndpjjmnx03h20t0hzwju7v3jsfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpqpufrwynd8lexnp956kx9p6g3vt52n9uky2cm46tved2hur269tqpq0j8u795js680ptazh6unmpcyd7e7ppqv78qwq8yd78t3xrsgcwccqpjzxqgkx7vzqy7udg4ty95xxe0hzs7eccpqx3n4ugcfsp6tsq3f7nagrmszcr93ugxlmn2nc6yamram2cz5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt4ufww5zp54nlzncrlts42krfnrz4jwx9rlg2hyqm2azl739hry767c5a22d4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqhg7wsanf343hwaanj6vj366tcjc48ge9w3umcy2ulg99mg2v4eu58mvxzpnvy35xshe3qfh5044qrkxyqxm5njl790url05vfcdpudg", - "changes": {} - }, - { - "invoice": "lni1qqgrvew6w8etku8gg89hqhgp6a2qkq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpgvhgetnw30k7enxv4e97er9wpex2cmpw3jkghmpwp53vggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4v4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqla58dtxrl5cz0z93r542qtehydfu793jcpyxv0vyrdzaunlf02z6sfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypr6pg6qkv4c6v092t0nsfkhtvkgmqxsd6jpqzw0w20jks9hlj74ugpqf2r0fczcn6qq56vkhjg3heah876srgxjlkykws90u23mmhp7avtsqpj8gy3c33wcp05wpw45jh2k4tclwx7cj7w34u8aynrg034ukwd0yg7dc3v70m0dtaewyc3y0a6zptlkznt5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f575zq9jt2p8cp08jxjm0ky2pzv4djez03a7j9e7epr5s9a6vxrs760r04gqs9vppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqc7y6vy46y0lepq4exxgvh9puku0f5egssq2vg4xxru8p3v5jpez6xch6qyyhnfpcmjceu3nk8ez2hz55fk0zxkrjar6w6ddnt0kstcq", - "changes": {} - }, - { - "invoice": "lni1qqg8axglqrehf8wa54ffckcrdqfq7q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsej5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr7smx79xcsms3n9m0spht2txcct589kfnucenxkh87uuxd57g9m26pxqrst89n6l330nas3nhct347geffwve9nk2j4y3lnu22mrvktvauxvsxeu0m5anytuwp67pvu2qvy3pq6fa8zl3chq45rlcuxw0qja7pkpqqyp2d9fcx6l2ap702hlae7xy9cswh0qgpg8glysj4qhzd2fzuhkh37gqxggp4ymhpwgdah8r8ykrfeaefggjvt4dqe9hx8uajfq7akltkfm20v6z73lt7lnu23t6c8zy6d223wuemw3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhexa2sgrzwdarjag0h5405t2jlpm9suvlcdd30ml7uw95ls6frfurpj8alw4qzq4syypc9njea0cche7cgemu9c6lyv55hxvjem9f2jgle799d3kt9kw7rx0sgqw57y25nlm5dwfszydr2tlf6ru09qu84hkr8p4swn00xdvq0c8r82xe9sadyvvah42n7pvs7u2ycv8884zxa0skkvqc7jxhl7fastfh", - "changes": {} - }, - { - "invoice": "lni1qqgf80zpapfaqdzkucevg385dgylvq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrtvjjc5wj8qj6fc2gyxv8q78uzt4sfp40ylyfvhjmvy8c03th55f6pxqrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pws94k7cah2e72jv96v08sn9cmu4lykka0yqkd0fnql7s0fphlm88jvqypau4sdqx0cz7ye3fs0dq6q9w7naevmf7h2970nvq70ttyyq9fw56cqxg3gdqeuskhhnldp4jgnlhz4s49sfrmz3n6zzmg8l6uh35nxt20a49qpy8su6qltrlcvruaau2vqqaelg23pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8x6sgytk8sf2ur6lf3tkqqg9g56yedfaaru2csa20fezl9x6rzn5kc4nx4qzq4syyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh0sgqsjgzqzye25masmh2u44qxe5rtu97zhc2pdff34xzhp8f99kd0w350znma9z2k68nuwthudpngkyg3had2wswah3qzvfmz6dvy9qh8f", - "changes": {} - }, - { - "invoice": "lni1qqgvcm9h7yakcmw4mzazspu8vfgpwq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggren772kj8mau5jp86nc6fszx48rv7ep0quszyyls8rlld3sshjr94j9z5dpsku6mnypnx7u3qw35x2grxd9eksgdqnqp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshgr0tsv8e6829e8xmv7laz0kwhtlx6vtk8q3d6rtthdhtwvnn6j585szquc2t7us8kguxypzasg8ewkakgx2ny5ugks0f32x67sm9e5fms4asqrylajc2dqh8ag55mv5p5ghy3e2z8zwmllle8uu7jsxv5ke8d6rr5h7kthmz7ya0hxp4nt7elvw7vghcl6fgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtunn4gyzy0lphn4wn6ctzlsajy46wscjcglf3hxcnvlaxqs3ydkhgaklsc42spq2czzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgthcyqyuen02ejwpa9cjjrttvp223yxsqkrwnlaszkhas84w0ape300ued4p75xu3cqtcg0cslsx9fvh7dhdqx565t6wa0alf6u2hug90j2hs", - "changes": {} - }, - { - "invoice": "lni1qqg0mfchkz0gkmn8zzu5zaxd0qvlzq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84yqgrtqss8d4vgzd3286u9rk0zg9qr7a6z2xm6mjnz9pydztcn0j74tjvch0f5zvqxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzzaqth4fzjqxxmsaxvc4v2urs6hsh6k0e564x00g68vuyp5w7yjedzxvqgr8ltzmj0n7ltxr0tz9rafn9zcy9jldjqfuf20w6gjmr7nj04d360sqvkdwprxn22dlp3xay9yq4nhrw2jm0c8t6r7japhdad6leawxyqzkg92tx8gqxp9f2d8j5k2axta0gr7yr9zrsqqqqqqqqqqqqqqq5qqqqqqqqqqqqqayjedltzjqqqqqq9yq3ja0jwj4qswt3kgs9mxq7gck66x60m5rndykpw3a7hf4ntlp9qe2vgwzzrvcwd2qypmqggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pwlqsxyjcdwur4hl4qf7nsjgg8euvy45lznufh5kydkwz6llsucuhvwp9ezeggaj3k057ge6ftvaffjkwn6j3y7faeuysrx3m2xccphu65sx", - "changes": {} - }, - { - "invoice": "lni1qqg2d5xp9l3lf90m9l2xqdfvyz3wxq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8s5rmpdeujqctdda6kuapqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75spv3vzzqhh5c5j5am4uz0we6vz54uesm8glh9v45qf8sjrnu6pqxeadxp23ksfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5pzp9ak8s50rae5ags798wwajknmefxm5zcuehz9c5fl22vmmlhnmgpqwz8rm266j6mzpm2p4zldfdzhrzpk3akt0j6qp97nuasxwrqh4ksqqpj0yauvqk949mr7eatn2mzj2jndg7j667skhsg2mx2n3upqdfh3ljnt25gwvtawls2qpz3jsgpxxj0vev75gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpfxa4zeq4emy3wny43vmm07jksjykmw4xxkrmqc3h8826cyhrned4gqkfvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqgleehg3k0w3e49xzt0rnq08dtacs6mejy0kz65ktyrrgp4ctt9zjeq9xmj2a7lzss6ekqfmpsx9d486k3pc82ne8k3wz8xwungx40yg", - "changes": {} - }, - { - "invoice": "lni1qqg2jucynfwj2majqmhm8ft22gqc6q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg8hx6twvakx2tt4wdjjqar9wd6pvggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pw4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqhp8dnvcvyd5w2yhhgwfvh9thxaduvcu8mxnuf5xxye7fzpzvfjezsfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5p55v97h7ufxjffdmxngqt7cgprgsspesqxq52sh9825eg9up0w4hcpq0zqz8nxlgnughjvmsslpqx6lyz50rv029xg5cfp4j9kpdjqyfxw6qpj56zdt8y8wu3jvkf2mpqy9e7cfrj3lgtaeayru79c442h64p7wu5w56r37sslmx3dzjpauhsvsxkflrme5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpzshu85y4yas4tufhjk6387a2vrqc88az833aj3wrqqygetw87w34gqsrvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzquwpc9yv5n7p96g024skcpllfhfuk5zzzm98e06glzwt35a79n4q4wwu8fmxjnlj89vv8uljmrm6rmku7guku0aw7tnrk4cmac9957rs", - "changes": {} - }, - { - "invoice": "lni1qqgwps2fcc7t2z69uw4tqn5r05kccq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg8hx6twvakx2tt4wdjjqar9wd6pvggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pw4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq5rwhuja3mgl59rj759zw8546942nakey0h4n66lrjl0gmqevl3vjsfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5pvmrsfk9p5khughkzw34wk8pkssmyavavsv2wm5zx572hkmtlrvecpqgz47a6rxqc0u699l680uj7sq6h5lpjcmf59cdefgxvlzshyt7c5zqpjcdjy7h7gmevhstyy7uyzehtkvf5eemstpav56syjpcu9aq6funxs5jy9exjztsg7ugc6vvlutjmny40v5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpg60yxu9ukendesdae6vkmxa6jvra3tut57ylpmzw7jvr6cwsxu24gqsrvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqceu7wvad6qp3vafz2682qjtzlnwrwjlmtkszjazze4f28are9lldv3zudwp4ct92dtk64gnxneh4dsc8ygua6e6klnknzleypwq8uns", - "changes": {} - }, - { - "invoice": "lni1qqgfz2plr358lfh8wda03zr09787vq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8svq642dzqsqsra59qs42ngss8getnwstzzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt4gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg0tqss8ux8klta3cxrc8vds3z9d7sjx9phkxrda9zcrz9a23hh2g3rgvye5zvqxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzzaqt5llulpjyqfavj6znqdn843vvxzch39fj0d8l34szl0nqspxrasxqgrd9mvj4w48vuva8rgtvy2hpw5m8tn53sxadldjykwv2453jq6egkqqvk7l9t03zsmxtw9wsgdqty063lpndp24k6ujafn9wv2luad2uhrs6zy0lcpprs99v5x4z3xw6tsv24j7e4zrsqqqqqqqqqqqqqqq5qqqqqqqqqqqqqayjedltzjqqqqqq9yq3ja0jwm4qs27qh2zg8nft7vwk23ldefvk27c5khjqze78vcljtwxh4lflyegk92qtzy4vppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqx83k04x3tcf6fuagqvf0lm5dfhc7t3vzhctat6yf5l6cznw6w3v0699rdzt08jdzr7n86sh4t0l3xe6fk8y7dazc20exkycdl4qqhrq", - "changes": { - "amount_msat": 50250 - } - }, - { - "invoice": "lni1qqg86mj5jp5u39k0lch8j32y8atygq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppgrx7enxv4erx93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr3retcayjax6cjdgvft2nqpw0axpavcpqayy2ak65t8cr4x3r2wa6pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs88ujmv8w76nnhn2sm2f35zxl7evs35wfq4yh99ycd4yq7tsuvzgfqyplltrgnehcerj9r5t9w9hg40p9fazh23wamt3s6ylklwrp0nv6qwqqxg2lk8zyewsjjat50w89622hgkjnegmdz6cekxcztul33388rhq9dwgfd4t4z2xnzts9m4feu3dj3ukcv73pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8w2sgyzzz6pepsfpu0zs6g2ea0ldy3mj25tkur8tlhxlnjl5zp9k09t7z4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgrxj9xy6h3jgdcflh98mu03mewpryaty9pulkzlkryaktqrm8v5qmqywxht7qu0vpzytskysm65y22rsghjy7rfj5dwp2k99w3qgeam4", - "changes": {} - }, - { - "invoice": "lni1qqgtwu6pxahej7w5rznlvg6ttkrysq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrlr7555amrqsg7k9trkfta4ayrvvsa4vv8a4h825zcyc8yn8ynf62pxqrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pws9hasr8mpywgnlpc7t75fduqt7gvva5l4t3rrw5rdmk0scv322tjfqypd3u2r6fas0jx4qwfqsyqx8q644nx78nl2qqk9pvydfc57mddsxpqqx24n6yjvyfy38t2c9n343dzr72z3qsahpdfsgf0zrv0zgjnp2n7dpkcf5qr4vunpzc9xuswuew4m83ldx23pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8w2sgxgwvy3yt538cahts5z9m97ufph9azr5samy6umme7fl92g8ug27z4qzq4syyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh0sgr8gevd9sf997gsahka0298pfc706vrmldk8gz7hu9g25mwcmh2m7xtls9z0h2e7tx6tslwqmfeqpf7ejtxc23v3ha8mvxn8ywd7399f", - "changes": {} - }, - { - "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qzsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypfj5f5zymemhmu986rurxj0n8fwq48u3tw93mrd7wuum468fezeespqw650wu3cdz9g2xkrz0yjh9t8q4s9ukzfuzmrl3spmd4fkt0h927cqpjcjdmccnkjww7vxxtz0u2q9pvnpkwa2m0eyfakskppvurdg8tgj8c6zl7cjthzntm8tjduvgn9lu8p0845gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47fljnqzwagypjvyjlmvpfz9w8gdycf9xgmqj2vzplwkmevg5u6zdcamu0w6sxzf2spqxczzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatxeqgewhe870qs83rx7z9zm0ax9fqqcrmhrg4j74052a2t6ga5ghxxrz4md7r4s7ge7k37rxvut3772d5pvjtuuelm73mv7zss6vtrl5mdvr7ue6g6cl5", - "changes": {}, - "next_period": { - "counter": 1, - "starttime": 1708640824, - "endtime": 1708640883, - "paywindow_start": 1708640764, - "paywindow_end": 1708640883 - } - }, - { - "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qyq6pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs9clq65czgjpsk4evamjjy2vwpqq7syha5sww00fwhyx64fturkukqypnpazrk0pggtpksdrk4t9qt56a9azsk04w98sgjeagsjy2spc4aesqxfl2chpcjkqv8en0kftd4ktx0876gyj8v25sj7598ed3xtcpeyzuwhr4pnd3h30rdwj9992yucglmkrn6z3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe876vqtk4qsts2lhelw2rr66tqje40j29tngx8sq2hgdjc6a9e4h7qnj9fqyf592qyqmqggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vmypr96lyleuzqvu5geucyy47k3f0fkqdm8kgrqnn4uafr6gahazhcc6zxkqypw9vy2mqa7m7n0f5ney7u83g9tghmy96vv6hnerj760asxp6wmvuz2xs", - "changes": {}, - "next_period": { - "counter": 2, - "starttime": 1708640884, - "endtime": 1708640943, - "paywindow_start": 1708640824, - "paywindow_end": 1708640943 - } - }, - { - "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qyp2pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs92zhj8xwk22f2wz0lytjzcvasrqquc6kuknp2cy6kvudawt35vr9qypptc5j58hyuu36vxwmf3hghv2qukyqf46ypst5ud62mtsc57h7xycqxfkr4uu99phf4snuhv905z948tp8n82ul6hm0gkdzgtupc2yy6rxwdslvclc95zlpmuzyhsnzaqhsayawz3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhegu2vqth4qsdhw6ydxx82n9qamgtmnjy7y7ukcrrwe2qca2setnx6sl4rh5uay92qyqmqggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vmypr96lyleuzqudw4ems0k5x7fl88hzdp7tq5ftyhzg65s97n9txzc8v2e3gct8ymsaetcnqy6kfw9kvamqjhhtl26u8nlxlww59p7gml28lj6geswlc", - "changes": {}, - "next_period": { - "counter": 3, - "starttime": 1708640944, - "endtime": 1708641003, - "paywindow_start": 1708640884, - "paywindow_end": 1708641003 - } - }, - { - "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqpgycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqcp9lw7l0tgz3knzxqmxj9e70qrxwy27krnz4r0sx536urhkfatnuqsxmref276eqr0h52xvx7lr2nrgrvrupl8d8sg0xly83ghegjy6z4wqqeyag96g2rs5sz4xqqxpnacg8fmtgjr3k03g3avzhst9zgv0t9xhdn8p2km574zx3mf4at6qytwhsytg0t2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9r3fsp8j5zpj2tdsyzhzmeeexzx99hz728h0gwm9u8y0mzuq67mes2qheaztx74gqsrvppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nvsyvhtu5w8sgqrmf78ry7zrrhqqtnmfj30c22xuhs4huynr29xedkznjc8e00x2htumqg02htfqwlhwxcf7ve76zkhkur4rkq90t2csztwynkwurzev", - "changes": {}, - "next_period": { - "counter": 1, - "starttime": 1708640844, - "endtime": 1708640863, - "paywindow_start": 1708640834, - "paywindow_end": 1708640844 - } - }, - { - "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqzqdqnqpz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kgrl70ksdu0w24f2hvfczpq0rsp62qhtezprxqdvh8509plt9zvllwqzqlnhfz0rnnhcddy88s83xz3q797g2whnsvh72h28l69f0adkxdt0sqry5480ys4jz9uvlc7j5fw3dxnangwj47p7kkqtl96zrspn4mj55d6unk2990eqdvesk5ggtmngezy3fftmgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtu5saxqyy6sg9346fuw0psceuq2afhrxsykl0mkvqafkrzxpqhdlrajnf0s2057w4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kdjq3ja0j3c7pq99t78ng3dxrz2lh28f0wgupye9lm2nqs0kclguuvaax62n32h8998mm55xgsce5cghjffgqv5m0jyhk4dgmv9p6r2wqsg45p0l7mupg", - "changes": {}, - "next_period": { - "counter": 2, - "starttime": 1708640864, - "endtime": 1708640883, - "paywindow_start": 1708640854, - "paywindow_end": 1708640864 - } - }, - { - "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqzqdqnqpz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kgrl70ksdu0w24f2hvfczpq0rsp62qhtezprxqdvh8509plt9zvllwqzqlnhfz0rnnhcddy88s83xz3q797g2whnsvh72h28l69f0adkxdt0sqry5480ys4jz9uvlc7j5fw3dxnangwj47p7kkqtl96zrspn4mj55d6unk2990eqdvesk5ggtmngezy3fftmgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtu5saxqyy6sg9346fuw0psceuq2afhrxsykl0mkvqafkrzxpqhdlrajnf0s2057w4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kdjq3ja0j3c7pq99t78ng3dxrz2lh28f0wgupye9lm2nqs0kclguuvaax62n32h8998mm55xgsce5cghjffgqv5m0jyhk4dgmv9p6r2wqsg45p0l7mupg", - "changes": {}, - "next_period": { - "counter": 2, - "starttime": 1708640864, - "endtime": 1708640883, - "paywindow_start": 1708640854, - "paywindow_end": 1708640864 - } - }, - { - "invoice": "lni1qqgyrhal3zz27q2rg9xqey30zlcmyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr9p664mm39dcdac3sy5mxdnl8mlu4lmcmcmkrxlw9zdm9a8wdj582pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs9kufpn3hcldlcm0sm8m75pnsua4jg8s3s996n4095ycdzk3s0fp2qypy8dfwx6n0ssaur9he2lhql4c6c484egx8d5yrqzfr0snvvctmmfsqxf7ezmwzanx2ns7a5vg8ueffyglknqj7wprtdv9fhx9l5xc9vqnnaawlkjcty7furxge3jydyj2sgm5g823pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhefv6sgpqduutkhddjgpaytks25u4skzcs68k4gfpzs56kxr9cw9mfgj2324qzq4syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgr79yz3uqa6vrzn8nnss46p5z6v44p5u956l69m7rhyx6us0ntpaj9v4hhwycqjfk94tjc46nrqfp988jj46sglejft4dzhuzdwl0pfd", - "changes": {} - }, - { - "invoice": "lni1qqggpt4ydun5vd3yv834z7ntqj75gq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrlfmckv7902p3dllwpkzw69up3y3jykdyac3ywhsw6ks47k7xtd72pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vsyn0tyjvnmth0u2qkec3wsqyq7dgkl3lxk9sufmprpm4mjzzafgwpqypmkzgctu7gsezuccu7vth94kjy06wex00rx88ayqlxtax5xdx9c4cqxtze5gzwrcwqgyk2ss9u3whvuf9fpv5zadl3hylvx3r4lap3pgwz4f0l722383n39e0rvqu2znrdkxujgx3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe242sgy2sznc3q0jhwyp4k5xn2akdekswhytgxehl9uskmdrrm74w92mek4qzq4syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgr9vxqly9e6mkq4tt8xtplyncd693e44jyapx3prxv8yqupe3g8nn52zk8vxx20hwrrcxcs6ywee4ywgy6asyvyjfnetm64fepwuxgur", - "changes": {} - }, - { - "invoice": "lni1qqgd508mv9rpjg2ec8dr8qcslf2cjq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg9qppgtzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcat9gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02cqsykppqfkyy6q8ry9pchxtuajh456hhcf7dxx733cx76etuv5ftfmfa2ymhgycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jq6uhkeymz26zx7zgw4gdmw2vj9xqn4hu2sqxhp0pcgt87pf9chyfvqsywtejxjh603kx7am3zaf6d6xuumw30p8zmcdz7r95nn4lr92exk3qqe2x6xqwpdzh2zwq3vnyra8nfc6d7y6hegpkvc7p2nulj7hvhwl5hjfr23wn60mjftqspn7d4ejhrpsr5m2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9mt2pqxuyr0gqw92h0xz2y2uy5uxss4ujcac5jehj9ay2sxkapr80t5ha65qgykqssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e7pqxhl4u29cjluw5s8fwa9wtvh0qytr7vqk0vtndsz07mrrtmjw629m8mnqkjaf43kt889qeq2f7deu6t853lngpzclapt8nj0g528v9ay", - "changes": {} - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-sendinvoice(7)", - "lightning-pay(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-fundchannel.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fundchannel", - "title": "Command for establishing a lightning channel", - "description": [ - "The **fundchannel** RPC command opens a payment channel with a peer by committing a funding transaction to the blockchain as defined in BOLT #2.", - "", - "If not already connected, **fundchannel** will automatically attempt to connect if Core Lightning knows a way to contact the node (either from normal gossip, or from a previous **connect** call).", - "", - "This auto-connection can fail if Core Lightning does not know how to contact the target node; see lightning-connect(7).", - "", - "Once the transaction is confirmed, normal channel operations may begin. Readiness is indicated by **listpeers** reporting a *state* of `CHANNELD_NORMAL` for the channel." - ], - "request": { - "required": [ - "id", - "amount" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "Id is the peer id obtained from connect." - ] - }, - "amount": { - "type": "msat_or_all", - "description": [ - "The amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency- msat` as change). The string *all* can be used to specify all available funds (or 16777215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently set to 546, nor more than 16777215 satoshi (unless large channels were negotiated with the peer)." - ] - }, - "feerate": { - "type": "feerate", - "description": [ - "Used for the opening transaction and (unless *option_anchors_zero_fee_htlc_tx* is negotiated), as initial feerate for commitment and HTLC transactions (see NOTES in lightning-feerates(7))." - ], - "default": "*normal*" - }, - "announce": { - "type": "boolean", - "description": [ - "Whether to announce this channel or not. An unannounced channel is considered private." - ], - "default": "True" - }, - "minconf": { - "type": "u32", - "description": [ - "The minimum number of confirmations that used outputs should have." - ], - "default": "1" - }, - "push_msat": { - "type": "msat", - "description": [ - "The amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed." - ] - }, - "close_to": { - "type": "string", - "description": [ - "A Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated." - ] - }, - "request_amt": { - "type": "msat", - "description": [ - "An amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." - ] - }, - "compact_lease": { - "type": "string", - "description": [ - "A compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel." - ] - }, - "utxos": { - "type": "array", - "description": [ - "The utxos to be used to fund the channel, as an array of `txid:vout`." - ], - "items": { - "type": "outpoint" - } - }, - "mindepth": { - "description": [ - "Number of confirmations required before we consider the channel active." - ], - "type": "u32" - }, - "reserve": { - "type": "msat", - "description": [ - "The amount we want the peer to maintain on its side of the channel. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." - ], - "default": "1% of the funding amount" - }, - "channel_type": { - "added": "v24.02", - "type": "array", - "items": { - "type": "u32", - "description": [ - "Represents the explicit channel type to request. There is currently no sanity checking on this value so if you use strange values and your channel breaks, you get to keep both pieces. BOLT 2 defines the following value types:", - "```", - "The currently defined basic types are:", - " - no features (no bits set).", - " - `option_static_remotekey` (bit 12).", - " - `option_anchor_outputs` and `option_static_remotekey` (bits 20 and 12).", - " - `option_anchors_zero_fee_htlc_tx` and `option_static_remotekey` (bits 22 and 12).", - "", - "Each basic type has the following variations allowed:", - " - `option_scid_alias` (bit 46).", - " - `option_zeroconf` (bit 50).", - "```" - ] - } - } - } - }, - "response": { - "required": [ - "tx", - "txid", - "outnum", - "channel_type", - "channel_id" - ], - "properties": { - "tx": { - "type": "hex", - "description": [ - "The raw transaction which funded the channel." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction which funded the channel." - ] - }, - "outnum": { - "type": "u32", - "description": [ - "The 0-based output index showing which output funded the channel." - ] - }, - "channel_id": { - "type": "hash", - "description": [ - "The channel_id of the resulting channel." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "added": "v24.02", - "items": { - "type": "u32", - "description": [ - "Bit number." - ] - } - }, - "names": { - "type": "array", - "description": [ - "Feature name for each bit set in this channel_type." - ], - "added": "v24.02", - "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." - ] - } - } - } - }, - "close_to": { - "type": "hex", - "description": [ - "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." - ] - }, - "mindepth": { - "type": "u32", - "description": [ - "Number of confirmations before we consider the channel active." - ] - } - } - }, - "example_usage": [ - "This example shows how to use lightning-cli to open new channel with peer 03f...fc1 from one whole utxo bcc1...39c:0 (you can use **listfunds** command to get txid and vout):", - "", - "```shell", - "lightning-cli -k fundchannel id=03f...fc1 amount=all feerate=normal utxos='[\"bcc1...39c:0\"]'", - "```" - ], - "example_json_request": [ - { - "id": "example:fundchannel#1", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null - } - }, - { - "id": "example:fundchannel#2", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null - } - }, - { - "id": "example:fundchannel#3", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#4", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#5", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 10000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": 1000000000, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#6", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 10000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#7", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#8", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#9", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 10000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#10", - "method": "fundchannel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 10000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#11", - "method": "fundchannel", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount": 10000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#12", - "method": "fundchannel", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#13", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#14", - "method": "fundchannel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#15", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#16", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#17", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#18", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#19", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#20", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#21", - "method": "fundchannel", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": null, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#22", - "method": "fundchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": 0, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel#23", - "method": "fundchannel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 1000000, - "feerate": null, - "announce": true, - "minconf": 0, - "utxos": null, - "push_msat": null, - "close_to": null, - "request_amt": null, - "compact_lease": null, - "mindepth": null, - "reserve": null, - "channel_type": null - } - } - ], - "example_json_response": [ - { - "tx": "020000000001014ca47b75e6982fce6b5ebb6e7ec163dc5b6bed1562934e6febe816103b2b207e0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022058fc4d51c8254d37b266d3db3f8fda7420882b6ec9226d66b8c0139f2707c09602205798d8ce23d4c692a7384362a2e0afd9703f062239a786d7a1840a28d3a1152e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", - "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "outnum": 0 - }, - { - "tx": "020000000001011087d96dae618cbd5675de2e5e382291589ee045f1441e4e1f36414c1adfacd90100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402205f387b6dc0a1876475be98eb55f39140c76b7e6d2d295607b34f222d09a5aa5d022061fb704bf98d3fb89c43ff8a8d0c182b278fc23d1b68351e33c295d040dd144a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf33000000", - "txid": "3861168fa360b720bf5d38d1e54d18284d7518d3f6024b96b63ca8f91be02a60", - "channel_id": "602ae01bf9a83cb6964b02f6d318754d28184de5d1385dbf20b760a38f166138", - "outnum": 0 - }, - { - "tx": "020000000001016452d8c48d2840184d4da30882143ec3602e2b3bd4e1b482faca527df950064a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022046f8e9bd0bfa5f4c0a102323b9101a81a58e9045e36e8a0d75f0a4011fb5f20b0220516b9f0f1d5641c608d82454cffe59b1e61dfb9d47ab845be97d7240022e98be012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101f85d8131faf87f5be28d375fc2de44a5f82c3b22fd0597be20e0f0e47db590120100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220147ba3627795870eb23ba453ab07ef260815a44d216d79d06d0f6e83fa4dfe9102200eecd5433d0655e9dd2124475b71b9b352c4d30428680373ee136087922ecb65012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "0200000000010141cfa0e9957c7c6d0bb5069d92937f9545e6e6ee9b4650f47f509d5ea65df4690100000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4118530b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402206488c7dfbc4180781ed0d5ca7ff2c8ce134480c349d03978765053a393229d9a022066c75dee1f19b410ea1c7756d0cb2c097e52b13f4d9bbd033efa4ed95d817e14012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301", - "channel_id": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101b31e6d64fa35e28f83b28d5f44a0dd56a35c74b8849e9c35bdf651179431c7130000000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4118530b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022058af921d3fe26cff81f677e3ca72bb8bd91f74febbff41aab21d7c46fb8b31a202206779930d4d19e15ac53aaca078c32dca84c624807a7f323bec6b74d1915b5863012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1", - "channel_id": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101f945fb13572b152ad29bb9db393745be98ed5c3be3c6011ff19c8bf8e9669c8e0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220560ab28a034512b1e3f6285f6a990377172701c079beeff13569ac3e8e55462d022069ad5a73923ee27dfb673e82da09e4e0a7ee148bbd25748c7a6f27ee410b36cc012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "1180fee367fe518d3640854ae147228707acee276a19bb2beb221a8586ff8268", - "channel_id": "6882ff86851a22eb2bbb196a27eeac07872247e14a8540368d51fe67e3fe8011", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "0200000000010133a4133b8c678205b1ad6b0b25e5d2b84834873008c063743014f23ed5040f9a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203529fcfa023416cfb64b3474f84ca91e5e36403ddf3e65a67f63dcb20b52994902203a3e14f7bdb8f9e1e71559c91af21a45dfed0271f39f504b208a6368f29f96d7012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0", - "channel_id": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "0200000000010139bfbc94c030e52ee5d10c4c681d82e431469ed1e3282ddc6b88f6e1f6980fb70100000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203201e21e359641179d49533cdced78c297220de5e155c3a3f03d62019522c1700220662fc4ca64db93a85e86095299b843c7872728779677fd46c256e1a0ef095aa9012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", - "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "0200000000010150c85d048045428bc22883bc07a9333ae4332eed7f8147b8c0ea15c6c780a8c10100000000fdffffff0280969800000000002200208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a0247304402201ed188cb825aab5ffdbe76f8ed77c5b248f55b4b96ebd6328054c702754dc1a8022013b5621a40d51562974d9e5c6a85eed1c25b2222242a03a8eb99c171e9c210e9012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda68000000", - "txid": "c2753b4ec2f49d779c3c02e1caea812ed4a4fa2a9fa0f2e0d1ea9ff11d1e7ea7", - "channel_id": "a77e1e1df19fead1e0f2a09f2afaa4d42e81eacae1023c9c779df4c24e3b75c2", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101518b1a5acba2db8352832089691a2179d84c0e0e0aeccdf15ba1d3461f38f37f0000000000fdffffff028096980000000000220020c7cfa7c93af7f1ff2f73e47ebbc321469496c69bd7a72cd69a555863fff9e7ba012f0f00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e02473044022030c5cd119afd60425401055e86711c7e010f4d8de527f49eda4cc912d1de98c002205e81b213504e771aeba7e527fc68a1992091d68e3f5f9a4f20f368ee8b59819e012102225ce166e84b3833d9f620863b4e713099de616f559e8768f44ff674054bb07d6a000000", - "txid": "f921078d0af6322ca6852fb4a5f90dd5e681e5931700537a27453211c1ae9573", - "channel_id": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101d4f98bcfe8678a76e38336308e0dfaae0d13404e92a9f92b68a41c53ec8b1ac90100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f0000000000225120de7997251f5566fd30a7d1ecb85185554b5164c3621f7c3e0dda1ce99b7a59600247304402207f9104fa0f793ccdf6681761996596f96b46625823e3f627fd4b516c78a84b77022000e6d6e97a249576c315cc43f70818718c4581caf194faf0077481386b375df201210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab6666000000", - "txid": "75a4f241d23c7f9124b690c1fd41f0c58b65e8962d4a3d1b3e4ea4f8e97504d9", - "channel_id": "d90475e9f8a44e3e1b3d4a2d96e8658bc5f041fdc190b624917f3cd241f2a475", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101a1beafa8c95db298d8d4501975f0f0cb20f7d9c60d4f7d5258794c03d2186c5c0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0246304302202da5f9327902820cf06762472416c186b93a2834fcfd90a12f47df18d8f8e648021f4e384e3f4603cc38d06448771667f1ad0dd6e6b68345cced163877e47faa46012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf36000000", - "txid": "f24a6312f629f7c989eabb8f18c8e6989eec1a35625fe7a0adcd8562e515499c", - "channel_id": "9c4915e56285cdada0e75f62351aec9e98e6c8188fbbea89c9f729f612634af2", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "020000000001018d9386af7f89e02a05450ef7a1cc64d5cf05b3fb990859d8af6b11ce282d37440100000000fdffffff0240420f00000000002200208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a024730440220606b56b74eb5f12c9c80e916bf5b6b5556d85024e89bd620b6e0b662e25ae8c70220712d8fe2b3961e1e53086463467cc580994d5afe3178fd8dd38ee0a8d662d82d01210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab6666000000", - "txid": "d26eec948b2d94b3c7b8e31f638ee642440f48c5c62bd9cae18456e6e98afd1d", - "channel_id": "1dfd8ae9e65684e1cad92bc6c5480f4442e68e631fe3b8c7b3942d8b94ec6ed2", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "020000000001018c67b6ed0775343c8c08d27768f4a69d4c377f55d61608759269f4a0498a7d9a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200d2d9d59d2e27f5bb9b7d0586668dbef77ab9067e45712156a7bdb7a6f6ac6340220751670ddafe90ebe077d321b104414e6267eba139cefcca320a4f04a4e87c7bc012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "df3011e3635646c26f2300f5f90f6e9031abe04c46f3aa6c99c33268b03af9c2", - "channel_id": "c2f93ab06832c3996caaf3464ce0ab31906e0ff9f500236fc2465663e31130df", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101d0995ae65071e8710f1a1e4d5ec981b16be63a7b46e744f9042b84a2d49bfb440100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220062d8508471aba3ab70a7efc946d2f8a7f3a4f9e6d9b5a70099a01fdbe90e9dc02207ea53e7c56b56b20521ec57981a8fdaf825d09f0f5b26fe7e3da0c659e33b95c012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "32f77ece6138946acb6437b1d83399fdf088f37358c58ceb64b9eb5460537764", - "channel_id": "6477536054ebb964eb8cc55873f388f0fd9933d8b13764cb6a943861ce7ef732", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101a6a3355269229efa2642569ca17ae01bb5d0ba8694f4c76d628c16f56b6505db0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402205e91099a58e75580253b3d4908e96d97eeadf37c4210c1288b8fa28eac0af53102203b052ad2fe3596f9a5f177836de33f10cc41017e45f38b12e271bbc24635995c012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "756d8f01fbab16388b457f69d5cd78a7d84240bdf4a32952ac2cfcdb0bcb9f27", - "channel_id": "279fcb0bdbfc2cac5229a3f4bd4042d8a778cdd5697f458b3816abfb018f6d75", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "020000000001011aebabc5303e272b829ef966cad600ecc8a7f12c50ddd9ae670de203ed12b1470100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022038bec19922ec1a974a263acc4109343c1791ad8bb2bce08c9dfdddad539c04b50220203f184a548d7a3f97793e7b25bc9860c82b26f584407947b6380d4be5e30a34012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "5f7fae112e0dad05f01bd0e067235ee434fd39eec65258478aceb30058666583", - "channel_id": "8365665800b3ce8a475852c6ee39fd34e45e2367e0d01bf005ad0d2e11ae7f5f", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "0200000000010157294f976915f88b61f1a6137989d28ccfcd0c8141bbcce4ec76f59fe71e6f6e0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402207b9a834c9a335a674202d819cd20a0eb95dc6422c01a5541c5dcea42a0393035022068e487a77a68974e839090ed16a94637f0bff2d1ee17616f36bd5de017ea0281012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "34eb5b9ea51a1be29fe9c6077bf6b9672cd291aaaa3af85e09985482fd02721e", - "channel_id": "1e7202fd825498095ef83aaaaa91d22c67b9f67b07c6e99fe21b1aa59e5beb34", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "020000000001015a53dcbc1080ca14b6c2ec147bdd6b6d5a384f288f850eda091ad4180b9b6c6f0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402201ef130e2972be44df9596eeaddb47c97109fdd7bede91ff255ea6e4dafde4243022067da2bfbb0770363f5cbe6639a670d64893f1bf69568ae7c5311a3971d1367b9012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "f3c017e4e0bfe3dd7232366436b05d1054edea6c500c2d2cedcfd1f49ec1c0c5", - "channel_id": "c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f3", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101fbb3b1e467c88710069fd6c258a12be904834054e617e9aaa099ca7f9acf973a0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec76012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a0247304402201e34c20a263e027c24fda469294e86f00a382abaec15466b437d741141aa5a3a0220755d3867e34f88ab66c27a29bad0d547beb3f895e8259d4ad14fe9184e9936fc012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda68000000", - "txid": "2092f3327f2f9cb64150f0998eb1c52badf08d42bb0657d7138a546fb1818d24", - "channel_id": "248d81b16f548a13d75706bb428df0ad2bc5b18e99f05041b69c2f7f32f39220", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101d307977fcfb62fae558cf63e520f2b30ad1b72b26623e6d0e9c183cc84ce5e570100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd818be6050000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402202943dc60e9258c477268648f561424169e2fead00c62e5efbe06583ff6c771c202205f7da691cb8fd411f174af4201b980deb72c3c06caa78a5f92bbfc660ddb4d10012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "333245d8abe9bab9286dbb0390d744d7890647aa48d345a8cd790155dd401aea", - "channel_id": "ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd8453233", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - }, - { - "tx": "02000000000101ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd84532330100000000fdffffff0240420f0000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8700236d705000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be0140ef4a5dfa9a1d1b87ba30baa2db9a46e06be7ee0ae9159992eb0cad33e605edb1fb1cded96677a93611b1012b15cd536a84344162eb883e2878c183d207204c2366000000", - "txid": "ba467ec258b47f171f4751d8de59914f49ae968be165509abe01669e571f4849", - "channel_id": "49481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "outnum": 0 - } - ], - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 300: The maximum allowed funding amount is exceeded.", - "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", - "- 302: The output amount is too small, and would be considered dust.", - "- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.", - "- 313: The `min-emergency-msat` reserve not be preserved (and we have or are opening anchor channels).", - "", - "Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.)." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-listfunds()", - "lightning-listpeers(7)", - "lightning-feerates(7)", - "lightning-multifundchannel(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-fundchannel_cancel.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fundchannel_cancel", - "title": "Command for completing channel establishment", - "description": [ - "`fundchannel_cancel` is a lower level RPC command. It allows channel opener to cancel a channel before funding broadcast with a connected peer.", - "", - "Note that the funding transaction MUST NOT be broadcast before `fundchannel_cancel`. Broadcasting transaction before `fundchannel_cancel` WILL lead to unrecoverable loss of funds.", - "", - "If `fundchannel_cancel` is called after `fundchannel_complete`, the remote peer may disconnect when command succeeds. In this case, user need to connect to remote peer again before opening channel." - ], - "request": { - "required": [ - "id" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "Node id of the remote peer with which to cancel." - ] - } - } - }, - "response": { - "required": [ - "cancelled" - ], - "properties": { - "cancelled": { - "type": "string", - "description": [ - "A message indicating it was cancelled by RPC." - ] - } - } - }, - "errors": [ - "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.", - "- 306: Unknown peer id.", - "- 307: No channel currently being funded that can be cancelled.", - "- 308: It is unsafe to cancel the channel: the funding transaction has been broadcast, or there are HTLCs already in the channel, or the peer was the initiator and not us." - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel(7)", - "lightning-multifundchannel(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_abort(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ - { - "id": "example:fundchannel_cancel#1", - "method": "fundchannel_cancel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - }, - { - "id": "example:fundchannel_cancel#2", - "method": "fundchannel_cancel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - }, - { - "id": "example:fundchannel_cancel#3", - "method": "fundchannel_cancel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - }, - { - "id": "example:fundchannel_cancel#4", - "method": "fundchannel_cancel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - }, - { - "id": "example:fundchannel_cancel#5", - "method": "fundchannel_cancel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" - } - }, - { - "id": "example:fundchannel_cancel#6", - "method": "fundchannel_cancel", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" - } - }, - { - "id": "example:fundchannel_cancel#7", - "method": "fundchannel_cancel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } - }, - { - "id": "example:fundchannel_cancel#8", - "method": "fundchannel_cancel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" - } - }, - { - "id": "example:fundchannel_cancel#9", - "method": "fundchannel_cancel", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" - } - }, - { - "id": "example:fundchannel_cancel#10", - "method": "fundchannel_cancel", - "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e" - } - }, - { - "id": "example:fundchannel_cancel#11", - "method": "fundchannel_cancel", - "params": { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" - } - }, - { - "id": "example:fundchannel_cancel#12", - "method": "fundchannel_cancel", - "params": { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6" - } - }, - { - "id": "example:fundchannel_cancel#13", - "method": "fundchannel_cancel", - "params": { - "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616" - } - }, - { - "id": "example:fundchannel_cancel#14", - "method": "fundchannel_cancel", - "params": { - "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda" - } - }, - { - "id": "example:fundchannel_cancel#15", - "method": "fundchannel_cancel", - "params": { - "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc" - } - }, - { - "id": "example:fundchannel_cancel#16", - "method": "fundchannel_cancel", - "params": { - "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e" - } - }, - { - "id": "example:fundchannel_cancel#17", - "method": "fundchannel_cancel", - "params": { - "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e" - } - }, - { - "id": "example:fundchannel_cancel#18", - "method": "fundchannel_cancel", - "params": { - "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426" - } - }, - { - "id": "example:fundchannel_cancel#19", - "method": "fundchannel_cancel", - "params": { - "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db" - } - }, - { - "id": "example:fundchannel_cancel#20", - "method": "fundchannel_cancel", - "params": { - "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db" - } - }, - { - "id": "example:fundchannel_cancel#21", - "method": "fundchannel_cancel", - "params": { - "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d" - } - } - ], - "example_json_response": [ - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC" - }, - { - "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" - } - ] - }, - "lightning-fundchannel_complete.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fundchannel_complete", - "title": "Command for completing channel establishment", - "description": [ - "`fundchannel_complete` is a lower level RPC command. It allows a user to complete an initiated channel establishment with a connected peer.", - "", - "Note that the funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed, as the commitment transactions for this channel are not secured until this command successfully completes. Broadcasting transaction before can lead to unrecoverable loss of funds." - ], - "request": { - "required": [ - "id", - "psbt" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "Node id of the remote peer." - ] - }, - "psbt": { - "type": "string", - "description": [ - "Transaction to use for funding (does not need to be signed but must be otherwise complete)." - ] - } - } - }, - "response": { - "required": [ - "channel_id", - "commitments_secured" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel_id of the resulting channel." - ] - }, - "commitments_secured": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Indication that channel is safe to use." - ] - } - } - }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 305: Peer is not connected.", - "- 306: Unknown peer id.", - "- 309: PSBT does not have a unique, correct output to fund the channel." - ], - "example_json_request": [ - { - "id": "example:fundchannel_complete#1", - "method": "fundchannel_complete", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "psbt": "cHNidP8BAIkCAAAAASYd4TeOHEIzrUbbELM2DK0IX09WaXqWsJFlLD455MPPAAAAAAD9////Av///wAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM1c8QUpAQAAACJRIH8AZYBKMKON4/oVmJVsVt6zy/+PkBPzziE+LtkuFvWXAAAAAAABAIMCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wJRAP////8CAPIFKgEAAAAWABQ5FIjuMd8ar9WFRV9eGNLF+3RMcAAAAAAAAAAAJmokqiGp7eL2HD9x0d79P6mZ36NpU3VcaQaJeZlitIvr2DaXToz5AAAAAAEBHwDyBSoBAAAAFgAUORSI7jHfGq/VhUVfXhjSxft0THAiBgMegIxEPDa2OseVTaV6ANtSwQuoj/j2an7X/Is2EekvWBhhFDNgVAAAgAEAAIAAAACAAAAAAAAAAAAAAAEFIEm9AFgqUlJwbPFtyt3a9dzvb+nAGZiQ3CT1CImhjBFpIQdJvQBYKlJScGzxbcrd2vXc72/pwBmYkNwk9QiJoYwRaRkAYRQzYFYAAIABAACAAAAAgAEAAAAAAAAAAA==" - } - }, - { - "id": "example:fundchannel_complete#2", - "method": "fundchannel_complete", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIQEIPAAAAAAABBCIAIDYLbE1WY1RrtlKo7EhezIdLJC0olr4k8XuWglwZdux2AAEDCAFBiQEAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQA=" - } - }, - { - "id": "example:fundchannel_complete#3", - "method": "fundchannel_complete", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfAAEDCEGDmAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" - } - }, - { - "id": "example:fundchannel_complete#4", - "method": "fundchannel_complete", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAILY28HAm6mSVLs5bdiCpM32awjIceWpJkmCZTRs3NmdQAAEDCEGDmAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" - } - }, - { - "id": "example:fundchannel_complete#5", - "method": "fundchannel_complete", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" - } - }, - { - "id": "example:fundchannel_complete#6", - "method": "fundchannel_complete", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" - } - }, - { - "id": "example:fundchannel_complete#7", - "method": "fundchannel_complete", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "psbt": "cHNidP8BAIkCAAAAAXOHZey/M2Rrmmr56KVNGAc/izVw7DBtYK2VF9bMpQfoAAAAAAD9////Av///wAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM1c8QUpAQAAACJRIKyC0QiCWan9ikIc1Ga2O19Zmw0Jfq4T/a2u2U5/zipDAAAAAAABAIMCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wJRAP////8CAPIFKgEAAAAWABRMc860rbJytujjKMd6NEnWSNexygAAAAAAAAAAJmokqiGp7eL2HD9x0d79P6mZ36NpU3VcaQaJeZlitIvr2DaXToz5AAAAAAEBHwDyBSoBAAAAFgAUTHPOtK2ycrbo4yjHejRJ1kjXscoiBgP2W2Z3c8I2mT7BYOQCTYS0Ep6de1b4oTpVCtvc4XsdPRhGer+AVAAAgAEAAIAAAACAAAAAAAAAAAAAAAEFINFEnynZTpfzOKiOAGDouU+QtCwvgCyyz8QyEIVpop2SIQfRRJ8p2U6X8ziojgBg6LlPkLQsL4Asss/EMhCFaaKdkhkARnq/gFYAAIABAACAAAAAgAEAAAAAAAAAAA==" - } - }, - { - "id": "example:fundchannel_complete#8", - "method": "fundchannel_complete", - "params": { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zAAEDCGFzAQAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" - } - }, - { - "id": "example:fundchannel_complete#9", - "method": "fundchannel_complete", - "params": { - "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZAAEDCGFzAQAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" - } - }, - { - "id": "example:fundchannel_complete#10", - "method": "fundchannel_complete", - "params": { - "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEyd+og0d6wP0S65dxwDLfftCU0RZ/13K4bUZZd+KbeYAAEDCGFzAQAAAAAAAQQiUSA+igP2eLt8oEi67MOXiFMFYOoEmBbWBPcpJeQlKIRGyAA=" - } - }, - { - "id": "example:fundchannel_complete#11", - "method": "fundchannel_complete", - "params": { - "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2AAEDCGFzAQAAAAAAAQQiUSCioBx5ZSie7la1z83bmFbHD6R2wmTSH3Ecammvd2rkAwA=" - } - }, - { - "id": "example:fundchannel_complete#12", - "method": "fundchannel_complete", - "params": { - "id": "038f7e8b965a4dffa90173f6b5088bf5ce30aca642febcb669736a780a6bf5821e", - "psbt": "cHNidP8BAgQCAAAAAQMEJwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEjaMEu1K+F+EKqz+LigdQdivKEbJ6VBO0QAvQvLnwfBAAEDCGFzAQAAAAAAAQQiUSAY7OALc2+e137TqHQmZDwkIiPj1hFqTNbZCUb3PeLOcQA=" - } - }, - { - "id": "example:fundchannel_complete#13", - "method": "fundchannel_complete", - "params": { - "id": "02fd8076993ecbd87fc9286e0fea6cb2e074191475fe0cfdba779c863e4d607f02", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIHwdq029Cz/gXLzjslO+79pYcciUAi+56uup1hAati1YAAEDCGFzAQAAAAAAAQQiUSDbLewxrJZf8q0+OS0s9qp2EozqCtmNAYsHvF3i4jRr+wA=" - } - }, - { - "id": "example:fundchannel_complete#14", - "method": "fundchannel_complete", - "params": { - "id": "03dcd7e0c98f16a74d4eeb6e717f43d5701b57fb8f85311fb3a556e5d0e588fc04", - "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGvNjTyuex4z297fMIEliEDNufUjXXo7PkTpXuRS4kx/AAEDCGFzAQAAAAAAAQQiUSAwn8BQ3ZyqMpHcvja57O028jw6vl+S6qKelm9PmLwokwA=" - } - }, - { - "id": "example:fundchannel_complete#15", - "method": "fundchannel_complete", - "params": { - "id": "03d90afbbafa9aa593e8b34f26460a3f078f2f036aca879bd9a25f79ede510e240", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIG5Li1w++b5+NszadDMuTv1rJFSSNmWAGzd2ug0j1DNOAAEDCGFzAQAAAAAAAQQiUSAxCOwIFbukU9jYixAPlhpvY9nPReEF51EWnT1i1ERVEwA=" - } - }, - { - "id": "example:fundchannel_complete#16", - "method": "fundchannel_complete", - "params": { - "id": "02f8d2e2275fa13477d9e1452e3b2b8f5de902e3f492896dffe78ccc850e210235", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAe4QLJ/v7ptYRUNjBo221LpT/D+mT5NM8x7V7gFYEy8AAEDCGFzAQAAAAAAAQQiUSDC+hs3dXh+aSwemOZOlR3JN8quWjasgkIEB+b9OF/sBAA=" - } - }, - { - "id": "example:fundchannel_complete#17", - "method": "fundchannel_complete", - "params": { - "id": "035de9e8290c145ea767748a7462230afd64f3b51fb32b3a75d2f87ad3a44166e2", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNAAEDCGFzAQAAAAAAAQQiUSDCTCjgyViTrnjcViXb+xEeNlsbpgC5RHTm0BmvOaVWDQA=" - } - }, - { - "id": "example:fundchannel_complete#18", - "method": "fundchannel_complete", - "params": { - "id": "02cea6e033525fe7704dd66c132ef2148b3ce6fcf853a4996a36096b3657749f62", - "psbt": "cHNidP8BAgQCAAAAAQMELgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIOKuOrQ9Om839fxIut0AWgxIsVKHqcad1NzrOCicsUTMAAEDCGFzAQAAAAAAAQQiUSC5AoUp8kWSutdGlw1Zi7MtmuHb2QAGRKazEqQQzShYYwA=" - } - }, - { - "id": "example:fundchannel_complete#19", - "method": "fundchannel_complete", - "params": { - "id": "03f19c10baf29a25714bae37596d0cc32e91294a74cd876153aadbd9df7c9b17fe", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12AAEDCGFzAQAAAAAAAQQiUSDdPDkfelbfkVPPNzBH/a0Lmp9VoKvY5DkTXn1OL0vJBQA=" - } - }, - { - "id": "example:fundchannel_complete#20", - "method": "fundchannel_complete", - "params": { - "id": "0314c31e9bf14aeda1bd09db66dc14bec2ab4df7b25e0feba2d65c31c56172f9fd", - "psbt": "cHNidP8BAgQCAAAAAQMEOAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAO/o9k7kNNPFvm+/IqVGOA+NYkFa8N47K8XY2O9SR89AAEDCGFzAQAAAAAAAQQiUSCWmwcerPCw2jbGXOuFAwfKJUBdKu87b3tnj5FE3Dhs1QA=" - } - }, - { - "id": "example:fundchannel_complete#21", - "method": "fundchannel_complete", - "params": { - "id": "03c896c7df8652597c6d9e188aef635d2f22ae01fa443915c59c7b4bf7f8100d64", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIK8WpFmmR9o8Zgw3CsrWK1fRGDY5nc9vxzZoVNZ71r7WAAEDCGFzAQAAAAAAAQQiUSC/bPw/GYiX+T3eaDYaNsKwwqjmb7jsqzpxxf1D9iOo0gA=" - } - }, - { - "id": "example:fundchannel_complete#22", - "method": "fundchannel_complete", - "params": { - "id": "02054da56b6b910961ad687c7cca71e8e43e2c3b897b4882c243675276e071ed1c", - "psbt": "cHNidP8BAgQCAAAAAQMEOAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIKmu3F9zZmY8/eTNKzvxe1hJHgTBOu2+0CF8U1h6QA4cAAEDCGFzAQAAAAAAAQQiUSDr3kzylI/TRkgq9GGXp0THyx+vaTTOeTXyFHJN9mvBFwA=" - } - } - ], - "example_json_response": [ - { - "channel_id": "049217e5035a4a60449c6382c445b5c105bd63588d66137ad0511c57a16db6d9", - "commitments_secured": true - }, - { - "channel_id": "d68e11a8b6daa27d4fcbb4b81b641dd44764fe656943eb2633abf0554e98f22e", - "commitments_secured": true - }, - { - "channel_id": "c35147b70ace0dc1ef7c27283c5c767f122ab2eaca50862c90842c19904eae05", - "commitments_secured": true - }, - { - "channel_id": "ce83e4aace9be2e43bb6b639c8e594518dde37faabec43bb95e0a8bda69bf5c9", - "commitments_secured": true - }, - { - "channel_id": "62a524f2ca313828d910635e41a910df832429d9b5843814999a64291701af04", - "commitments_secured": true - }, - { - "channel_id": "802ce8abc559d435b1e88e4e2b623c5e4ad927e8b2c8a2f514b45393a2db7557", - "commitments_secured": true - }, - { - "channel_id": "be1e072272fdf9e29c1dbba1998d92249c65c1235c3c09533d674ba9680b135e", - "commitments_secured": true - }, - { - "channel_id": "17751b45c580e1b20f57122a108c79d7b80800d145dcd292f0c48c76ec5f4114", - "commitments_secured": true - }, - { - "channel_id": "ee80aa50e7b7671c36aca7cf588799b27de7999f547d296f3b65c2810b07959b", - "commitments_secured": true - }, - { - "channel_id": "a61302d4587163bb0aa403f481d539431b1b131df5d86e44b77085e330f69670", - "commitments_secured": true - }, - { - "channel_id": "1c9cf55bcb25d04a81cfc741134297ce399bbdc469fc03e90376605460431df1", - "commitments_secured": true - }, - { - "channel_id": "139ad83d0f2441dd9aeab50e688400508349301450fcf2c556ff4c3bd3ffef0f", - "commitments_secured": true - }, - { - "channel_id": "69dff0d47a8fb13788e113f8fd1057a700cabb68a396da7d11e97f103950c6b9", - "commitments_secured": true - }, - { - "channel_id": "f5eaba84bcf04f0f39a1aa36fac19e78cefa647c3485f2dd4194e84966302a5e", - "commitments_secured": true - }, - { - "channel_id": "7df425c1275903745fa3680f27f8574ea6add0da2072a6cc2b3b01359c3f3be1", - "commitments_secured": true - }, - { - "channel_id": "759ee672b3d58d90d5ca04a38ac3788d67dadc44e526e67e5a97755e5261a610", - "commitments_secured": true - }, - { - "channel_id": "e2ca4f9bcbc485204cfc341c7506f76321fe7916130d9d0124f11a8e27d02b43", - "commitments_secured": true - }, - { - "channel_id": "d9d0d89947a228f7ce4f9233ca7ef1ad229f4ca4467fdc80721041a7e3be43d8", - "commitments_secured": true - }, - { - "channel_id": "f29939131bdbd68eb41accadd581ff32c545564048d1ed93353afd0d9acfc47f", - "commitments_secured": true - }, - { - "channel_id": "db699f485799e206bf5d30cab010016ebd123b0c9f0d90aacf82fa940ba9b310", - "commitments_secured": true - }, - { - "channel_id": "bbe43a4162a8d01acd0488c4b15fb0d24c5c821db7f0621797e97472329bc433", - "commitments_secured": true - }, - { - "channel_id": "acd120f9b6c4e1deb9d4de7299002db568c863eb191197577d523fd8eedbc3a2", - "commitments_secured": true - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel(7)", - "lightning-multifundchannel(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_cancel(7)", - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_bump(7)", - "lightning-openchannel_abort(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-fundchannel_start.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fundchannel_start", - "title": "Command for initiating channel establishment for a lightning channel", - "description": [ - "`fundchannel_start` is a lower level RPC command. It allows a user to initiate channel establishment with a connected peer.", - "", - "Note that the funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`, as the commitment transactions for this channel are not secured until the complete command succeeds. Broadcasting transaction before that can lead to unrecoverable loss of funds." - ], - "request": { - "required": [ - "id", - "amount" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The peer id obtained from connect." - ] - }, - "amount": { - "type": "sat", - "description": [ - "Satoshi value that the channel will be funded at. This value MUST be accurate, otherwise the negotiated commitment transactions will not encompass the correct channel value." - ] - }, - "feerate": { - "type": "feerate", - "description": [ - "Feerate for subsequent commitment transactions: see **fundchannel**. Note that this is ignored for channels with *option_anchors_zero_fee_htlc_tx* (we always use a low commitment fee for these)." - ] - }, - "announce": { - "type": "boolean", - "description": [ - "Whether or not to announce this channel." - ] - }, - "close_to": { - "type": "string", - "description": [ - "Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated." - ] - }, - "push_msat": { - "type": "msat", - "description": [ - "Amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed." - ] - }, - "mindepth": { - "type": "u32", - "description": [ - "Number of confirmations required before we consider the channel active." - ] - }, - "reserve": { - "type": "msat", - "description": [ - "The amount we want the peer to maintain on its side." - ] - }, - "channel_type": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "items": { - "type": "u32", - "description": [ - "Bit number." - ] - } - } - }, - "pairedWith": [ - [ - "feerate", - "announce", - "close_to", - "push_msat", - "channel_type", - "mindepth", - "reserve" - ] - ] - }, - "response": { - "required": [ - "funding_address", - "scriptpubkey", - "warning_usage" - ], - "properties": { - "funding_address": { - "type": "string", - "description": [ - "The address to send funding to for the channel. DO NOT SEND COINS TO THIS ADDRESS YET." - ] - }, - "scriptpubkey": { - "type": "hex", - "description": [ - "The raw scriptPubkey for the address." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "added": "v24.02", - "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." - ], - "added": "v24.02", - "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." - ] - } - } - } - }, - "close_to": { - "type": "hex", - "description": [ - "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." - ] - }, - "warning_usage": { - "type": "string", - "description": [ - "A warning not to prematurely broadcast the funding transaction (always present!)." - ] - }, - "mindepth": { - "type": "u32", - "description": [ - "Number of confirmations before we consider the channel active." - ] - } - } - }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 300: The amount exceeded the maximum configured funding amount.", - "- 301: The provided `push_msat` is greater than the provided `amount`.", - "- 304: Still syncing with bitcoin network", - "- 305: Peer is not connected.", - "- 306: Unknown peer id.", - "- 312: Peer negotiated `option_dual_fund`, must use `openchannel_init` not `fundchannel_start`. (Only if ``experimental-dual-fund` is enabled)" - ], - "example_json_request": [ - { - "id": "example:fundchannel_start#1", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777216, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null - } - }, - { - "id": "example:fundchannel_start#2", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777215, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null - } - }, - { - "id": "example:fundchannel_start#3", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777216, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#4", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#5", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777216, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#6", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777216, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#7", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#8", - "method": "fundchannel_start", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#9", - "method": "fundchannel_start", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#10", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777215, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#11", - "method": "fundchannel_start", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 16777215, - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#12", - "method": "fundchannel_start", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#13", - "method": "fundchannel_start", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#14", - "method": "fundchannel_start", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#15", - "method": "fundchannel_start", - "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#16", - "method": "fundchannel_start", - "params": { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#17", - "method": "fundchannel_start", - "params": { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#18", - "method": "fundchannel_start", - "params": { - "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#19", - "method": "fundchannel_start", - "params": { - "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#20", - "method": "fundchannel_start", - "params": { - "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#21", - "method": "fundchannel_start", - "params": { - "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#22", - "method": "fundchannel_start", - "params": { - "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - }, - { - "id": "example:fundchannel_start#23", - "method": "fundchannel_start", - "params": { - "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db", - "amount": "100000sat", - "feerate": null, - "announce": true, - "close_to": null, - "mindepth": null, - "channel_type": null - } - } - ], - "example_json_response": [ - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qxc9kcn2kvd2xhdjj4rkyshkvsa9jgtfgj6lzfutmj6p9cxtka3mqzlqr9g", - "scriptpubkey": "0020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec76", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1q8utnpsnag7l9s5gpd0ng7jvwzdjnvt02tz8370jwr6xn3smgzr0scm0qlc", - "scriptpubkey": "00203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qkcm0qupxafjf2tkwtdmzp2fn0kdvyvsu094ynynqn9x3kdekvagq44g5t6", - "scriptpubkey": "0020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b37366750", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup", - "scriptpubkey": "0020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s", - "scriptpubkey": "002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qs6vxtzspa7cqrcwvfhm23dhn4k6xr737v7fctld2usqt6uuedveq96t4jd", - "scriptpubkey": "00208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", - "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup", - "scriptpubkey": "0020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s", - "scriptpubkey": "002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qqfuz9aj2smn67em2ruahnz5sxlx2qjc5etmw5lxes0zqrmvhjtps7d9ra5", - "scriptpubkey": "0020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c3", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qmxjat4dgx0dzqed3kzzedgvww4y94nn5zuegctv9t6rfxh8c0hes68mc90", - "scriptpubkey": "0020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df3", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qlz0xjvuvezvyw8kpfqrvhh9ek9n5kfp24mr35d5fqpj7m0tt4q5qk2dkt7", - "scriptpubkey": "0020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1q8qhvpcezere4w23cgqfa7gfdyapdttd2hl0e59vkfq9pzsqr9pvsw358ad", - "scriptpubkey": "0020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a1140032859", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qr04a4yyd8vv7ffe72um0dg3mrk6essa09ctmh543nj5amv8jvg3s44cn70", - "scriptpubkey": "00201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f26223", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qad0tre46xxhkyztv7ec479ur4q8cvvwp6py8yjrhq0uvwhhcjqsqtff0fy", - "scriptpubkey": "0020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef89020", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qnumzyg5fsjez8ff7jcsnzjtdfzvluurr4s90u8lxpnvkeqkhde2qrdu7dv", - "scriptpubkey": "00209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e54", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qfjwl4zp5w7kql5fwh9m3cqed7lksjng3vl7hw2ux63jewl3fk7vqjk67ad", - "scriptpubkey": "00204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b798", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - }, - { - "funding_address": "bcrt1qjfgh5fdcf5eeu0dyhhxjpcszryaxrcdfmgqj7xjs7nfthfq8hrmqzjxure", - "scriptpubkey": "002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f6", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel(7)", - "lightning-multifundchannel(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel_cancel(7)", - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_bump(7)", - "lightning-openchannel_abort(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-funderupdate.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "funderupdate", - "title": "Command for adjusting node funding v2 channels", - "description": [ - "NOTE: Must have --experimental-dual-fund enabled for these settings to take effect.", - "", - "For channel open requests using dual funding.", - "", - "Note: to maximize channel leases, best policy setting is (match, 100).", - "", - "Setting any of the 5 options from *lease_fee_base_msat*, *lease_fee_basis*, *funding_weight*, *channel_fee_max_base_msat* and, *channel_fee_max_proportional_thousandths* will activate channel leases for this node, and advertise these values via the lightning gossip network. If any one is set, the other values will be the default." - ], - "request": { - "required": [], - "properties": { - "policy": { - "type": "string", - "enum": [ - "match", - "available", - "fixed" - ], - "description": [ - "Funder plugin will use to decide how much capital to commit to a v2 open channel request.", - "There are three policy options, detailed below:", - " * `match` -- Contribute *policy_mod* percent of their requested funds. Valid *policy_mod* values are 0 to 200. If this is a channel lease request, we match based on their requested funds. If it is not a channel lease request (and *lease_only* is false), then we match their funding amount. Note: any lease match less than 100 will likely fail, as clients will not accept a lease less than their request.", - " * `available` -- Contribute *policy_mod* percent of our available node wallet funds. Valid *policy_mod* values are 0 to 100.", - " * `fixed` -- Contributes a fixed *policy_mod* sats to v2 channel open requests." - ], - "default": "fixed" - }, - "policy_mod": { - "type": "sat", - "description": [ - "Number or 'modification' to apply to the policy." - ], - "default": "0sats" - }, - "leases_only": { - "type": "boolean", - "description": [ - "Only contribute funds to `option_will_fund` requests which pay to lease funds. It will fund any v2 open request using *policy* even if it's they're not seeking to lease funds. Note that `option_will_fund` commits funds for 4032 blocks (~1mo). Must also set *lease_fee_base_msat*, *lease_fee_basis*, *funding_weight*, *channel_fee_max_base_msat*, and *channel_fee_max_proportional_thousandths* to advertise available channel leases." - ], - "default": "False" - }, - "min_their_funding_msat": { - "type": "msat", - "description": [ - "Minimum funding sats that we require in order to activate our contribution policy to the v2 open." - ], - "default": "10k sats" - }, - "max_their_funding_msat": { - "type": "msat", - "description": [ - "Maximum funding sats that we will consider to activate our contribution policy to the v2 open. Any channel open above this will not be funded." - ], - "default": "no max (`UINT_MAX`)" - }, - "per_channel_min_msat": { - "type": "msat", - "description": [ - "Minimum amount that we will contribute to a channel open." - ], - "default": "10k sats" - }, - "per_channel_max_msat": { - "type": "msat", - "description": [ - "Maximum amount that we will contribute to a channel open." - ], - "default": "no max (`UINT_MAX`)" - }, - "reserve_tank_msat": { - "type": "msat", - "description": [ - "Amount of sats to leave available in the node wallet." - ], - "default": "zero sats" - }, - "fuzz_percent": { - "type": "u32", - "description": [ - "A percentage to fuzz the resulting contribution amount by. Valid values are 0 to 100. Note that turning this on with (match, 100) policy will randomly fail `option_will_fund` leases, as most clients expect an exact or greater match of their `requested_funds`." - ], - "default": "0% (no fuzz)" - }, - "fund_probability": { - "type": "u32", - "description": [ - "The percent of v2 channel open requests to apply our policy to. Valid values are integers from 0 (fund 0% of all open requests) to 100 (fund every request). Useful for randomizing opens that receive funds. Useful for randomizing opens that receive funds." - ], - "default": "100" - }, - "lease_fee_base_msat": { - "type": "msat", - "description": [ - "Flat fee for a channel lease. Node will receive this much extra added to their channel balance, paid by the opening node. Note that the minimum is 1sat." - ], - "default": "2k sats" - }, - "lease_fee_basis": { - "type": "u32", - "description": [ - "A basis fee that's calculated as 1/10k of the total requested funds the peer is asking for. Node will receive the total of *lease_fee_basis* times requested funds / 10k satoshis added to their channel balance, paid by the opening node." - ], - "default": "0.65% (65 basis points)" - }, - "funding_weight": { - "type": "u32", - "description": [ - "To calculate the fee the peer will compensate your node for its contributing inputs to the funding transaction. The total fee is calculated as the `open_channel2`.`funding_feerate_perkw` times this *funding_weight* divided by 1000. Node will have this funding fee added to their channel balance, paid by the opening node." - ], - "default": "2 inputs + 1 P2WPKH output" - }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": [ - "A commitment to a maximum `channel_fee_base_msat` that your node will charge for routing payments over this leased channel during the lease duration." - ], - "default": "5k sats" - }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": [ - "A commitment to a maximum `channel_fee_proportional_millionths` that your node will charge for routing payments over this leased channel during the lease duration. Note that it's denominated in 'thousandths'. A setting of `1` is equal to 1k ppm; `5` is 5k ppm, etc." - ], - "default": "100 (100k ppm)" - }, - "compact_lease": { - "type": "hex", - "description": [ - "A compact description of the channel lease params. When opening a channel, passed in to `fundchannel` to indicate the terms we expect from the peer." - ] - } - } - }, - "response": { - "required": [ - "summary", - "policy", - "policy_mod", - "leases_only", - "min_their_funding_msat", - "max_their_funding_msat", - "per_channel_min_msat", - "per_channel_max_msat", - "reserve_tank_msat", - "fuzz_percent", - "fund_probability" - ], - "properties": { - "summary": { - "type": "string", - "description": [ - "Summary of the current funding policy e.g. (match 100)." - ] - }, - "policy": { - "type": "string", - "enum": [ - "match", - "available", - "fixed" - ], - "description": [ - "Policy funder plugin will use to decide how much capital to commit to a v2 open channel request." - ] - }, - "policy_mod": { - "type": "u32", - "description": [ - "The *policy_mod* is the number or 'modification' to apply to the policy." - ] - }, - "leases_only": { - "type": "boolean", - "description": [ - "Only contribute funds to `option_will_fund` lease requests." - ] - }, - "min_their_funding_msat": { - "type": "msat", - "description": [ - "The minimum funding sats that we require from peer to activate our funding policy." - ] - }, - "max_their_funding_msat": { - "type": "msat", - "description": [ - "The maximum funding sats that we'll allow from peer to activate our funding policy." - ] - }, - "per_channel_min_msat": { - "type": "msat", - "description": [ - "The minimum amount that we will fund a channel open with." - ] - }, - "per_channel_max_msat": { - "type": "msat", - "description": [ - "The maximum amount that we will fund a channel open with." - ] - }, - "reserve_tank_msat": { - "type": "msat", - "description": [ - "Amount of sats to leave available in the node wallet." - ] - }, - "fuzz_percent": { - "type": "u32", - "description": [ - "Percentage to fuzz our funding amount by." - ] - }, - "fund_probability": { - "type": "u32", - "description": [ - "Percent of opens to consider funding. 100 means we'll consider funding every requested open channel request." - ] - }, - "lease_fee_base_msat": { - "type": "msat", - "description": [ - "Flat fee to charge for a channel lease." - ] - }, - "lease_fee_basis": { - "type": "u32", - "description": [ - "Proportional fee to charge for a channel lease, calculated as 1/10,000th of requested funds." - ] - }, - "funding_weight": { - "type": "u32", - "description": [ - "Transaction weight the channel opener will pay us for a leased funding transaction." - ] - }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": [ - "Maximum channel_fee_base_msat we'll charge for routing funds leased on this channel." - ] - }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": [ - "Maximum channel_fee_proportional_millitionths we'll charge for routing funds leased on this channel, in thousandths." - ] - }, - "compact_lease": { - "type": "hex", - "description": [ - "Compact description of the channel lease parameters." - ] - } - } - }, - "errors": [ - "The following error code may occur:", - "", - "- -32602: If the given parameters are invalid." - ], - "example_json_request": [ - { - "id": "example:funderupdate#1", - "method": "funderupdate", - "params": "{}" - }, - { - "id": "example:funderupdate#2", - "method": "funderupdate", - "params": { - "policy": "available", - "policy_mod": 100, - "min_their_funding_msat": 1000, - "per_channel_min_msat": 1000000, - "fund_probability": 100, - "fuzz_percent": 0, - "leases_only": false - } - }, - { - "id": "example:funderupdate#3", - "method": "funderupdate", - "params": { - "policy": "fixed", - "policy_mod": "50000sat", - "min_their_funding_msat": 1000, - "per_channel_min_msat": "1000sat", - "per_channel_max_msat": "500000sat", - "fund_probability": 100, - "fuzz_percent": 0, - "leases_only": false - } - }, - { - "id": "example:funderupdate#4", - "method": "funderupdate", - "params": "{}" - } - ], - "example_json_response": [ - { - "summary": "match (100%)", - "policy": "match", - "policy_mod": 100, - "leases_only": true, - "min_their_funding_msat": 10000000, - "max_their_funding_msat": 4294967295000, - "per_channel_min_msat": 10000000, - "per_channel_max_msat": 4294967295000, - "reserve_tank_msat": 0, - "fuzz_percent": 0, - "fund_probability": 100, - "lease_fee_base_msat": 100000, - "lease_fee_basis": 100, - "funding_weight": 666, - "channel_fee_max_base_msat": 5000000, - "channel_fee_max_proportional_thousandths": 100, - "compact_lease": "029a00640064000000644c4b40" - }, - { - "summary": "available (100%)", - "policy": "available", - "policy_mod": 100, - "leases_only": false, - "min_their_funding_msat": 1000, - "max_their_funding_msat": 4294967295000, - "per_channel_min_msat": 1000000, - "per_channel_max_msat": 4294967295000, - "reserve_tank_msat": 0, - "fuzz_percent": 0, - "fund_probability": 100 - }, - { - "summary": "fixed (50000sat)", - "policy": "fixed", - "policy_mod": 50000, - "leases_only": false, - "min_their_funding_msat": 1000, - "max_their_funding_msat": 4294967295000, - "per_channel_min_msat": 1000000, - "per_channel_max_msat": 500000000, - "reserve_tank_msat": 0, - "fuzz_percent": 0, - "fund_probability": 100 - }, - { - "summary": "match (100%)", - "policy": "match", - "policy_mod": 100, - "leases_only": true, - "min_their_funding_msat": 10000000, - "max_their_funding_msat": 4294967295000, - "per_channel_min_msat": 10000000, - "per_channel_max_msat": 4294967295000, - "reserve_tank_msat": 0, - "fuzz_percent": 0, - "fund_probability": 100, - "lease_fee_base_msat": 100000, - "lease_fee_basis": 100, - "funding_weight": 666, - "channel_fee_max_base_msat": 5000000, - "channel_fee_max_proportional_thousandths": 100, - "compact_lease": "029a00640064000000644c4b40" - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-fundchannel(7)", - "lightning-listfunds(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-fundpsbt.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "fundpsbt", - "title": "Command to populate PSBT inputs from the wallet", - "description": [ - "`fundpsbt` is a low-level RPC command which creates a PSBT using unreserved inputs in the wallet, optionally reserving them as well." - ], - "request": { - "required": [ - "satoshi", - "feerate", - "startweight" - ], - "properties": { - "satoshi": { - "type": "msat_or_all", - "description": [ - "The minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." - ] - }, - "feerate": { - "type": "feerate", - "description": [ - "Used for the transaction as initial feerate." - ], - "default": "*normal*" - }, - "startweight": { - "type": "u32", - "description": [ - "The weight of the transaction before *fundpsbt* has added any inputs." - ] - }, - "minconf": { - "type": "u32", - "description": [ - "The minimum number of confirmations that used outputs should have." - ], - "default": "1" - }, - "reserve": { - "type": "u32", - "description": [ - "If not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks." - ], - "default": "72 blocks" - }, - "locktime": { - "type": "u32", - "description": [ - "The locktime of the transaction. if not set, it is set to a recent block height." - ] - }, - "min_witness_weight": { - "type": "u32", - "description": [ - "Minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used." - ] - }, - "excess_as_change": { - "type": "boolean", - "description": [ - "Flag to add a change output for the excess sats." - ] - }, - "nonwrapped": { - "added": "v23.02", - "type": "boolean", - "description": [ - "To signal to filter out any p2sh-wrapped inputs from funding this PSBT." - ] - }, - "opening_anchor_channel": { - "added": "v23.08", - "type": "boolean", - "description": [ - "To signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels." - ] - } - } - }, - "response": { - "required": [ - "psbt", - "feerate_per_kw", - "estimated_final_weight", - "excess_msat" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "Unsigned PSBT which fulfills the parameters given." - ] - }, - "feerate_per_kw": { - "type": "u32", - "description": [ - "The feerate used to create the PSBT, in satoshis-per-kiloweight." - ] - }, - "estimated_final_weight": { - "type": "u32", - "description": [ - "The estimated weight of the transaction once fully signed." - ] - }, - "excess_msat": { - "type": "msat", - "description": [ - "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned." - ] - }, - "change_outnum": { - "type": "u32", - "description": [ - "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)." - ] - }, - "reservations": { - "type": "array", - "description": [ - "If *reserve* was true or a non-zero number, just as per lightning- reserveinputs(7)." - ], - "items": { - "type": "object", - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "additionalProperties": false, - "properties": { - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction." - ] - }, - "vout": { - "type": "u32", - "description": [ - "The 0-based output number." - ] - }, - "was_reserved": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether this output was previously reserved." - ] - }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Whether this output is now reserved." - ] - }, - "reserved_to_block": { - "type": "u32", - "description": [ - "The blockheight the reservation will expire." - ] - } - } - } - } - }, - "post_return_value_notes": [ - "If *excess_as_change* is true and the excess is enough to cover an additional output above the `dust_limit`, then an output is added to the PSBT for the excess amount. The *excess_msat* will be zero. A *change_outnum* will be returned with the index of the change output." - ] - }, - "example_usage": [ - "Let's assume the caller is trying to produce a 100,000 satoshi output.", - "", - "First, the caller estimates the weight of the core (typically 42) and known outputs of the transaction (typically (9 + scriptlen) * 4). For a simple P2WPKH it's a 22 byte scriptpubkey, so that's 124 weight.", - "", - "It calls \"*fundpsbt* 100000sat slow 166\", which succeeds, and returns the *psbt* and *feerate_per_kw* it used, the *estimated_final_weight* and any *excess_msat*.", - "", - "If *excess_msat* is greater than the cost of adding a change output, the caller adds a change output randomly to position 0 or 1 in the PSBT. Say *feerate_per_kw* is 253, and the change output is a P2WPKH (weight 124), the cost is around 31 sats. With the dust limit disallowing payments below 546 satoshis, we would only create a change output if *excess_msat* was greater or equal to 31 + 546." - ], - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 301: Insufficient UTXOs to meet *satoshi* value." - ], - "example_json_request": [ - { - "id": "example:fundpsbt#1", - "method": "fundpsbt", - "params": { - "satoshi": 16777216, - "feerate": "253perkw", - "startweight": 250, - "minconf": null, - "reserve": 0, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#2", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#3", - "method": "fundpsbt", - "params": { - "satoshi": "all", - "feerate": "1000perkw", - "startweight": 1000, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#4", - "method": "fundpsbt", - "params": { - "satoshi": "all", - "feerate": "1000perkw", - "startweight": 1000, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#5", - "method": "fundpsbt", - "params": { - "satoshi": 16777216, - "feerate": "253perkw", - "startweight": 250, - "minconf": null, - "reserve": 0, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#6", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#7", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#8", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#9", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#10", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#11", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#12", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#13", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#14", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#15", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#16", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#17", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#18", - "method": "fundpsbt", - "params": { - "satoshi": "109000sat", - "feerate": "slow", - "startweight": 166, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#19", - "method": "fundpsbt", - "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "minconf": null, - "reserve": 0, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#20", - "method": "fundpsbt", - "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 99, - "minconf": null, - "reserve": 0, - "locktime": 103, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#21", - "method": "fundpsbt", - "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "minconf": null, - "reserve": 0, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true - } - }, - { - "id": "example:fundpsbt#22", - "method": "fundpsbt", - "params": { - "satoshi": 1000000, - "feerate": "7500perkw", - "startweight": 0, - "minconf": null, - "reserve": 0, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - }, - { - "id": "example:fundpsbt#23", - "method": "fundpsbt", - "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "minconf": null, - "reserve": null, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false - } - } - ], - "example_json_response": [ - { - "psbt": "cHNidP8BADMCAAAAAWzmSFzhTtXBnQewytc32WaMwJSunScwsYndBNdU80JqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAU1MpIJeOOzqAYVkZaytJCmzUadBVltKar8kWtzKSVeYAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFD8W5uBNZAxN6n1jqU62dxWQbyGAAkcwRAIgUK+vMOeWiDPiJM8fpgKCjjwXog4yfWPvtKES1ZZPaM8CIB3cgouGpV6Gc7nEvAu28Mg9tkAWt/Xl5FDOseEyeZqHASECTwjR0I3gLHdSW7jRmnVXdm0+MgJ1hihnqEfXYeFWA/NlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 253, - "estimated_final_weight": 521, - "excess_msat": 9999869000 - }, - { - "psbt": "cHNidP8BAF4CAAAAAVZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "dca40330e7b7b43397d5090e6568ae05e53690907ccc6d3da224a4351c727756", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////ASICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 1000, - "estimated_final_weight": 1443, - "excess_msat": 997354000, - "change_outnum": 0, - "reservations": [ - { - "txid": "9224b32e822f5122131759e3854b633b1e54eeb9547885e1f5a08be99b121bfc", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 175 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////ASICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq88AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAA==", - "feerate_per_kw": 1000, - "estimated_final_weight": 1443, - "excess_msat": 993084000, - "change_outnum": 0, - "reservations": [ - { - "txid": "b4b0a52856b533ef6375e6b98956468bcd64b3108da410477fcd33f4840b86e7", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BADMCAAAAAULcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAAAAAAD9////AGYAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 253, - "estimated_final_weight": 521, - "excess_msat": 9999869000 - }, - { - "psbt": "cHNidP8BAF4CAAAAAbEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "46786d1b31872cef6da1ceb8f222b3a4256fb5ac8c14b9c4c313fc9389e31fb1", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAARG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQAAAAD9////AU58DQAAAAAAIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM95AAAAAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "c1882f3ac6982a7d94ee585f490b877f76e452052226447b3da34c3e4297b811", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 193 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAeH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQAAAAD9////AU58DQAAAAAAIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X2GAAAAAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0AAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "ecf0b2a2e9a395a7ee9113ce5b165585037ab5ce8e49083b3482fa73f60cfae1", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 206 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAf/K9YsbCxoVAiDgMpE/MI3Dp3JAIYZ13i3GIgYwiM3nAQAAAAD9////AU58DQAAAAAAIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu36TAAAAAAEA9QIAAAAAAQGE6uaap2O3s6nD36OqwOYb5sPUAE0GymVeLQfSgwmEXQAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQJGMEMCIEismeiIrCJvJPzr3KG/7vcfFMMhbb6vx9YRLwz0rNUBAh9G71jfeCkk+mJXtes4Bm8CgZoTFPpCrSGgRGw7RtcDASECZhTrOMPPls113NzCmuu111rSIVaJ2kOaRGbZsa41WZ6NAAAAAQErAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQAA", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "e7cd88300622c62dde7586214072a7c38d303f9132e02002151a0b1b8bf5caff", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 219 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAaOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQAAAAD9////AU58DQAAAAAAIlEgEGf6wTvoGuGQnB1yXXQBbve/bt8bAzh9RhtJJfg26FWgAAAAAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBKwEvDwAAAAAAIlEg8Tk0Z8cXzVDeJ2AWfUMRFBqPdQyJ9U/SyQBgGn2oQ0wAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "3526be623463fefb4340b7b5ace1b9de2ad6686921709ec07fae8677a9a588a3", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 232 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAY6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQAAAAD9////AU58DQAAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreXAAAAAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBKwEvDwAAAAAAIlEgVcDvqqdKsxN3kvoAQphndXd9tNBcLIzxU0vPlIxmVcwAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "a0c46591f3f0f4c2f975ff9787de1cca6b04e1371bb3cfaa211f44561852968e", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 245 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAexljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "78bbc42f75acf68a1f0f37b7821ae10cad5ee929c263c62db487a85d428e65ec", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAdSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "b689aff3d20e8196446edcfabbb42d29f1bc468a4033fbfbb1a483d3721aaad4", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAS72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "5ec0677ea039f4ca9c2aa7170b03c8ace69b6077fda1a8c153a54be9bb31f62e", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAWcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "4be559acd0e517cb59a9b4cc4a7f6aed8d549e7ad49d0609deb3b23ed0702667", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAVjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5OAAAAAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "d020e467bb7a8b32f8be66808758fd532f1d1061311d2f70317369887203c258", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAdxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "2bfec44dd7ea3cfa11bc71f3793213b9335371eed583f4e67f6b814953dd69dc", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BAF4CAAAAAXjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": 3750, - "estimated_final_weight": 609, - "excess_msat": 0, - "change_outnum": 0, - "reservations": [ - { - "txid": "e08cb817e88a2fbcfcfdc23101ddf76b5015ab9092ebcb495e0067f74998e778", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 180 - } - ] - }, - { - "psbt": "cHNidP8BADMCAAAAAWAQ7eVtpYrBkXpl1ssm7XhuTzWJhdQhfiuIAoyOs++gAQAAAAD9////AGYAAAAAAQDeAgAAAAABASce8ZuEk+IFArgw4ey4v518hWDP+TUobuRZV592ELMSAAAAAAD9////Apkp2CkBAAAAFgAUvPbUzq3n/poSvhTWLXVvlM4wENtAQg8AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAkcwRAIgE7MAWQo9/WVWyZTO9hvIbKNBIcR+bI0ejrt+M879KEoCIFWOscP7g6dnWYjx+Z+gNw1dy2f6AStr+2/omyk0Nt8LASEDTm/MwptzU9PIxbKOBGl0dktQl1VIunlqpx49TvXDImNlAAAAAQEfQEIPAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUAA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 271, - "excess_msat": 497968000 - }, - { - "psbt": "cHNidP8BADMCAAAAASce8ZuEk+IFArgw4ey4v518hWDP+TUobuRZV592ELMSAQAAAAD9////AGcAAAAAAQDeAgAAAAABAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAAAAAAD9////AmZs5ykBAAAAFgAUi7TwcAXbUWywvDILswkKhW3CjHJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmAkcwRAIgK4gI8e973jI0KG1zOOHSQUzlto32C36FXbqJVh1F9PACIBfXG7kUoI6tSQ+UAGjfv2+VWiCdHP2vDlKoygpHr0SLASECK8uuhf/A94wy++W7cvHcreFKVoRaBHn25VLUkPjYjB1lAAAAAQEfQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 370, - "excess_msat": 497225000 - }, - { - "psbt": "cHNidP8BAF4CAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////ASaUBwAAAAAAIlEgbCfhlWrPph5oKSyAkIiA6BNFD3VBMuiirEcahr8TJrVmAAAAAAEA3gIAAAAAAQGt4jPmt9f6xsv5is7obkXC5Twc8t+nnfEWFIVmAajeLAAAAAAA/f///wIzr/YpAQAAABYAFB9tcS3qtkDI+QytiE4PFP+M70c7QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIA29pGA9HQPqdisONVDNESxMxow7b1KaYcvPb3ITJ6pDAiALWlOKXwAO5qEMG8dRR4MiT8GIVlukm/FGOh1ZZc8VfwEhA4O/9he0yADppXjdW5W3LA6fQTllivoWvi2p0LLQ850yZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "feerate_per_kw": 7500, - "estimated_final_weight": 443, - "excess_msat": 0, - "change_outnum": 0 - }, - { - "psbt": "cHNidP8BAFwCAAAAAlUuu3RGdKg4qZvX6kH0e6rBV0WHD88ycfjMe5ZyeekMAQAAAAD9////TaHBede4Dg7OjS3e00dGIuPkDzJUA5t9eIXo6FNE9WsBAAAAAP3///8AZgAAAAABAN4CAAAAAAEBYBDt5W2lisGRemXWyybteG5PNYmF1CF+K4gCjI6z76AAAAAAAP3///8CzObIKQEAAAAWABT9M4V0dc7kdjQfIUQxRYlNCDqbW0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgCRzBEAiAkl8nSuWmTL9w+D0ewPY5Q3pdeRP2J+qzE5pZxKIECSQIgQ5GY7CVThdvhEL3LpRER5RFpTi5SyALiEiLhe7qL4FIBIQNY1lyfd3ajcYml//NTNHAaJPalVoOZ8wkMVzTneZLST2UAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEA3gIAAAAAAQGt4jPmt9f6xsv5is7obkXC5Twc8t+nnfEWFIVmAajeLAAAAAAA/f///wIzr/YpAQAAABYAFB9tcS3qtkDI+QytiE4PFP+M70c7QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIA29pGA9HQPqdisONVDNESxMxow7b1KaYcvPb3ITJ6pDAiALWlOKXwAO5qEMG8dRR4MiT8GIVlukm/FGOh1ZZc8VfwEhA4O/9he0yADppXjdW5W3LA6fQTllivoWvi2p0LLQ850yZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUA", - "feerate_per_kw": 7500, - "estimated_final_weight": 542, - "excess_msat": 995935000 - }, - { - "psbt": "cHNidP8BADMCAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////AGYAAAAAAQDeAgAAAAABAa3iM+a31/rGy/mKzuhuRcLlPBzy36ed8RYUhWYBqN4sAAAAAAD9////AjOv9ikBAAAAFgAUH21xLeq2QMj5DK2ITg8U/4zvRztAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgDb2kYD0dA+p2Kw41UM0RLEzGjDtvUpphy89vchMnqkMCIAtaU4pfAA7moQwbx1FHgyJPwYhWW6Sb8UY6HVllzxV/ASEDg7/2F7TIAOmleN1blbcsDp9BOWWK+ha+LanQstDznTJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 271, - "excess_msat": 497968000, - "reservations": [ - { - "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-utxopsbt(7)", - "lightning-reserveinputs(7)", - "lightning-unreserveinputs(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-getinfo.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "getinfo", - "title": "Command to receive all information about the Core Lightning node.", - "description": [ - "The **getinfo** gives a summary of the current running node." - ], - "request": { - "required": [], - "properties": {} - }, - "response": { - "required": [ - "id", - "alias", - "color", - "num_peers", - "num_pending_channels", - "num_active_channels", - "num_inactive_channels", - "version", - "blockheight", - "network", - "fees_collected_msat", - "lightning-dir", - "address" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The public key unique to this node." - ] - }, - "alias": { - "type": "string", - "description": [ - "The fun alias this node will advertize." - ], - "maxLength": 32 - }, - "color": { - "type": "hex", - "description": [ - "The favorite RGB color this node will advertize." - ], - "minLength": 6, - "maxLength": 6 - }, - "num_peers": { - "type": "u32", - "description": [ - "The total count of peers, connected or with channels." - ] - }, - "num_pending_channels": { - "type": "u32", - "description": [ - "The total count of channels being opened." - ] - }, - "num_active_channels": { - "type": "u32", - "description": [ - "The total count of channels in normal state." - ] - }, - "num_inactive_channels": { - "type": "u32", - "description": [ - "The total count of channels waiting for opening or closing transactions to be mined." - ] - }, - "version": { - "type": "string", - "description": [ - "Identifies what bugs you are running into." - ] - }, - "lightning-dir": { - "type": "string", - "description": [ - "Identifies where you can find the configuration and other related files." - ] - }, - "our_features": { - "type": "object", - "description": [ - "Our BOLT #9 feature bits (as hexstring) for various contexts." - ], - "additionalProperties": true, - "required": [ - "init", - "node", - "channel", - "invoice" - ], - "properties": { - "init": { - "type": "hex", - "description": [ - "Features (incl. globalfeatures) in our init message, these also restrict what we offer in open_channel or accept in accept_channel." - ] - }, - "node": { - "type": "hex", - "description": [ - "Features in our node_announcement message." - ] - }, - "channel": { - "type": "hex", - "description": [ - "Negotiated channel features we (as channel initiator) publish in the channel_announcement message." - ] - }, - "invoice": { - "type": "hex", - "description": [ - "Features in our BOLT11 invoices." - ] - } - } - }, - "blockheight": { - "type": "u32", - "description": [ - "The highest block height we've learned." - ] - }, - "network": { - "type": "string", - "description": [ - "Represents the type of network on the node are working (e.g: `bitcoin`, `testnet`, or `regtest`)." - ] - }, - "fees_collected_msat": { - "type": "msat", - "description": [ - "Total routing fees collected by this node." - ] - }, - "address": { - "type": "array", - "description": [ - "The addresses we announce to the world." - ], - "items": { - "type": "object", - "required": [ - "type", - "port" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": [ - "Type of connection (until 23.08, `websocket` was also allowed)." - ] - }, - "port": { - "type": "u16", - "description": [ - "Port number." - ] - } - }, - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { - "required": [ - "type", - "address", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {}, - "address": { - "type": "string", - "description": [ - "Address in expected format for **type**." - ] - } - } - }, - "else": { - "required": [ - "type", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {} - } - } - } - }, - "binding": { - "type": "array", - "description": [ - "The addresses we are listening on." - ], - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket", - "websocket", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": [ - "Type of connection." - ] - }, - "address": { - "type": "string", - "description": [ - "Address in expected format for **type**." - ] - }, - "port": { - "type": "u16", - "description": [ - "Port number." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "local socket" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "type", - "socket" - ], - "properties": { - "type": {}, - "socket": { - "type": "string", - "description": [ - "Socket filename." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "type", - "address", - "port" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "subtype": {} - } - } - }, - { - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "websocket" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "type", - "address", - "port", - "subtype" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "subtype": { - "type": "string", - "description": [ - "Type of address." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [ - "type" - ], - "properties": { - "type": {}, - "address": {}, - "port": {}, - "socket": {} - } - } - } - ] - } - }, - "warning_bitcoind_sync": { - "type": "string", - "description": [ - "Bitcoind is not up-to-date with network." - ] - }, - "warning_lightningd_sync": { - "type": "string", - "description": [ - "Lightningd is still loading latest blocks from bitcoind." - ] - } - } - }, - "example_json_request": [ - { - "id": "example:getinfo#1", - "method": "getinfo", - "params": {} - }, - { - "id": "example:getinfo#2", - "method": "getinfo", - "params": "{}" - }, - { - "id": "example:getinfo#3", - "method": "getinfo", - "params": "{}" - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters or some error happened during the command process." - ], - "example_json_response": [ - { - "id": "02bf811f7571754f0b51e6d41a8885f5561041a7b14fac093e4cffb95749de1a8d", - "alias": "SLICKERGOPHER", - "color": "02bf81", - "num_peers": 0, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [ - { - "type": "torv3", - "address": "fp463inc4w3lamhhduytrwdwq6q6uzugtaeapylqfc43agrdnnqsheyd.onion", - "port": 9736 - }, - { - "type": "torv3", - "address": "ifnntp5ak4homxrti2fp6ckyllaqcike447ilqfrgdw64ayrmkyashid.onion", - "port": 9736 - } - ], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 9736 - } - ], - "version": "v0.10.2", - "blockheight": 724302, - "network": "bitcoin", - "msatoshi_fees_collected": 0, - "fees_collected_msat": "0msat", - "lightning-dir": "/media/vincent/Maxtor/C-lightning/node/bitcoin", - "our_features": { - "init": "8828226aa2", - "node": "80008828226aa2", - "channel": "", - "invoice": "20024200" - } - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-102-g8dbea74-modded", - "color": "022d22", - "num_peers": 0, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 35443 - } - ], - "version": "v23.11-102-g8dbea74-modded", - "blockheight": 101, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-xswexi6d/test_closing_simple_1/lightning-2/regtest", - "our_features": { - "init": "08a0000a0a69a2", - "node": "88a0000a0a69a2", - "channel": "", - "invoice": "02000002024100" - } - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-1-102-g8dbea74-modded", - "color": "0266e4", - "num_peers": 0, - "num_pending_channels": 0, - "num_active_channels": 0, - "num_inactive_channels": 0, - "address": [], - "binding": [ - { - "type": "ipv4", - "address": "127.0.0.1", - "port": 40543 - } - ], - "version": "v23.11-102-g8dbea74-modded", - "blockheight": 100, - "network": "regtest", - "fees_collected_msat": 0, - "lightning-dir": "/tmp/ltests-g74s257p/test_closing_while_disconnected_1/lightning-1/regtest", - "warning_lightningd_sync": "Still loading latest blocks from bitcoind.", - "our_features": { - "init": "08a0000a0a69a2", - "node": "88a0000a0a69a2", - "channel": "", - "invoice": "02000002024100" - } - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel(7)", - "lightning-listconfigs(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-getlog.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "getlog", - "title": "Command to show logs.", - "description": [ - "The **getlog** the RPC command to show logs, with optional log *level*." - ], - "request": { - "required": [], - "properties": { - "level": { - "type": "string", - "enum": [ - "broken", - "unusual", - "info", - "debug", - "io" - ], - "description": [ - "A string that represents the log level." - ], - "default": "*info*" - } - } - }, - "response": { - "required": [ - "created_at", - "bytes_used", - "bytes_max", - "log" - ], - "properties": { - "created_at": { - "type": "string", - "description": [ - "UNIX timestamp with 9 decimal places, when logging was initialized." - ] - }, - "bytes_used": { - "type": "u32", - "description": [ - "The number of bytes used by logging records." - ] - }, - "bytes_max": { - "type": "u32", - "description": [ - "The bytes_used values at which records will be trimmed ." - ] - }, - "log": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "SKIPPED", - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG", - "IO_IN", - "IO_OUT" - ] - } - }, - "allOf": [ - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "SKIPPED" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "num_skipped" - ], - "properties": { - "type": {}, - "num_skipped": { - "type": "u32", - "description": [ - "Number of unprinted log entries (deleted or below *level* parameter)." - ] - } - } - } - }, - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "time", - "source", - "log" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": [ - "UNIX timestamp with 9 decimal places after **created_at**." - ] - }, - "source": { - "type": "string", - "description": [ - "The particular logbook this was found in." - ] - }, - "log": { - "type": "string", - "description": [ - "The actual log message." - ] - }, - "node_id": { - "type": "pubkey", - "description": [ - "The peer this is associated with." - ] - } - } - } - }, - { - "if": { - "additionalProperties": true, - "properties": { - "type": { - "enum": [ - "IO_IN", - "IO_OUT" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "data" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": [ - "Seconds after **created_at**, with 9 decimal places." - ] - }, - "source": { - "type": "string", - "description": [ - "The particular logbook this was found in." - ] - }, - "log": { - "type": "string", - "description": [ - "The associated log message." - ] - }, - "node_id": { - "type": "pubkey", - "description": [ - "The peer this is associated with." - ] - }, - "data": { - "type": "hex", - "description": [ - "The IO which occurred." - ] - } - } - } - } - ] - } - } - } - }, - "example_json_request": [ - { - "id": "example:getlog#1", - "method": "getlog", - "params": { - "level": "debug" - } - }, - { - "id": "example:getlog#2", - "method": "getlog", - "params": { - "level": null - } - }, - { - "id": "example:getlog#3", - "method": "getlog", - "params": { - "level": "io" - } - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "example_json_response": [ - { - "created_at": "1598192543.820753463", - "bytes_used": 89285843, - "bytes_max": 104857600, - "log": [ - { - "type": "SKIPPED", - "num_skipped": 45 - }, - { - "type": "INFO", - "time": "0.453627568", - "source": "plugin-autopilot.py", - "log": "RPCmethod'autopilot-run-once'doesnothaveadocstring." - } - ] - }, - { - "created_at": "1708645658.185707566", - "bytes_used": 94241, - "bytes_max": 10485760, - "log": [ - { - "type": "INFO", - "time": "0.012095322", - "source": "lightningd", - "log": "v23.11-415-gd120eba" - }, - { - "type": "SKIPPED", - "num_skipped": 157 - }, - { - "type": "INFO", - "time": "0.678302604", - "source": "lightningd", - "log": "Creating database" - }, - { - "type": "SKIPPED", - "num_skipped": 10 - }, - { - "type": "INFO", - "time": "0.779010903", - "source": "plugin-bcli", - "log": "bitcoin-cli initialized and connected to bitcoind." - }, - { - "type": "SKIPPED", - "num_skipped": 199 - }, - { - "type": "INFO", - "time": "0.819915614", - "source": "plugin-bookkeeper", - "log": "Creating database" - }, - { - "type": "SKIPPED", - "num_skipped": 11 - }, - { - "type": "INFO", - "time": "0.820783154", - "source": "plugin-chanbackup", - "log": "Creating Emergency Recovery" - }, - { - "type": "SKIPPED", - "num_skipped": 5 - }, - { - "type": "INFO", - "time": "0.821438119", - "source": "lightningd", - "log": "--------------------------------------------------" - }, - { - "type": "INFO", - "time": "0.821461362", - "source": "lightningd", - "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" - }, - { - "type": "SKIPPED", - "num_skipped": 8 - }, - { - "type": "INFO", - "time": "0.837714852", - "source": "plugin-bookkeeper", - "log": "account wallet not found, adding" - }, - { - "type": "SKIPPED", - "num_skipped": 17 - } - ] - }, - { - "created_at": "1708645658.185707566", - "bytes_used": 96465, - "bytes_max": 10485760, - "log": [ - { - "type": "INFO", - "time": "0.012095322", - "source": "lightningd", - "log": "v23.11-415-gd120eba" - }, - { - "type": "DEBUG", - "time": "0.184708021", - "source": "lightningd", - "log": "Opened log file -" - }, - { - "type": "DEBUG", - "time": "0.184726903", - "source": "lightningd", - "log": "Opened log file /tmp/ltests-q4vf8c7b/test_getlog_1/lightning-1/log" - }, - { - "type": "DEBUG", - "time": "0.195336232", - "source": "plugin-manager", - "log": "started(2851064) /home/shahana/workspace/lightning/plugins/autoclean" - }, - { - "type": "IO_OUT", - "time": "0.195449022", - "source": "plugin-autoclean", - "log": "0", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.203960736", - "source": "plugin-manager", - "log": "started(2851065) /home/shahana/workspace/lightning/plugins/chanbackup" - }, - { - "type": "IO_OUT", - "time": "0.204067631", - "source": "plugin-chanbackup", - "log": "1", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.212390007", - "source": "plugin-manager", - "log": "started(2851066) /home/shahana/workspace/lightning/plugins/bcli" - }, - { - "type": "IO_OUT", - "time": "0.212498307", - "source": "plugin-bcli", - "log": "2", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.220900659", - "source": "plugin-manager", - "log": "started(2851067) /home/shahana/workspace/lightning/plugins/commando" - }, - { - "type": "IO_OUT", - "time": "0.221014666", - "source": "plugin-commando", - "log": "3", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.229779872", - "source": "plugin-manager", - "log": "started(2851068) /home/shahana/workspace/lightning/plugins/fetchinvoice" - }, - { - "type": "IO_OUT", - "time": "0.229893615", - "source": "plugin-fetchinvoice", - "log": "4", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.238642848", - "source": "plugin-manager", - "log": "started(2851070) /home/shahana/workspace/lightning/plugins/funder" - }, - { - "type": "IO_OUT", - "time": "0.238789108", - "source": "plugin-funder", - "log": "5", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.247287286", - "source": "plugin-manager", - "log": "started(2851071) /home/shahana/workspace/lightning/plugins/topology" - }, - { - "type": "IO_OUT", - "time": "0.247392518", - "source": "plugin-topology", - "log": "6", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.255730759", - "source": "plugin-manager", - "log": "started(2851072) /home/shahana/workspace/lightning/plugins/keysend" - }, - { - "type": "IO_OUT", - "time": "0.255845061", - "source": "plugin-keysend", - "log": "7", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.264311177", - "source": "plugin-manager", - "log": "started(2851073) /home/shahana/workspace/lightning/plugins/offers" - }, - { - "type": "IO_OUT", - "time": "0.264417419", - "source": "plugin-offers", - "log": "8", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.272766795", - "source": "plugin-manager", - "log": "started(2851074) /home/shahana/workspace/lightning/plugins/pay" - }, - { - "type": "IO_OUT", - "time": "0.272872865", - "source": "plugin-pay", - "log": "9", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.281192680", - "source": "plugin-manager", - "log": "started(2851075) /home/shahana/workspace/lightning/plugins/recover" - }, - { - "type": "IO_OUT", - "time": "0.281297151", - "source": "plugin-recover", - "log": "10", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.289779969", - "source": "plugin-manager", - "log": "started(2851076) /home/shahana/workspace/lightning/plugins/txprepare" - }, - { - "type": "IO_OUT", - "time": "0.289889582", - "source": "plugin-txprepare", - "log": "11", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.298296642", - "source": "plugin-manager", - "log": "started(2851077) /home/shahana/workspace/lightning/plugins/cln-renepay" - }, - { - "type": "IO_OUT", - "time": "0.298403651", - "source": "plugin-cln-renepay", - "log": "12", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.306830078", - "source": "plugin-manager", - "log": "started(2851078) /home/shahana/workspace/lightning/plugins/spenderp" - }, - { - "type": "IO_OUT", - "time": "0.306940115", - "source": "plugin-spenderp", - "log": "13", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.315169120", - "source": "plugin-manager", - "log": "started(2851079) /home/shahana/workspace/lightning/plugins/sql" - }, - { - "type": "IO_OUT", - "time": "0.315276367", - "source": "plugin-sql", - "log": "14", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.323937967", - "source": "plugin-manager", - "log": "started(2851080) /home/shahana/workspace/lightning/plugins/cln-grpc" - }, - { - "type": "IO_OUT", - "time": "0.324056040", - "source": "plugin-cln-grpc", - "log": "15", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.333568237", - "source": "plugin-manager", - "log": "started(2851081) /home/shahana/workspace/lightning/plugins/bookkeeper" - }, - { - "type": "IO_OUT", - "time": "0.333680205", - "source": "plugin-bookkeeper", - "log": "16", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.343206810", - "source": "plugin-manager", - "log": "started(2851084) /home/shahana/workspace/lightning/plugins/clnrest/clnrest.py" - }, - { - "type": "IO_OUT", - "time": "0.343314799", - "source": "plugin-clnrest.py", - "log": "17", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.362387733", - "source": "plugin-cln-grpc", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d65737361" - }, - { - "type": "IO_IN", - "time": "0.362551520", - "source": "plugin-autoclean", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a302c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226175746f636c65616e69" - }, - { - "type": "IO_IN", - "time": "0.362619498", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.362654151", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626974636f696e2d6461" - }, - { - "type": "IO_IN", - "time": "0.362688064", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.362720560", - "source": "plugin-fetchinvoice", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226665746368696e766f69" - }, - { - "type": "IO_IN", - "time": "0.362809645", - "source": "plugin-funder", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a352c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2266756e6465722d706f6c" - }, - { - "type": "IO_IN", - "time": "0.362847103", - "source": "plugin-topology", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a362c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.362882935", - "source": "plugin-keysend", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a372c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.362917685", - "source": "plugin-offers", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a382c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" - }, - { - "type": "IO_IN", - "time": "0.362950859", - "source": "plugin-pay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a392c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2264697361626c652d6d70" - }, - { - "type": "IO_IN", - "time": "0.362978486", - "source": "plugin-recover", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31302c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b5d2c" - }, - { - "type": "IO_IN", - "time": "0.363011904", - "source": "plugin-txprepare", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" - }, - { - "type": "IO_IN", - "time": "0.363038203", - "source": "plugin-cln-renepay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2272656e657061792d64" - }, - { - "type": "IO_IN", - "time": "0.363072632", - "source": "plugin-spenderp", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" - }, - { - "type": "IO_IN", - "time": "0.363097470", - "source": "plugin-sql", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226465762d73716c6669" - }, - { - "type": "IO_IN", - "time": "0.363119187", - "source": "plugin-cln-grpc", - "log": "", - "data": "6765223a22506c7567696e206c6f6767696e6720696e697469616c697a6564227d7d0a0a7b226964223a31352c226a736f6e727063223a22322e30222c227265" - }, - { - "type": "DEBUG", - "time": "0.363152490", - "source": "plugin-cln-grpc", - "log": "Plugin logging initialized" - }, - { - "type": "IO_IN", - "time": "0.363175790", - "source": "plugin-autoclean", - "log": "", - "data": "6e766f6963652d6379636c65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506572666f726d20636c65616e7570206f6620" - }, - { - "type": "IO_IN", - "time": "0.363197370", - "source": "plugin-chanbackup", - "log": "", - "data": "616d65223a22656d657267656e63797265636f766572222c227573616765223a22222c226465736372697074696f6e223a22506f70756c617465732074686520" - }, - { - "type": "IO_IN", - "time": "0.363231169", - "source": "plugin-bcli", - "log": "", - "data": "7461646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a222d646174616469722061726720666f7220626974636f696e2d63" - }, - { - "type": "IO_IN", - "time": "0.363253410", - "source": "plugin-commando", - "log": "", - "data": "616d65223a22636f6d6d616e646f222c227573616765223a22706565725f6964206d6574686f64205b706172616d735d205b72756e655d205b66696c7465725d" - }, - { - "type": "IO_IN", - "time": "0.363275325", - "source": "plugin-fetchinvoice", - "log": "", - "data": "63652d6e6f636f6e6e656374222c2274797065223a22666c6167222c226465736372697074696f6e223a22446f6e27742074727920746f20636f6e6e65637420" - }, - { - "type": "IO_IN", - "time": "0.363297475", - "source": "plugin-funder", - "log": "", - "data": "696379222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506f6c69637920746f2075736520666f72206475616c2d66756e6469" - }, - { - "type": "IO_IN", - "time": "0.363321878", - "source": "plugin-topology", - "log": "", - "data": "616d65223a22676574726f757465222c227573616765223a22696420616d6f756e745f6d736174207269736b666163746f72205b636c74765d205b66726f6d69" - }, - { - "type": "IO_IN", - "time": "0.363353131", - "source": "plugin-keysend", - "log": "", - "data": "616d65223a226b657973656e64222c227573616765223a2264657374696e6174696f6e20616d6f756e745f6d736174205b6c6162656c5d205b6d617866656570" - }, - { - "type": "IO_IN", - "time": "0.363377908", - "source": "plugin-offers", - "log": "", - "data": "616d65223a226f66666572222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b7175616e74" - }, - { - "type": "IO_IN", - "time": "0.363399832", - "source": "plugin-pay", - "log": "", - "data": "70222c2274797065223a22666c6167222c226465736372697074696f6e223a2244697361626c65206d756c74692d70617274207061796d656e74732e222c2264" - }, - { - "type": "IO_IN", - "time": "0.363421852", - "source": "plugin-recover", - "log": "", - "data": "22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c226479" - }, - { - "type": "IO_IN", - "time": "0.363443688", - "source": "plugin-txprepare", - "log": "", - "data": "6e616d65223a22747870726570617265222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c" - }, - { - "type": "IO_IN", - "time": "0.363466390", - "source": "plugin-cln-renepay", - "log": "", - "data": "656275672d6d6366222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179204d434620646562756720" - }, - { - "type": "IO_IN", - "time": "0.363488476", - "source": "plugin-spenderp", - "log": "", - "data": "6e616d65223a226d756c74697769746864726177222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f" - }, - { - "type": "IO_IN", - "time": "0.363510863", - "source": "plugin-sql", - "log": "", - "data": "6c656e616d65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22557365206f6e2d6469736b2073716c697465332066696c6520" - }, - { - "type": "IO_IN", - "time": "0.363533062", - "source": "plugin-cln-grpc", - "log": "", - "data": "73756c74223a7b2264796e616d6963223a66616c73652c226665617475726562697473223a7b7d2c22686f6f6b73223a5b5d2c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d2c226f7074696f6e73223a5b7b226465736372697074696f6e223a22576869636820706f72742073686f756c6420746865206772706320706c7567696e206c697374656e20666f7220696e636f6d696e6720636f6e6e656374696f6e733f222c226e616d65223a22677270632d706f7274222c2274797065223a22696e74227d5d2c227270636d65" - }, - { - "type": "IO_IN", - "time": "0.363562394", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a31362c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626f6f6b6b65657065" - }, - { - "type": "IO_IN", - "time": "0.363591128", - "source": "plugin-autoclean", - "log": "", - "data": "6578706972656420696e766f6963657320657665727920676976656e207365636f6e64732c206f7220646f206e6f74206175746f636c65616e2069662030222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f63" - }, - { - "type": "IO_IN", - "time": "0.363617319", - "source": "plugin-chanbackup", - "log": "", - "data": "444220776974682073747562206368616e6e656c73222c226c6f6e675f6465736372697074696f6e223a2272657475726e732073747562206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d2c7b226e616d65223a22726573746f726566726f6d70656572222c227573616765223a22222c226465736372" - }, - { - "type": "IO_IN", - "time": "0.363646373", - "source": "plugin-bcli", - "log": "", - "data": "6c69222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d636c69222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e2d636c6920706174686e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f69" - }, - { - "type": "IO_IN", - "time": "0.363671462", - "source": "plugin-commando", - "log": "", - "data": "222c226465736372697074696f6e223a2253656e64206120636f6d6d616e646f206d65737361676520746f20612064697265637420706565722c207761697420666f7220726573706f6e7365222c226c6f6e675f6465736372697074696f6e223a2253656e6473207b706565725f69647d207b6d6574686f647d207769746820" - }, - { - "type": "IO_IN", - "time": "0.363697818", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6469726563746c7920746f20666574636820616e20696e766f6963652e222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226665746368696e766f696365222c227573616765223a226f66666572205b616d6f756e745f6d7361745d205b7175616e746974795d205b72" - }, - { - "type": "IO_IN", - "time": "0.363723521", - "source": "plugin-funder", - "log": "", - "data": "6e672072657175657374732e205b6d617463682c20617661696c61626c652c2066697865645d222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d706f6c6963792d6d6f64222c2274797065223a22737472696e67222c226465736372697074696f6e223a2250657263656e7420746f2061" - }, - { - "type": "IO_IN", - "time": "0.363755407", - "source": "plugin-topology", - "log": "", - "data": "645d205b66757a7a70657263656e745d205b6578636c7564655d205b6d6178686f70735d222c226465736372697074696f6e223a225072696d697469766520726f75746520636f6d6d616e64222c226c6f6e675f6465736372697074696f6e223a2253686f7720726f75746520746f207b69647d20666f72207b6d7361746f73" - }, - { - "type": "IO_IN", - "time": "0.363783132", - "source": "plugin-keysend", - "log": "", - "data": "657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6578747261746c76735d205b726f75746568696e74735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e642061207061796d656e7420776974686f757420616e2069" - }, - { - "type": "IO_IN", - "time": "0.363806803", - "source": "plugin-offers", - "log": "", - "data": "6974795f6d61785d205b6162736f6c7574655f6578706972795d205b726563757272656e63655d205b726563757272656e63655f626173655d205b726563757272656e63655f70617977696e646f775d205b726563757272656e63655f6c696d69745d205b73696e676c655f7573655d205b726563757272656e63655f737461" - }, - { - "type": "IO_IN", - "time": "0.363830048", - "source": "plugin-pay", - "log": "", - "data": "796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22706179737461747573222c227573616765223a225b626f6c7431315d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f" - }, - { - "type": "IO_IN", - "time": "0.363905454", - "source": "plugin-recover", - "log": "", - "data": "6e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.363967771", - "source": "plugin-txprepare", - "log": "", - "data": "226465736372697074696f6e223a224372656174652061207472616e73616374696f6e2c2077697468206f7074696f6e20746f207370656e6420696e20667574757265202865697468657220747873656e6420616e642074786469736361726429222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e" - }, - { - "type": "IO_IN", - "time": "0.363992342", - "source": "plugin-cln-renepay", - "log": "", - "data": "696e666f2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2272656e657061792d64656275672d706179666c6f77222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179207061796d656e7420666c6f777320646562756720696e666f2e222c22" - }, - { - "type": "IO_IN", - "time": "0.364019696", - "source": "plugin-spenderp", - "log": "", - "data": "735d222c226465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d2076696120612073696e676c6520426974636f696e207472616e73616374696f6e2e222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d20" - }, - { - "type": "IO_IN", - "time": "0.364044538", - "source": "plugin-sql", - "log": "", - "data": "696e7374656164206f6620696e206d656d6f72792028652e672e20646562756767696e6729222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2273716c222c227573616765223a227175657279222c226465736372697074696f6e223a2252756e207b71756572797d20" - }, - { - "type": "IO_IN", - "time": "0.364069485", - "source": "plugin-cln-grpc", - "log": "", - "data": "74686f6473223a5b5d2c22737562736372697074696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.364151935", - "source": "plugin-bookkeeper", - "log": "", - "data": "722d646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e20666f7220626f6f6b6b6565706572207265" - }, - { - "type": "IO_IN", - "time": "0.364182166", - "source": "plugin-autoclean", - "log": "", - "data": "6c65616e696e766f6963652d657870697265642d6279222c2274797065223a22737472696e67222c226465736372697074696f6e223a224966206578706972656420696e766f696365206175746f636c65616e20656e61626c65642c20696e766f6963657320746861742068617665206578706972656420666f72206174206c65617374207468697320676976656e207365636f6e64732061726520636c65616e6564222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f636c65616e2d6379636c65222c2274797065223a22696e74222c2264" - }, - { - "type": "IO_IN", - "time": "0.364213553", - "source": "plugin-chanbackup", - "log": "", - "data": "697074696f6e223a22436865636b732069662069206861766520676f742061206261636b75702066726f6d206120706565722c20616e6420696620736f2c2077696c6c20737475622074686f7365206368616e6e656c7320696e2074686520646174616261736520616e64206966206973207375636365737366756c2c2077696c6c2072657475726e206c697374206f66206368616e6e656c7320746861742068617665206265656e207375636365737366756c6c792073747562626564222c226c6f6e675f6465736372697074696f6e223a2272657475726e206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d5d2c22737562736372" - }, - { - "type": "IO_IN", - "time": "0.364262136", - "source": "plugin-bcli", - "log": "", - "data": "6e2d72706375736572222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320757365726e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72706370617373776f7264222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e64205250432070617373776f7264222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063636f6e6e656374222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320" - }, - { - "type": "IO_IN", - "time": "0.364289819", - "source": "plugin-commando", - "log": "", - "data": "6f7074696f6e616c207b706172616d737d20616e64207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d72756e65222c227573616765223a225b72756e655d205b7265737472696374696f6e735d222c226465736372697074696f6e223a22437265617465206f7220726573747269637420612072756e65222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d2077697468206f7074696f6e616c207b7265737472696374696f6e737d20616e642072657475726e73207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d6c69737472756e6573222c227573" - }, - { - "type": "IO_IN", - "time": "0.364317052", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6563757272656e63655f636f756e7465725d205b726563757272656e63655f73746172745d205b726563757272656e63655f6c6162656c5d205b74696d656f75745d205b70617965725f6e6f74655d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220616e20696e766f69636520666f722074686973207b6f666665727d2c2077697468207b616d6f756e747d2c207b7175616e69746974797d2c207b726563757272656e63655f636f756e7465727d2c207b726563757272656e63655f73746172747d20616e64207b726563757272656e63655f6c6162656c7d206966662072657175697265642e227d" - }, - { - "type": "IO_IN", - "time": "0.364343602", - "source": "plugin-funder", - "log": "", - "data": "70706c7920706f6c69637920617420286d617463682f617661696c61626c65293b206f7220616d6f756e7420746f2066756e642028666978656429222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d696e2d74686569722d66756e64696e67222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e672070656572206d757374206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d61782d74686569722d66756e64696e67222c" - }, - { - "type": "IO_IN", - "time": "0.364369671", - "source": "plugin-topology", - "log": "", - "data": "68697d2c207573696e67207b7269736b666163746f727d20616e64206f7074696f6e616c207b636c74767d202864656661756c742039292e20496620737065636966696564207365617263682066726f6d207b66726f6d69647d206f7468657277697365207573652074686973206e6f646520617320736f757263652e2052616e646f6d697a652074686520726f757465207769746820757020746f207b66757a7a70657263656e747d202869676e6f72656429292e207b6578636c7564657d20616e206172726179206f662073686f72742d6368616e6e656c2d69642f646972656374696f6e2028652e672e205b20273536343333347838373778312f3027" - }, - { - "type": "IO_IN", - "time": "0.364395687", - "source": "plugin-keysend", - "log": "", - "data": "6e766f69636520746f2061206e6f6465222c226c6f6e675f6465736372697074696f6e223a2253656e6420616e20756e736f6c696369746564207061796d656e74206f66207b616d6f756e747d20746f207b64657374696e6174696f6e7d2c2062792070726f766964696e672074686520726563697069656e7420746865206e656365737361727920696e666f726d6174696f6e20746f20636c61696d20746865207061796d656e74227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a2268746c635f6163636570746564227d" - }, - { - "type": "IO_IN", - "time": "0.364423440", - "source": "plugin-offers", - "log": "", - "data": "72745f616e795f706572696f645d222c226465736372697074696f6e223a2243726561746520616e206f6666657220746f20616363657074206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e206f6666657220666f7220696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c207b7175616e746974795f6d696e7d2c207b7175616e746974795f6d61787d2c207b6162736f6c7574655f6578706972797d2c207b726563757272656e63657d2c207b726563757272656e" - }, - { - "type": "IO_IN", - "time": "0.364456309", - "source": "plugin-pay", - "log": "", - "data": "7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a226c69737470617973222c227573616765223a225b626f6c7431315d205b7061796d656e745f686173685d205b7374617475735d222c226465736372697074696f6e223a224c69737420726573756c74206f66207061796d656e74207b626f6c7431317d206f72207b7061796d656e745f686173687d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f76657273206f6c64207061796d656e747320286661696c656420" - }, - { - "type": "IO_IN", - "time": "0.364482928", - "source": "plugin-txprepare", - "log": "", - "data": "20756e7369676e6564207472616e73616374696f6e20706179696e67207b6f7574707574737d2077697468206f7074696f6e616c207b666565726174657d2c207b6d696e636f6e667d20616e64207b7574786f737d227d2c7b226e616d65223a22747864697363617264222c227573616765223a2274786964222c226465736372697074696f6e223a22446973636172642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a22446973636172642061207472616e73636174696f6e206279207b747869647d227d2c7b226e616d65223a22747873656e64222c227573" - }, - { - "type": "IO_IN", - "time": "0.364510439", - "source": "plugin-cln-renepay", - "log": "", - "data": "64796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2272656e65706179737461747573222c227573616765223a225b696e76737472696e675d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a2272656e65706179222c227573616765223a22696e76737472696e67205b616d6f756e745f6d7361" - }, - { - "type": "IO_IN", - "time": "0.364538881", - "source": "plugin-spenderp", - "log": "", - "data": "6174206f7074696f6e61207b666565726174657d2c207370656e64696e6720636f696e73206174206c65617374207b6d696e636f6e667d2064657074682c206f722074686520737065636966696564207b7574786f737d2e227d2c7b226e616d65223a2266756e646368616e6e656c222c227573616765223a22696420616d6f756e74205b666565726174655d205b616e6e6f756e63655d205b6d696e636f6e665d205b7574786f735d205b707573685f6d7361745d205b636c6f73655f746f5d205b726571756573745f616d745d205b636f6d706163745f6c656173655d205b6d696e64657074685d205b726573657276655d205b6368616e6e656c5f7479" - }, - { - "type": "IO_IN", - "time": "0.364565445", - "source": "plugin-sql", - "log": "", - "data": "616e642072657475726e20726573756c74222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e64206576657221227d2c7b226e616d65223a226c69737473716c736368656d6173222c227573616765223a225b7461626c655d222c226465736372697074696f6e223a22446973706c617920736368656d617320666f7220696e7465726e616c2073716c207461626c65732c206f72206a757374207b7461626c657d222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e642065" - }, - { - "type": "IO_IN", - "time": "0.364591128", - "source": "plugin-bookkeeper", - "log": "", - "data": "636f7264732e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626f6f6b6b65657065722d6462222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e206f662074686520626f6f6b6b6565706572206461746162617365222c2264796e616d6963223a66" - }, - { - "type": "IO_IN", - "time": "0.364620270", - "source": "plugin-autoclean", - "log": "", - "data": "65736372697074696f6e223a22506572666f726d20636c65616e757020657665727920676976656e207365636f6e6473222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c20666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c656420666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c2070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d" - }, - { - "type": "IO_IN", - "time": "0.364664187", - "source": "plugin-chanbackup", - "log": "", - "data": "697074696f6e73223a5b226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d2c7b226e616d65223a22706565725f636f6e6e6563746564227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.364877068", - "source": "plugin-bcli", - "log": "", - "data": "686f737420746f20636f6e6e65637420746f222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063706f7274222c2274797065223a22696e74222c226465736372697074696f6e223a22626974636f696e642052504320686f7374277320706f7274222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72657472792d74696d656f7574222c2274797065223a22737472696e67222c226465736372697074696f6e223a22686f77206c6f6e6720746f206b656570207265747279696e6720746f20636f6e7461637420626974636f696e64206265666f726520666174616c6c792065786974696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226465762d6e6f2d66616b652d66656573222c2274797065223a22626f6f6c222c226465736372697074696f6e223a225375707072657373206665652066616b696e6720666f722072656774657374222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22676574726177626c6f636b6279686569676874222c227573616765223a22686569676874222c226465736372697074696f6e223a224765742074686520626974636f696e20626c6f636b206174206120676976656e20686569676874222c226c6f6e" - }, - { - "type": "IO_IN", - "time": "0.364914640", - "source": "plugin-commando", - "log": "", - "data": "616765223a225b72756e655d222c226465736372697074696f6e223a224c6973742072756e657320776520686176652063726561746564206561726c696572222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d20616e642072657475726e73206c697374206f66207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d626c61636b6c697374222c227573616765223a225b73746172745d205b656e645d222c226465736372697074696f6e223a22426c61636b6c69737420612072756e65206f722072616e6765206f662072756e657320627920756e69717565206964222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b73746172747d20616e6420616e206f7074696f6e616c207b656e647d20616e642072657475726e73207b626c61636b6c6973747d20617272617920636f6e7461696e696e67207b73746172747d2c207b656e647d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f7469666963617469" - }, - { - "type": "IO_IN", - "time": "0.364949332", - "source": "plugin-fetchinvoice", - "log": "", - "data": "2c7b226e616d65223a2273656e64696e766f696365222c227573616765223a22696e76726571206c6162656c205b616d6f756e745f6d7361745d205b74696d656f75745d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220746f207061792074686973207b696e767265717d2c2077697468207b6c6162656c7d2c206f7074696f6e616c207b616d6f756e745f6d7361747d2c20616e64207b74696d656f75747d202864656661756c74203930207365636f6e6473292e227d2c7b226e616d65223a226465762d72617772657175657374222c227573616765223a22696e76726571206e6f64656964205b74696d656f75745d222c226465736372697074696f6e223a2253656e64207b696e767265717d20746f207b6e6f646569647d2c2077616974207b74696d656f75747d20283630207365636f6e64732062792064656661756c7429227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f726563765f736563726574227d2c7b226e616d65223a22696e766f6963655f7061796d656e74227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e" - }, - { - "type": "IO_IN", - "time": "0.364984289", - "source": "plugin-funder", - "log": "", - "data": "2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e672070656572206d6179206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d696e222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2049662077652063616e2774206d65657420746869732c20776520646f6e27742066756e64222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d6178222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2057652063617020616c6c20636f6e747269627574696f6e7320746f2074686973222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d726573657276652d74616e6b222c2274797065223a22737472696e67222c226465736372697074696f6e223a22416d6f756e74206f662066756e6473207765276c6c20616c77617973206c" - }, - { - "type": "IO_IN", - "time": "0.365025842", - "source": "plugin-topology", - "log": "", - "data": "2c2027353634313935783132393278302f3127205d29206f72206e6f64652d69642066726f6d20636f6e73696465726174696f6e2e2053657420746865207b6d6178686f70737d2074686520726f7574652063616e2074616b65202864656661756c74203230292e227d2c7b226e616d65223a226c6973746368616e6e656c73222c227573616765223a225b73686f72745f6368616e6e656c5f69645d205b736f757263655d205b64657374696e6174696f6e5d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206368616e6e656c7320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206368616e6e656c7320666f72207b73686f72745f6368616e6e656c5f69647d2c207b736f757263657d206f72207b64657374696e6174696f6e7d20286f7220616c6c206b6e6f776e206368616e6e656c732c206966206e6f742073706563696669656429227d2c7b226e616d65223a226c6973746e6f646573222c227573616765223a225b69645d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206e6f64657320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206e6f6465207b69647d20286f7220616c6c206b6e6f776e206e6f64732c206966206e6f" - }, - { - "type": "IO_IN", - "time": "0.365063477", - "source": "plugin-keysend", - "log": "", - "data": "5d2c226665617475726562697473223a7b22696e6974223a22222c226e6f6465223a223830303030303030303030303030222c226368616e6e656c223a22222c22696e766f696365223a22227d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.365238159", - "source": "plugin-offers", - "log": "", - "data": "63655f626173657d2c207b726563757272656e63655f70617977696e646f777d2c207b726563757272656e63655f6c696d69747d20616e64207b73696e676c655f7573657d227d2c7b226e616d65223a22696e766f69636572657175657374222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b6162736f6c7574655f6578706972795d205b73696e676c655f7573655d222c226465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2073656e64206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2070617920696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c20616e64207b6162736f6c7574655f6578706972797d227d2c7b226e616d65223a226465636f6465222c227573616765223a22737472696e67222c226465736372697074696f6e223a224465636f6465207b737472696e677d206d6573736167652c2072657475726e696e67207b747970657d20616e6420696e666f726d6174696f6e2e227d5d2c22737562736372697074696f6e73223a" - }, - { - "type": "IO_IN", - "time": "0.365288172", - "source": "plugin-pay", - "log": "", - "data": "616e64207375636365656465642920616e642063757272656e74206f6e65732e227d2c7b226e616d65223a22706179222c227573616765223a22626f6c743131205b616d6f756e745f6d7361745d205b6c6162656c5d205b7269736b666163746f725d205b6d617866656570657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6c6f63616c696e7672657169645d205b6578636c7564655d205b6d61786665655d205b6465736372697074696f6e5d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b626f6c7431317d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920746865207b626f6c7431317d20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.365522921", - "source": "plugin-txprepare", - "log": "", - "data": "616765223a2274786964222c226465736372697074696f6e223a2253656e642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a2253656e642061207472616e7361636174696f6e206279207b747869647d227d2c7b226e616d65223a227769746864726177222c227573616765223a2264657374696e6174696f6e207361746f736869205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c226465736372697074696f6e223a2253656e642066756e647320746f207b64657374696e6174696f6e7d2061646472657373222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f207b64657374696e6174696f6e7d207b7361746f7368697d20286f722027616c6c2729206174206f7074696f6e616c207b666565726174657d207573696e67207574786f732066726f6d207b6d696e636f6e667d206f72207b7574786f737d2e227d2c7b226e616d65223a227570677261646577616c6c6574222c227573616765223a225b666565726174655d205b72657365727665646f6b5d222c226465736372697074696f6e223a225370656e6420703273682077726170706564206f75747075747320696e746f2061206e617469766520736567776974206f7574707574222c226c6f6e675f646573" - }, - { - "type": "IO_IN", - "time": "0.365560810", - "source": "plugin-cln-renepay", - "log": "", - "data": "745d205b6d61786665655d205b6d617864656c61795d205b72657472795f666f725d205b6c6f63616c6f6666657269645d205b6465736372697074696f6e5d205b6c6162656c5d205b6465765f626173655f6665655f70656e616c74795d205b6465765f70726f625f636f73745f666163746f725d205b6465765f7269736b666163746f725d205b6465765f6d696e5f70726f625f737563636573735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b696e76737472696e677d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920616e20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273656e647061795f73756363657373222c2273656e647061795f6661696c757265222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.365765442", - "source": "plugin-spenderp", - "log": "", - "data": "70655d222c226465736372697074696f6e223a2246756e64206368616e6e656c2077697468207b69647d207573696e67207b616d6f756e747d20286f722027616c6c27292c206174206f7074696f6e616c207b666565726174657d2e204f6e6c7920757365206f75747075747320746861742068617665207b6d696e636f6e667d20636f6e6669726d6174696f6e732e222c226c6f6e675f6465736372697074696f6e223a22496e69746961746965732061206368616e6e656c206f70656e2077697468206e6f646520276964272e204d75737420626520636f6e6e656374656420746f20746865206e6f646520616e64206861766520656e6f7567682066756e647320617661696c61626c652061742074686520726571756573746564206d696e696d756d20636f6e6669726d6174696f6e20646570746820286d696e636f6e6629227d2c7b226e616d65223a226d756c746966756e646368616e6e656c222c227573616765223a2264657374696e6174696f6e73205b666565726174655d205b6d696e636f6e665d205b7574786f735d205b6d696e6368616e6e656c735d205b636f6d6d69746d656e745f666565726174655d222c226465736372697074696f6e223a2246756e64206368616e6e656c7320746f207b64657374696e6174696f6e737d2c20776869636820697320616e206172726179206f66206f626a65" - }, - { - "type": "IO_IN", - "time": "0.365808441", - "source": "plugin-sql", - "log": "", - "data": "76657221227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.366017120", - "source": "plugin-bookkeeper", - "log": "", - "data": "616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22626b70722d6c69737462616c616e636573222c227573616765223a22222c226465736372697074696f6e223a224c6973742063757272656e74206163636f756e742062616c616e636573222c226c6f6e675f6465736372697074696f6e223a224c697374206f662063757272656e74206163636f756e747320616e642074686569722062616c616e636573227d2c7b226e616d65223a22626b70722d6c6973746163636f756e746576656e7473222c227573616765223a225b6163636f756e745d222c226465736372697074696f6e223a224c69737420616c6c206576656e747320" - }, - { - "type": "IO_IN", - "time": "0.366064302", - "source": "plugin-autoclean", - "log": "", - "data": "6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c65642070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d70616964696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207061696420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d65787069726564696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206578706972656420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226175746f636c65616e696e766f696365222c227573616765223a225b6379636c655f7365636f6e64735d205b657870697265645f62795d222c226465736372697074696f6e223a22536574207570206175746f636c65616e206f66206578706972656420696e766f696365732e20222c226c6f6e675f6465736372697074696f6e223a22506572666f726d20636c65616e7570206576657279207b6379636c655f7365636f6e64737d202864656661756c742033363030292c206f722064697361626c65206175746f636c65616e20696620302e20436c65616e207570206578706972656420696e766f6963657320746861742068617665206578706972656420666f72207b657870697265645f62797d207365636f6e6473202864656661756c74203836343030292e20222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d7d2c7b226e616d65223a226175746f636c65616e2d737461747573222c227573616765223a225b73756273797374656d5d222c226465736372697074696f6e223a2253686f7720737461747573206f66206175746f636c65616e696e67222c226c6f6e675f6465736372697074696f6e223a2254616b6573206f7074696f6e616c207b73756273797374656d7d227d2c7b226e616d65223a226175746f636c65616e2d6f6e6365222c227573616765223a2273756273797374656d20616765222c226465736372697074696f6e223a22506572666f726d2061" - }, - { - "type": "IO_IN", - "time": "0.366122868", - "source": "plugin-bcli", - "log": "", - "data": "675f6465736372697074696f6e223a22227d2c7b226e616d65223a22676574636861696e696e666f222c227573616765223a226c6173745f686569676874222c226465736372697074696f6e223a224765742074686520636861696e2069642c207468652068656164657220636f756e742c2074686520626c6f636b20636f756e742c20616e6420776865746865722074686973206973204942442e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a22657374696d61746566656573222c227573616765223a22222c226465736372697074696f6e223a224765742074686520757267656e742c206e6f726d616c20616e6420736c6f7720426974636f696e206665657261746573206173207361742f6b56422e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a2273656e647261777472616e73616374696f6e222c227573616765223a22747820616c6c6f776869676866656573222c226465736372697074696f6e223a2253656e64206120726177207472616e73616374696f6e20746f2074686520426974636f696e206e6574776f726b2e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a226765747574786f7574222c227573616765223a227478696420766f7574222c226465736372697074696f6e223a2247657420696e666f726d6174696f6e2061626f757420616e206f75747075742c206964656e7469666965642062792061207b747869647d20616e2061207b766f75747d222c226c6f6e675f6465736372697074696f6e223a22227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.366596225", - "source": "plugin-commando", - "log": "", - "data": "6f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.366844617", - "source": "plugin-fetchinvoice", - "log": "", - "data": "6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.367089969", - "source": "plugin-funder", - "log": "", - "data": "6561766520617661696c61626c652e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66757a7a2d70657263656e74222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e7420746f2066757a7a2074686520706f6c69637920636f6e747269627574696f6e2062792e2044656661756c747320746f2030252e204d61782069732031303025222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66756e642d70726f626162696c697479222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e74206f6620726571756573747320746f20636f6e73696465722e2044656661756c747320746f20313030252e2053657474696e6720746f2030252077696c6c2064697361626c65206475616c2d66756e64696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6c656173652d72657175657374732d6f6e6c79222c2274797065223a22626f6f6c222c226465736372697074696f6e223a224f6e6c792066756e64206c656173652072657175657374732e2044656661756c747320746f2074727565206966206368616e6e656c206c6561736520726174657320617265206265696e672061647665727469736564222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d626173652d736174222c2274797065223a22737472696e67222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20626173652066656520666f72206c65617365642066756e64732c20696e207361746f7368692e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d6261736973222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206261736973206368617267656420666f72206c65617365642066756e647320287065722031302c303030207361746f7368692e29222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d66756e64696e672d776569676874222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20776569676874207765276c6c2061736b206f70656e696e67207065657220746f2070617920666f7220696e2066756e64696e67207472616e73616374696f6e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d626173652d6d736174222c2274797065223a22737472696e67222c2264" - }, - { - "type": "IO_IN", - "time": "0.367144342", - "source": "plugin-topology", - "log": "", - "data": "742073706563696669656429227d2c7b226e616d65223a226c697374696e636f6d696e67222c227573616765223a22222c226465736372697074696f6e223a224c69737420746865206368616e6e656c7320696e636f6d696e672066726f6d206f757220646972656374207065657273222c226c6f6e675f6465736372697074696f6e223a225573656420627920696e766f69636520636f646520746f2073656c65637420706565727320666f7220726f75746568696e7473227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.367367134", - "source": "plugin-offers", - "log": "", - "data": "5b22626c6f636b5f6164646564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f72656376227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.367580058", - "source": "plugin-txprepare", - "log": "", - "data": "6372697074696f6e223a2253656e6420616c6c20703273682d77726170706564206f75747075747320746f206120626563683332206e6174697665207365677769742061646472657373227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.367863012", - "source": "plugin-spenderp", - "log": "", - "data": "63747320636f6e7461696e696e672070656572207b69647d2c207b616d6f756e747d2c20616e64206f7074696f6e616c207b616e6e6f756e63657d20616e64207b707573685f6d7361747d2e2020412073696e676c65207472616e73616374696f6e2077696c6c206265207573656420746f2066756e6420616c6c20746865206368616e6e656c732e2020557365207b666565726174657d20666f7220746865207472616e73616374696f6e2c2073656c656374206f75747075747320746861742061726520627572696564207b6d696e636f6e667d20626c6f636b7320646565702c206f722073706563696679206120736574206f66207b7574786f737d2e222c226c6f6e675f6465736372697074696f6e223a2246756e64206d756c7469706c65206368616e6e656c73206174206f6e63652e227d5d2c22737562736372697074696f6e73223a5b226f70656e6368616e6e656c5f706565725f73696773222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.368072258", - "source": "plugin-bookkeeper", - "log": "", - "data": "666f7220616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f7220616e207b6163636f756e747d20286f7220616c6c206163636f756e74732c206966206e6f206163636f756e74207370656369666965642920696e207b666f726d61747d2e20536f727465642062792074696d657374616d70227d2c7b226e616d65223a22626b70722d696e7370656374222c227573616765223a226163636f756e74222c226465736372697074696f6e223a22536565207468652063757272656e74206f6e2d636861696e206772617068206f6620616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a225072696e7473206f757420746865206f6e2d636861696e20666f6f747072696e74206f66206120676976656e207b6163636f756e747d2e227d2c7b226e616d65223a22626b70722d6c697374696e636f6d65222c227573616765223a225b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a224c69737420616c6c20696e636f6d6520696d70616374696e67206576656e7473222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f722074686973206e6f646520746861" - }, - { - "type": "IO_IN", - "time": "0.368128816", - "source": "plugin-autoclean", - "log": "", - "data": "2073696e676c652072756e206f66206175746f636c65616e696e67206f6e206f6e652073756273797374656d222c226c6f6e675f6465736372697074696f6e223a225265717569726573207b73756273797374656d7d20616e64207b6167657d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.368592371", - "source": "plugin-funder", - "log": "", - "data": "65736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d206368616e6e656c206665652062617365207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d70726f706f7274696f6e616c2d74686f7573616e64746873222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d2070726f706f7274696f6e616c206665652028696e2074686f7573616e647468732c206f722070707429207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e204e6f74653a2031707074203d20312c30303070706d222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2266756e646572757064617465222c227573616765223a225b706f6c6963795d205b706f6c6963795f6d6f645d205b6c65617365735f6f6e6c795d205b6d696e5f74686569725f66756e64696e675f6d7361745d205b6d61785f74686569725f66756e64696e675f6d7361745d205b7065725f6368616e6e656c5f6d696e5f6d7361745d205b7065725f6368616e6e656c5f6d61785f6d7361745d205b726573657276655f74616e6b5f6d7361745d205b66757a7a5f70657263656e745d205b66756e645f70726f626162696c6974795d205b6c656173655f6665655f626173655f6d7361745d205b6c656173655f6665655f62617369735d205b66756e64696e675f7765696768745d205b6368616e6e656c5f6665655f6d61785f626173655f6d7361745d205b6368616e6e656c5f6665655f6d61785f70726f706f7274696f6e616c5f74686f7573616e647468735d222c226465736372697074696f6e223a22436f6e66696775726174696f6e20666f72206475616c2d66756e64696e672073657474696e67732e222c226c6f6e675f6465736372697074696f6e223a225570646174652063757272656e742073657474696e67732e204d6f64696669657320686f77206e6f64652072656163747320746f20696e636f6d696e67206368616e6e656c206f70656e2072657175657374732e20526573706f6e64732077697468206c697374206f662063757272656e7420636f6e666967732e227d5d2c22737562736372697074696f6e73223a5b226368616e6e656c5f6f70656e5f6661696c6564222c22646973636f6e6e656374222c226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f70656e6368616e6e656c32227d2c7b226e616d65223a226f70656e6368616e6e656c325f6368616e676564227d2c7b226e616d65223a226f70656e6368616e6e656c325f7369676e227d2c7b226e616d65223a227262665f6368616e6e656c227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.369269284", - "source": "plugin-bookkeeper", - "log": "", - "data": "7420696d70616374656420696e636f6d65227d2c7b226e616d65223a22626b70722d64756d70696e636f6d65637376222c227573616765223a226373765f666f726d6174205b6373765f66696c655d205b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225072696e74206f757420616c6c2074686520696e636f6d65206576656e747320746f2061206373762066696c6520696e20207b6373765f666f726d6174222c226c6f6e675f6465736372697074696f6e223a2244756d7020696e636f6d6520737461746d656e74206461746120746f207b6373765f66696c657d20696e207b6373765f666f726d61747d2e204f7074696f6e616c6c792c207b636f6e736f6c69646174655f6665657d7320696e746f2073696e676c6520656e7472696573202864656661756c743a207472756529227d2c7b226e616d65223a22626b70722d6368616e6e656c73617079222c227573616765223a225b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225374617473206f6e206368616e6e656c2066756e64207573616765222c226c6f6e675f6465736372697074696f6e223a225072696e74206f7574207374617473206f6e206368616e656e6c2066756e64207573616765227d5d2c22737562736372697074696f6e73223a5b22636f696e5f6d6f76656d656e74222c2262616c616e63655f736e617073686f74222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.667814369", - "source": "plugin-clnrest.py", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226964223a2031372c2022726573756c74223a207b226f7074696f6e73223a205b7b226e616d65223a2022636c" - }, - { - "type": "IO_IN", - "time": "0.667890970", - "source": "plugin-clnrest.py", - "log": "", - "data": "6e726573742d6365727473222c202264656661756c74223a20222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c6967" - }, - { - "type": "IO_IN", - "time": "0.667920477", - "source": "plugin-clnrest.py", - "log": "", - "data": "68746e696e672d312f72656774657374222c20226465736372697074696f6e223a20225061746820666f72206365727469666963617465732028666f7220687474707329222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264" - }, - { - "type": "IO_IN", - "time": "0.667949951", - "source": "plugin-clnrest.py", - "log": "", - "data": "796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d70726f746f636f6c222c202264656661756c74223a20226874747073222c20226465736372697074696f6e223a202252455354207365727665722070726f746f636f6c222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d686f7374222c202264656661756c74223a20223132372e302e302e31222c20226465736372697074696f6e223a2022524553542073657276657220" - }, - { - "type": "IO_IN", - "time": "0.667999366", - "source": "plugin-clnrest.py", - "log": "", - "data": "686f7374222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d706f7274222c20226465736372697074696f6e223a2022524553542073657276657220706f727420746f206c697374656e222c202274797065223a2022696e74222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d636f72732d6f726967696e73222c202264656661756c74223a20222a222c20226465736372697074696f6e223a202243726f7373206f726967696e207265736f757263652073686172696e67206f726967696e73222c202274797065223a2022737472696e67222c20226d756c7469223a20747275652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d637370222c202264656661756c74223a202264656661756c742d737263202773656c66273b20666f6e742d737263202773656c66273b20696d672d737263202773656c662720646174613a3b206672616d652d737263202773656c66273b" - }, - { - "type": "IO_IN", - "time": "0.668052473", - "source": "plugin-clnrest.py", - "log": "", - "data": "207374796c652d737263202773656c66272027756e736166652d696e6c696e65273b207363726970742d737263202773656c66272027756e736166652d696e6c696e65273b222c20226465736372697074696f6e223a2022436f6e74656e7420736563757269747920706f6c69637920284353502920666f722074686520736572766572222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d5d2c20227270636d6574686f6473223a205b5d2c2022737562736372697074696f6e73223a205b222a225d2c2022686f6f6b73223a205b5d2c202264796e616d6963223a20747275652c20226e6f6e6e756d65726963696473223a20747275652c20226e6f74696669636174696f6e73223a205b5d2c20226665617475726562697473223a207b7d7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.668566307", - "source": "lightningd", - "log": "io_break: check_plugins_manifests" - }, - { - "type": "DEBUG", - "time": "0.668584117", - "source": "lightningd", - "log": "io_loop_with_timers: plugins_init" - }, - { - "type": "DEBUG", - "time": "0.669533802", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_channeld" - }, - { - "type": "DEBUG", - "time": "0.670631667", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_closingd" - }, - { - "type": "DEBUG", - "time": "0.671680609", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_connectd" - }, - { - "type": "DEBUG", - "time": "0.672683497", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_gossipd" - }, - { - "type": "DEBUG", - "time": "0.673731812", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_hsmd" - }, - { - "type": "DEBUG", - "time": "0.674729216", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_onchaind" - }, - { - "type": "DEBUG", - "time": "0.675753837", - "source": "lightningd", - "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_openingd" - }, - { - "type": "DEBUG", - "time": "0.676911994", - "source": "hsmd", - "log": "pid 2851101, msgfd 54" - }, - { - "type": "DEBUG", - "time": "0.677546872", - "source": "hsmd", - "log": "capability +WIRE_HSMD_CHECK_PUBKEY" - }, - { - "type": "DEBUG", - "time": "0.677565763", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_ANY_DELAYED_PAYMENT_TO_US" - }, - { - "type": "DEBUG", - "time": "0.677576808", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_ANCHORSPEND" - }, - { - "type": "DEBUG", - "time": "0.677586668", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_HTLC_TX_MINGLE" - }, - { - "type": "DEBUG", - "time": "0.677596177", - "source": "hsmd", - "log": "capability +WIRE_HSMD_SIGN_SPLICE_TX" - }, - { - "type": "DEBUG", - "time": "0.677605708", - "source": "hsmd", - "log": "capability +WIRE_HSMD_CHECK_OUTPOINT" - }, - { - "type": "DEBUG", - "time": "0.677617970", - "source": "hsmd", - "log": "capability +WIRE_HSMD_FORGET_CHANNEL" - }, - { - "type": "DEBUG", - "time": "0.677627330", - "source": "hsmd", - "log": "capability +WIRE_HSMD_REVOKE_COMMITMENT_TX" - }, - { - "type": "INFO", - "time": "0.678302604", - "source": "lightningd", - "log": "Creating database" - }, - { - "type": "DEBUG", - "time": "0.766179671", - "source": "connectd", - "log": "pid 2851102, msgfd 58" - }, - { - "type": "DEBUG", - "time": "0.766630742", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "DEBUG", - "time": "0.766687023", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "DEBUG", - "time": "0.766747270", - "source": "hsmd", - "log": "new_client: 0" - }, - { - "type": "DEBUG", - "time": "0.767152125", - "source": "connectd", - "log": "Created listener on 127.0.0.1:37343" - }, - { - "type": "DEBUG", - "time": "0.767207275", - "source": "connectd", - "log": "REPLY WIRE_CONNECTD_INIT_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.767240799", - "source": "lightningd", - "log": "io_break: connect_init_done" - }, - { - "type": "DEBUG", - "time": "0.767278983", - "source": "lightningd", - "log": "io_loop: connectd_init" - }, - { - "type": "IO_OUT", - "time": "0.774706160", - "source": "plugin-bcli", - "log": "\"cln:init#18\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.778891922", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233138222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "INFO", - "time": "0.779010903", - "source": "plugin-bcli", - "log": "bitcoin-cli initialized and connected to bitcoind." - }, - { - "type": "DEBUG", - "time": "0.779054874", - "source": "lightningd", - "log": "io_break: plugin_config_cb" - }, - { - "type": "DEBUG", - "time": "0.779072642", - "source": "lightningd", - "log": "io_loop_with_timers: config_plugin" - }, - { - "type": "DEBUG", - "time": "0.779086807", - "source": "lightningd", - "log": "All Bitcoin plugin commands registered" - }, - { - "type": "IO_OUT", - "time": "0.779118540", - "source": "lightningd", - "log": "\"cln:getchaininfo#19\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.779162012", - "source": "lightningd", - "log": "\"cln:estimatefees#20\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.782777545", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574636861696e696e666f233139222c22726573756c74223a7b22636861696e223a2272656774657374222c22686561646572636f756e74223a3130312c22626c6f636b636f756e74223a3130312c22696264223a66616c73657d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.783246311", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#21\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.791685905", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233231222c22726573756c74223a7b22626c6f636b68617368223a2233346537326564386332316462333134613337666465653034643835393131343661383333356334353130393039306164383133663061303662663564303261222c22626c6f636b223a22303030303030323036646264303161363134303066396130333437353839643563626465653366633136373935386531383135306234353466323734326334316631376564323331656338313963393963626535356431663162386438393363653866303532616531373664303631336334393366386365333766653734323866386462646366643262646464373635666666663766323030303030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363430306666666666666666303230306632303532613031303030303030313630303134356265613930316666616564326166306363356666323930363239336134396566313336323062343030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.791978380", - "source": "lightningd", - "log": "Adding block 100: 34e72ed8c21db314a37fdee04d8591146a8335c45109090ad813f0a06bf5d02a" - }, - { - "type": "IO_IN", - "time": "0.793435123", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a657374696d61746566656573233230222c22726573756c74223a7b226665657261746573223a5b7b22626c6f636b73223a322c2266656572617465223a36303030307d2c7b22626c6f636b73223a362c2266656572617465223a34343030307d2c7b22626c6f636b73223a31322c2266656572617465223a33303030307d2c7b22626c6f636b73223a3130302c2266656572617465223a31353030307d5d2c22666565726174655f666c6f6f72223a313030307d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.793522965", - "source": "lightningd", - "log": "io_break: maybe_completed_init" - }, - { - "type": "DEBUG", - "time": "0.793551436", - "source": "lightningd", - "log": "io_loop_with_timers: setup_topology" - }, - { - "type": "DEBUG", - "time": "0.793713248", - "source": "wallet", - "log": "Loaded 0 channels from DB" - }, - { - "type": "DEBUG", - "time": "0.794985275", - "source": "gossipd", - "log": "pid 2851112, msgfd 57" - }, - { - "type": "DEBUG", - "time": "0.795158530", - "source": "hsmd", - "log": "new_client: 0" - }, - { - "type": "DEBUG", - "time": "0.795911704", - "source": "gossipd", - "log": "Store compact time: 0 msec" - }, - { - "type": "DEBUG", - "time": "0.795966030", - "source": "gossipd", - "log": "gossip_store: Read 0/0/0/0 cannounce/cupdate/nannounce/delete from store in 0 bytes, now 1 bytes (populated=false)" - }, - { - "type": "DEBUG", - "time": "0.796011843", - "source": "gossipd", - "log": "seeker: state = STARTING_UP New seeker" - }, - { - "type": "DEBUG", - "time": "0.796045468", - "source": "gossipd", - "log": "REPLY WIRE_GOSSIPD_INIT_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.796067660", - "source": "lightningd", - "log": "io_break: gossipd_init_done" - }, - { - "type": "DEBUG", - "time": "0.796086934", - "source": "lightningd", - "log": "io_loop: gossip_init" - }, - { - "type": "IO_OUT", - "time": "0.796159874", - "source": "plugin-autoclean", - "log": "\"cln:init#22\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796255145", - "source": "plugin-chanbackup", - "log": "\"cln:init#23\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796320067", - "source": "plugin-commando", - "log": "\"cln:init#24\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796379349", - "source": "plugin-fetchinvoice", - "log": "\"cln:init#25\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796437283", - "source": "plugin-funder", - "log": "\"cln:init#26\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796518446", - "source": "plugin-topology", - "log": "\"cln:init#27\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796568118", - "source": "plugin-keysend", - "log": "\"cln:init#28\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796625970", - "source": "plugin-offers", - "log": "\"cln:init#29\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796673796", - "source": "plugin-pay", - "log": "\"cln:init#30\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796726481", - "source": "plugin-recover", - "log": "\"cln:init#31\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796775261", - "source": "plugin-txprepare", - "log": "\"cln:init#32\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796824332", - "source": "plugin-cln-renepay", - "log": "\"cln:init#33\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796879127", - "source": "plugin-spenderp", - "log": "\"cln:init#34\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796926464", - "source": "plugin-sql", - "log": "\"cln:init#35\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.796978579", - "source": "plugin-cln-grpc", - "log": "\"cln:init#36\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.797031262", - "source": "plugin-bookkeeper", - "log": "\"cln:init#37\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.797085140", - "source": "plugin-clnrest.py", - "log": "\"cln:init#38\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.797826225", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c226d6574686f64223a226c" - }, - { - "type": "IO_IN", - "time": "0.797933671", - "source": "jsonrpc#56", - "log": "", - "data": "697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_IN", - "time": "0.797977772", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c226d6574686f64223a22676574" - }, - { - "type": "IO_IN", - "time": "0.798038783", - "source": "plugin-cln-grpc", - "log": "", - "data": "7b226964223a22636c6e3a696e6974233336222c226a736f6e727063223a22322e30222c22726573756c74223a7b2264697361626c65223a224d697373696e672027677270632d706f727427206f7074696f6e227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.798112627", - "source": "plugin-cln-grpc", - "log": "Killing plugin: disabled itself at init: Missing 'grpc-port' option" - }, - { - "type": "IO_IN", - "time": "0.798190854", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c226d6574686f64223a22676574696e666f22" - }, - { - "type": "IO_IN", - "time": "0.798303482", - "source": "jsonrpc#56", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.798348420", - "source": "jsonrpc#56", - "log": "\"init/txprepare:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.798499784", - "source": "jsonrpc#56", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.798544245", - "source": "jsonrpc#59", - "log": "", - "data": "696e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.798649043", - "source": "jsonrpc#59", - "log": "\"init/cln-renepay:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.798961500", - "source": "jsonrpc#60", - "log": "", - "data": "2c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.799011378", - "source": "jsonrpc#60", - "log": "\"init/offers:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.799208031", - "source": "plugin-clnrest.py", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226964223a2022636c6e3a696e6974233338222c2022726573756c74223a207b2264697361626c65223a202260636c6e726573742d706f727460206f7074696f6e206973206e6f7420636f6e66696775726564227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.799290896", - "source": "plugin-clnrest.py", - "log": "Killing plugin: disabled itself at init: `clnrest-port` option is not configured" - }, - { - "type": "IO_IN", - "time": "0.799375808", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c226d6574686f64223a" - }, - { - "type": "IO_OUT", - "time": "0.799451736", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.799500749", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.799566514", - "source": "jsonrpc#39", - "log": "", - "data": "226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c22737563636565646564666f72776172647322" - }, - { - "type": "IO_IN", - "time": "0.799697848", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c226d6574686f64223a22676574696e666f222c2270" - }, - { - "type": "IO_IN", - "time": "0.799731308", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.799777163", - "source": "jsonrpc#59", - "log": "\"init/cln-renepay:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.801748629", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.801823586", - "source": "jsonrpc#60", - "log": "\"init/offers:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.803847847", - "source": "jsonrpc#39", - "log": "", - "data": "2c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.803890034", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#0\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.803981141", - "source": "lightningd", - "log": "Looking for [autoclean,succeededforwards,num]" - }, - { - "type": "IO_IN", - "time": "0.804177162", - "source": "jsonrpc#40", - "log": "", - "data": "6172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.804238277", - "source": "jsonrpc#40", - "log": "\"init/pay:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.804423744", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c226d6574686f64223a22676574696e666f" - }, - { - "type": "IO_OUT", - "time": "0.804457736", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.804497557", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.804518065", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.804744080", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.805081512", - "source": "plugin-txprepare", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233332222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.805319213", - "source": "jsonrpc#43", - "log": "", - "data": "222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.805401434", - "source": "jsonrpc#43", - "log": "\"init/recover:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.805712204", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c226d6574686f64223a226765" - }, - { - "type": "IO_OUT", - "time": "0.805739677", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.805790755", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d" - }, - { - "type": "IO_IN", - "time": "0.805818586", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22737472696e67223a22626f6c7431322d696e766f6963652d62617365227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.805858136", - "source": "jsonrpc#60", - "log": "\"init/offers:makesecret#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.806161961", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c6564666f727761726473222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.806219027", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#1\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.806313420", - "source": "lightningd", - "log": "Looking for [autoclean,failedforwards,num]" - }, - { - "type": "IO_IN", - "time": "0.806470379", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.806511829", - "source": "jsonrpc#40", - "log": "\"init/pay:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.808410307", - "source": "jsonrpc#44", - "log": "", - "data": "74696e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.808454388", - "source": "jsonrpc#44", - "log": "\"init/fetchinvoice:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.808621985", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c226d6574686f64223a2267657469" - }, - { - "type": "IO_OUT", - "time": "0.808647442", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.808685939", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.808912986", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.808934484", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2262633033373064343038643361643934353233643566396463363964653633323365303962373665633165393064356338613032323631393234346365316565227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.809010463", - "source": "jsonrpc#59", - "log": "", - "data": "75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.809070150", - "source": "jsonrpc#59", - "log": "\"init/cln-renepay:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.809257098", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_IN", - "time": "0.809289102", - "source": "jsonrpc#61", - "log": "", - "data": "6e666f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.809324700", - "source": "jsonrpc#61", - "log": "\"init/chanbackup:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.809487956", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c226d6574686f64223a22676574696e666f" - }, - { - "type": "IO_OUT", - "time": "0.809513583", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.809552275", - "source": "jsonrpc#59", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.809591928", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_IN", - "time": "0.809637864", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2273756363656564656470617973222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.809711673", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#2\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.809839896", - "source": "lightningd", - "log": "Looking for [autoclean,succeededpays,num]" - }, - { - "type": "DEBUG", - "time": "0.809951337", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "IO_IN", - "time": "0.810028323", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a" - }, - { - "type": "IO_IN", - "time": "0.810069442", - "source": "jsonrpc#40", - "log": "\"init/pay:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.810188333", - "source": "jsonrpc#43", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.810224598", - "source": "jsonrpc#43", - "log": "\"init/recover:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.810340170", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a226578706572696d656e74616c2d6f6666657273227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.810379122", - "source": "jsonrpc#44", - "log": "\"init/fetchinvoice:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.810496441", - "source": "jsonrpc#62", - "log": "", - "data": "222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.810532387", - "source": "jsonrpc#62", - "log": "\"init/keysend:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.810691706", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c226d6574686f64223a226c69" - }, - { - "type": "IO_OUT", - "time": "0.810716934", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.810792247", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.810839274", - "source": "jsonrpc#43", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.810860620", - "source": "jsonrpc#40", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.810881411", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.810928560", - "source": "plugin-cln-renepay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233333222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.810997774", - "source": "jsonrpc#60", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.811032670", - "source": "jsonrpc#60", - "log": "\"init/offers:listconfigs#3\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.811209507", - "source": "jsonrpc#40", - "log": "", - "data": "0a" - }, - { - "type": "IO_IN", - "time": "0.811241493", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c226d6574686f64223a227374617469636261636b7570222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.811306746", - "source": "jsonrpc#61", - "log": "\"init/chanbackup:staticbackup#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.811405240", - "source": "jsonrpc#63", - "log": "", - "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_IN", - "time": "0.811429744", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c226d6574686f64223a22676574696e66" - }, - { - "type": "IO_OUT", - "time": "0.811449897", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c22726573756c74223a7b22736362223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.811469926", - "source": "jsonrpc#60", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.811503319", - "source": "plugin-fetchinvoice", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233235222c22726573756c74223a7b2264697361626c65223a226f6666657273206e6f7420656e61626c656420696e20636f6e666967227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.811560572", - "source": "plugin-fetchinvoice", - "log": "Killing plugin: disabled itself at init: offers not enabled in config" - }, - { - "type": "IO_IN", - "time": "0.811630867", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c226d6574686f64223a226c697374" - }, - { - "type": "IO_IN", - "time": "0.811654515", - "source": "plugin-pay", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233330222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.811710928", - "source": "plugin-recover", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a225265636f76657220506c7567696e20496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22476f73736d6170206c6f6164656421227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233331222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.811755114", - "source": "plugin-recover", - "log": "Recover Plugin Initialised!" - }, - { - "type": "DEBUG", - "time": "0.811781424", - "source": "plugin-recover", - "log": "Gossmap loaded!" - }, - { - "type": "IO_IN", - "time": "0.811835201", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c656470617973222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.811874335", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#3\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.811964853", - "source": "lightningd", - "log": "Looking for [autoclean,failedpays,num]" - }, - { - "type": "IO_IN", - "time": "0.812114069", - "source": "jsonrpc#63", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.812152261", - "source": "jsonrpc#63", - "log": "\"init/commando:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.812267772", - "source": "jsonrpc#63", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.812299357", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.812334677", - "source": "jsonrpc#64", - "log": "", - "data": "6f222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.812372829", - "source": "jsonrpc#64", - "log": "\"init/topology:getinfo#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.812535146", - "source": "jsonrpc#65", - "log": "", - "data": "636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.812605052", - "source": "jsonrpc#65", - "log": "\"init/funder:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.814387754", - "source": "plugin-offers", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233239222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.814517117", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22686578223a223733363336323230373336353633373236353734227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.814558686", - "source": "jsonrpc#61", - "log": "\"init/chanbackup:makesecret#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.814877653", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.814925450", - "source": "jsonrpc#62", - "log": "\"init/keysend:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.816721526", - "source": "jsonrpc#17", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c226d6574686f64223a226c697374636f6e" - }, - { - "type": "IO_OUT", - "time": "0.816748618", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.816977002", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2261396132653734323430356332386630353933343931333239323361393933333761653766373131363862373438353439366533333635663562633636346564227d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.817000751", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.817234724", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.817372823", - "source": "plugin-commando", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233234222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.817490128", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2270616964696e766f69636573222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.817534357", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#4\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.817628898", - "source": "lightningd", - "log": "Looking for [autoclean,paidinvoices,num]" - }, - { - "type": "IO_IN", - "time": "0.817803464", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c226d6574686f64223a22" - }, - { - "type": "IO_IN", - "time": "0.817842269", - "source": "jsonrpc#17", - "log": "", - "data": "66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.817883114", - "source": "jsonrpc#17", - "log": "\"init/sql:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.818007372", - "source": "jsonrpc#17", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.818032025", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.818076124", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" - }, - { - "type": "IO_IN", - "time": "0.818104530", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "DEBUG", - "time": "0.818150827", - "source": "hsmd", - "log": "Client: Received message 27 from client" - }, - { - "type": "IO_IN", - "time": "0.818196892", - "source": "jsonrpc#18", - "log": "", - "data": "6c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" - }, - { - "type": "IO_IN", - "time": "0.818222089", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" - }, - { - "type": "IO_IN", - "time": "0.818250835", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c226d6574686f64223a226c69" - }, - { - "type": "IO_IN", - "time": "0.818284245", - "source": "jsonrpc#64", - "log": "", - "data": "72227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.818321830", - "source": "jsonrpc#64", - "log": "\"init/topology:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.818447858", - "source": "jsonrpc#65", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.818484846", - "source": "jsonrpc#65", - "log": "\"init/funder:listconfigs#1\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.818606600", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2265787069726564696e766f69636573222c226e756d225d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.818647154", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listdatastore#5\"", - "data": "" - }, - { - "type": "DEBUG", - "time": "0.818754481", - "source": "lightningd", - "log": "Looking for [autoclean,expiredinvoices,num]" - }, - { - "type": "IO_IN", - "time": "0.818857760", - "source": "jsonrpc#18", - "log": "", - "data": "72227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.818898499", - "source": "jsonrpc#18", - "log": "\"init/bookkeeper:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.819022829", - "source": "jsonrpc#62", - "log": "", - "data": "227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819060488", - "source": "jsonrpc#62", - "log": "\"init/keysend:listconfigs#2\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.819179998", - "source": "jsonrpc#44", - "log": "", - "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" - }, - { - "type": "IO_OUT", - "time": "0.819204063", - "source": "jsonrpc#62", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.819226992", - "source": "jsonrpc#18", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.819249090", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.819269566", - "source": "jsonrpc#65", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.819291484", - "source": "jsonrpc#64", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819347656", - "source": "plugin-sql", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233335222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819424936", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75" - }, - { - "type": "IO_IN", - "time": "0.819457318", - "source": "jsonrpc#44", - "log": "", - "data": "7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819503180", - "source": "jsonrpc#44", - "log": "\"init/spenderp:listconfigs#0\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.819624909", - "source": "jsonrpc#44", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819659781", - "source": "plugin-funder", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233236222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819724833", - "source": "plugin-topology", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233237222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819786314", - "source": "plugin-keysend", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233238222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.819847018", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a2253657474696e672075702064617461626173652061742073716c697465333a2f2f6163636f756e74732e73716c69746533227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e67206461746162617365227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233337222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.819888322", - "source": "plugin-bookkeeper", - "log": "Setting up database at sqlite3://accounts.sqlite3" - }, - { - "type": "INFO", - "time": "0.819915614", - "source": "plugin-bookkeeper", - "log": "Creating database" - }, - { - "type": "IO_IN", - "time": "0.819967431", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c226d6574686f64223a226261746368696e67222c22706172616d73223a7b22656e61626c65223a747275657d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.820005674", - "source": "jsonrpc#39", - "log": "\"init/autoclean:batching#6\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.820103023", - "source": "jsonrpc#61", - "log": "", - "data": "736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.820140387", - "source": "jsonrpc#61", - "log": "\"init/chanbackup:listconfigs#3\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.820265776", - "source": "jsonrpc#61", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_OUT", - "time": "0.820310094", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.820478143", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.820532782", - "source": "jsonrpc#39", - "log": "\"init/autoclean:listconfigs#7\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.820656127", - "source": "jsonrpc#39", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.820711735", - "source": "plugin-chanbackup", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a224368616e6261636b757020496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e6720456d657267656e6379205265636f76657279227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233233222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.820753805", - "source": "plugin-chanbackup", - "log": "Chanbackup Initialised!" - }, - { - "type": "INFO", - "time": "0.820783154", - "source": "plugin-chanbackup", - "log": "Creating Emergency Recovery" - }, - { - "type": "IO_IN", - "time": "0.820835123", - "source": "plugin-spenderp", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233334222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.821055588", - "source": "plugin-autoclean", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233232222c22726573756c74223a7b7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.821288690", - "source": "connectd", - "log": "REPLY WIRE_CONNECTD_ACTIVATE_REPLY with 0 fds" - }, - { - "type": "DEBUG", - "time": "0.821314642", - "source": "lightningd", - "log": "io_break: connect_activate_done" - }, - { - "type": "DEBUG", - "time": "0.821333146", - "source": "lightningd", - "log": "io_loop: connectd_activate" - }, - { - "type": "INFO", - "time": "0.821438119", - "source": "lightningd", - "log": "--------------------------------------------------" - }, - { - "type": "INFO", - "time": "0.821461362", - "source": "lightningd", - "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" - }, - { - "type": "IO_OUT", - "time": "0.821512250", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#39\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.828094811", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233339222c22726573756c74223a7b22626c6f636b68617368223a2231666134643063303866333435343139656631323136333836316239386235383630666339353737383764373463636564633930363134326138626439646531222c22626c6f636b223a22303030303030323032616430663536626130663031336438306130393039353163343335383336613134393138353464653064653766613331346233316463326438326565373334383534323663636232333439383133383036323938313733366433623863613865393332313931646532613736353961616362656438626338643136333066363262646464373635666666663766323030353030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363530306666666666666666303230306632303532613031303030303030313630303134356265613930316666616564326166306363356666323930363239336134396566313336323062343030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.828382709", - "source": "lightningd", - "log": "Adding block 101: 1fa4d0c08f345419ef12163861b98b5860fc957787d74ccedc906142a8bd9de1" - }, - { - "type": "IO_OUT", - "time": "0.828793857", - "source": "lightningd", - "log": "\"cln:getrawblockbyheight#40\"", - "data": "" - }, - { - "type": "IO_IN", - "time": "0.833772728", - "source": "plugin-bcli", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233430222c22726573756c74223a7b22626c6f636b68617368223a6e756c6c2c22626c6f636b223a6e756c6c7d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.835789616", - "source": "gossipd", - "log": "REPLY WIRE_GOSSIPD_NEW_BLOCKHEIGHT_REPLY with 0 fds" - }, - { - "type": "IO_IN", - "time": "0.837611632", - "source": "plugin-bookkeeper", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a226163636f756e742077616c6c6574206861732062616c616e636520306d736174227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22536e617073686f742062616c616e6365732075706461746564227d7d0a0a" - }, - { - "type": "DEBUG", - "time": "0.837682337", - "source": "plugin-bookkeeper", - "log": "account wallet has balance 0msat" - }, - { - "type": "INFO", - "time": "0.837714852", - "source": "plugin-bookkeeper", - "log": "account wallet not found, adding" - }, - { - "type": "DEBUG", - "time": "0.837740359", - "source": "plugin-bookkeeper", - "log": "Snapshot balances updated" - }, - { - "type": "IO_IN", - "time": "0.990297547", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a205b22676574696e666f225d2c20226964" - }, - { - "type": "IO_IN", - "time": "0.990512698", - "source": "jsonrpc#66", - "log": "", - "data": "223a20227079746573743a636865636b2331227d" - }, - { - "type": "IO_IN", - "time": "0.990883290", - "source": "jsonrpc#66", - "log": "\"pytest:check#1\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.991384456", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2331222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22676574696e666f227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.992281568", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022676574696e666f222c2022706172616d73223a207b7d2c20226964223a2022707974" - }, - { - "type": "IO_IN", - "time": "0.992462146", - "source": "jsonrpc#66", - "log": "", - "data": "6573743a676574696e666f2332227d" - }, - { - "type": "IO_IN", - "time": "0.992679235", - "source": "jsonrpc#66", - "log": "\"pytest:getinfo#2\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.993571405", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a676574696e666f2332222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130312c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.996717909", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b22636f6d6d616e645f746f5f636865" - }, - { - "type": "IO_IN", - "time": "0.996914835", - "source": "jsonrpc#66", - "log": "", - "data": "636b223a20226765746c6f67227d2c20226964223a20227079746573743a636865636b2333227d" - }, - { - "type": "IO_IN", - "time": "0.997144154", - "source": "jsonrpc#66", - "log": "\"pytest:check#3\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.997671729", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2333222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a226765746c6f67227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "0.998536775", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a20226765746c6f67222c2022706172616d73223a207b7d2c20226964223a202270797465" - }, - { - "type": "IO_IN", - "time": "0.998716344", - "source": "jsonrpc#66", - "log": "", - "data": "73743a6765746c6f672334227d" - }, - { - "type": "IO_IN", - "time": "0.999081316", - "source": "jsonrpc#66", - "log": "\"pytest:getlog#4\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.999484044", - "source": "jsonrpc#66", - "log": "Suppressing logging of getlog command", - "data": "" - }, - { - "type": "IO_OUT", - "time": "0.999707821", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a6765746c6f672334222c22726573756c74223a7b22637265617465645f6174223a22313730383634353635382e313835373037353636222c2262797465735f75736564223a39343234312c2262797465735f6d6178223a31303438353736302c226c6f67223a5b7b2274797065223a22494e464f222c2274696d65223a22302e303132303935333232222c22736f75726365223a226c696768746e696e6764222c226c6f67223a227632332e31312d3431352d6764313230656261227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a3135377d2c7b2274797065223a22494e464f222c2274696d65223a22302e363738333032363034222c22736f75726365223a226c696768746e696e6764222c226c6f67223a224372656174696e67206461746162617365227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31307d2c7b2274797065223a22494e464f222c2274696d65223a22302e373739303130393033222c22736f75726365223a22706c7567696e2d62636c69222c226c6f67223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a3139397d2c7b2274797065223a22494e464f222c2274696d65223a22302e383139393135363134222c22736f75726365223a22706c7567696e2d626f6f6b6b6565706572222c226c6f67223a224372656174696e67206461746162617365227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31317d2c7b2274797065223a22494e464f222c2274696d65223a22302e383230373833313534222c22736f75726365223a22706c7567696e2d6368616e6261636b7570222c226c6f67223a224372656174696e6720456d657267656e6379205265636f76657279227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a357d2c7b2274797065223a22494e464f222c2274696d65223a22302e383231343338313139222c22736f75726365223a226c696768746e696e6764222c226c6f67223a222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d227d2c7b2274797065223a22494e464f222c2274696d65223a22302e383231343631333632222c22736f75726365223a226c696768746e696e6764222c226c6f67223a2253657276657220737461727465642077697468207075626c6963206b6579203032363665343539386431643363343135663537326138343838383330623630663765373434656439323335656230623162613933323833623331356330333531382c20616c696173204a554e494f524245414d2d7632332e31312d3431352d67643132306562612028636f6c6f7220233032363665342920616e64206c696768746e696e6764207632332e31312d3431352d6764313230656261227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a387d2c7b2274797065223a22494e464f222c2274696d65223a22302e383337373134383532222c22736f75726365223a22706c7567696e2d626f6f6b6b6565706572222c226c6f67223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31377d5d7d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.010151855", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b226c6576656c223a2022696f222c20" - }, - { - "type": "IO_IN", - "time": "1.010349120", - "source": "jsonrpc#66", - "log": "", - "data": "22636f6d6d616e645f746f5f636865636b223a20226765746c6f67227d2c20226964223a20227079746573743a636865636b2335227d" - }, - { - "type": "IO_IN", - "time": "1.010586771", - "source": "jsonrpc#66", - "log": "\"pytest:check#5\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.011299257", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2335222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a226765746c6f67227d7d0a0a" - }, - { - "type": "IO_IN", - "time": "1.012109511", - "source": "jsonrpc#66", - "log": "", - "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a20226765746c6f67222c2022706172616d73223a207b226c6576656c223a2022696f227d" - }, - { - "type": "IO_IN", - "time": "1.012276818", - "source": "jsonrpc#66", - "log": "", - "data": "2c20226964223a20227079746573743a6765746c6f672336227d" - }, - { - "type": "IO_IN", - "time": "1.012462969", - "source": "jsonrpc#66", - "log": "\"pytest:getlog#6\"", - "data": "" - }, - { - "type": "IO_OUT", - "time": "1.012963236", - "source": "jsonrpc#66", - "log": "Suppressing logging of getlog command", - "data": "" - } - ] - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-getroute.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "getroute", - "title": "Command for routing a payment (low-level)", - "description": [ - "The **getroute** RPC command attempts to find the best route for the payment of *amount_msat* to lightning node *id*, such that the payment will arrive at *id* with *cltv*.", - "", - "There are two considerations for how good a route is: how low the fees are, and how long your payment will get stuck in a delayed output if a node goes down during the process. ." - ], - "request": { - "required": [ - "id", - "amount_msat", - "riskfactor" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "Node pubkey to find the best route for the payment." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount to send. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. The 0 value is special: it ignores any *htlc_minimum_msat* setting on channels, and simply returns a possible route (if any) which is useful for simple probing." - ] - }, - "riskfactor": { - "type": "u64", - "description": [ - "A non-negative floating-point field controls this tradeoff; it is the annual cost of your funds being stuck (as a percentage). For example, if you thought the convenience of keeping your funds liquid (not stuck) was worth 20% per annum interest, *riskfactor* would be 20. If you didn't care about risk, *riskfactor* would be zero." - ] - }, - "cltv": { - "type": "u32", - "description": [ - "Cltv-blocks to spare." - ], - "default": "9" - }, - "fromid": { - "type": "pubkey", - "description": [ - "The node to start the route from." - ], - "default": "this node" - }, - "fuzzpercent": { - "type": "u32", - "description": [ - "Used to distort fees to provide some randomization to the route generated, but it was not properly implemented and is ignored." - ] - }, - "exclude": { - "type": "array", - "description": [ - "A JSON array of short-channel-id/direction (e.g. ['564334x877x1/0', '564195x1292x0/1' ]) or node-id which should be excluded from consideration for routing. Note if the source or destination is excluded, the command result is undefined." - ], - "default": "not to exclude any channels or nodes", - "items": { - "type": "string" - } - }, - "maxhops": { - "type": "u32", - "description": [ - "The maximum number of channels to return." - ], - "default": "20" - } - } - }, - "response": { - "required": [ - "route" - ], - "properties": { - "route": { - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "direction", - "channel", - "amount_msat", - "delay", - "style" - ], - "additionalProperties": false, - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The node at the end of this hop." - ] - }, - "channel": { - "type": "short_channel_id", - "description": [ - "The channel joining these nodes." - ] - }, - "direction": { - "type": "u32", - "description": [ - "0 if this channel is traversed from lesser to greater **id**, otherwise 1." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount expected by the node at the end of this hop." - ] - }, - "delay": { - "type": "u32", - "description": [ - "The total CLTV expected by the node at the end of this hop." - ] - }, - "style": { - "type": "string", - "description": [ - "The features understood by the destination node." - ], - "enum": [ - "tlv" - ] - } - } - } - } - }, - "post_return_value_notes": [ - "The final *id* will be the destination *id* given in the input. The difference between the first *amount_msat* minus the *amount_msat* given in the input is the fee (assuming the first hop is free). The first *delay* is the very worst case timeout for the payment failure, in blocks." - ] - }, - "riskfactor_effect_on_routing": [ - "The risk factor is treated as if it were an additional fee on the route, for the purposes of comparing routes.", - "", - "The formula used is the following approximation:", - "", - " risk-fee = amount x blocks-timeout x per-block-cost", - "", - "We are given a *riskfactor* expressed as a percentage. There are 52596 blocks per year, thus *per-block-cost* is *riskfactor* divided by 5,259,600.", - "", - "The final result is:", - "", - " risk-fee = amount x blocks-timeout x riskfactor / 5259600", - "", - "Here are the risk fees in millisatoshis, using various parameters. I assume a channel charges the default of 1000 millisatoshis plus 1 part-per-million. Common to_self_delay values on the network at 14 and 144 blocks.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "
Amount (msat)RiskfactorDelayRisk FeeRoute fee

10,000

1

14

0

1001

10,000

10

14

0

1001

10,000

100

14

2

1001

10,000

1000

14

26

1001

1,000,000

1

14

2

1001

1,000,000

10

14

26

1001

1,000,000

100

14

266

1001

1,000,000

1000

14

2661

1001

100,000,000

1

14

266

1100

100,000,000

10

14

2661

1100

100,000,000

100

14

26617

1100

100,000,000

1000

14

266179

1100

10,000

1

144

0

1001

10,000

10

144

2

1001

10,000

100

144

27

1001

10,000

1000

144

273

1001

1,000,000

1

144

27

1001

1,000,000

10

144

273

1001

1,000,000

100

144

2737

1001

1,000,000

1000

144

27378

1001

100,000,000

1

144

2737

1100

100,000,000

10

144

27378

1100

100,000,000

100

144

273785

1100

100,000,000

1000

144

2737850

1100

" - ], - "recommended_riskfactor_values": [ - "The default *fuzz* factor is 5%, so as you can see from the table above, that tends to overwhelm the effect of *riskfactor* less than about 5.", - "", - "1 is a conservative value for a stable lightning network with very few failures.", - "", - "1000 is an aggressive value for trying to minimize timeouts at all costs.", - "", - "The default for lightning-pay(7) is 10, which starts to become a major factor for larger amounts, and is basically ignored for tiny ones." - ], - "example_json_request": [ - { - "id": "example:getroute#1", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#2", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#3", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#4", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#5", - "method": "getroute", - "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#6", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#7", - "method": "getroute", - "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#8", - "method": "getroute", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 50000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#9", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#10", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#11", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#12", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#13", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#14", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#15", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 1, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#16", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#17", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": "50000sat", - "riskfactor": 10 - } - }, - { - "id": "example:getroute#18", - "method": "getroute", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": "50000sat", - "riskfactor": 10 - } - }, - { - "id": "example:getroute#19", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#20", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 1, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#21", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 1, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#22", - "method": "getroute", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 1, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - }, - { - "id": "example:getroute#23", - "method": "getroute", - "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount_msat": 1, - "riskfactor": 1, - "cltv": 9, - "fromid": null, - "fuzzpercent": null, - "exclude": null, - "maxhops": null - } - } - ], - "example_json_response": [ - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x3x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "channel": "110x1x0", - "direction": 1, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x3x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "channel": "110x1x0", - "direction": 1, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 50001002, - "delay": 21, - "style": "tlv" - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50000501, - "delay": 15, - "style": "tlv" - }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100001001, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "105x1x0", - "direction": 0, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100001001, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "105x1x0", - "direction": 0, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100001001, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "105x1x0", - "direction": 0, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100001001, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "105x1x0", - "direction": 0, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 2, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 1, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100001001, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 100000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50051000, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 50051000, - "delay": 15, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 50000000, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 100, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 1, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 1, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 1, - "delay": 9, - "style": "tlv" - } - ] - }, - { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 3, - "delay": 21, - "style": "tlv" - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "103x1x0", - "direction": 0, - "amount_msat": 2, - "delay": 15, - "style": "tlv" - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel": "103x2x0", - "direction": 0, - "amount_msat": 1, - "delay": 9, - "style": "tlv" - } - ] - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-pay(7)", - "lightning-sendpay(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-help.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "help", - "title": "Command to return all information about RPC commands.", - "description": [ - "The **help** is a RPC command which is possible consult all information about the RPC commands, or a specific command if *command* is given.", - "", - "Note that the lightning-cli(1) tool will prefer to list a man page when a specific *command* is specified, and will only return the JSON if the man page is not found." - ], - "request": { - "required": [], - "properties": { - "command": { - "type": "string", - "description": [ - "Command to get information about." - ] - } - } - }, - "response": { - "required": [ - "help" - ], - "properties": { - "help": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "command", - "category", - "description", - "verbose" - ], - "properties": { - "command": { - "type": "string", - "description": [ - "The command." - ] - }, - "category": { - "type": "string", - "description": [ - "The category for this command (useful for grouping)." - ] - }, - "description": { - "type": "string", - "description": [ - "A one-line description of the purpose of this command." - ] - }, - "verbose": { - "type": "string", - "description": [ - "A full description of this command (including whether it's deprecated)." - ] - } - } - } - }, - "format-hint": {} - } - }, - "example_json_request": [ - { - "id": "example:help#1", - "method": "help", - "params": {} - }, - { - "id": "example:help#2", - "method": "help", - "params": { - "command": "testmethod" - } - }, - { - "id": "example:help#3", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#4", - "method": "help", - "params": { - "command": "testmethod" - } - }, - { - "id": "example:help#5", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#6", - "method": "help", - "params": { - "command": "hello" - } - }, - { - "id": "example:help#7", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#8", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#9", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#10", - "method": "help", - "params": { - "command": "pay" - } - }, - { - "id": "example:help#11", - "method": "help", - "params": [ - "developer" - ] - }, - { - "id": "example:help#12", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#13", - "method": "help", - "params": { - "command": "testrpc-deprecated" - } - }, - { - "id": "example:help#14", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#15", - "method": "help", - "params": { - "command": null - } - }, - { - "id": "example:help#16", - "method": "help", - "params": { - "command": "dev" - } - }, - { - "id": "example:help#17", - "method": "help", - "params": { - "command": "dev" - } - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "example_json_response": [ - { - "help": [ - { - "command": "autocleaninvoice [cycle_seconds] [expired_by]", - "category": "plugin", - "description": [ - "Set up autoclean of expired invoices. ." - ], - "verbose": "Perform cleanup every {cycle_seconds} (default 3600), or disable autoclean if 0. Clean up expired invoices that have expired for {expired_by} seconds (default 86400). " - } - ] - }, - { - "help": [ - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": [ - "Verify a digital signature {zbase} of {message} signed with {pubkey} ." - ], - "verbose": "HELP! Please contribute a description for this json_command! " - } - ] - }, - { - "help": [ - { - "command": "testmethod ", - "category": "plugin", - "description": "This is a test", - "verbose": "This is a test" - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bye name", - "category": "plugin", - "description": "This methods requires {name} to be set by the caller !", - "verbose": "This methods requires {name} to be set by the caller !" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "hello [name]", - "category": "plugin", - "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", - "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "hello [name]", - "category": "plugin", - "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", - "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bye name", - "category": "plugin", - "description": "This methods requires {name} to be set by the caller !", - "verbose": "This methods requires {name} to be set by the caller !" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "cowsay ", - "category": "plugin", - "description": "Have a cow, man!", - "verbose": "Have a cow, man!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "hello [name]", - "category": "plugin", - "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", - "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "cowsay ", - "category": "plugin", - "description": "Have a cow, man!", - "verbose": "Have a cow, man!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - } - ], - "format-hint": "simple" - }, - { - "configs": { - "developer": { - "set": true, - "source": "cmdline" - } - } - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "helloworld [name]", - "category": "plugin", - "description": "Say hello to the world.", - "verbose": "Returns 'hello world' by default, 'hello {name}' if the name option was set, and 'hello {name}' if the name parameter was passed (takes over the option)" - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "testrpc ", - "category": "plugin", - "description": "Makes a simple getinfo call, to test rpc socket.", - "verbose": "" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "testrpc-deprecated (DEPRECATED!) ", - "category": "plugin", - "description": "Makes a simple getinfo call, to test rpc socket.", - "verbose": "" - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "addgossip message", - "category": "utility", - "description": "Inject gossip {message} into gossipd", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", - "category": "bitcoin", - "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "autoclean-once subsystem age", - "category": "plugin", - "description": "Perform a single run of autocleaning on one subsystem", - "verbose": "Requires {subsystem} and {age}" - }, - { - "command": "autoclean-status [subsystem]", - "category": "plugin", - "description": "Show status of autocleaning", - "verbose": "Takes optional {subsystem}" - }, - { - "command": "batching enable", - "category": "utility", - "description": "Database transaction batching {enable}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "bkpr-channelsapy [start_time] [end_time]", - "category": "plugin", - "description": "Stats on channel fund usage", - "verbose": "Print out stats on chanenl fund usage" - }, - { - "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "Print out all the income events to a csv file in {csv_format", - "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" - }, - { - "command": "bkpr-inspect account", - "category": "plugin", - "description": "See the current on-chain graph of an {account}", - "verbose": "Prints out the on-chain footprint of a given {account}." - }, - { - "command": "bkpr-listaccountevents [account]", - "category": "plugin", - "description": "List all events for an {account}", - "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" - }, - { - "command": "bkpr-listbalances ", - "category": "plugin", - "description": "List current account balances", - "verbose": "List of current accounts and their balances" - }, - { - "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", - "category": "plugin", - "description": "List all income impacting events", - "verbose": "List all events for this node that impacted income" - }, - { - "command": "blacklistrune [start] [end]", - "category": "utility", - "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "blindedpath ids pathsecret", - "category": "utility", - "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "check command_to_check", - "category": "utility", - "description": "Don't run {command_to_check}, just verify parameters.", - "verbose": "check command_to_check [parameters...]\n" - }, - { - "command": "checkmessage message zbase [pubkey]", - "category": "utility", - "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "checkrune rune [nodeid] [method] [params]", - "category": "utility", - "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", - "category": "channels", - "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "commando peer_id method [params] [rune] [filter]", - "category": "plugin", - "description": "Send a commando message to a direct peer, wait for response", - "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" - }, - { - "command": "commando-blacklist [start] [end]", - "category": "plugin", - "description": "Blacklist a rune or range of runes by unique id", - "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" - }, - { - "command": "commando-listrunes [rune]", - "category": "plugin", - "description": "List runes we have created earlier", - "verbose": "Takes an optional {rune} and returns list of {rune}" - }, - { - "command": "commando-rune [rune] [restrictions]", - "category": "plugin", - "description": "Create or restrict a rune", - "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" - }, - { - "command": "connect id [host] [port]", - "category": "network", - "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoice invstring label preimage", - "category": "payment", - "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", - "category": "payment", - "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createoffer bolt12 [label] [single_use]", - "category": "payment", - "description": "Create and sign an offer {bolt12} with and optional {label}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createonion hops assocdata [session_key] [onion_size]", - "category": "payment", - "description": "Create an onion going through the provided nodes, each with its own payload", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "createrune [rune] [restrictions]", - "category": "utility", - "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastore key [string] [hex] [mode] [generation]", - "category": "utility", - "description": "Add a {key} and {hex}/{string} data to the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "datastoreusage [key]", - "category": "utility", - "description": "List the datastore usage, starting from an optional {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "decode string", - "category": "plugin", - "description": "Decode {string} message, returning {type} and information.", - "verbose": "Decode {string} message, returning {type} and information." - }, - { - "command": "decodepay bolt11 [description]", - "category": "payment", - "description": "Decode {bolt11}, using {description} if necessary", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deldatastore key [generation]", - "category": "utility", - "description": "Remove a {key} from the data store", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delforward in_channel in_htlc_id status", - "category": "channels", - "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delinvoice label status [desconly]", - "category": "payment", - "description": "Delete unpaid invoice {label} with {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "delpay payment_hash status [partid] [groupid]", - "category": "payment", - "description": "Delete payment with {payment_hash} and {status}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "deprecations enable", - "category": "utility", - "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "destroyrune [start] [end]", - "category": "utility", - "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - }, - { - "command": "dev-fail id", - "category": "developer", - "description": "Fail with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-feerate id feerate", - "category": "developer", - "description": "Set feerate for {id} to {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", - "category": "developer", - "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", - "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" - }, - { - "command": "dev-gossip-set-time time", - "category": "developer", - "description": "Ask gossipd to update the current time.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-ignore-htlcs id ignore", - "category": "developer", - "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-listaddrs [bip32_max_index]", - "category": "developer", - "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", - "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." - }, - { - "command": "dev-memdump ", - "category": "developer", - "description": "Show memory objects currently in use", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-memleak ", - "category": "developer", - "description": "Show unreferenced memory objects", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", - "category": "channels", - "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-quiesce id", - "category": "developer", - "description": "Initiate quiscence protocol with peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-reenable-commit id", - "category": "developer", - "description": "Re-enable the commit timer on peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-report-fds ", - "category": "developer", - "description": "Ask connectd to report status of all its open files.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-rescan-outputs ", - "category": "developer", - "description": "Synchronize the state of our funds with bitcoind", - "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" - }, - { - "command": "dev-set-max-scids-encode-size max", - "category": "developer", - "description": "Set {max} bytes of short_channel_ids per reply_channel_range", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-sign-last-tx id", - "category": "developer", - "description": "Sign and show the last commitment transaction with peer {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "dev-suppress-gossip ", - "category": "developer", - "description": "Stop this node from sending any more gossip.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableinvoicerequest invreq_id", - "category": "payment", - "description": "Disable invoice_request {invreq_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disableoffer offer_id", - "category": "payment", - "description": "Disable offer {offer_id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "disconnect id [force]", - "category": "network", - "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "emergencyrecover ", - "category": "plugin", - "description": "Populates the DB with stub channels", - "verbose": "returns stub channel-id's on completion" - }, - { - "command": "estimatefees ", - "category": "plugin", - "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", - "verbose": "" - }, - { - "command": "feerates style", - "category": "bitcoin", - "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", - "category": "plugin", - "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", - "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" - }, - { - "command": "fundchannel_cancel id", - "category": "channels", - "description": "Cancel inflight channel establishment with peer {id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_complete id psbt", - "category": "channels", - "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", - "category": "channels", - "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", - "category": "plugin", - "description": "Configuration for dual-funding settings.", - "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." - }, - { - "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getchaininfo last_height", - "category": "plugin", - "description": "Get the chain id, the header count, the block count, and whether this is IBD.", - "verbose": "" - }, - { - "command": "getinfo ", - "category": "utility", - "description": "Show information about this node", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getlog [level]", - "category": "utility", - "description": "Show logs, with optional log {level} (info|unusual|debug|io)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "getrawblockbyheight height", - "category": "plugin", - "description": "Get the bitcoin block at a given height", - "verbose": "" - }, - { - "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", - "category": "plugin", - "description": "Primitive route command", - "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." - }, - { - "command": "getutxout txid vout", - "category": "plugin", - "description": "Get information about an output, identified by a {txid} an a {vout}", - "verbose": "" - }, - { - "command": "help [command]", - "category": "utility", - "description": "List available commands, or give verbose help on one {command}.", - "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." - }, - { - "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", - "category": "payment", - "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", - "category": "plugin", - "description": "Create an invoice_request to send money", - "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" - }, - { - "command": "invokerune [rune] [restrictions]", - "category": "utility", - "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", - "category": "plugin", - "description": "Send a payment without an invoice to a node", - "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" - }, - { - "command": "listchannels [short_channel_id] [source] [destination]", - "category": "plugin", - "description": "List all known channels in the network", - "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" - }, - { - "command": "listclosedchannels [id]", - "category": "network", - "description": "Show historical (dead) channels.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listconfigs [config]", - "category": "utility", - "description": "List all configuration options, or with [config], just that one.", - "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" - }, - { - "command": "listdatastore [key]", - "category": "utility", - "description": "List the datastore, optionally only {key}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", - "category": "channels", - "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listfunds [spent]", - "category": "utility", - "description": "Show available funds from the internal wallet", - "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." - }, - { - "command": "listhtlcs [id]", - "category": "channels", - "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listincoming ", - "category": "plugin", - "description": "List the channels incoming from our direct peers", - "verbose": "Used by invoice code to select peers for routehints" - }, - { - "command": "listinvoicerequests [invreq_id] [active_only]", - "category": "payment", - "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", - "category": "payment", - "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listnodes [id]", - "category": "plugin", - "description": "List all known nodes in the network", - "verbose": "Show node {id} (or all known nods, if not specified)" - }, - { - "command": "listoffers [offer_id] [active_only]", - "category": "payment", - "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpays [bolt11] [payment_hash] [status]", - "category": "plugin", - "description": "List result of payment {bolt11} or {payment_hash}, or all", - "verbose": "Covers old payments (failed and succeeded) and current ones." - }, - { - "command": "listpeerchannels [id]", - "category": "network", - "description": "Show channels with direct peers.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listpeers [id] [level]", - "category": "network", - "description": "Show current peers, if {level} is set, include logs for {id}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", - "category": "payment", - "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "listsqlschemas [table]", - "category": "plugin", - "description": "Display schemas for internal sql tables, or just {table}", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "listtransactions ", - "category": "payment", - "description": "List transactions that we stored in the wallet", - "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." - }, - { - "command": "makesecret [hex] [string]", - "category": "utility", - "description": "Get a pseudorandom secret key, using some {hex} data.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", - "category": "plugin", - "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", - "verbose": "Fund multiple channels at once." - }, - { - "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send to multiple {outputs} via a single Bitcoin transaction.", - "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." - }, - { - "command": "newaddr [addresstype]", - "category": "bitcoin", - "description": "Get a new {bech32} (or all) address to fund a channel", - "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." - }, - { - "command": "notifications enable", - "category": "utility", - "description": "{enable} notifications", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", - "category": "plugin", - "description": "Create an offer to accept money", - "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" - }, - { - "command": "openchannel_abort channel_id", - "category": "channels", - "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", - "category": "channels", - "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", - "category": "channels", - "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_signed channel_id signed_psbt", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "openchannel_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "parsefeerate feerate", - "category": "bitcoin", - "description": "Return current feerate in perkw + perkb for given feerate string.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {bolt11}", - "verbose": "Attempt to pay the {bolt11} invoice." - }, - { - "command": "payersign messagename fieldname merkle tweak", - "category": "payment", - "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "paystatus [bolt11]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "ping id [len] [pongbytes]", - "category": "network", - "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "plugin subcommand=start|stop|startdir|rescan|list", - "category": "plugin", - "description": "Control plugins (start, stop, startdir, rescan, list)", - "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" - }, - { - "command": "preapproveinvoice bolt11", - "category": "payment", - "description": "Ask the HSM to preapprove an invoice.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "preapprovekeysend destination payment_hash amount_msat", - "category": "payment", - "description": "Ask the HSM to preapprove a keysend payment.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recover hsmsecret", - "category": "utility", - "description": "Restart an unused lightning node with --recover", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "recoverchannel scb", - "category": "channels", - "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", - "category": "plugin", - "description": "Send payment specified by {invstring}", - "verbose": "Attempt to pay an invoice." - }, - { - "command": "renepaystatus [invstring]", - "category": "plugin", - "description": "Detail status of attempts to pay {bolt11}, or all", - "verbose": "Covers both old payments and current ones." - }, - { - "command": "reserveinputs psbt [exclusive] [reserve]", - "category": "bitcoin", - "description": "Reserve utxos (or increase their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "restorefrompeer ", - "category": "plugin", - "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", - "verbose": "return channel-id's on completion" - }, - { - "command": "sendcustommsg node_id msg", - "category": "utility", - "description": "Send a custom message to the peer with the given {node_id}", - "verbose": "sendcustommsg node_id hexcustommsg" - }, - { - "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", - "category": "payment", - "description": "Send a payment with a pre-computed onion.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendonionmessage first_id blinding hops", - "category": "utility", - "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", - "category": "payment", - "description": "Send along {route} in return for preimage of {payment_hash}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendpsbt psbt [reserve]", - "category": "bitcoin", - "description": "Finalize, extract and send a PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sendrawtransaction tx allowhighfees", - "category": "plugin", - "description": "Send a raw transaction to the Bitcoin network.", - "verbose": "" - }, - { - "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", - "category": "channels", - "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setconfig config [val]", - "category": "utility", - "description": "Set a dynamically-adjustable config.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", - "category": "channels", - "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "setpsbtversion psbt version", - "category": "bitcoin", - "description": "Convert a given PSBT to the {version} requested (v0 or v2)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "showrunes [rune]", - "category": "utility", - "description": "Show the list of runes or decode an optional {rune}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signinvoice invstring", - "category": "payment", - "description": "Lowlevel command to sign invoice {invstring}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signmessage message", - "category": "utility", - "description": "Create a digital signature of {message}", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "signpsbt psbt [signonly]", - "category": "bitcoin", - "description": "Sign this wallet's inputs on a provided PSBT.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", - "category": "channels", - "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_signed channel_id psbt [sign_first]", - "category": "channels", - "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "splice_update channel_id psbt", - "category": "channels", - "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "sql query", - "category": "plugin", - "description": "Run {query} and return result", - "verbose": "This is the greatest plugin command ever!" - }, - { - "command": "staticbackup ", - "category": "backup", - "description": "Returns SCB of all the channels currently present in the DB", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "stop ", - "category": "utility", - "description": "Shut down the lightningd process", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "txdiscard txid", - "category": "plugin", - "description": "Discard a transaction created by txprepare", - "verbose": "Discard a transcation by {txid}" - }, - { - "command": "txprepare outputs [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", - "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" - }, - { - "command": "txsend txid", - "category": "plugin", - "description": "Send a transaction created by txprepare", - "verbose": "Send a transacation by {txid}" - }, - { - "command": "unreserveinputs psbt [reserve]", - "category": "bitcoin", - "description": "Unreserve utxos (or at least, reduce their reservation)", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "upgradewallet [feerate] [reservedok]", - "category": "plugin", - "description": "Spend p2sh wrapped outputs into a native segwit output", - "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" - }, - { - "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", - "category": "bitcoin", - "description": "Create PSBT using these utxos", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "wait subsystem indexname nextvalue", - "category": "utility", - "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitanyinvoice [lastpay_index] [timeout]", - "category": "payment", - "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitblockheight blockheight [timeout]", - "category": "utility", - "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitinvoice label", - "category": "payment", - "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", - "category": "payment", - "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", - "verbose": "HELP! Please contribute a description for this json_command!" - }, - { - "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", - "category": "plugin", - "description": "Send funds to {destination} address", - "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - } - ], - "format-hint": "simple" - }, - { - "help": [ - { - "command": "dev subcommand=crash|rhash|slowcmd", - "category": "developer", - "description": "Developer command test multiplexer", - "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" - } - ], - "format-hint": "simple" - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-invoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "invoice", - "title": "Command for accepting payments", - "description": [ - "The **invoice** RPC command creates the expectation of a payment of a given amount of milli-satoshi: it returns a unique token which another lightning daemon can use to pay this invoice. This token includes a *route hint* description of an incoming channel with capacity to pay the invoice, if any exists." - ], - "request": { - "required": [ - "amount_msat", - "label", - "description" - ], - "properties": { - "amount_msat": { - "type": "msat_or_any", - "description": [ - "The string `any`, which creates an invoice that can be paid with any amount. Otherwise it is a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." - ] - }, - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": [ - "A unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice." - ] - }, - "description": { - "type": "string", - "description": [ - "A short description of purpose of payment, e.g. *1 cup of coffee*. This value is encoded into the BOLT11 invoice and is viewable by any node you send this invoice to (unless *deschashonly* is true as described below). It must be UTF-8, and cannot use *\\u* JSON escape codes." - ] - }, - "expiry": { - "type": "u64", - "description": [ - "The time the invoice is valid for, in seconds. If no value is provided the default of 604800 (1 week) is used." - ] - }, - "fallbacks": { - "type": "array", - "description": [ - "One or more fallback addresses to include in the invoice (in order from most- preferred to least): note that these arrays are not currently tracked to fulfill the invoice." - ], - "items": { - "type": "string" - } - }, - "preimage": { - "type": "hex", - "description": [ - "A 64-digit hex string to be used as payment preimage for the created invoice. By default, if unspecified, lightningd will generate a secure pseudorandom preimage seeded from an appropriate entropy source on your system. **IMPORTANT**: if you specify the *preimage*, you are responsible, to ensure appropriate care for generating using a secure pseudorandom generator seeded with sufficient entropy, and keeping the preimage secret. This parameter is an advanced feature intended for use with cutting-edge cryptographic protocols and should not be used unless explicitly needed." - ] - }, - "exposeprivatechannels": { - "description": [ - "If specified, it overrides the default route hint logic, which will use unpublished channels only if there are no published channels." - ], - "oneOf": [ - { - "type": "boolean", - "description": [ - "If *True* unpublished channels are always considered as a route hint candidate; if *False*, never." - ] - }, - { - "type": "array", - "description": [ - "Array of short channel ids (or a remote alias), only those specific channels will be considered candidates, even if they are public or dead-ends." - ], - "items": { - "type": "short_channel_id" - } - }, - { - "type": "short_channel_id", - "description": [ - "If it is a short channel id (e.g. *1x1x3*), only this specific channel will be considered candidate, even if it is public or dead-end." - ] - } - ] - }, - "cltv": { - "type": "u32", - "description": [ - "If specified, sets the *min_final_cltv_expiry* for the invoice. Otherwise, it's set to the parameter **cltv-final**." - ] - }, - "deschashonly": { - "type": "boolean", - "description": [ - "If True, then the bolt11 returned contains a hash of the *description*, rather than the *description* itself: this allows much longer descriptions, but they must be communicated via some other mechanism." - ], - "default": "False" - } - } - }, - "response": { - "required": [ - "payment_hash", - "expires_at", - "created_index", - "bolt11", - "payment_secret" - ], - "properties": { - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "payment_secret": { - "type": "secret", - "description": [ - "The *payment_secret* to place in the onion." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when invoice expires." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "warning_capacity": { - "type": "string", - "description": [ - "Even using all possible channels, there's not enough incoming capacity to pay this invoice." - ] - }, - "warning_offline": { - "type": "string", - "description": [ - "There would be enough incoming capacity, but some channels are offline, so there isn't." - ] - }, - "warning_deadends": { - "type": "string", - "description": [ - "There would be enough incoming capacity, but some channels are dead-ends (no other public channels from those peers), so there isn't." - ] - }, - "warning_private_unused": { - "type": "string", - "description": [ - "There would be enough incoming capacity, but some channels are unannounced and *exposeprivatechannels* is *false*, so there isn't." - ] - }, - "warning_mpp": { - "type": "string", - "description": [ - "There is sufficient capacity, but not in a single channel, so the payer will have to use multi-part payments." - ] - } - } - }, - "errors": [ - "On failure, an error is returned and no invoice is created. If the", - "lightning process fails before responding, the caller should use", - "lightning-listinvoices(7) to query whether this invoice was created or", - "not.", - "", - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 900: An invoice with the given *label* already exists.", - "- 901: An invoice with the given *preimage* already exists.", - "- 902: None of the specified *exposeprivatechannels* were usable." - ], - "example_json_request": [ - { - "id": "example:invoice#1", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "xEoCR94SIz6UIRUEkxum", - "description": [ - "XEoCR94SIz6UIRUEkxum." - ], - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#2", - "method": "invoice", - "params": { - "amount_msat": 40000000, - "label": "xFogt94xiz6tsRHKMzat", - "description": [ - "Invoice description." - ], - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#3", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "W7PjXOrD1V9QzqlXde6S", - "description": "W7PjXOrD1V9QzqlXde6S", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#4", - "method": "invoice", - "params": { - "amount_msat": 100001, - "label": "kQ3N0jwwJABOkKbMq7I4", - "description": "kQ3N0jwwJABOkKbMq7I4", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#5", - "method": "invoice", - "params": { - "amount_msat": 111, - "label": "npVAv3iWbQBCHjsDK1YS", - "description": "npVAv3iWbQBCHjsDK1YS", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#6", - "method": "invoice", - "params": { - "amount_msat": 222, - "label": "gjXz22eJleM5SNBasEOV", - "description": "gjXz22eJleM5SNBasEOV", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#7", - "method": "invoice", - "params": { - "amount_msat": 4000000, - "label": "WZcOtfF564NiUQ5vlwRU", - "description": "WZcOtfF564NiUQ5vlwRU", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#8", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "7mCJoNSFtlzLA9hEIzX1", - "description": "7mCJoNSFtlzLA9hEIzX1", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#9", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "sK54KAL3qX01yNt76y0B", - "description": "sK54KAL3qX01yNt76y0B", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#10", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "n3jx9JMqg936KMwVWRzM", - "description": "n3jx9JMqg936KMwVWRzM", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#11", - "method": "invoice", - "params": { - "amount_msat": 11000000, - "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#12", - "method": "invoice", - "params": { - "amount_msat": 3210, - "label": "to_self", - "description": "to_self", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#13", - "method": "invoice", - "params": { - "amount_msat": "42sat", - "label": "lbl1", - "description": "desc", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#14", - "method": "invoice", - "params": { - "amount_msat": "31337sat", - "label": "lbl2", - "description": "desc", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#15", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "0", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#16", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "1", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#17", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "2", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#18", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "3", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#19", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "4", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#20", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "5", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#21", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "6", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#22", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "7", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - }, - { - "id": "example:invoice#23", - "method": "invoice", - "params": { - "amount_msat": 100, - "label": "8", - "description": "inv", - "expiry": null, - "fallbacks": null, - "preimage": null, - "exposeprivatechannels": null, - "cltv": null, - "deschashonly": null - } - } - ], - "example_json_response": [ - { - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "expires_at": 1706757730, - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", - "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "51127e4a40186a1f9e2fa8495d521473d1be347a39e583cbe96a23d3cbbe93f6", - "expires_at": 1706765461, - "bolt11": "lnbcrt1m1pjmrus4sp53ls0wjm69hpu8gp8lhuuxkxsxhq2kr5lu2nr0766x27l5cruwapqpp52yf8ujjqrp4pl8304py465s5w0gmudr688jc8jlfdg3a8ja7j0mqdpqdcuh5vt0dpe5yanfx45x2n6vwveyg6zxxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqpdrrch5ty8c870u39znf6p5vt8new7y7n9j74xwc8nz6w637cvk4f763ux8cvd579720z3sgkzshumvnce9qs70p0px98t6s4a5lqzcqashdmd", - "payment_secret": "8fe0f74b7a2dc3c3a027fdf9c358d035c0ab0e9fe2a637fb5a32bdfa607c7742", - "created_index": 2 - }, - { - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "expires_at": 1709228937, - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", - "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "expires_at": 1709228938, - "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", - "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", - "created_index": 1, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "expires_at": 1709228950, - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", - "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "expires_at": 1709228952, - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", - "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", - "created_index": 2, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "expires_at": 1709228953, - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", - "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", - "created_index": 3, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "expires_at": 1709228989, - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", - "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "expires_at": 1709229012, - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", - "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "expires_at": 1709229023, - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", - "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "expires_at": 1709229041, - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", - "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", - "expires_at": 1709229060, - "bolt11": "lnbcrt32100p1pja0zvysp5cd4zl6dva4uvq6tqutepkd576qlsfykf0efm5wmxy93mekh36laqpp5h368q5ejjspxyz3xhhqc0ngnfndknyfsmpd7fx0v6fqkptlsf3wqdqvw3h47um9d3nqxqyjw5qcqp99qxpqysgqtl8yj2fzqy36dmtprqg5gu0dd6kvj5d72fe5nnddj6xfa0axscs4rq37ttm4vgcq3r0x53ytry3h4l4szv30r9d0pd0tcr0z4xdrdncpca5q50", - "payment_secret": "c36a2fe9aced78c06960e2f21b369ed03f0492c97e53ba3b662163bcdaf1d7fa", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "df16b7c859f1d49aec53a832528b2ff6330556e3ff008706c4874a6fbae82e9b", - "expires_at": 1709229113, - "bolt11": "lnbcrt420n1pja0zdesp5mkugxsngced79svtrnzmdepqqrap8v50ryrt08ta3efg3c3pye8qpp5mutt0jze782f4mzn4qe99ze07ces24hrluqgwpkysa9xlwhg96dsdq8v3jhxccxqyjw5qcqp99qxpqysgqv4v9w0h34lhsh5w5ccxc2765fdw4k9hfu68xdg9vugyv8vs33hhxg583q30qmavuep88ksslf90f23d93p9r4nlk0g8c4yhjs5rgpdgqhcm7lj", - "payment_secret": "ddb8834268c65be2c18b1cc5b6e42000fa13b28f1906b79d7d8e5288e221264e", - "created_index": 1, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "b49369a5476eaac7b246cce663b25e49024aad85ea7051a6ab251de041f53e61", - "expires_at": 1709229113, - "bolt11": "lnbcrt313370n1pja0zdesp5nq37wknu0qrvx66hltyzrm9v323hn5awglsr0kn0pfqyn9u9u97qpp5kjfknf28d64v0vjxennx8vj7fypy4tv9afc9rf4ty5w7qs048essdq8v3jhxccxqyjw5qcqp99qxpqysgq5zrx6ttapag4r3uawl3kygzcu36y6arg8hn9597408mnhh3zv06qpad34u4h5ukm3rczg0dy57z2kppkzmsytrm6ec0hff6ah2axq7sqgu64n2", - "payment_secret": "9823e75a7c7806c36b57fac821ecac8aa379d3ae47e037da6f0a40499785e17c", - "created_index": 2, - "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" - }, - { - "payment_hash": "526e3e28eef1ca5f17399054f787178583fadd7bf9c1f1b3abe1ef734650a119", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5allg8aky5syqwk9v04vjyvccstcunade5uar68rh94k8l8ru9ruqpp52fhru28w789979eejp200pchskpl4html8qlrvatu8hhx3js5yvsdq9d9h8vxqyjw5qcqp99qxpqysgq5umcjkxx3696znp6p7hu9spae3tjsdhmyyj4ccweldcyxv42azej6u7vkferdy4t26yqhesmlkcp32yzlcva0jkp06a4h3m0xuc4qpcqdq3ckp", - "payment_secret": "effe83f6c4a4080758ac7d5922331882f1c9f5b9a73a3d1c772d6c7f9c7c28f8", - "created_index": 1, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "f6c31804345c6179d9a66df377acc9844d5c70e253d59605b91aa72157316429", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5mmfyxc3gh2rkpkrvlzakr7ttyk547nyjq92zudzlnwk48qjm7xespp57mp3spp5t3shnkdxdheh0txfs3x4cu8z202evpder2njz4e3vs5sdq9d9h8vxqyjw5qcqp99qxpqysgqqsd00u6dfnlshscnepdunx8sws2us2ym7rtatcv9zcqkut2aezl9h3wpemjq4xdh7s4kkp3s5cxsyr97tlkevmw08gt72euleq4upugpcg5gqv", - "payment_secret": "ded2436228ba8760d86cf8bb61f96b25a95f4c9201542e345f9bad53825bf1b3", - "created_index": 2, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "8f65746931adf6582c7ab85b264da3f500776d40158eeb95fe7c4264a5f006d5", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5p0dzc5q3mugut9kfy8vkj795n0wxmjfwkmrqrdw5fpqdlpknutespp53ajhg6f34hm9str6hpdjvndr75q8wm2qzk8wh90703pxff0sqm2sdq9d9h8vxqyjw5qcqp99qxpqysgqfa77ne32ag08qkcw4wkc7kl0jgn5zs22jwx3d5gwucaerhheq6yhmelrzaqdvhzv4z6kvrp0ejt96qhv07x4p0fql8zxmezpse2h6qspwc7ch4", - "payment_secret": "0bda2c5011df11c596c921d96978b49bdc6dc92eb6c601b5d44840df86d3e2f3", - "created_index": 3, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "2bf93244793cdeee9f55464f7b0822bc1696c49faf4440f1e29140f632709980", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5w6p9lx7tah5l7txd2jjx3ntqcpy6kt8yvv7vpkrgmd68v2pjq4kqpp590uny3re8n0wa864ge8hkzpzhstfd3yl4azypu0zj9q0vvnsnxqqdq9d9h8vxqyjw5qcqp99qxpqysgqgx8mvhqwa0jch3wqx0wc3msx379u054areyv7d0g50ry468vmcn4zx7asceksnazga298d39rse80mxf8s8wpyqt9fqv6tzaumfhlnsp2f03ah", - "payment_secret": "76825f9bcbede9ff2ccd54a468cd60c049ab2ce4633cc0d868db74762832056c", - "created_index": 4, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "27c91e0b4ce418dca1ff480f82c265f169ac445618559c336d320da3cee782c5", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5hr5uefl4y29ddpx9ah53cua02pl80aaycnyjh9wyv5c923lpx2zspp5yly3uz6vusvdeg0lfq8c9sn97956c3zkrp2ecvmdxgx68nh8stzsdq9d9h8vxqyjw5qcqp99qxpqysgqcjsuenuclhqjfnc44zpaztl3v6w90l6xta8dz5kaapa4z0s664upc7juyjzvczfvxatz4avwzc8n6jrtkdp6nehw0z0t9ecpmftaa8cp68wuwu", - "payment_secret": "b8e9cca7f5228ad684c5ede91c73af507e77f7a4c4c92b95c465305547e13285", - "created_index": 5, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "4388ea08944ece7f2e96240c1a36b01a206618ff956ddee25fa30266c9270d4a", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5wkzs2a8qedanup075fm9mfks34gc76g80vur277zgr5uwfxek32spp5gwyw5zy5fm887t5kysxp5d4srgsxvx8lj4kaacjl5vpxdjf8p49qdq9d9h8vxqyjw5qcqp99qxpqysgqnftjn8c0psdffdnzttsv7ukdzyu5hf96qmjmrppvu3y3cf7mfqrswh5nszswugrmmf96whvvwdlj625xd3m7er32xkwtr7y6dn24lcqp0tvd2e", - "payment_secret": "75850574e0cb7b3e05fea2765da6d08d518f69077b38357bc240e9c724d9b455", - "created_index": 6, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "f44fb53918ac2e718adacb72f75a504caa75d172d375431e15e641ebe3869bdb", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5m4esq20u5sg9d3l56kln5mch7nzt7kzk5nxh05lg05pr7dx7he7qpp5738m2wgc4sh8rzk6ede0wkjsfj48t5tj6d65x8s4ueq7hcuxn0dsdq9d9h8vxqyjw5qcqp99qxpqysgqp934xt2e0jrqq4eh73ect9efqapgf835lc4sggmrhyjj28w9njn9kxg6fcwv45wt9r3md7v42m99evraq8y0uqes8m6w42vfahq6mnsprmx7dg", - "payment_secret": "dd730029fca41056c7f4d5bf3a6f17f4c4bf5856a4cd77d3e87d023f34debe7c", - "created_index": 7, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "fe88dbc5f62ce236557fdbb876a3c2e839d0aebcbe26bccbfd3f9b26b56a6811", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp55rgeqxs37mmuafxk46j65d5zdm0s3e00rjxt8zyh0m50knewzz7spp5l6ydh30k9n3rv4tlmwu8dg7zaquapt4uhcntejla87djddt2dqgsdq9d9h8vxqyjw5qcqp99qxpqysgqepyg7h0awlv3vkmu2hgs5lg4m8m7v8f0f3auxhedgqrjsnr9xf48d836t3n0wsdhv4cpa20a2tc9q6pnnkyhy4qemjnn6hker3sjc4qq2km8yd", - "payment_secret": "a0d1901a11f6f7cea4d6aea5aa36826edf08e5ef1c8cb388977ee8fb4f2e10bd", - "created_index": 8, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - }, - { - "payment_hash": "f59ae0204dfe8e913207ea36646255b9d2c7c8229e8693d30547fc622eddb6b4", - "expires_at": 1709229182, - "bolt11": "lnbcrt1n1pja0z07sp5n8fk890nrq7zlcue0lgu7cduaaz765u5rg0kcud4amphuppu8wxspp57kdwqgzdl68fzvs8agmxgcj4h8fv0jpzn6rf85c9gl7xytkak66qdq9d9h8vxqyjw5qcqp99qxpqysgqrneaxh0plvjft457yv3q92rak57a6xw33m6phr0mrsy69sudzgez3adkzdsgwzy32z5usjpxm4rjgcg70h047wf0pgc4l9gyaj2h9ssqcrtv32", - "payment_secret": "99d36395f3183c2fe3997fd1cf61bcef45ed53941a1f6c71b5eec37e043c3b8d", - "created_index": 9, - "warning_capacity": "Insufficient incoming channel capacity to pay invoice" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listinvoices(7)", - "lightning-delinvoice(7)", - "lightning-pay(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-invoicerequest.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v22.11", - "rpc": "invoicerequest", - "title": "Command for offering payments", - "warning": "experimental-offers only", - "description": [ - "The **invoicerequest** RPC command creates an `invoice_request` to send payments: it automatically enables the processing of an incoming invoice, and payment of it. The reader of the resulting `invoice_request` can use lightning-sendinvoice(7) to collect their payment." - ], - "request": { - "required": [ - "amount", - "description" - ], - "properties": { - "amount": { - "type": "msat", - "description": [ - "A positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." - ] - }, - "description": { - "type": "string", - "description": [ - "A short description of purpose of the payment, e.g. *ATM withdrawl*. This value is encoded into the resulting `invoice_request` and is viewable by anyone you expose it to. It must be UTF-8, and cannot use *\\u* JSON escape codes." - ] - }, - "issuer": { - "type": "string", - "description": [ - "Who is issuing it (i.e. you) if appropriate." - ] - }, - "label": { - "type": "string", - "description": [ - "An internal-use name for the offer, which can be any UTF-8 string." - ] - }, - "absolute_expiry": { - "type": "u64", - "description": [ - "The time the offer is valid until, in seconds since the first day of 1970 UTC. If not set, the `invoice_request` remains valid (though it can be deactivated by the issuer of course). This is encoded in the `invoice_request`." - ] - }, - "single_use": { - "type": "boolean", - "description": [ - "Indicates that the `invoice_request` is only valid once; we may attempt multiple payments, but as soon as one is successful no more invoices are accepted (i.e. only one person can take the money)." - ], - "default": "True" - } - } - }, - "response": { - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "properties": { - "invreq_id": { - "type": "hash", - "description": [ - "The SHA256 hash of all invoice_request fields less than 160." - ] - }, - "active": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Whether the invoice_request is currently active." - ] - }, - "single_use": { - "type": "boolean", - "description": [ - "Whether the invoice_request will become inactive after we pay an invoice for it." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string starting with lnr." - ] - }, - "used": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether the invoice_request has already been used." - ] - }, - "label": { - "type": "string", - "description": [ - "The label provided when creating the invoice_request." - ] - } - } - }, - "errors": [ - "On failure, an error is returned and no `invoice_request` is created. If the lightning process fails before responding, the caller should use lightning-listinvoicerequests(7) to query whether it was created or not.", - "", - "- -1: Catchall nonspecific error." - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listinvoicerequests(7)", - "lightning-disableinvoicerequest(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ - { - "id": "example:invoicerequest#1", - "method": "invoicerequest", - "params": { - "amount": "2msat", - "description": "simple test" - } - }, - { - "id": "example:invoicerequest#2", - "method": "invoicerequest", - "params": { - "amount": "100000sat", - "description": "simple test" - } - }, - { - "id": "example:invoicerequest#3", - "method": "invoicerequest", - "params": { - "amount": "10000sat", - "description": "simple test", - "issuer": "clightning test suite" - } - } - ], - "example_json_response": [ - { - "invreq_id": "fc5ae5a5e1ee04a37c528fb22a5b4059e046624d00006d406ae2c9b99fcf21c9", - "active": true, - "single_use": true, - "bolt12": "lnr1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqw5w7y7xqm2rushk5a5n3mcuvqel954raykd5nqa830nq9hpd4s4fcnxw266vp9d5c8f3m3w40hmm6gm8akxx3rsnr7d4usunv0x3q8q", - "used": false - }, - { - "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", - "active": true, - "single_use": true, - "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", - "used": false - }, - { - "invreq_id": "715484ead84bcdae5b33e3015c686fa1bdd4ae9ade3c4729b58257a98cfcd9b5", - "active": true, - "single_use": true, - "bolt12": "lnr1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzq99smfawuu6pz0zh9jl6dl8v25u3kzes975x2j9tr0qp0ux0tlzcxjrgehxh9luz5vwjpk92tys9f9zlm038krcz4uqfxgelwf43tgfc", - "used": false - } - ] - }, - "lightning-keysend.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "keysend", - "title": "Send funds to a node without an invoice", - "description": [ - "The **keysend** RPC command attempts to find a route to the given destination, and send the specified amount to it. Unlike the `pay` RPC command the `keysend` command does not require an invoice, instead it uses the `destination` node ID, and `amount` to find a route to the specified node.", - "", - "In order for the destination to be able to claim the payment, the `payment_key` is randomly generated by the sender and included in the encrypted payload for the destination. As a consequence there is not proof-of-payment, like there is with an invoice where the `payment_key` is generated on the destination, and the only way sender could have it is by sending a payment. Please ensure that this matches your use-case when using `keysend`.", - "", - "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." - ], - "request": { - "required": [ - "destination", - "amount_msat" - ], - "properties": { - "destination": { - "type": "pubkey", - "description": [ - "The 33 byte, hex-encoded, node ID of the node that the payment should go to." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "A whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`." - ] - }, - "label": { - "type": "string", - "description": [ - "Used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)." - ] - }, - "maxfeepercent": { - "type": "number", - "description": [ - "Limits the money paid in fees as percentage of the total amount that is to be transferred." - ], - "default": "0.5" - }, - "retry_for": { - "type": "u32", - "description": [ - "Until *retry_for* seconds passes, the command will keep finding routes and retrying the payment. However, a payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case." - ], - "default": "60 seconds" - }, - "maxdelay": { - "type": "u32", - "description": [ - "Number of blocks the payment may be delayed." - ] - }, - "exemptfee": { - "type": "msat", - "description": [ - "Used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than *exemptfee*." - ], - "default": "5000 millisatoshi" - }, - "routehints": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "scid", - "feebase", - "feeprop", - "expirydelta" - ], - "properties": { - "id": { - "type": "pubkey" - }, - "scid": { - "type": "short_channel_id" - }, - "feebase": { - "type": "msat" - }, - "feeprop": { - "type": "u32" - }, - "expirydelta": { - "type": "u16" - } - } - } - } - }, - "extratlvs": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": [ - "Dictionary of additional fields to insert into the final tlv. The format is 'fieldnumber': 'hexstring'." - ] - } - } - }, - "response": { - "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" - ], - "properties": { - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "created_at": { - "type": "number", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "parts": { - "type": "u32", - "description": [ - "How many attempts this took." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount the recipient received." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "Total amount we sent (including fees)." - ] - }, - "warning_partial_completion": { - "type": "string", - "description": [ - "Not all parts of a multi-part payment have completed." - ] - }, - "status": { - "type": "string", - "enum": [ - "complete" - ], - "description": [ - "Status of payment." - ] - } - }, - "post_return_value_notes": [ - "You can monitor the progress and retries of a payment using the lightning-paystatus(7) command." - ] - }, - "randomization": [ - "To protect user privacy, the payment algorithm performs some randomization.", - "", - "1: Route Randomization", - "", - "Route randomization means the payment algorithm does not always use the lowest-fee or shortest route. This prevents some highly-connected node from learning all of the user payments by reducing their fees below the network average.", - "", - "2: Shadow Route", - "", - "Shadow route means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", - "", - "Route randomization will never exceed *maxfeepercent* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." - ], - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", - "- 205: Unable to find a route.", - "- 206: Route too expensive. Either the fee or the needed total locktime for the route exceeds your *maxfeepercent* or *maxdelay* settings, respectively. The *data* field of the error will indicate the actual *fee* as well as the *feepercent* percentage that the fee has of the destination payment amount. It will also indicate the actual *delay* along the route.", - "- 210: Payment timed out without a payment in progress.", - "", - "A routing failure object has the fields below:", - "", - "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", - "*erring_node*: The hex string of the pubkey id of the node that reported the error.", - "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error.", - "*failcode*: The failure code, as per BOLT #4.", - "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the `UPDATE` bit set, as per BOLT #4." - ], - "example_json_request": [ - { - "id": "example:keysend#1", - "method": "keysend", - "params": { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 10000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - }, - { - "id": "example:keysend#2", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - }, - { - "id": "example:keysend#3", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 70, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - }, - { - "id": "example:keysend#4", - "method": "keysend", - "params": { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 10000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - }, - { - "id": "example:keysend#5", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - }, - { - "id": "example:keysend#6", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": { - "133773310": "FEEDC0DE" - } - } - }, - { - "id": "example:keysend#7", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": { - "133773310": "68656c6c6f207468657265" - } - } - }, - { - "id": "example:keysend#8", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": { - "133773310": "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" - } - } - }, - { - "id": "example:keysend#9", - "method": "keysend", - "params": { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 10000000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": { - "133773310": "f09f929520e282bf22270a4d6f726520696e666f0a" - } - } - }, - { - "id": "example:keysend#10", - "method": "keysend", - "params": { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 10000000, - "label": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": { - "133773310": "68656c6c6f776f726c64", - "133773312": "66696c7465726d65" - } - } - }, - { - "id": "example:keysend#11", - "method": "keysend", - "params": { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 10000, - "routehints": [ - [ - { - "scid": "4615051x2233541x57738", - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "feebase": 1, - "feeprop": 10, - "expirydelta": 9 - } - ], - [ - { - "scid": "1x2x3", - "id": "020202020202020202020202020202020202020202020202020202020202020202", - "feebase": 1, - "feeprop": 1, - "expirydelta": 9 - } - ] - ] - } - }, - { - "id": "example:keysend#12", - "method": "keysend", - "params": { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 2000000, - "label": "keysend_l3", - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "extratlvs": null - } - } - ], - "example_json_response": [ - { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "b6f88603008a9f7dd84b1b94c7b972c8efbaf0b86c8d3c04512955992da9028e", - "created_at": 1706315742.6861734, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "payment_preimage": "7178cf708e34dce816fc35aa692a65e1f85b92ae03bbc8ae6543302511823174", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "61b43a5bda32ff399d9cf438efceababee41ab735adfefffe05bc92b50d839fe", - "created_at": 1706315747.7296453, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "b661f3e8cf6abb69628fd82ff6f8e531d6d46e9d36e7439e5b7cfd4a80444cc6", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "8c5dc7201ce3bcbb09b8cb92d8cb6aa35b278e4c546c5d194263a5ca19426089", - "created_at": 1708635514.2138708, - "parts": 1, - "amount_msat": 70, - "amount_sent_msat": 70, - "payment_preimage": "38a05d7dcaa0c98283f3b405a975e920f54aad0aee7bbe23fa7aa9e06c82abe1", - "status": "complete" - }, - { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "d99b469f65453651076574083b5673e354c66ca8e019d4d7f5f97bb53a05d51d", - "created_at": 1708640404.0577974, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "payment_preimage": "e8161bb819cc72314815e6d1461c2e3ddfe611159ac4df5e6540ce16df8f3cc0", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "db542abf003b29dd9d460cfccab5bd760d9751425b3e297163d05671d433897b", - "created_at": 1708640406.2781346, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "e049e6164aca88e82ce8043cfbabd734505a7272055afe16f94fa190f8752513", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "4f3931a4509904ae1a5b42a65a6c1745d954858c55b8d8d980aa6c48459b1729", - "created_at": 1708640418.8698277, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "b760af47f456a217e8dfda21a282f1f78c903487c1b21b3b318135f75aa3bf11", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "3c0b480ed8d91891f796233496e18b5d4f340785c6b117663fe6a27598e24f47", - "created_at": 1708640419.9726155, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "3e705f0e2fb0924e0dd192326a9b096ec700849be8cb04f54539599a8b6f0514", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "7add865e834e3f9e5151bdb1c1ac92a4d0b9461261ccef7c7a2b35c0f8bfe142", - "created_at": 1708640421.3870115, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "661f76dfd40bf4b4ba623ee976c255297d70f3ea2ba8b2609b54dbfa7785a319", - "status": "complete" - }, - { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "cd5bbfb1b8e8867cf4c3e94300205087e6c868cf167f8b7d7c7c41ec1d6ca9fa", - "created_at": 1708640422.7923992, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "40e18705fac58910f087cddb1d256b8e06c1024d94789e4d3275012591904eeb", - "status": "complete" - }, - { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payment_hash": "e8474eea8d5673e8407ef5f4924e58479b51a68afd136384683d5d6a97c9520d", - "created_at": 1708640424.1810749, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "40e47272ea7da20c57a2381d81a5513ec03bd8ead9d51fbd2a91ec76d3f4bcbf", - "status": "complete" - }, - { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "56e12e6f45120bef7385c9bf307319eaa6a1b9160cdb3e62a3f492abf5bfa4bc", - "created_at": 1708640437.2895157, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "payment_preimage": "682870b8f96e2aed1c86694dbb2c3e64cd396b9bba9fafd824d90eb0bd371b85", - "status": "complete" - }, - { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "f6ec840cf17f8264dad0017ae6fa117ec6a7ff23ed7b503451a4a0f3fcc536b5", - "created_at": 1708640605.4585266, - "parts": 1, - "amount_msat": 2000000, - "amount_sent_msat": 2000000, - "payment_preimage": "b6bc0fdb39e505f94fd511e9d8e4152338f774b80cf9214f6170281130980a2d", - "status": "complete" - } - ], - "author": [ - "Christian Decker <> is mainly responsible." - ], - "see_also": [ - "lightning-listpays(7)", - "lightning-decodepay(7)", - "lightning-listinvoice(7)", - "lightning-delinvoice(7)", - "lightning-getroute(7)", - "lightning-invoice(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listchannels.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listchannels", - "title": "Command to query active lightning channels in the entire network", - "description": [ - "The **listchannels** RPC command returns data on channels that are known to the node. Because channels may be bidirectional, up to 2 objects will be returned for each channel (one for each direction).", - "", - "Only one of *short_channel_id*, *source* or *destination* can be supplied. If nothing is supplied, data on all lightning channels known to this node, are returned. These can be local channels or public channels broadcast on the gossip network." - ], - "request": { - "required": [], - "properties": { - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "If short_channel_id is a short channel id, then only known channels with a matching short_channel_id are returned. Otherwise, it must be null." - ] - }, - "source": { - "type": "pubkey", - "description": [ - "If source is a node id, then only channels leading from that node id are returned." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "If destination is a node id, then only channels leading to that node id are returned." - ] - } - } - }, - "response": { - "required": [ - "channels" - ], - "properties": { - "channels": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "source", - "destination", - "short_channel_id", - "direction", - "public", - "amount_msat", - "message_flags", - "channel_flags", - "active", - "last_update", - "base_fee_millisatoshi", - "fee_per_millionth", - "delay", - "htlc_minimum_msat", - "features" - ], - "properties": { - "source": { - "type": "pubkey", - "description": [ - "The source node." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The destination node." - ] - }, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "Short channel id of channel." - ] - }, - "direction": { - "type": "u32", - "description": [ - "Direction (0 if source < destination, 1 otherwise)." - ] - }, - "public": { - "type": "boolean", - "description": [ - "True if this is announced (from *v24.02*, being false is deprecated)." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The total capacity of this channel (always a whole number of satoshis)." - ] - }, - "message_flags": { - "type": "u8", - "description": [ - "As defined by BOLT #7." - ] - }, - "channel_flags": { - "type": "u8", - "description": [ - "As defined by BOLT #7." - ] - }, - "active": { - "type": "boolean", - "description": [ - "True unless source has disabled it (or (deprecated in *v24.02*) it's a local channel and the peer is disconnected or it's still opening or closing)." - ] - }, - "last_update": { - "type": "u32", - "description": [ - "UNIX timestamp on the last channel_update from *source*." - ] - }, - "base_fee_millisatoshi": { - "type": "u32", - "description": [ - "Base fee changed by *source* to use this channel." - ] - }, - "fee_per_millionth": { - "type": "u32", - "description": [ - "Proportional fee changed by *source* to use this channel, in parts-per-million." - ] - }, - "delay": { - "type": "u32", - "description": [ - "The number of blocks delay required by *source* to use this channel." - ] - }, - "htlc_minimum_msat": { - "type": "msat", - "description": [ - "The smallest payment *source* will allow via this channel." - ] - }, - "htlc_maximum_msat": { - "type": "msat", - "description": [ - "The largest payment *source* will allow via this channel." - ] - }, - "features": { - "type": "hex", - "description": [ - "BOLT #9 features bitmap for this channel." - ] - } - } - } - } - }, - "post_return_value_notes": [ - "If one of *short_channel_id*, *source* or *destination* is supplied and no matching channels are found, a 'channels' object with an empty list is returned." - ] - }, - "errors": [ - "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." - ], - "example_json_request": [ - { - "id": "example:listchannels#1", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#2", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#3", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#4", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#5", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#6", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#7", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#8", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#9", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#10", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#11", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#12", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#13", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#14", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#15", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#16", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#17", - "method": "listchannels", - "params": { - "short_channel_id": "103x1x0", - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#18", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#19", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#20", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#21", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#22", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - }, - { - "id": "example:listchannels#23", - "method": "listchannels", - "params": { - "short_channel_id": null, - "source": null, - "destination": null - } - } - ], - "example_json_response": [ - { - "channels": [] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1706153393, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1706153393, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624222, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624222, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624222, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624222, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624617, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624617, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624617, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624617, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624684, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624684, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 0, - "active": true, - "last_update": 1708624684, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 1, - "active": true, - "last_update": 1708624684, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 2, - "active": false, - "last_update": 1708624685, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 3, - "active": false, - "last_update": 1708624685, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [ - { - "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "short_channel_id": "103x1x0", - "direction": 0, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 2, - "active": false, - "last_update": 1708624685, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - }, - { - "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "short_channel_id": "103x1x0", - "direction": 1, - "public": true, - "amount_msat": 1000000000, - "message_flags": 1, - "channel_flags": 3, - "active": false, - "last_update": 1708624685, - "base_fee_millisatoshi": 1, - "fee_per_millionth": 10, - "delay": 6, - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "features": "" - } - ] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [] - }, - { - "channels": [] - } - ], - "author": [ - "Michael Hawkins <>." - ], - "see_also": [ - "lightning-fundchannel(7)", - "lightning-listnodes(7)" - ], - "resources": [ - "Main web site: ", - "", - "BOLT #7: " - ] - }, - "lightning-listclosedchannels.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.05", - "rpc": "listclosedchannels", - "title": "Get data on our closed historical channels", - "description": [ - "The **listclosedchannels** RPC command returns data on channels which are otherwise forgotten (more than 100 blocks after they're completely resolved onchain)." - ], - "request": { - "required": [], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "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." - ] - } - } - }, - "response": { - "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 True, 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 successfully 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." - ] - } - } - } - } - } - }, - "errors": [ - "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 <>." - ], - "see_also": [ - "lightning-listpeerchannels(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listconfigs.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listconfigs", - "title": "Command to list all configuration options.", - "description": [ - "The **listconfigs** RPC command to list all configuration options, or with *config* only one." - ], - "request": { - "required": [], - "properties": { - "config": { - "type": "string", - "description": [ - "Configuration option name to restrict return." - ] - } - } - }, - "response": { - "required": [], - "properties": { - "configs": { - "added": "v23.08", - "type": "object", - "comment": "Plugins can add fields to this, so we can't rule out additional properties :(", - "additionalProperties": true, - "required": [], - "properties": { - "conf": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from cmdline." - ] - }, - "source": { - "type": "string", - "enum": [ - "cmdline" - ], - "description": [ - "Source of configuration setting." - ] - } - } - }, - "developer": { - "type": "object", - "added": "v23.08", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "clear-plugins": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "disable-mpp": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - }, - "plugin": { - "type": "string", - "description": [ - "Plugin which registered this configuration setting." - ] - } - } - }, - "mainnet": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "regtest": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "signet": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "testnet": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "important-plugin": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "plugin": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "plugin-dir": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "lightning-dir": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "network": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default (can also be changed by `testnet`, `signet`, `regtest` options!)." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "allow-deprecated-apis": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "rpc-file": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "disable-plugin": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "always-use-proxy": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "daemon": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "wallet": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "large-channels": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-dual-fund": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-splicing": { - "added": "v23.08", - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-onion-messages": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-offers": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-shutdown-wrong-funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-websocket-port": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-peer-storage": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "experimental-anchors": { - "type": "object", - "added": "v23.08", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "database-upgrade": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "rgb": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "hex", - "description": [ - "Field from config or cmdline, or default." - ], - "maxLength": 6, - "minLength": 6 - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "alias": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "pid-file": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "ignore-fee-limits": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "watchtime-blocks": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "max-locktime-blocks": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "funding-confirms": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "cltv-delta": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "cltv-final": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "commit-time": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "fee-base": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "rescan": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "integer", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "fee-per-satoshi": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "max-concurrent-htlcs": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "htlc-minimum-msat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_msat", - "source" - ], - "properties": { - "value_msat": { - "type": "msat", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "htlc-maximum-msat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_msat", - "source" - ], - "properties": { - "value_msat": { - "type": "msat", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "max-dust-htlc-exposure-msat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_msat", - "source" - ], - "properties": { - "value_msat": { - "type": "msat", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "min-capacity-sat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u64", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - }, - "dynamic": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Can this be set by setconfig()." - ] - } - } - }, - "addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "announce-addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "bind-addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "offline": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "autolisten": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "proxy": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "disable-dns": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "announce-addr-discovered": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "enum": [ - "true", - "false", - "auto" - ], - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "announce-addr-discovered-port": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "encrypted-hsm": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "rpc-file-mode": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "log-level": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "log-prefix": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "log-file": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "log-timestamps": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "force-feerates": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "subdaemon": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Field from config or cmdline." - ] - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - }, - "fetchinvoice-noconnect": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": [ - "`true` if set in config or cmdline." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "accept-htlc-tlv-types": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "tor-service-password": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "announce-addr-dns": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "require-confirmed-inputs": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "commit-fee": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u64", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - }, - "commit-feerate-offset": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting." - ] - } - } - } - } - }, - "# version": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "Special field indicating the current version." - ] - }, - "plugins": { - "type": "array", - "deprecated": [ - "v23.08", - "v24.02" - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "path", - "name" - ], - "description": [ - "`plugin` field from config or cmdline." - ], - "properties": { - "path": { - "type": "string", - "description": [ - "Full path of the plugin." - ] - }, - "name": { - "type": "string", - "description": [ - "Short name of the plugin." - ] - }, - "options": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": [ - "Specific options set for this plugin." - ], - "properties": {} - } - } - } - }, - "important-plugins": { - "type": "array", - "deprecated": [ - "v23.08", - "v24.02" - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "path", - "name" - ], - "description": [ - "`important-plugin` field from config or cmdline, or built-in." - ], - "properties": { - "path": { - "type": "string", - "description": [ - "Full path of the plugin." - ] - }, - "name": { - "type": "string", - "description": [ - "Short name of the plugin." - ] - }, - "options": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": [ - "Specific options set for this plugin." - ], - "properties": {} - } - } - } - }, - "conf": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`conf` field from cmdline, or default." - ] - }, - "lightning-dir": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`lightning-dir` field from config or cmdline, or default." - ] - }, - "network": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`network` field from config or cmdline, or default." - ] - }, - "allow-deprecated-apis": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`allow-deprecated-apis` field from config or cmdline, or default." - ] - }, - "rpc-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`rpc-file` field from config or cmdline, or default." - ] - }, - "disable-plugin": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "array", - "items": { - "type": "string", - "description": [ - "`disable-plugin` field from config or cmdline." - ] - } - }, - "bookkeeper-dir": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`bookkeeper-dir` field from config or cmdline, or default." - ] - }, - "bookkeeper-db": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`bookkeeper-db` field from config or cmdline, or default." - ] - }, - "always-use-proxy": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`always-use-proxy` field from config or cmdline, or default." - ] - }, - "daemon": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`daemon` field from config or cmdline, or default." - ] - }, - "wallet": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`wallet` field from config or cmdline default." - ] - }, - "large-channels": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`large-channels` field from config or cmdline, or default." - ] - }, - "experimental-dual-fund": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`experimental-dual-fund` field from config or cmdline, or default." - ] - }, - "experimental-splicing": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`experimental-splicing` field from config or cmdline, or default." - ] - }, - "experimental-onion-messages": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`experimental-onion-messages` field from config or cmdline, or default." - ] - }, - "experimental-offers": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`experimental-offers` field from config or cmdline, or default." - ] - }, - "experimental-shutdown-wrong-funding": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`experimental-shutdown-wrong-funding` field from config or cmdline, or default." - ] - }, - "experimental-websocket-port": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u16", - "description": [ - "`experimental-websocket-port` field from config or cmdline, or default." - ] - }, - "experimental-peer-storage": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "added": "v23.02", - "description": [ - "`experimental-peer-storage` field from config or cmdline, or default." - ] - }, - "experimental-quiesce": { - "type": "boolean", - "added": "v23.08", - "deprecated": [ - "v23.08", - "v24.02" - ], - "description": [ - "`experimental-quiesce` field from config or cmdline, or default." - ] - }, - "experimental-upgrade-protocol": { - "type": "boolean", - "added": "v23.08", - "deprecated": [ - "v23.08", - "v24.02" - ], - "description": [ - "`experimental-upgrade-protocol` field from config or cmdline, or default." - ] - }, - "invoices-onchain-fallback": { - "type": "boolean", - "added": "v23.11", - "description": [ - "`invoices-onchain-fallback` field from config or cmdline, or default." - ] - }, - "database-upgrade": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`database-upgrade` field from config or cmdline." - ] - }, - "rgb": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "hex", - "description": [ - "`rgb` field from config or cmdline, or default." - ], - "maxLength": 6, - "minLength": 6 - }, - "alias": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`alias` field from config or cmdline, or default." - ] - }, - "pid-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`pid-file` field from config or cmdline, or default." - ] - }, - "ignore-fee-limits": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`ignore-fee-limits` field from config or cmdline, or default." - ] - }, - "watchtime-blocks": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`watchtime-blocks` field from config or cmdline, or default." - ] - }, - "max-locktime-blocks": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`max-locktime-blocks` field from config or cmdline, or default." - ] - }, - "funding-confirms": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`funding-confirms` field from config or cmdline, or default." - ] - }, - "cltv-delta": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`cltv-delta` field from config or cmdline, or default." - ] - }, - "cltv-final": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`cltv-final` field from config or cmdline, or default." - ] - }, - "commit-time": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`commit-time` field from config or cmdline, or default." - ] - }, - "fee-base": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`fee-base` field from config or cmdline, or default." - ] - }, - "rescan": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "integer", - "description": [ - "`rescan` field from config or cmdline, or default." - ] - }, - "fee-per-satoshi": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`fee-per-satoshi` field from config or cmdline, or default." - ] - }, - "max-concurrent-htlcs": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": [ - "`max-concurrent-htlcs` field from config or cmdline, or default." - ] - }, - "htlc-minimum-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": [ - "`htlc-minimum-msat` field from config or cmdline, or default." - ] - }, - "htlc-maximum-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": [ - "`htlc-maximum-msat` field from config or cmdline, or default." - ] - }, - "max-dust-htlc-exposure-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": [ - "`max-dust-htlc-exposure-mast` field from config or cmdline, or default." - ] - }, - "min-capacity-sat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u64", - "description": [ - "`min-capacity-sat` field from config or cmdline, or default." - ] - }, - "addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`addr` field from config or cmdline (can be more than one)." - ] - }, - "announce-addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`announce-addr` field from config or cmdline (can be more than one)." - ] - }, - "bind-addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`bind-addr` field from config or cmdline (can be more than one)." - ] - }, - "offline": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`true` if `offline` was set in config or cmdline." - ] - }, - "autolisten": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`autolisten` field from config or cmdline, or default." - ] - }, - "proxy": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`proxy` field from config or cmdline, or default." - ] - }, - "disable-dns": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`true` if `disable-dns` was set in config or cmdline." - ] - }, - "announce-addr-discovered": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`true`/`false`/`auto` depending on how `announce-addr-discovered` was set in config or cmdline." - ], - "added": "v23.02" - }, - "announce-addr-discovered-port": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "integer", - "description": [ - "Sets the announced TCP port for dynamically discovered IPs." - ], - "added": "v23.02" - }, - "encrypted-hsm": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`true` if `encrypted-hsm` was set in config or cmdline." - ] - }, - "rpc-file-mode": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`rpc-file-mode` field from config or cmdline, or default." - ] - }, - "log-level": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`log-level` field from config or cmdline, or default." - ] - }, - "log-prefix": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`log-prefix` field from config or cmdline, or default." - ] - }, - "log-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`log-file` field from config or cmdline, or default." - ] - }, - "log-timestamps": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`log-timestamps` field from config or cmdline, or default." - ] - }, - "force-feerates": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "Force-feerate configuration setting, if any." - ] - }, - "subdaemon": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`subdaemon` fields from config or cmdline if any (can be more than one)." - ] - }, - "fetchinvoice-noconnect": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "`fetchinvoice-noconnect` fields from config or cmdline, or default." - ] - }, - "accept-htlc-tlv-types": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`accept-htlc-tlv-types` field from config or cmdline, or not present." - ] - }, - "tor-service-password": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": [ - "`tor-service-password` field from config or cmdline, if any." - ] - }, - "dev-allowdustreserve": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "Whether we allow setting dust reserves." - ] - }, - "announce-addr-dns": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "added": "v22.11.1", - "description": [ - "Whether we put DNS entries into node_announcement." - ] - }, - "require-confirmed-inputs": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": [ - "Request peers to only send confirmed inputs (dual-fund only)." - ] - }, - "developer": { - "added": "v23.08", - "type": "boolean", - "description": [ - "Whether developer mode is enabled." - ] - }, - "commit-fee": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u64", - "added": "v23.05", - "description": [ - "The percentage of the 6-block fee estimate to use for commitment transactions." - ] - }, - "min-emergency-msat": { - "type": "msat", - "added": "v23.08", - "description": [ - "Field from config or cmdline, or default." - ] - }, - "commit-feerate-offset": { - "type": "u32", - "added": "v23.11", - "description": [ - "Additional commitment feerate applied by channel owner." - ] - } - }, - "pre_return_value_notes": [ - "The returned values reflect the current configuration, including showing default values (`dev-` options are not shown unless specified as *config* explicitly).", - "", - "Note: as plugins can add options, not all configuration settings are listed here! The format of each entry is as follows:", - "", - "- **source** (string): source of configuration setting (`file`:`linenum`)", - "- **dynamic** (boolean, optional): true if this option is settable via setconfig", - "- **plugin** (string, optional): set if this is from a plugin", - "", - "Depending on the option type, exactly one of the following is present:", - "", - "- **set** (boolean, optional): for simple flag options", - "- **value_str** (string, optional): for string options", - "- **value_msat** (msat, optional): for msat options", - "- **value_int** (integer, optional): for integer options", - "- **value_bool** (boolean, optional): for boolean options" - ] - }, - "example_json_request": [ - { - "id": "example:listconfigs#1", - "method": "listconfigs", - "params": { - "config": "network" - } - }, - { - "id": "example:listconfigs#2", - "method": "listconfigs", - "params": { - "config": null - } - }, - { - "id": "example:listconfigs#3", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#4", - "method": "listconfigs", - "params": { - "config": null - } - }, - { - "id": "example:listconfigs#5", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#6", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#7", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#8", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#9", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#10", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#11", - "method": "listconfigs", - "params": { - "config": "accept-htlc-tlv-type" - } - }, - { - "id": "example:listconfigs#12", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#13", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#14", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#15", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#16", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#17", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#18", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#19", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#20", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#21", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#22", - "method": "listconfigs", - "params": { - "config": null - } - }, - { - "id": "example:listconfigs#23", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - }, - { - "id": "example:listconfigs#24", - "method": "listconfigs", - "params": { - "config": "experimental-dual-fund" - } - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters or field with *config* name doesn't exist." - ], - "example_json_response": [ - { - "#version": "v0.9.0-1", - "lightning-dir": "/media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev", - "network": "testnet", - "allow-deprecated-apis": true, - "rpc-file": "lightning-rpc", - "plugins": [ + "type": "IO_OUT", + "time": "0.305872279", + "source": "plugin-pay", + "log": "9", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.315357209", + "source": "plugin-manager", + "log": "started(2710730) /home/shahana/workspace/lightning/plugins/recover" + }, + { + "type": "IO_OUT", + "time": "0.315477892", + "source": "plugin-recover", + "log": "10", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.325627014", + "source": "plugin-manager", + "log": "started(2710733) /home/shahana/workspace/lightning/plugins/txprepare" + }, + { + "type": "IO_OUT", + "time": "0.325781426", + "source": "plugin-txprepare", + "log": "11", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.335880825", + "source": "plugin-manager", + "log": "started(2710740) /home/shahana/workspace/lightning/plugins/cln-renepay" + }, + { + "type": "IO_OUT", + "time": "0.336028546", + "source": "plugin-cln-renepay", + "log": "12", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.345501465", + "source": "plugin-manager", + "log": "started(2710745) /home/shahana/workspace/lightning/plugins/spenderp" + }, + { + "type": "IO_OUT", + "time": "0.345633036", + "source": "plugin-spenderp", + "log": "13", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.354748514", + "source": "plugin-manager", + "log": "started(2710747) /home/shahana/workspace/lightning/plugins/sql" + }, + { + "type": "IO_OUT", + "time": "0.354872242", + "source": "plugin-sql", + "log": "14", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.364197920", + "source": "plugin-manager", + "log": "started(2710750) /home/shahana/workspace/lightning/plugins/cln-grpc" + }, + { + "type": "IO_OUT", + "time": "0.364313468", + "source": "plugin-cln-grpc", + "log": "15", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.373894240", + "source": "plugin-manager", + "log": "started(2710751) /home/shahana/workspace/lightning/plugins/bookkeeper" + }, + { + "type": "IO_OUT", + "time": "0.373994746", + "source": "plugin-bookkeeper", + "log": "16", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.383655836", + "source": "plugin-manager", + "log": "started(2710758) /home/shahana/workspace/lightning/plugins/clnrest/clnrest.py" + }, + { + "type": "IO_OUT", + "time": "0.383758062", + "source": "plugin-clnrest.py", + "log": "17", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.404523651", + "source": "plugin-cln-grpc", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d65737361" + }, + { + "type": "IO_IN", + "time": "0.404647624", + "source": "plugin-autoclean", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a302c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226175746f636c65616e69" + }, + { + "type": "IO_IN", + "time": "0.404689334", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.404715885", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626974636f696e2d6461" + }, + { + "type": "IO_IN", + "time": "0.404742282", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.404765640", + "source": "plugin-fetchinvoice", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226665746368696e766f69" + }, + { + "type": "IO_IN", + "time": "0.404790420", + "source": "plugin-funder", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a352c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2266756e6465722d706f6c" + }, + { + "type": "IO_IN", + "time": "0.404812025", + "source": "plugin-topology", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a362c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.404858441", + "source": "plugin-keysend", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a372c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.404923679", + "source": "plugin-offers", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a382c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.405000091", + "source": "plugin-pay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a392c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2264697361626c652d6d70" + }, + { + "type": "IO_IN", + "time": "0.405053290", + "source": "plugin-recover", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31302c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b5d2c" + }, + { + "type": "IO_IN", + "time": "0.405116292", + "source": "plugin-txprepare", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" + }, + { + "type": "IO_IN", + "time": "0.405168904", + "source": "plugin-cln-grpc", + "log": "", + "data": "6765223a22506c7567696e206c6f6767696e6720696e697469616c697a6564227d7d0a0a7b226964223a31352c226a736f6e727063223a22322e30222c227265" + }, + { + "type": "DEBUG", + "time": "0.405241972", + "source": "plugin-cln-grpc", + "log": "Plugin logging initialized" + }, + { + "type": "IO_IN", + "time": "0.405292289", + "source": "plugin-autoclean", + "log": "", + "data": "6e766f6963652d6379636c65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506572666f726d20636c65616e7570206f6620" + }, + { + "type": "IO_IN", + "time": "0.405343034", + "source": "plugin-chanbackup", + "log": "", + "data": "616d65223a22656d657267656e63797265636f766572222c227573616765223a22222c226465736372697074696f6e223a22506f70756c617465732074686520" + }, + { + "type": "IO_IN", + "time": "0.405390612", + "source": "plugin-bcli", + "log": "", + "data": "7461646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a222d646174616469722061726720666f7220626974636f696e2d63" + }, + { + "type": "IO_IN", + "time": "0.405441770", + "source": "plugin-commando", + "log": "", + "data": "616d65223a22636f6d6d616e646f222c227573616765223a22706565725f6964206d6574686f64205b706172616d735d205b72756e655d205b66696c7465725d" + }, + { + "type": "IO_IN", + "time": "0.405490143", + "source": "plugin-fetchinvoice", + "log": "", + "data": "63652d6e6f636f6e6e656374222c2274797065223a22666c6167222c226465736372697074696f6e223a22446f6e27742074727920746f20636f6e6e65637420" + }, + { + "type": "IO_IN", + "time": "0.405538475", + "source": "plugin-funder", + "log": "", + "data": "696379222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506f6c69637920746f2075736520666f72206475616c2d66756e6469" + }, + { + "type": "IO_IN", + "time": "0.405597830", + "source": "plugin-topology", + "log": "", + "data": "616d65223a22676574726f757465222c227573616765223a22696420616d6f756e745f6d736174207269736b666163746f72205b636c74765d205b66726f6d69" + }, + { + "type": "IO_IN", + "time": "0.405646517", + "source": "plugin-keysend", + "log": "", + "data": "616d65223a226b657973656e64222c227573616765223a2264657374696e6174696f6e20616d6f756e745f6d736174205b6c6162656c5d205b6d617866656570" + }, + { + "type": "IO_IN", + "time": "0.405694964", + "source": "plugin-offers", + "log": "", + "data": "616d65223a226f66666572222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b7175616e74" + }, + { + "type": "IO_IN", + "time": "0.405776835", + "source": "plugin-pay", + "log": "", + "data": "70222c2274797065223a22666c6167222c226465736372697074696f6e223a2244697361626c65206d756c74692d70617274207061796d656e74732e222c2264" + }, + { + "type": "IO_IN", + "time": "0.405839592", + "source": "plugin-recover", + "log": "", + "data": "22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c226479" + }, + { + "type": "IO_IN", + "time": "0.405889681", + "source": "plugin-txprepare", + "log": "", + "data": "6e616d65223a22747870726570617265222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c" + }, + { + "type": "IO_IN", + "time": "0.405931497", + "source": "plugin-cln-renepay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2272656e657061792d64" + }, + { + "type": "IO_IN", + "time": "0.405953448", + "source": "plugin-spenderp", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" + }, + { + "type": "IO_IN", + "time": "0.405976755", + "source": "plugin-sql", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226465762d73716c6669" + }, + { + "type": "IO_IN", + "time": "0.405999352", + "source": "plugin-cln-grpc", + "log": "", + "data": "73756c74223a7b2264796e616d6963223a66616c73652c226665617475726562697473223a7b7d2c22686f6f6b73223a5b5d2c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d2c226f7074696f6e73223a5b7b226465736372697074696f6e223a22576869636820706f72742073686f756c6420746865206772706320706c7567696e206c697374656e20666f7220696e636f6d696e6720636f6e6e656374696f6e733f222c226e616d65223a22677270632d706f7274222c2274797065223a22696e74227d5d2c227270636d65" + }, + { + "type": "IO_IN", + "time": "0.406027196", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31362c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626f6f6b6b65657065" + }, + { + "type": "IO_IN", + "time": "0.406054953", + "source": "plugin-autoclean", + "log": "", + "data": "6578706972656420696e766f6963657320657665727920676976656e207365636f6e64732c206f7220646f206e6f74206175746f636c65616e2069662030222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f63" + }, + { + "type": "IO_IN", + "time": "0.406080433", + "source": "plugin-chanbackup", + "log": "", + "data": "444220776974682073747562206368616e6e656c73222c226c6f6e675f6465736372697074696f6e223a2272657475726e732073747562206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d2c7b226e616d65223a22726573746f726566726f6d70656572222c227573616765223a22222c226465736372" + }, + { + "type": "IO_IN", + "time": "0.406104364", + "source": "plugin-bcli", + "log": "", + "data": "6c69222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d636c69222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e2d636c6920706174686e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f69" + }, + { + "type": "IO_IN", + "time": "0.406131022", + "source": "plugin-commando", + "log": "", + "data": "222c226465736372697074696f6e223a2253656e64206120636f6d6d616e646f206d65737361676520746f20612064697265637420706565722c207761697420666f7220726573706f6e7365222c226c6f6e675f6465736372697074696f6e223a2253656e6473207b706565725f69647d207b6d6574686f647d207769746820" + }, + { + "type": "IO_IN", + "time": "0.406154383", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6469726563746c7920746f20666574636820616e20696e766f6963652e222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226665746368696e766f696365222c227573616765223a226f66666572205b616d6f756e745f6d7361745d205b7175616e746974795d205b72" + }, + { + "type": "IO_IN", + "time": "0.406184949", + "source": "plugin-funder", + "log": "", + "data": "6e672072657175657374732e205b6d617463682c20617661696c61626c652c2066697865645d222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d706f6c6963792d6d6f64222c2274797065223a22737472696e67222c226465736372697074696f6e223a2250657263656e7420746f2061" + }, + { + "type": "IO_IN", + "time": "0.406209177", + "source": "plugin-topology", + "log": "", + "data": "645d205b66757a7a70657263656e745d205b6578636c7564655d205b6d6178686f70735d222c226465736372697074696f6e223a225072696d697469766520726f75746520636f6d6d616e64222c226c6f6e675f6465736372697074696f6e223a2253686f7720726f75746520746f207b69647d20666f72207b6d7361746f73" + }, + { + "type": "IO_IN", + "time": "0.406233821", + "source": "plugin-keysend", + "log": "", + "data": "657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6578747261746c76735d205b726f75746568696e74735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e642061207061796d656e7420776974686f757420616e2069" + }, + { + "type": "IO_IN", + "time": "0.406259307", + "source": "plugin-offers", + "log": "", + "data": "6974795f6d61785d205b6162736f6c7574655f6578706972795d205b726563757272656e63655d205b726563757272656e63655f626173655d205b726563757272656e63655f70617977696e646f775d205b726563757272656e63655f6c696d69745d205b73696e676c655f7573655d205b726563757272656e63655f737461" + }, + { + "type": "IO_IN", + "time": "0.406284461", + "source": "plugin-pay", + "log": "", + "data": "796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22706179737461747573222c227573616765223a225b626f6c7431315d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f" + }, + { + "type": "IO_IN", + "time": "0.406312361", + "source": "plugin-recover", + "log": "", + "data": "6e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.406369052", + "source": "plugin-txprepare", + "log": "", + "data": "226465736372697074696f6e223a224372656174652061207472616e73616374696f6e2c2077697468206f7074696f6e20746f207370656e6420696e20667574757265202865697468657220747873656e6420616e642074786469736361726429222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e" + }, + { + "type": "IO_IN", + "time": "0.406391962", + "source": "plugin-cln-renepay", + "log": "", + "data": "656275672d6d6366222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179204d434620646562756720" + }, + { + "type": "IO_IN", + "time": "0.406461708", + "source": "plugin-spenderp", + "log": "", + "data": "6e616d65223a226d756c74697769746864726177222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f" + }, + { + "type": "IO_IN", + "time": "0.406487510", + "source": "plugin-sql", + "log": "", + "data": "6c656e616d65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22557365206f6e2d6469736b2073716c697465332066696c6520" + }, + { + "type": "IO_IN", + "time": "0.406508672", + "source": "plugin-cln-grpc", + "log": "", + "data": "74686f6473223a5b5d2c22737562736372697074696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.406587198", + "source": "plugin-bookkeeper", + "log": "", + "data": "722d646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e20666f7220626f6f6b6b6565706572207265" + }, + { + "type": "IO_IN", + "time": "0.406616970", + "source": "plugin-autoclean", + "log": "", + "data": "6c65616e696e766f6963652d657870697265642d6279222c2274797065223a22737472696e67222c226465736372697074696f6e223a224966206578706972656420696e766f696365206175746f636c65616e20656e61626c65642c20696e766f6963657320746861742068617665206578706972656420666f72206174206c65617374207468697320676976656e207365636f6e64732061726520636c65616e6564222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f636c65616e2d6379636c65222c2274797065223a22696e74222c2264" + }, + { + "type": "IO_IN", + "time": "0.406647056", + "source": "plugin-chanbackup", + "log": "", + "data": "697074696f6e223a22436865636b732069662069206861766520676f742061206261636b75702066726f6d206120706565722c20616e6420696620736f2c2077696c6c20737475622074686f7365206368616e6e656c7320696e2074686520646174616261736520616e64206966206973207375636365737366756c2c2077696c6c2072657475726e206c697374206f66206368616e6e656c7320746861742068617665206265656e207375636365737366756c6c792073747562626564222c226c6f6e675f6465736372697074696f6e223a2272657475726e206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d5d2c22737562736372" + }, + { + "type": "IO_IN", + "time": "0.406673358", + "source": "plugin-bcli", + "log": "", + "data": "6e2d72706375736572222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320757365726e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72706370617373776f7264222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e64205250432070617373776f7264222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063636f6e6e656374222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320" + }, + { + "type": "IO_IN", + "time": "0.406700034", + "source": "plugin-commando", + "log": "", + "data": "6f7074696f6e616c207b706172616d737d20616e64207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d72756e65222c227573616765223a225b72756e655d205b7265737472696374696f6e735d222c226465736372697074696f6e223a22437265617465206f7220726573747269637420612072756e65222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d2077697468206f7074696f6e616c207b7265737472696374696f6e737d20616e642072657475726e73207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d6c69737472756e6573222c227573" + }, + { + "type": "IO_IN", + "time": "0.406731491", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6563757272656e63655f636f756e7465725d205b726563757272656e63655f73746172745d205b726563757272656e63655f6c6162656c5d205b74696d656f75745d205b70617965725f6e6f74655d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220616e20696e766f69636520666f722074686973207b6f666665727d2c2077697468207b616d6f756e747d2c207b7175616e69746974797d2c207b726563757272656e63655f636f756e7465727d2c207b726563757272656e63655f73746172747d20616e64207b726563757272656e63655f6c6162656c7d206966662072657175697265642e227d" + }, + { + "type": "IO_IN", + "time": "0.406762478", + "source": "plugin-funder", + "log": "", + "data": "70706c7920706f6c69637920617420286d617463682f617661696c61626c65293b206f7220616d6f756e7420746f2066756e642028666978656429222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d696e2d74686569722d66756e64696e67222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e672070656572206d757374206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d61782d74686569722d66756e64696e67222c" + }, + { + "type": "IO_IN", + "time": "0.406789416", + "source": "plugin-topology", + "log": "", + "data": "68697d2c207573696e67207b7269736b666163746f727d20616e64206f7074696f6e616c207b636c74767d202864656661756c742039292e20496620737065636966696564207365617263682066726f6d207b66726f6d69647d206f7468657277697365207573652074686973206e6f646520617320736f757263652e2052616e646f6d697a652074686520726f757465207769746820757020746f207b66757a7a70657263656e747d202869676e6f72656429292e207b6578636c7564657d20616e206172726179206f662073686f72742d6368616e6e656c2d69642f646972656374696f6e2028652e672e205b20273536343333347838373778312f3027" + }, + { + "type": "IO_IN", + "time": "0.406815670", + "source": "plugin-keysend", + "log": "", + "data": "6e766f69636520746f2061206e6f6465222c226c6f6e675f6465736372697074696f6e223a2253656e6420616e20756e736f6c696369746564207061796d656e74206f66207b616d6f756e747d20746f207b64657374696e6174696f6e7d2c2062792070726f766964696e672074686520726563697069656e7420746865206e656365737361727920696e666f726d6174696f6e20746f20636c61696d20746865207061796d656e74227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a2268746c635f6163636570746564227d" + }, + { + "type": "IO_IN", + "time": "0.406844276", + "source": "plugin-offers", + "log": "", + "data": "72745f616e795f706572696f645d222c226465736372697074696f6e223a2243726561746520616e206f6666657220746f20616363657074206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e206f6666657220666f7220696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c207b7175616e746974795f6d696e7d2c207b7175616e746974795f6d61787d2c207b6162736f6c7574655f6578706972797d2c207b726563757272656e63657d2c207b726563757272656e" + }, + { + "type": "IO_IN", + "time": "0.406877716", + "source": "plugin-pay", + "log": "", + "data": "7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a226c69737470617973222c227573616765223a225b626f6c7431315d205b7061796d656e745f686173685d205b7374617475735d222c226465736372697074696f6e223a224c69737420726573756c74206f66207061796d656e74207b626f6c7431317d206f72207b7061796d656e745f686173687d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f76657273206f6c64207061796d656e747320286661696c656420" + }, + { + "type": "IO_IN", + "time": "0.406904658", + "source": "plugin-txprepare", + "log": "", + "data": "20756e7369676e6564207472616e73616374696f6e20706179696e67207b6f7574707574737d2077697468206f7074696f6e616c207b666565726174657d2c207b6d696e636f6e667d20616e64207b7574786f737d227d2c7b226e616d65223a22747864697363617264222c227573616765223a2274786964222c226465736372697074696f6e223a22446973636172642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a22446973636172642061207472616e73636174696f6e206279207b747869647d227d2c7b226e616d65223a22747873656e64222c227573" + }, + { + "type": "IO_IN", + "time": "0.406935905", + "source": "plugin-cln-renepay", + "log": "", + "data": "696e666f2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2272656e657061792d64656275672d706179666c6f77222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179207061796d656e7420666c6f777320646562756720696e666f2e222c22" + }, + { + "type": "IO_IN", + "time": "0.406965240", + "source": "plugin-spenderp", + "log": "", + "data": "735d222c226465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d2076696120612073696e676c6520426974636f696e207472616e73616374696f6e2e222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d20" + }, + { + "type": "IO_IN", + "time": "0.406989384", + "source": "plugin-sql", + "log": "", + "data": "696e7374656164206f6620696e206d656d6f72792028652e672e20646562756767696e6729222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2273716c222c227573616765223a227175657279222c226465736372697074696f6e223a2252756e207b71756572797d20" + }, + { + "type": "IO_IN", + "time": "0.407013750", + "source": "plugin-bookkeeper", + "log": "", + "data": "636f7264732e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626f6f6b6b65657065722d6462222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e206f662074686520626f6f6b6b6565706572206461746162617365222c2264796e616d6963223a66" + }, + { + "type": "IO_IN", + "time": "0.407045476", + "source": "plugin-autoclean", + "log": "", + "data": "65736372697074696f6e223a22506572666f726d20636c65616e757020657665727920676976656e207365636f6e6473222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c20666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c656420666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c2070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d" + }, + { + "type": "IO_IN", + "time": "0.407083064", + "source": "plugin-chanbackup", + "log": "", + "data": "697074696f6e73223a5b226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d2c7b226e616d65223a22706565725f636f6e6e6563746564227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.407297853", + "source": "plugin-bcli", + "log": "", + "data": "686f737420746f20636f6e6e65637420746f222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063706f7274222c2274797065223a22696e74222c226465736372697074696f6e223a22626974636f696e642052504320686f7374277320706f7274222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72657472792d74696d656f7574222c2274797065223a22737472696e67222c226465736372697074696f6e223a22686f77206c6f6e6720746f206b656570207265747279696e6720746f20636f6e7461637420626974636f696e64206265666f726520666174616c6c792065786974696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226465762d6e6f2d66616b652d66656573222c2274797065223a22626f6f6c222c226465736372697074696f6e223a225375707072657373206665652066616b696e6720666f722072656774657374222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22676574726177626c6f636b6279686569676874222c227573616765223a22686569676874222c226465736372697074696f6e223a224765742074686520626974636f696e20626c6f636b206174206120676976656e20686569676874222c226c6f6e" + }, + { + "type": "IO_IN", + "time": "0.407340157", + "source": "plugin-commando", + "log": "", + "data": "616765223a225b72756e655d222c226465736372697074696f6e223a224c6973742072756e657320776520686176652063726561746564206561726c696572222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d20616e642072657475726e73206c697374206f66207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d626c61636b6c697374222c227573616765223a225b73746172745d205b656e645d222c226465736372697074696f6e223a22426c61636b6c69737420612072756e65206f722072616e6765206f662072756e657320627920756e69717565206964222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b73746172747d20616e6420616e206f7074696f6e616c207b656e647d20616e642072657475726e73207b626c61636b6c6973747d20617272617920636f6e7461696e696e67207b73746172747d2c207b656e647d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f7469666963617469" + }, + { + "type": "IO_IN", + "time": "0.407380206", + "source": "plugin-fetchinvoice", + "log": "", + "data": "2c7b226e616d65223a2273656e64696e766f696365222c227573616765223a22696e76726571206c6162656c205b616d6f756e745f6d7361745d205b74696d656f75745d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220746f207061792074686973207b696e767265717d2c2077697468207b6c6162656c7d2c206f7074696f6e616c207b616d6f756e745f6d7361747d2c20616e64207b74696d656f75747d202864656661756c74203930207365636f6e6473292e227d2c7b226e616d65223a226465762d72617772657175657374222c227573616765223a22696e76726571206e6f64656964205b74696d656f75745d222c226465736372697074696f6e223a2253656e64207b696e767265717d20746f207b6e6f646569647d2c2077616974207b74696d656f75747d20283630207365636f6e64732062792064656661756c7429227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f726563765f736563726574227d2c7b226e616d65223a22696e766f6963655f7061796d656e74227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e" + }, + { + "type": "IO_IN", + "time": "0.407416271", + "source": "plugin-funder", + "log": "", + "data": "2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e672070656572206d6179206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d696e222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2049662077652063616e2774206d65657420746869732c20776520646f6e27742066756e64222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d6178222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2057652063617020616c6c20636f6e747269627574696f6e7320746f2074686973222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d726573657276652d74616e6b222c2274797065223a22737472696e67222c226465736372697074696f6e223a22416d6f756e74206f662066756e6473207765276c6c20616c77617973206c" + }, + { + "type": "IO_IN", + "time": "0.407451616", + "source": "plugin-topology", + "log": "", + "data": "2c2027353634313935783132393278302f3127205d29206f72206e6f64652d69642066726f6d20636f6e73696465726174696f6e2e2053657420746865207b6d6178686f70737d2074686520726f7574652063616e2074616b65202864656661756c74203230292e227d2c7b226e616d65223a226c6973746368616e6e656c73222c227573616765223a225b73686f72745f6368616e6e656c5f69645d205b736f757263655d205b64657374696e6174696f6e5d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206368616e6e656c7320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206368616e6e656c7320666f72207b73686f72745f6368616e6e656c5f69647d2c207b736f757263657d206f72207b64657374696e6174696f6e7d20286f7220616c6c206b6e6f776e206368616e6e656c732c206966206e6f742073706563696669656429227d2c7b226e616d65223a226c6973746e6f646573222c227573616765223a225b69645d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206e6f64657320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206e6f6465207b69647d20286f7220616c6c206b6e6f776e206e6f64732c206966206e6f" + }, + { + "type": "IO_IN", + "time": "0.407493307", + "source": "plugin-keysend", + "log": "", + "data": "5d2c226665617475726562697473223a7b22696e6974223a22222c226e6f6465223a223830303030303030303030303030222c226368616e6e656c223a22222c22696e766f696365223a22227d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.407678570", + "source": "plugin-offers", + "log": "", + "data": "63655f626173657d2c207b726563757272656e63655f70617977696e646f777d2c207b726563757272656e63655f6c696d69747d20616e64207b73696e676c655f7573657d227d2c7b226e616d65223a22696e766f69636572657175657374222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b6162736f6c7574655f6578706972795d205b73696e676c655f7573655d222c226465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2073656e64206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2070617920696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c20616e64207b6162736f6c7574655f6578706972797d227d2c7b226e616d65223a226465636f6465222c227573616765223a22737472696e67222c226465736372697074696f6e223a224465636f6465207b737472696e677d206d6573736167652c2072657475726e696e67207b747970657d20616e6420696e666f726d6174696f6e2e227d5d2c22737562736372697074696f6e73223a" + }, + { + "type": "IO_IN", + "time": "0.407729859", + "source": "plugin-pay", + "log": "", + "data": "616e64207375636365656465642920616e642063757272656e74206f6e65732e227d2c7b226e616d65223a22706179222c227573616765223a22626f6c743131205b616d6f756e745f6d7361745d205b6c6162656c5d205b7269736b666163746f725d205b6d617866656570657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6c6f63616c696e7672657169645d205b6578636c7564655d205b6d61786665655d205b6465736372697074696f6e5d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b626f6c7431317d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920746865207b626f6c7431317d20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.408055954", + "source": "plugin-txprepare", + "log": "", + "data": "616765223a2274786964222c226465736372697074696f6e223a2253656e642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a2253656e642061207472616e7361636174696f6e206279207b747869647d227d2c7b226e616d65223a227769746864726177222c227573616765223a2264657374696e6174696f6e207361746f736869205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c226465736372697074696f6e223a2253656e642066756e647320746f207b64657374696e6174696f6e7d2061646472657373222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f207b64657374696e6174696f6e7d207b7361746f7368697d20286f722027616c6c2729206174206f7074696f6e616c207b666565726174657d207573696e67207574786f732066726f6d207b6d696e636f6e667d206f72207b7574786f737d2e227d2c7b226e616d65223a227570677261646577616c6c6574222c227573616765223a225b666565726174655d205b72657365727665646f6b5d222c226465736372697074696f6e223a225370656e6420703273682077726170706564206f75747075747320696e746f2061206e617469766520736567776974206f7574707574222c226c6f6e675f646573" + }, + { + "type": "IO_IN", + "time": "0.408118481", + "source": "plugin-cln-renepay", + "log": "", + "data": "64796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2272656e65706179737461747573222c227573616765223a225b696e76737472696e675d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a2272656e65706179222c227573616765223a22696e76737472696e67205b616d6f756e745f6d7361" + }, + { + "type": "IO_IN", + "time": "0.408165604", + "source": "plugin-spenderp", + "log": "", + "data": "6174206f7074696f6e61207b666565726174657d2c207370656e64696e6720636f696e73206174206c65617374207b6d696e636f6e667d2064657074682c206f722074686520737065636966696564207b7574786f737d2e227d2c7b226e616d65223a2266756e646368616e6e656c222c227573616765223a22696420616d6f756e74205b666565726174655d205b616e6e6f756e63655d205b6d696e636f6e665d205b7574786f735d205b707573685f6d7361745d205b636c6f73655f746f5d205b726571756573745f616d745d205b636f6d706163745f6c656173655d205b6d696e64657074685d205b726573657276655d205b6368616e6e656c5f7479" + }, + { + "type": "IO_IN", + "time": "0.408206649", + "source": "plugin-sql", + "log": "", + "data": "616e642072657475726e20726573756c74222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e64206576657221227d2c7b226e616d65223a226c69737473716c736368656d6173222c227573616765223a225b7461626c655d222c226465736372697074696f6e223a22446973706c617920736368656d617320666f7220696e7465726e616c2073716c207461626c65732c206f72206a757374207b7461626c657d222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e642065" + }, + { + "type": "IO_IN", + "time": "0.408245758", + "source": "plugin-bookkeeper", + "log": "", + "data": "616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22626b70722d6c69737462616c616e636573222c227573616765223a22222c226465736372697074696f6e223a224c6973742063757272656e74206163636f756e742062616c616e636573222c226c6f6e675f6465736372697074696f6e223a224c697374206f662063757272656e74206163636f756e747320616e642074686569722062616c616e636573227d2c7b226e616d65223a22626b70722d6c6973746163636f756e746576656e7473222c227573616765223a225b6163636f756e745d222c226465736372697074696f6e223a224c69737420616c6c206576656e747320" + }, + { + "type": "IO_IN", + "time": "0.408301313", + "source": "plugin-autoclean", + "log": "", + "data": "6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c65642070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d70616964696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207061696420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d65787069726564696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206578706972656420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226175746f636c65616e696e766f696365222c227573616765223a225b6379636c655f7365636f6e64735d205b657870697265645f62795d222c226465736372697074696f6e223a22536574207570206175746f636c65616e206f66206578706972656420696e766f696365732e20222c226c6f6e675f6465736372697074696f6e223a22506572666f726d20636c65616e7570206576657279207b6379636c655f7365636f6e64737d202864656661756c742033363030292c206f722064697361626c65206175746f636c65616e20696620302e20436c65616e207570206578706972656420696e766f6963657320746861742068617665206578706972656420666f72207b657870697265645f62797d207365636f6e6473202864656661756c74203836343030292e20222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d7d2c7b226e616d65223a226175746f636c65616e2d737461747573222c227573616765223a225b73756273797374656d5d222c226465736372697074696f6e223a2253686f7720737461747573206f66206175746f636c65616e696e67222c226c6f6e675f6465736372697074696f6e223a2254616b6573206f7074696f6e616c207b73756273797374656d7d227d2c7b226e616d65223a226175746f636c65616e2d6f6e6365222c227573616765223a2273756273797374656d20616765222c226465736372697074696f6e223a22506572666f726d2061" + }, + { + "type": "IO_IN", + "time": "0.408399912", + "source": "plugin-bcli", + "log": "", + "data": "675f6465736372697074696f6e223a22227d2c7b226e616d65223a22676574636861696e696e666f222c227573616765223a226c6173745f686569676874222c226465736372697074696f6e223a224765742074686520636861696e2069642c207468652068656164657220636f756e742c2074686520626c6f636b20636f756e742c20616e6420776865746865722074686973206973204942442e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a22657374696d61746566656573222c227573616765223a22222c226465736372697074696f6e223a224765742074686520757267656e742c206e6f726d616c20616e6420736c6f7720426974636f696e206665657261746573206173207361742f6b56422e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a2273656e647261777472616e73616374696f6e222c227573616765223a22747820616c6c6f776869676866656573222c226465736372697074696f6e223a2253656e64206120726177207472616e73616374696f6e20746f2074686520426974636f696e206e6574776f726b2e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a226765747574786f7574222c227573616765223a227478696420766f7574222c226465736372697074696f6e223a2247657420696e666f726d6174696f6e2061626f757420616e206f75747075742c206964656e7469666965642062792061207b747869647d20616e2061207b766f75747d222c226c6f6e675f6465736372697074696f6e223a22227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.409041715", + "source": "plugin-commando", + "log": "", + "data": "6f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.409285439", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.409537225", + "source": "plugin-funder", + "log": "", + "data": "6561766520617661696c61626c652e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66757a7a2d70657263656e74222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e7420746f2066757a7a2074686520706f6c69637920636f6e747269627574696f6e2062792e2044656661756c747320746f2030252e204d61782069732031303025222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66756e642d70726f626162696c697479222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e74206f6620726571756573747320746f20636f6e73696465722e2044656661756c747320746f20313030252e2053657474696e6720746f2030252077696c6c2064697361626c65206475616c2d66756e64696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6c656173652d72657175657374732d6f6e6c79222c2274797065223a22626f6f6c222c226465736372697074696f6e223a224f6e6c792066756e64206c656173652072657175657374732e2044656661756c747320746f2074727565206966206368616e6e656c206c6561736520726174657320617265206265696e672061647665727469736564222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d626173652d736174222c2274797065223a22737472696e67222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20626173652066656520666f72206c65617365642066756e64732c20696e207361746f7368692e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d6261736973222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206261736973206368617267656420666f72206c65617365642066756e647320287065722031302c303030207361746f7368692e29222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d66756e64696e672d776569676874222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20776569676874207765276c6c2061736b206f70656e696e67207065657220746f2070617920666f7220696e2066756e64696e67207472616e73616374696f6e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d626173652d6d736174222c2274797065223a22737472696e67222c2264" + }, + { + "type": "IO_IN", + "time": "0.409606956", + "source": "plugin-topology", + "log": "", + "data": "742073706563696669656429227d2c7b226e616d65223a226c697374696e636f6d696e67222c227573616765223a22222c226465736372697074696f6e223a224c69737420746865206368616e6e656c7320696e636f6d696e672066726f6d206f757220646972656374207065657273222c226c6f6e675f6465736372697074696f6e223a225573656420627920696e766f69636520636f646520746f2073656c65637420706565727320666f7220726f75746568696e7473227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.409865706", + "source": "plugin-offers", + "log": "", + "data": "5b22626c6f636b5f6164646564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f72656376227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.410098614", + "source": "plugin-txprepare", + "log": "", + "data": "6372697074696f6e223a2253656e6420616c6c20703273682d77726170706564206f75747075747320746f206120626563683332206e6174697665207365677769742061646472657373227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.410380168", + "source": "plugin-cln-renepay", + "log": "", + "data": "745d205b6d61786665655d205b6d617864656c61795d205b72657472795f666f725d205b6c6f63616c6f6666657269645d205b6465736372697074696f6e5d205b6c6162656c5d205b6465765f626173655f6665655f70656e616c74795d205b6465765f70726f625f636f73745f666163746f725d205b6465765f7269736b666163746f725d205b6465765f6d696e5f70726f625f737563636573735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b696e76737472696e677d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920616e20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273656e647061795f73756363657373222c2273656e647061795f6661696c757265222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.410604156", + "source": "plugin-spenderp", + "log": "", + "data": "70655d222c226465736372697074696f6e223a2246756e64206368616e6e656c2077697468207b69647d207573696e67207b616d6f756e747d20286f722027616c6c27292c206174206f7074696f6e616c207b666565726174657d2e204f6e6c7920757365206f75747075747320746861742068617665207b6d696e636f6e667d20636f6e6669726d6174696f6e732e222c226c6f6e675f6465736372697074696f6e223a22496e69746961746965732061206368616e6e656c206f70656e2077697468206e6f646520276964272e204d75737420626520636f6e6e656374656420746f20746865206e6f646520616e64206861766520656e6f7567682066756e647320617661696c61626c652061742074686520726571756573746564206d696e696d756d20636f6e6669726d6174696f6e20646570746820286d696e636f6e6629227d2c7b226e616d65223a226d756c746966756e646368616e6e656c222c227573616765223a2264657374696e6174696f6e73205b666565726174655d205b6d696e636f6e665d205b7574786f735d205b6d696e6368616e6e656c735d205b636f6d6d69746d656e745f666565726174655d222c226465736372697074696f6e223a2246756e64206368616e6e656c7320746f207b64657374696e6174696f6e737d2c20776869636820697320616e206172726179206f66206f626a65" + }, + { + "type": "IO_IN", + "time": "0.410656013", + "source": "plugin-sql", + "log": "", + "data": "76657221227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.410862439", + "source": "plugin-bookkeeper", + "log": "", + "data": "666f7220616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f7220616e207b6163636f756e747d20286f7220616c6c206163636f756e74732c206966206e6f206163636f756e74207370656369666965642920696e207b666f726d61747d2e20536f727465642062792074696d657374616d70227d2c7b226e616d65223a22626b70722d696e7370656374222c227573616765223a226163636f756e74222c226465736372697074696f6e223a22536565207468652063757272656e74206f6e2d636861696e206772617068206f6620616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a225072696e7473206f757420746865206f6e2d636861696e20666f6f747072696e74206f66206120676976656e207b6163636f756e747d2e227d2c7b226e616d65223a22626b70722d6c697374696e636f6d65222c227573616765223a225b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a224c69737420616c6c20696e636f6d6520696d70616374696e67206576656e7473222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f722074686973206e6f646520746861" + }, + { + "type": "IO_IN", + "time": "0.410961630", + "source": "plugin-autoclean", + "log": "", + "data": "2073696e676c652072756e206f66206175746f636c65616e696e67206f6e206f6e652073756273797374656d222c226c6f6e675f6465736372697074696f6e223a225265717569726573207b73756273797374656d7d20616e64207b6167657d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.411662019", + "source": "plugin-funder", + "log": "", + "data": "65736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d206368616e6e656c206665652062617365207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d70726f706f7274696f6e616c2d74686f7573616e64746873222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d2070726f706f7274696f6e616c206665652028696e2074686f7573616e647468732c206f722070707429207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e204e6f74653a2031707074203d20312c30303070706d222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2266756e646572757064617465222c227573616765223a225b706f6c6963795d205b706f6c6963795f6d6f645d205b6c65617365735f6f6e6c795d205b6d696e5f74686569725f66756e64696e675f6d7361745d205b6d61785f74686569725f66756e64696e675f6d7361745d205b7065725f6368616e6e656c5f6d696e5f6d7361745d205b7065725f6368616e6e656c5f6d61785f6d7361745d205b726573657276655f74616e6b5f6d7361745d205b66757a7a5f70657263656e745d205b66756e645f70726f626162696c6974795d205b6c656173655f6665655f626173655f6d7361745d205b6c656173655f6665655f62617369735d205b66756e64696e675f7765696768745d205b6368616e6e656c5f6665655f6d61785f626173655f6d7361745d205b6368616e6e656c5f6665655f6d61785f70726f706f7274696f6e616c5f74686f7573616e647468735d222c226465736372697074696f6e223a22436f6e66696775726174696f6e20666f72206475616c2d66756e64696e672073657474696e67732e222c226c6f6e675f6465736372697074696f6e223a225570646174652063757272656e742073657474696e67732e204d6f64696669657320686f77206e6f64652072656163747320746f20696e636f6d696e67206368616e6e656c206f70656e2072657175657374732e20526573706f6e64732077697468206c697374206f662063757272656e7420636f6e666967732e227d5d2c22737562736372697074696f6e73223a5b226368616e6e656c5f6f70656e5f6661696c6564222c22646973636f6e6e656374222c226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f70656e6368616e6e656c32227d2c7b226e616d65223a226f70656e6368616e6e656c325f6368616e676564227d2c7b226e616d65223a226f70656e6368616e6e656c325f7369676e227d2c7b226e616d65223a227262665f6368616e6e656c227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.412597479", + "source": "plugin-spenderp", + "log": "", + "data": "63747320636f6e7461696e696e672070656572207b69647d2c207b616d6f756e747d2c20616e64206f7074696f6e616c207b616e6e6f756e63657d20616e64207b707573685f6d7361747d2e2020412073696e676c65207472616e73616374696f6e2077696c6c206265207573656420746f2066756e6420616c6c20746865206368616e6e656c732e2020557365207b666565726174657d20666f7220746865207472616e73616374696f6e2c2073656c656374206f75747075747320746861742061726520627572696564207b6d696e636f6e667d20626c6f636b7320646565702c206f722073706563696679206120736574206f66207b7574786f737d2e222c226c6f6e675f6465736372697074696f6e223a2246756e64206d756c7469706c65206368616e6e656c73206174206f6e63652e227d5d2c22737562736372697074696f6e73223a5b226f70656e6368616e6e656c5f706565725f73696773222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.412869687", + "source": "plugin-bookkeeper", + "log": "", + "data": "7420696d70616374656420696e636f6d65227d2c7b226e616d65223a22626b70722d64756d70696e636f6d65637376222c227573616765223a226373765f666f726d6174205b6373765f66696c655d205b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225072696e74206f757420616c6c2074686520696e636f6d65206576656e747320746f2061206373762066696c6520696e20207b6373765f666f726d6174222c226c6f6e675f6465736372697074696f6e223a2244756d7020696e636f6d6520737461746d656e74206461746120746f207b6373765f66696c657d20696e207b6373765f666f726d61747d2e204f7074696f6e616c6c792c207b636f6e736f6c69646174655f6665657d7320696e746f2073696e676c6520656e7472696573202864656661756c743a207472756529227d2c7b226e616d65223a22626b70722d6368616e6e656c73617079222c227573616765223a225b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225374617473206f6e206368616e6e656c2066756e64207573616765222c226c6f6e675f6465736372697074696f6e223a225072696e74206f7574207374617473206f6e206368616e656e6c2066756e64207573616765227d5d2c22737562736372697074696f6e73223a5b22636f696e5f6d6f76656d656e74222c2262616c616e63655f736e617073686f74222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.773648733", + "source": "plugin-clnrest.py", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226964223a2031372c2022726573756c74223a207b226f7074696f6e73223a205b7b226e616d65223a2022636c" + }, + { + "type": "IO_IN", + "time": "0.773717575", + "source": "plugin-clnrest.py", + "log": "", + "data": "6e726573742d6365727473222c202264656661756c74223a20222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c" + }, + { + "type": "IO_IN", + "time": "0.773762238", + "source": "plugin-clnrest.py", + "log": "", + "data": "696768746e696e672d312f72656774657374222c20226465736372697074696f6e223a20225061746820666f72206365727469666963617465732028666f7220687474707329222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c20" + }, + { + "type": "IO_IN", + "time": "0.773796337", + "source": "plugin-clnrest.py", + "log": "", + "data": "2264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d70726f746f636f6c222c202264656661756c74223a20226874747073222c20226465736372697074696f6e223a202252455354207365727665722070726f746f636f6c222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d686f7374222c202264656661756c74223a20223132372e302e302e31222c20226465736372697074696f6e223a202252455354207365727665" + }, + { + "type": "IO_IN", + "time": "0.773844037", + "source": "plugin-clnrest.py", + "log": "", + "data": "7220686f7374222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d706f7274222c20226465736372697074696f6e223a2022524553542073657276657220706f727420746f206c697374656e222c202274797065223a2022696e74222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d636f72732d6f726967696e73222c202264656661756c74223a20222a222c20226465736372697074696f6e223a202243726f7373206f726967696e207265736f757263652073686172696e67206f726967696e73222c202274797065223a2022737472696e67222c20226d756c7469223a20747275652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d637370222c202264656661756c74223a202264656661756c742d737263202773656c66273b20666f6e742d737263202773656c66273b20696d672d737263202773656c662720646174613a3b206672616d652d737263202773656c66" + }, + { + "type": "IO_IN", + "time": "0.773902645", + "source": "plugin-clnrest.py", + "log": "", + "data": "273b207374796c652d737263202773656c66272027756e736166652d696e6c696e65273b207363726970742d737263202773656c66272027756e736166652d696e6c696e65273b222c20226465736372697074696f6e223a2022436f6e74656e7420736563757269747920706f6c69637920284353502920666f722074686520736572766572222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d5d2c20227270636d6574686f6473223a205b5d2c2022737562736372697074696f6e73223a205b222a225d2c2022686f6f6b73223a205b5d2c202264796e616d6963223a20747275652c20226e6f6e6e756d65726963696473223a20747275652c20226e6f74696669636174696f6e73223a205b5d2c20226665617475726562697473223a207b7d7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.774616883", + "source": "lightningd", + "log": "io_break: check_plugins_manifests" + }, + { + "type": "DEBUG", + "time": "0.774637046", + "source": "lightningd", + "log": "io_loop_with_timers: plugins_init" + }, + { + "type": "DEBUG", + "time": "0.775612129", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_channeld" + }, + { + "type": "DEBUG", + "time": "0.776721503", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_closingd" + }, + { + "type": "DEBUG", + "time": "0.777734592", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_connectd" + }, + { + "type": "DEBUG", + "time": "0.778735969", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_gossipd" + }, + { + "type": "DEBUG", + "time": "0.779770044", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_hsmd" + }, + { + "type": "DEBUG", + "time": "0.780753096", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_onchaind" + }, + { + "type": "DEBUG", + "time": "0.781715051", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_openingd" + }, + { + "type": "DEBUG", + "time": "0.782899859", + "source": "hsmd", + "log": "pid 2710774, msgfd 54" + }, + { + "type": "DEBUG", + "time": "0.783562262", + "source": "hsmd", + "log": "capability +WIRE_HSMD_CHECK_PUBKEY" + }, + { + "type": "DEBUG", + "time": "0.783584052", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_ANY_DELAYED_PAYMENT_TO_US" + }, + { + "type": "DEBUG", + "time": "0.783595401", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_ANCHORSPEND" + }, + { + "type": "DEBUG", + "time": "0.783605306", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_HTLC_TX_MINGLE" + }, + { + "type": "DEBUG", + "time": "0.783614852", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_SPLICE_TX" + }, + { + "type": "DEBUG", + "time": "0.783624210", + "source": "hsmd", + "log": "capability +WIRE_HSMD_CHECK_OUTPOINT" + }, + { + "type": "DEBUG", + "time": "0.783633521", + "source": "hsmd", + "log": "capability +WIRE_HSMD_FORGET_CHANNEL" + }, + { + "type": "DEBUG", + "time": "0.783645496", + "source": "hsmd", + "log": "capability +WIRE_HSMD_REVOKE_COMMITMENT_TX" + }, + { + "type": "INFO", + "time": "0.784313641", + "source": "lightningd", + "log": "Creating database" + }, + { + "type": "DEBUG", + "time": "0.843400286", + "source": "connectd", + "log": "pid 2710776, msgfd 58" + }, + { + "type": "DEBUG", + "time": "0.843919589", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "DEBUG", + "time": "0.844070218", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "DEBUG", + "time": "0.844153500", + "source": "hsmd", + "log": "new_client: 0" + }, + { + "type": "DEBUG", + "time": "0.844353050", + "source": "connectd", + "log": "Created listener on 127.0.0.1:40367" + }, + { + "type": "DEBUG", + "time": "0.844420569", + "source": "connectd", + "log": "REPLY WIRE_CONNECTD_INIT_REPLY with 0 fds" + }, + { + "type": "DEBUG", + "time": "0.844477272", + "source": "lightningd", + "log": "io_break: connect_init_done" + }, + { + "type": "DEBUG", + "time": "0.844516356", + "source": "lightningd", + "log": "io_loop: connectd_init" + }, + { + "type": "IO_OUT", + "time": "0.851840790", + "source": "plugin-bcli", + "log": "\"cln:init#18\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.855642381", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233138222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "INFO", + "time": "0.855800854", + "source": "plugin-bcli", + "log": "bitcoin-cli initialized and connected to bitcoind." + }, + { + "type": "DEBUG", + "time": "0.855894887", + "source": "lightningd", + "log": "io_break: plugin_config_cb" + }, + { + "type": "DEBUG", + "time": "0.855927982", + "source": "lightningd", + "log": "io_loop_with_timers: config_plugin" + }, + { + "type": "DEBUG", + "time": "0.855954129", + "source": "lightningd", + "log": "All Bitcoin plugin commands registered" + }, + { + "type": "IO_OUT", + "time": "0.856031531", + "source": "lightningd", + "log": "\"cln:getchaininfo#19\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.856136589", + "source": "lightningd", + "log": "\"cln:estimatefees#20\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.861142683", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574636861696e696e666f233139222c22726573756c74223a7b22636861696e223a2272656774657374222c22686561646572636f756e74223a3130312c22626c6f636b636f756e74223a3130312c22696264223a66616c73657d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.861534213", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#21\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.876760224", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233231222c22726573756c74223a7b22626c6f636b68617368223a2237636131653663306462313039663132303463613437656639613738303632336665386238663463356336316364303539393566346339353836393835343333222c22626c6f636b223a22303030303030323037313639623236623833383733333661666536313265353031653031383237613438643938303237366361366537383664616139396338373439343462353338396333666230376434383632393966383837393666333536396439323139636631633762623438343436643937636563336661323666313431643738353565343862643164373635666666663766323030303030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363430306666666666666666303230306632303532613031303030303030313630303134633634633831303737393032346165643230656134343665336634663236636163363661656433363030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.877124398", + "source": "lightningd", + "log": "Adding block 100: 7ca1e6c0db109f1204ca47ef9a780623fe8b8f4c5c61cd05995f4c9586985433" + }, + { + "type": "IO_IN", + "time": "0.881999971", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a657374696d61746566656573233230222c22726573756c74223a7b226665657261746573223a5b7b22626c6f636b73223a322c2266656572617465223a36303030307d2c7b22626c6f636b73223a362c2266656572617465223a34343030307d2c7b22626c6f636b73223a31322c2266656572617465223a33303030307d2c7b22626c6f636b73223a3130302c2266656572617465223a31353030307d5d2c22666565726174655f666c6f6f72223a313030307d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.882166527", + "source": "lightningd", + "log": "io_break: maybe_completed_init" + }, + { + "type": "DEBUG", + "time": "0.882215382", + "source": "lightningd", + "log": "io_loop_with_timers: setup_topology" + }, + { + "type": "DEBUG", + "time": "0.882528957", + "source": "wallet", + "log": "Loaded 0 channels from DB" + }, + { + "type": "DEBUG", + "time": "0.884127718", + "source": "gossipd", + "log": "pid 2710796, msgfd 57" + }, + { + "type": "DEBUG", + "time": "0.884380219", + "source": "hsmd", + "log": "new_client: 0" + }, + { + "type": "DEBUG", + "time": "0.885181127", + "source": "gossipd", + "log": "Store compact time: 0 msec" + }, + { + "type": "DEBUG", + "time": "0.885322156", + "source": "gossipd", + "log": "gossip_store: Read 0/0/0/0 cannounce/cupdate/nannounce/delete from store in 0 bytes, now 1 bytes (populated=false)" + }, + { + "type": "DEBUG", + "time": "0.885452713", + "source": "gossipd", + "log": "seeker: state = STARTING_UP New seeker" + }, + { + "type": "DEBUG", + "time": "0.885545421", + "source": "gossipd", + "log": "REPLY WIRE_GOSSIPD_INIT_REPLY with 0 fds" + }, + { + "type": "DEBUG", + "time": "0.885612954", + "source": "lightningd", + "log": "io_break: gossipd_init_done" + }, + { + "type": "DEBUG", + "time": "0.885671304", + "source": "lightningd", + "log": "io_loop: gossip_init" + }, + { + "type": "IO_OUT", + "time": "0.885852556", + "source": "plugin-autoclean", + "log": "\"cln:init#22\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.885979586", + "source": "plugin-chanbackup", + "log": "\"cln:init#23\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886040896", + "source": "plugin-commando", + "log": "\"cln:init#24\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886104839", + "source": "plugin-fetchinvoice", + "log": "\"cln:init#25\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886163916", + "source": "plugin-funder", + "log": "\"cln:init#26\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886309028", + "source": "plugin-topology", + "log": "\"cln:init#27\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886429051", + "source": "plugin-keysend", + "log": "\"cln:init#28\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886570691", + "source": "plugin-offers", + "log": "\"cln:init#29\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886693412", + "source": "plugin-pay", + "log": "\"cln:init#30\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886821264", + "source": "plugin-recover", + "log": "\"cln:init#31\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.886921195", + "source": "plugin-txprepare", + "log": "\"cln:init#32\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887005400", + "source": "plugin-cln-renepay", + "log": "\"cln:init#33\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887064070", + "source": "plugin-spenderp", + "log": "\"cln:init#34\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887114341", + "source": "plugin-sql", + "log": "\"cln:init#35\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887172034", + "source": "plugin-cln-grpc", + "log": "\"cln:init#36\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887231196", + "source": "plugin-bookkeeper", + "log": "\"cln:init#37\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.887284254", + "source": "plugin-clnrest.py", + "log": "\"cln:init#38\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.888163653", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c226d6574686f64223a" + }, + { + "type": "IO_IN", + "time": "0.888486498", + "source": "jsonrpc#56", + "log": "", + "data": "226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c22737563636565646564666f72776172647322" + }, + { + "type": "IO_IN", + "time": "0.888594650", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c226d6574686f64223a22676574696e66" + }, + { + "type": "IO_IN", + "time": "0.888694428", + "source": "plugin-cln-grpc", + "log": "", + "data": "7b226964223a22636c6e3a696e6974233336222c226a736f6e727063223a22322e30222c22726573756c74223a7b2264697361626c65223a224d697373696e672027677270632d706f727427206f7074696f6e227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.888933084", + "source": "plugin-cln-grpc", + "log": "Killing plugin: disabled itself at init: Missing 'grpc-port' option" + }, + { + "type": "IO_IN", + "time": "0.889016698", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c226d6574686f64223a22676574696e666f" + }, + { + "type": "IO_IN", + "time": "0.889061293", + "source": "plugin-clnrest.py", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226964223a2022636c6e3a696e6974233338222c2022726573756c74223a207b2264697361626c65223a202260636c6e726573742d706f727460206f7074696f6e206973206e6f7420636f6e66696775726564227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.889190582", + "source": "plugin-clnrest.py", + "log": "Killing plugin: disabled itself at init: `clnrest-port` option is not configured" + }, + { + "type": "IO_IN", + "time": "0.889324051", + "source": "jsonrpc#56", + "log": "", + "data": "2c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.889396883", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#0\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.889589085", + "source": "lightningd", + "log": "Looking for [autoclean,succeededforwards,num]" + }, + { + "type": "IO_OUT", + "time": "0.889787976", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.889887810", + "source": "jsonrpc#59", + "log": "", + "data": "6f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.889988346", + "source": "jsonrpc#59", + "log": "\"init/topology:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.890433226", + "source": "jsonrpc#60", + "log": "", + "data": "222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.890534861", + "source": "jsonrpc#60", + "log": "\"init/recover:getinfo#0\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.891036455", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.891125681", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.891335420", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c6564666f727761726473222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.891415324", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#1\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.891606071", + "source": "lightningd", + "log": "Looking for [autoclean,failedforwards,num]" + }, + { + "type": "IO_IN", + "time": "0.891771953", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c226d6574686f64223a22676574696e666f222c2270" + }, + { + "type": "IO_OUT", + "time": "0.891859225", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.891954876", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" + }, + { + "type": "IO_IN", + "time": "0.892040593", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" + }, + { + "type": "IO_IN", + "time": "0.892304613", + "source": "jsonrpc#39", + "log": "", + "data": "6172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.892424449", + "source": "jsonrpc#39", + "log": "\"init/pay:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.893007832", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c226d6574686f64223a2267657469" + }, + { + "type": "IO_OUT", + "time": "0.893063773", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.893212506", + "source": "jsonrpc#59", + "log": "", + "data": "72227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.893284546", + "source": "jsonrpc#59", + "log": "\"init/topology:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.893596284", + "source": "jsonrpc#60", + "log": "", + "data": "227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.893681912", + "source": "jsonrpc#60", + "log": "\"init/recover:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.893991269", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2273756363656564656470617973222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.894053906", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#2\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.894200087", + "source": "lightningd", + "log": "Looking for [autoclean,succeededpays,num]" + }, + { + "type": "IO_IN", + "time": "0.894495889", + "source": "jsonrpc#40", + "log": "", + "data": "6e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.894593308", + "source": "jsonrpc#40", + "log": "\"init/chanbackup:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.894870160", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c226d6574686f64223a22676574696e666f22" + }, + { + "type": "IO_OUT", + "time": "0.894915611", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.894989596", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.895018360", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.895049801", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.895323064", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.895432434", + "source": "jsonrpc#39", + "log": "\"init/pay:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.898551667", + "source": "jsonrpc#43", + "log": "", + "data": "2c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.898599491", + "source": "jsonrpc#43", + "log": "\"init/offers:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.898787946", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c226d6574686f64223a226765" + }, + { + "type": "IO_OUT", + "time": "0.898840481", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.898896391", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.899242768", + "source": "plugin-topology", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233237222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.899340718", + "source": "plugin-recover", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a225265636f76657220506c7567696e20496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22476f73736d6170206c6f6164656421227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233331222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.899387923", + "source": "plugin-recover", + "log": "Recover Plugin Initialised!" + }, + { + "type": "DEBUG", + "time": "0.899418899", + "source": "plugin-recover", + "log": "Gossmap loaded!" + }, + { + "type": "IO_IN", + "time": "0.899543395", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c656470617973222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.899592781", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#3\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.899701616", + "source": "lightningd", + "log": "Looking for [autoclean,failedpays,num]" + }, + { + "type": "IO_IN", + "time": "0.899835997", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c226d6574686f64223a227374617469636261636b7570222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.899879475", + "source": "jsonrpc#40", + "log": "\"init/chanbackup:staticbackup#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.899968948", + "source": "jsonrpc#44", + "log": "", + "data": "74696e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.900005975", + "source": "jsonrpc#44", + "log": "\"init/fetchinvoice:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.900171293", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c226d6574686f64223a226c69" + }, + { + "type": "IO_OUT", + "time": "0.900203146", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.900246738", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c22726573756c74223a7b22736362223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.900267439", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.900360947", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a" + }, + { + "type": "IO_IN", + "time": "0.900413061", + "source": "jsonrpc#39", + "log": "\"init/pay:listconfigs#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.900544425", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.900583675", + "source": "jsonrpc#43", + "log": "\"init/offers:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.902733533", + "source": "jsonrpc#61", + "log": "", + "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_IN", + "time": "0.902764463", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c226d6574686f64223a226c697374" + }, + { + "type": "IO_OUT", + "time": "0.902787505", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.903030104", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.903174516", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2270616964696e766f69636573222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.903243008", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#4\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.903346153", + "source": "lightningd", + "log": "Looking for [autoclean,paidinvoices,num]" + }, + { + "type": "IO_IN", + "time": "0.903450267", + "source": "jsonrpc#39", + "log": "", + "data": "0a" + }, + { + "type": "IO_IN", + "time": "0.903484539", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22686578223a223733363336323230373336353633373236353734227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.903528008", + "source": "jsonrpc#40", + "log": "\"init/chanbackup:makesecret#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.903866632", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a226578706572696d656e74616c2d6f6666657273227d7d0a0a" + }, { - "path": "/home/vincent/Github/plugins/sauron/sauron.py", - "name": "sauron.py", - "options": { - "sauron-api-endpoint": "http://blockstream.info/testnet/api/", - "sauron-tor-proxy": "" - } + "type": "IO_IN", + "time": "0.903962513", + "source": "jsonrpc#44", + "log": "\"init/fetchinvoice:listconfigs#1\"", + "data": "" }, { - "path": "/home/vincent/Github/reckless/reckless.py", - "name": "reckless.py" - } - ], - "important-plugins": [ + "type": "IO_IN", + "time": "0.904118675", + "source": "jsonrpc#61", + "log": "", + "data": "7d7d0a0a" + }, { - "path": "/home/vincent/Github/lightning/lightningd/../plugins/autoclean", - "name": "autoclean", - "options": { - "autocleaninvoice-cycle": null, - "autocleaninvoice-expired-by": null - } + "type": "IO_IN", + "time": "0.904165437", + "source": "jsonrpc#61", + "log": "\"init/commando:listconfigs#0\"", + "data": "" }, { - "path": "/home/vincent/Github/lightning/lightningd/../plugins/fundchannel", - "name": "fundchannel" + "type": "IO_IN", + "time": "0.904297461", + "source": "jsonrpc#62", + "log": "", + "data": "636f6e66696773222c22706172616d73223a7b7d7d0a0a" }, { - "path": "/home/vincent/Github/lightning/lightningd/../plugins/keysend", - "name": "keysend" + "type": "IO_IN", + "time": "0.904337629", + "source": "jsonrpc#62", + "log": "\"init/funder:listconfigs#0\"", + "data": "" }, { - "path": "/home/vincent/Github/lightning/lightningd/../plugins/pay", - "name": "pay", - "options": { - "disable-mpp": false - } - } - ], - "important-plugin": "/home/vincent/Github/lightning/lightningd/../plugins/pay", - "plugin": "/home/vincent/Github/reckless/reckless.py", - "disable-plugin": [ - "bcli" - ], - "always-use-proxy": false, - "daemon": "false", - "wallet": "sqlite3:///media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev/testnet/lightningd.sqlite3", - "wumbo": true, - "rgb": "03ad98", - "alias": "BRUCEWAYN-TES-DEV", - "pid-file": "/media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev/lightningd-testne...", - "ignore-fee-limits": true, - "watchtime-blocks": 6, - "max-locktime-blocks": 2016, - "funding-confirms": 1, - "commit-fee-min": 0, - "commit-fee-max": 0, - "cltv-delta": 6, - "cltv-final": 10, - "commit-time": 10, - "fee-base": 1, - "rescan": 30, - "fee-per-satoshi": 10, - "max-concurrent-htlcs": 483, - "min-capacity-sat": 10000, - "addr": "autotor:127.0.0.1:9051", - "bind-addr": "127.0.0.1:9735", - "announce-addr": "fp463inc4w3lamhhduytrwdwq6q6uzugtaeapylqfc43agrdnnqsheyd.onion:9735", - "offline": "false", - "autolisten": true, - "proxy": "127.0.0.1:9050", - "disable-dns": "false", - "encrypted-hsm": false, - "rpc-file-mode": "0600", - "log-level": "DEBUG", - "log-prefix": "lightningd" - }, - { - "configs": { - "developer": { - "set": true, - "source": "cmdline" + "type": "IO_IN", + "time": "0.906410574", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c226d6574686f64223a22676574696e666f" }, - "lightning-dir": { - "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/", - "source": "cmdline" + { + "type": "IO_OUT", + "time": "0.906442195", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" }, - "network": { - "value_str": "regtest", - "source": "cmdline" + { + "type": "IO_OUT", + "time": "0.906692310", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.906717491", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.906746496", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2261396132653734323430356332386630353933343931333239323361393933333761653766373131363862373438353439366533333635663562633636346564227d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.906774339", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.906879321", + "source": "plugin-pay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233330222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.907027513", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22737472696e67223a22626f6c7431322d696e766f6963652d62617365227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.907069654", + "source": "jsonrpc#43", + "log": "\"init/offers:makesecret#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.907325278", + "source": "jsonrpc#63", + "log": "", + "data": "222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.907441796", + "source": "jsonrpc#63", + "log": "\"init/keysend:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.907643339", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c226d6574686f64223a226c697374636f6e" + }, + { + "type": "IO_OUT", + "time": "0.907669657", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.907714934", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2262633033373064343038643361643934353233643566396463363964653633323365303962373665633165393064356338613032323631393234346365316565227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.907749540", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233234222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.907828310", + "source": "plugin-fetchinvoice", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233235222c22726573756c74223a7b2264697361626c65223a226f6666657273206e6f7420656e61626c656420696e20636f6e666967227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.907883837", + "source": "plugin-fetchinvoice", + "log": "Killing plugin: disabled itself at init: offers not enabled in config" + }, + { + "type": "IO_IN", + "time": "0.907960792", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c226d6574686f64223a226c69" + }, + { + "type": "IO_IN", + "time": "0.908049818", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2265787069726564696e766f69636573222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.908114795", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listdatastore#5\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.908227354", + "source": "lightningd", + "log": "Looking for [autoclean,expiredinvoices,num]" + }, + { + "type": "DEBUG", + "time": "0.908341318", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "IO_IN", + "time": "0.908370976", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_OUT", + "time": "0.908408309", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.908443802", + "source": "jsonrpc#64", + "log": "", + "data": "66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.908484731", + "source": "jsonrpc#64", + "log": "\"init/sql:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.908606162", + "source": "jsonrpc#65", + "log": "", + "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_IN", + "time": "0.908702545", + "source": "jsonrpc#62", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.908741212", + "source": "jsonrpc#62", + "log": "\"init/funder:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.908879924", + "source": "jsonrpc#17", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c226d6574686f64223a226c" + }, + { + "type": "IO_OUT", + "time": "0.908906439", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.908932049", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.908983586", + "source": "jsonrpc#65", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.909027544", + "source": "jsonrpc#65", + "log": "\"init/spenderp:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.909237783", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c226d6574686f64223a226261746368696e67222c22706172616d73223a7b22656e61626c65223a747275657d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.909284897", + "source": "jsonrpc#56", + "log": "\"init/autoclean:batching#6\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.909499591", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "IO_IN", + "time": "0.909548046", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75" + }, + { + "type": "IO_IN", + "time": "0.909615629", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_IN", + "time": "0.909683276", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c226d6574686f64223a22676574" + }, + { + "type": "IO_IN", + "time": "0.909756113", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.909811952", + "source": "jsonrpc#63", + "log": "\"init/keysend:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.911660556", + "source": "jsonrpc#17", + "log": "", + "data": "697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" + }, + { + "type": "IO_OUT", + "time": "0.911688175", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.911914623", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.911937109", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912042354", + "source": "plugin-funder", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233236222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912138805", + "source": "plugin-sql", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233335222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912248607", + "source": "jsonrpc#40", + "log": "", + "data": "736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912286664", + "source": "jsonrpc#40", + "log": "\"init/chanbackup:listconfigs#3\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.912417725", + "source": "jsonrpc#43", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912454626", + "source": "jsonrpc#43", + "log": "\"init/offers:listconfigs#3\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.912575829", + "source": "jsonrpc#18", + "log": "", + "data": "696e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912621467", + "source": "jsonrpc#18", + "log": "\"init/cln-renepay:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.912823134", + "source": "jsonrpc#17", + "log": "", + "data": "227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.912864270", + "source": "jsonrpc#17", + "log": "\"init/txprepare:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.912984885", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c226d6574686f64223a22" + }, + { + "type": "IO_OUT", + "time": "0.913008758", + "source": "jsonrpc#17", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.913031243", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" }, - "testnet": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "0.913076325", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "signet": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "0.913099189", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "mainnet": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.913148307", + "source": "plugin-spenderp", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233334222c22726573756c74223a7b7d7d0a0a" }, - "regtest": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.913215986", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" }, - "rpc-file": { - "value_str": "lightning-rpc", - "source": "default" + { + "type": "IO_IN", + "time": "0.913256060", + "source": "jsonrpc#56", + "log": "\"init/autoclean:listconfigs#7\"", + "data": "" }, - "allow-deprecated-apis": { - "value_bool": false, - "source": "cmdline" + { + "type": "IO_IN", + "time": "0.913389861", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" }, - "plugin": { - "values_str": [ - "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" - ], - "sources": [ - "cmdline" - ] + { + "type": "IO_IN", + "time": "0.913443337", + "source": "jsonrpc#44", + "log": "", + "data": "6c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" }, - "plugin-dir": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "0.913481696", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "clear-plugins": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.913537256", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a224368616e6261636b757020496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e6720456d657267656e6379205265636f76657279227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233233222c22726573756c74223a7b7d7d0a0a" }, - "disable-plugin": { - "values_str": [], - "sources": [] + { + "type": "DEBUG", + "time": "0.913643398", + "source": "plugin-chanbackup", + "log": "Chanbackup Initialised!" }, - "important-plugin": { - "values_str": [], - "sources": [] + { + "type": "INFO", + "time": "0.913702526", + "source": "plugin-chanbackup", + "log": "Creating Emergency Recovery" }, - "always-use-proxy": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.913819751", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" }, - "daemon": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.913893003", + "source": "jsonrpc#18", + "log": "\"init/cln-renepay:listconfigs#1\"", + "data": "" }, - "experimental-dual-fund": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.915741775", + "source": "jsonrpc#63", + "log": "", + "data": "227d7d0a0a" }, - "experimental-splicing": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.915783713", + "source": "jsonrpc#63", + "log": "\"init/keysend:listconfigs#2\"", + "data": "" }, - "experimental-onion-messages": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.915910799", + "source": "jsonrpc#44", + "log": "", + "data": "72227d7d0a0a" }, - "experimental-offers": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.915948712", + "source": "jsonrpc#44", + "log": "\"init/bookkeeper:listconfigs#0\"", + "data": "" }, - "experimental-shutdown-wrong-funding": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "0.916065533", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "experimental-peer-storage": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "0.916090228", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "experimental-quiesce": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "0.916112918", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3430333637225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a33343934372c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d7d7d7d0a0a" }, - "experimental-anchors": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.916416163", + "source": "plugin-autoclean", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233232222c22726573756c74223a7b7d7d0a0a" }, - "rgb": { - "value_str": "0266e4", - "source": "default" + { + "type": "IO_IN", + "time": "0.916508687", + "source": "plugin-offers", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233239222c22726573756c74223a7b7d7d0a0a" }, - "alias": { - "value_str": "JUNIORBEAM-1-102-g7549e10-modded", - "source": "default" + { + "type": "IO_IN", + "time": "0.916567589", + "source": "plugin-txprepare", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233332222c22726573756c74223a7b7d7d0a0a" }, - "pid-file": { - "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/lightningd-regtest.pid", - "source": "default" + { + "type": "IO_IN", + "time": "0.916814527", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a2253657474696e672075702064617461626173652061742073716c697465333a2f2f6163636f756e74732e73716c69746533227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e67206461746162617365227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233337222c22726573756c74223a7b7d7d0a0a" }, - "ignore-fee-limits": { - "value_bool": false, - "source": "cmdline" + { + "type": "DEBUG", + "time": "0.916903032", + "source": "plugin-bookkeeper", + "log": "Setting up database at sqlite3://accounts.sqlite3" }, - "watchtime-blocks": { - "value_int": 5, - "source": "cmdline" + { + "type": "INFO", + "time": "0.916960635", + "source": "plugin-bookkeeper", + "log": "Creating database" }, - "max-locktime-blocks": { - "value_int": 2016, - "source": "default" + { + "type": "IO_IN", + "time": "0.917065374", + "source": "plugin-keysend", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233238222c22726573756c74223a7b7d7d0a0a" }, - "funding-confirms": { - "value_int": 1, - "source": "default" + { + "type": "IO_IN", + "time": "0.917129987", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d" }, - "require-confirmed-inputs": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.917165247", + "source": "jsonrpc#18", + "log": "", + "data": "75736572227d7d0a0a" }, - "cltv-delta": { - "value_int": 6, - "source": "cmdline" + { + "type": "IO_IN", + "time": "0.917209318", + "source": "jsonrpc#18", + "log": "\"init/cln-renepay:listconfigs#2\"", + "data": "" }, - "cltv-final": { - "value_int": 5, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "0.917336312", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" }, - "commit-time": { - "value_int": 10, - "source": "default" + { + "type": "IO_IN", + "time": "0.917603296", + "source": "plugin-cln-renepay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233333222c22726573756c74223a7b7d7d0a0a" }, - "fee-base": { - "value_int": 1, - "source": "default" + { + "type": "DEBUG", + "time": "0.918042485", + "source": "connectd", + "log": "REPLY WIRE_CONNECTD_ACTIVATE_REPLY with 0 fds" }, - "rescan": { - "value_int": 1, - "source": "cmdline" + { + "type": "DEBUG", + "time": "0.918073921", + "source": "lightningd", + "log": "io_break: connect_activate_done" }, - "fee-per-satoshi": { - "value_int": 10, - "source": "default" + { + "type": "DEBUG", + "time": "0.918094891", + "source": "lightningd", + "log": "io_loop: connectd_activate" }, - "htlc-minimum-msat": { - "value_msat": 0, - "source": "default" + { + "type": "INFO", + "time": "0.918269132", + "source": "lightningd", + "log": "--------------------------------------------------" }, - "htlc-maximum-msat": { - "value_msat": 18446744073709552000, - "source": "default" + { + "type": "INFO", + "time": "0.918296625", + "source": "lightningd", + "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" }, - "max-concurrent-htlcs": { - "value_int": 483, - "source": "default" + { + "type": "IO_OUT", + "time": "0.918365320", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#39\"", + "data": "" }, - "max-dust-htlc-exposure-msat": { - "value_msat": 50000000, - "source": "default" + { + "type": "IO_IN", + "time": "0.925436939", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233339222c22726573756c74223a7b22626c6f636b68617368223a2237323861333663366238373466383864386235373639656134343665333331376530646539333034336566353436313635363034666231366465333636313861222c22626c6f636b223a22303030303030323033333534393838363935346335663939303563643631356334633866386266653233303637383961656634376361303431323966313064626330653661313763653762326665656631306130353031333536656134343963383562653130346563393439633638383037356530656336633233373964643833363133303162653862643164373635666666663766323030313030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363530306666666666666666303230306632303532613031303030303030313630303134633634633831303737393032346165643230656134343665336634663236636163363661656433363030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" }, - "min-capacity-sat": { - "value_int": 10000, - "source": "default", - "dynamic": true + { + "type": "DEBUG", + "time": "0.925786237", + "source": "lightningd", + "log": "Adding block 101: 728a36c6b874f88d8b5769ea446e3317e0de93043ef546165604fb16de36618a" }, - "addr": { - "values_str": [ - "127.0.0.1:33157" - ], - "sources": [ - "cmdline" - ] + { + "type": "IO_OUT", + "time": "0.926181253", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#40\"", + "data": "" }, - "bind-addr": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "0.932547787", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233430222c22726573756c74223a7b22626c6f636b68617368223a6e756c6c2c22626c6f636b223a6e756c6c7d7d0a0a" }, - "announce-addr": { - "values_str": [], - "sources": [] + { + "type": "DEBUG", + "time": "0.934380742", + "source": "gossipd", + "log": "REPLY WIRE_GOSSIPD_NEW_BLOCKHEIGHT_REPLY with 0 fds" }, - "announce-addr-discovered": { - "value_str": "auto", - "source": "default" + { + "type": "IO_IN", + "time": "0.936279900", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a226163636f756e742077616c6c6574206861732062616c616e636520306d736174227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22536e617073686f742062616c616e6365732075706461746564227d7d0a0a" }, - "announce-addr-discovered-port": { - "value_int": 19846, - "source": "default" + { + "type": "DEBUG", + "time": "0.936351058", + "source": "plugin-bookkeeper", + "log": "account wallet has balance 0msat" }, - "offline": { - "set": false, - "source": "default" + { + "type": "INFO", + "time": "0.936383697", + "source": "plugin-bookkeeper", + "log": "account wallet not found, adding" }, - "autolisten": { - "value_bool": false, - "source": "default" + { + "type": "DEBUG", + "time": "0.936409736", + "source": "plugin-bookkeeper", + "log": "Snapshot balances updated" }, - "accept-htlc-tlv-type": { - "values_int": [], - "sources": [] + { + "type": "IO_IN", + "time": "0.992999235", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a205b22676574696e666f225d2c20226964" }, - "disable-dns": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "0.993101695", + "source": "jsonrpc#66", + "log": "", + "data": "223a20227079746573743a636865636b2331227d" }, - "encrypted-hsm": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "0.993204046", + "source": "jsonrpc#66", + "log": "\"pytest:check#1\"", + "data": "" }, - "rpc-file-mode": { - "value_str": "0600", - "source": "default" + { + "type": "IO_OUT", + "time": "0.993427970", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2331222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22676574696e666f227d7d0a0a" }, - "commit-fee": { - "value_int": 100, - "source": "default" + { + "type": "IO_IN", + "time": "0.993885736", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022676574696e666f222c2022706172616d73223a207b7d2c20226964223a2022707974" }, - "commit-feerate-offset": { - "value_int": 5, - "source": "default" + { + "type": "IO_IN", + "time": "0.993976972", + "source": "jsonrpc#66", + "log": "", + "data": "6573743a676574696e666f2332227d" }, - "min-emergency-msat": { - "value_msat": 25000000, - "source": "default" + { + "type": "IO_IN", + "time": "0.994065685", + "source": "jsonrpc#66", + "log": "\"pytest:getinfo#2\"", + "data": "" }, - "subdaemon": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "0.994488302", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a676574696e666f2332222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a34303336377d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130312c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d37755f385f7274752f746573745f636f6d6d616e646f5f312f6c696768746e696e672d312f72656774657374222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" }, - "experimental-upgrade-protocol": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.004177303", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b226964223a20223032326432323336" }, - "invoices-onchain-fallback": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.004314397", + "source": "jsonrpc#66", + "log": "", + "data": "32306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2022686f" + }, + { + "type": "IO_IN", + "time": "1.004417923", + "source": "jsonrpc#66", + "log": "", + "data": "7374223a20226c6f63616c686f7374222c2022706f7274223a2033393239372c2022636f6d6d616e645f746f5f636865636b223a2022636f6e6e656374227d2c20226964223a20227079746573743a636865636b2333227d" }, - "log-level": { - "value_str": "debug", - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.004561538", + "source": "jsonrpc#66", + "log": "\"pytest:check#3\"", + "data": "" }, - "log-timestamps": { - "value_bool": true, - "source": "default" + { + "type": "IO_OUT", + "time": "1.005107515", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2333222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22636f6e6e656374227d7d0a0a" }, - "log-prefix": { - "value_str": "lightningd-1 ", - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.005710858", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636f6e6e656374222c2022706172616d73223a207b226964223a2022303232643232" }, - "log-file": { - "values_str": [ - "-", - "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/log" - ], - "sources": [ - "cmdline", - "cmdline" - ] + { + "type": "IO_IN", + "time": "1.005920597", + "source": "jsonrpc#66", + "log": "", + "data": "333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2022" }, - "dev-no-plugin-checksum": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.006064842", + "source": "jsonrpc#66", + "log": "", + "data": "686f7374223a20226c6f63616c686f7374222c2022706f7274223a2033393239377d2c20226964223a20227079746573743a636f6e6e6563742334227d" }, - "dev-no-reconnect": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.006246597", + "source": "jsonrpc#66", + "log": "\"pytest:connect#4\"", + "data": "" }, - "dev-fail-on-subdaemon-fail": { - "set": true, - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.007473548", + "source": "gossipd", + "log": "REPLY WIRE_GOSSIPD_GET_ADDRS_REPLY with 0 fds" }, - "dev-bitcoind-poll": { - "value_int": 1, - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.009183894", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "Connected out, starting crypto" }, - "dev-fast-gossip": { - "set": true, - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.012164428", + "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "source": "hsmd", + "log": "Got WIRE_HSMD_ECDH_REQ" }, - "renepay-debug-mcf": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "DEBUG", + "time": "1.012576931", + "source": "hsmd", + "log": "Client: Received message 1 from client" }, - "renepay-debug-payflow": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "DEBUG", + "time": "1.012966175", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "Connect OUT" }, - "test-option": { - "value_int": 31337, - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" + { + "type": "IO_OUT", + "time": "1.013278715", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "001000021100000708a0000a8a5961012006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f" }, - "bitcoin-datadir": { - "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_IN", + "time": "1.014914818", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "001000021100000708a0000a8a5961012006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f0307017f000001be50" }, - "bitcoin-rpcuser": { - "value_str": "rpcuser", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "DEBUG", + "time": "1.015836225", + "source": "lightningd", + "log": "Calling peer_connected hook of plugin chanbackup" }, - "bitcoin-rpcpassword": { - "value_str": "rpcpass", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_OUT", + "time": "1.016100970", + "source": "plugin-chanbackup", + "log": "\"pytest:connect#4/cln:peer_connected#41\"", + "data": "" }, - "bitcoin-rpcport": { - "value_int": 51309, - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "DEBUG", + "time": "1.016525175", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "Handed peer, entering loop" }, - "disable-mpp": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/pay" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "developer": { - "set": true, - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.016747789", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "gossipd", + "log": "seeker: chosen as startup peer" }, - "lightning-dir": { - "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/", - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.016903158", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6e6e65637423342f636c6e3a706565725f636f6e6e6563746564233431222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "network": { - "value_str": "regtest", - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.017193773", + "source": "lightningd", + "log": "Plugin chanbackup returned from peer_connected hook call" }, - "testnet": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.017685668", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6e6e6563742334222c22726573756c74223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226665617475726573223a223038613030303061386135393631222c22646972656374696f6e223a226f7574222c2261646472657373223a7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33393239377d7d7d0a0a" }, - "signet": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.018071563", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "010906226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00000000ffffffff" }, - "mainnet": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.018344790", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "gossipd", + "log": "seeker: starting gossip (EVERTHING)" }, - "regtest": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.018677717", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "010906226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f00000000ffffffff" }, - "rpc-file": { - "value_str": "lightning-rpc", - "source": "default" + { + "type": "IO_IN", + "time": "1.021293860", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b22636f6d6d616e645f746f5f636865" }, - "allow-deprecated-apis": { - "value_bool": false, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.021493068", + "source": "jsonrpc#66", + "log": "", + "data": "636b223a2022636f6d6d616e646f2d72756e65227d2c20226964223a20227079746573743a636865636b2335227d" }, - "plugin": { - "values_str": [ - "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" - ], - "sources": [ - "cmdline" - ] + { + "type": "IO_IN", + "time": "1.021701386", + "source": "jsonrpc#66", + "log": "\"pytest:check#5\"", + "data": "" }, - "plugin-dir": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.022267279", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2335222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22636f6d6d616e646f2d72756e65227d7d0a0a" }, - "clear-plugins": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.023122768", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636f6d6d616e646f2d72756e65222c2022706172616d73223a207b7d2c2022696422" }, - "disable-plugin": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.023312029", + "source": "jsonrpc#66", + "log": "", + "data": "3a20227079746573743a636f6d6d616e646f2d72756e652336227d" }, - "important-plugin": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.023507661", + "source": "jsonrpc#66", + "log": "\"pytest:commando-rune#6\"", + "data": "" }, - "always-use-proxy": { - "value_bool": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.024046387", + "source": "plugin-commando", + "log": "\"pytest:commando-rune#6/cln:commando-rune#42\"", + "data": "" }, - "daemon": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.025073948", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e652334322f636f6d6d616e646f3a63726561746572756e652331222c226d6574686f64223a2263726561746572756e65222c22706172616d73223a7b7d7d0a0a" }, - "experimental-dual-fund": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.025346436", + "source": "jsonrpc#61", + "log": "\"pytest:commando-rune#6/cln:commando-rune#42/commando:createrune#1\"", + "data": "" }, - "experimental-splicing": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.029167075", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e652334322f636f6d6d616e646f3a63726561746572756e652331222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" }, - "experimental-onion-messages": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.030190971", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e6523362f636c6e3a636f6d6d616e646f2d72756e65233432222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" }, - "experimental-offers": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.030733449", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2d72756e652336222c22726573756c74223a7b2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c22756e697175655f6964223a2230222c227761726e696e675f756e726573747269637465645f72756e65223a225741524e494e473a20546869732072756e6520686173206e6f207265737472696374696f6e732120416e796f6e652077686f206861732061636365737320746f20746869732072756e6520636f756c6420647261696e2066756e64732066726f6d20796f7572206e6f64652e204265206361726566756c207768656e20676976696e67207468697320746f2061707073207468617420796f7520646f6e27742074727573742e20436f6e7369646572207573696e6720746865207265737472696374696f6e7320706172616d6574657220746f206f6e6c7920616c6c6f772061636365737320746f20737065636966696320727063206d6574686f64732e227d7d0a0a" }, - "experimental-shutdown-wrong-funding": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.040965643", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f5f810a475ab5d3f67b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23342f636c6e3a636f6d6d616e646f233432222c22706172616d73223a7b7d2c2272756e65223a225658593441416b7250794832767a53764f486e49375044566653364f30346252514c55434955464a443559394e6a516d625756306147396b50576c75646d39705932556d636d46305a5430794d5a3d3d227d" }, - "experimental-peer-storage": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.041668514", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "experimental-quiesce": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.041926016", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#43\"", + "data": "" }, - "rgb": { - "value_str": "0266e4", - "source": "default" + { + "type": "IO_IN", + "time": "1.042712027", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233433222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "alias": { - "value_str": "JUNIORBEAM-v23.11-415-gd120eba", - "source": "default" + { + "type": "DEBUG", + "time": "1.043062860", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "pid-file": { - "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/lightningd-regtest.pid", - "source": "default" + { + "type": "DEBUG", + "time": "1.043134427", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "ignore-fee-limits": { - "value_bool": false, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.043341942", + "source": "plugin-commando", + "log": "\"cln:custommsg#44\"", + "data": "" }, - "watchtime-blocks": { - "value_int": 5, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.046312543", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233434222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "max-locktime-blocks": { - "value_int": 2016, - "source": "default" + { + "type": "DEBUG", + "time": "1.046930065", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "funding-confirms": { - "value_int": 1, - "source": "default" + { + "type": "IO_IN", + "time": "1.047133993", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652332222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a225658593441416b7250794832767a53764f486e49375044566653364f30346252514c55434955464a443559394e6a516d625756306147396b50576c75646d39705932556d636d46305a5430794d5a3d3d222c226d6574686f64223a22" }, - "require-confirmed-inputs": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.047336335", + "source": "jsonrpc#61", + "log": "", + "data": "6c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" }, - "cltv-delta": { - "value_int": 6, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.047532032", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#2\"", + "data": "" }, - "cltv-final": { - "value_int": 5, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.049254175", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652332222c226572726f72223a7b22636f6465223a313530312c226d657373616765223a224e6f7420617574686f72697a65643a204e6f7420646572697665642066726f6d206d6173746572227d7d0a0a" }, - "commit-time": { - "value_int": 10, - "source": "default" + { + "type": "IO_IN", + "time": "1.050040119", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672333222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346435663831306134373561623564336636376232323635373237323666373232323361376232323633366636343635323233613331333933353333333732633232366436353733373336313637363532323361323234393665373636313663363936343230373237353665363533613230346536663734323036313735373436383666373236393761363536343361323034653666373432303634363537323639373636353634323036363732366636643230366436313733373436353732323237643764227d7d0a0a" }, - "fee-base": { - "value_int": 1, - "source": "default" + { + "type": "IO_IN", + "time": "1.050396158", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#3\"", + "data": "" }, - "rescan": { - "value_int": 1, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.051022304", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672333222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "fee-per-satoshi": { - "value_int": 10, - "source": "default" + { + "type": "IO_OUT", + "time": "1.051932489", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594d5f810a475ab5d3f67b226572726f72223a7b22636f6465223a31393533372c226d657373616765223a22496e76616c69642072756e653a204e6f7420617574686f72697a65643a204e6f7420646572697665642066726f6d206d6173746572227d7d" }, - "htlc-minimum-msat": { - "value_msat": 0, - "source": "default" + { + "type": "IO_IN", + "time": "1.065257049", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f708a72d954606f2c7b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f233435222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" }, - "htlc-maximum-msat": { - "value_msat": 18446744073709551615, - "source": "default" + { + "type": "DEBUG", + "time": "1.065965691", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "max-concurrent-htlcs": { - "value_int": 483, - "source": "default" + { + "type": "IO_OUT", + "time": "1.066195575", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#45\"", + "data": "" }, - "max-dust-htlc-exposure-msat": { - "value_msat": 50000000, - "source": "default" + { + "type": "IO_IN", + "time": "1.066873858", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233435222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "min-capacity-sat": { - "value_int": 10000, - "source": "default", - "dynamic": true + { + "type": "DEBUG", + "time": "1.067221272", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "addr": { - "values_str": [ - "127.0.0.1:40177" - ], - "sources": [ - "cmdline" - ] + { + "type": "DEBUG", + "time": "1.067292581", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "bind-addr": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.067501602", + "source": "plugin-commando", + "log": "\"cln:custommsg#46\"", + "data": "" }, - "announce-addr": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.069007116", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233436222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "announce-addr-discovered": { - "value_str": "auto", - "source": "default" + { + "type": "DEBUG", + "time": "1.069357275", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "announce-addr-discovered-port": { - "value_int": 19846, - "source": "default" + { + "type": "IO_IN", + "time": "1.069495963", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652334222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" }, - "offline": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.069715532", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#4\"", + "data": "" }, - "autolisten": { - "value_bool": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.073936876", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652334222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" }, - "accept-htlc-tlv-type": { - "values_int": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.074717312", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f2334352f636f6d6d616e646f3a6c69737470656572732335222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d0a0a" }, - "disable-dns": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.075008983", + "source": "jsonrpc#61", + "log": "\"pytest:commando#6/cln:commando#45/commando:listpeers#5\"", + "data": "" }, - "encrypted-hsm": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.075515296", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f2334352f636f6d6d616e646f3a6c69737470656572732335222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d0a0a" }, - "rpc-file-mode": { - "value_str": "0600", - "source": "default" + { + "type": "IO_IN", + "time": "1.076286178", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672336222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a2235393464373038613732643935343630366632633762323236613733366636653732373036333232336132323332326533303232326332323639363432323361323237303739373436353733373433613633366636643664363136653634366632333336326636333663366533613633366636643664363136653634366632333334333532323263323237323635373337353663373432323361376232323730363536353732373332323361356237623232363936343232336132323330333233323634333233323333333633323330363133333335333936313334333736363636333736363337363136333334333433373633333833353633333433363633333933323333363436313335333333333338333933323332333136313330333033353334363333313331363333313635333336333631333333313634333533393232326332323633366636653665363536333734" }, - "commit-fee": { - "value_int": 100, - "source": "default" + { + "type": "IO_IN", + "time": "1.076583692", + "source": "jsonrpc#61", + "log": "", + "data": "363536343232336137343732373536353263323236653735366435663633363836313665366536353663373332323361333032633232366536353734363136343634373232323361356232323331333233373265333032653330326533313361333333393332333933373232356432633232363636353631373437353732363537333232336132323330333836313330333033303330363133383631333533393336333132323764356437643764227d7d0a0a" }, - "commit-feerate-offset": { - "value_int": 5, - "source": "default" + { + "type": "IO_IN", + "time": "1.076848396", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#6\"", + "data": "" }, - "min-emergency-msat": { - "value_msat": 25000000, - "source": "default" + { + "type": "IO_OUT", + "time": "1.077479561", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672336222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "subdaemon": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.078478377", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594d708a72d954606f2c7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23362f636c6e3a636f6d6d616e646f233435222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d" }, - "experimental-upgrade-protocol": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.097930749", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f1348e2e394aa9e867b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f233438222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" }, - "invoices-onchain-fallback": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.098748039", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "i-promise-to-fix-broken-api-user": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.099020418", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#47\"", + "data": "" }, - "log-level": { - "value_str": "debug", - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.099748674", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233437222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "log-timestamps": { - "value_bool": true, - "source": "default" + { + "type": "DEBUG", + "time": "1.100097324", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "log-prefix": { - "value_str": "lightningd-1 ", - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.100169604", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "log-file": { - "values_str": [ - "-", - "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/log" - ], - "sources": [ - "cmdline", - "cmdline" - ] + { + "type": "IO_OUT", + "time": "1.100378204", + "source": "plugin-commando", + "log": "\"cln:custommsg#48\"", + "data": "" }, - "dev-no-reconnect": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.103388293", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233438222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "dev-fail-on-subdaemon-fail": { - "set": true, - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.103743584", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "dev-bitcoind-poll": { - "value_int": 1, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.103888546", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652337222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d7d0a0a" }, - "dev-fast-gossip": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.104129164", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#7\"", + "data": "" }, - "disable-mpp": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/pay" + { + "type": "IO_OUT", + "time": "1.108099832", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e652337222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" }, - "bitcoin-datadir": { - "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_IN", + "time": "1.108859660", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f2334382f636f6d6d616e646f3a6c69737470656572732338222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d0a0a" }, - "bitcoin-rpcuser": { - "value_str": "rpcuser", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_IN", + "time": "1.109177488", + "source": "jsonrpc#61", + "log": "\"pytest:commando#8/cln:commando#48/commando:listpeers#8\"", + "data": "" }, - "bitcoin-rpcpassword": { - "value_str": "rpcpass", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_OUT", + "time": "1.109969214", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f2334382f636f6d6d616e646f3a6c69737470656572732338222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d0a0a" }, - "bitcoin-rpcport": { - "value_int": 59351, - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "IO_IN", + "time": "1.111103499", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672339222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a2235393464313334386532653339346161396538363762323236613733366636653732373036333232336132323332326533303232326332323639363432323361323237303739373436353733373433613633366636643664363136653634366632333338326636333663366533613633366636643664363136653634366632333334333832323263323237323635373337353663373432323361376232323730363536353732373332323361356237623232363936343232336132323330333233323634333233323333333633323330363133333335333936313334333736363636333736363337363136333334333433373633333833353633333433363633333933323333363436313335333333333338333933323332333136313330333033353334363333313331363333313635333336333631333333313634333533393232326332323633366636653665363536333734363536343232336137343732373536353263323236653735366435663633363836313665366536353663373332323361333032633232366536353734363136343634373232323361356232323331333233373265333032653330326533313361333333393332333933373232356432633232363636353631373437353732363537333232336132323330333836313330333033303330363133383631333533393336333132323764356437643764227d7d0a0a" }, - "renepay-debug-mcf": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "IO_IN", + "time": "1.111711847", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#9\"", + "data": "" }, - "renepay-debug-payflow": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "IO_OUT", + "time": "1.112773210", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d73672339222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "test-option": { - "value_int": 31337, - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "accept-htlc-tlv-type": { - "values_int": [ - 133773310, - 99990 - ], - "sources": [ - "cmdline", - "cmdline" - ] - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "developer": { - "set": true, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.113794787", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594d1348e2e394aa9e867b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f23382f636c6e3a636f6d6d616e646f233438222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c22636f6e6e6563746564223a747275652c226e756d5f6368616e6e656c73223a302c226e657461646472223a5b223132372e302e302e313a3339323937225d2c226665617475726573223a223038613030303061386135393631227d5d7d7d" }, - "lightning-dir": { - "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/", - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.128315634", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4fa7d18d8e67ef80037b226d6574686f64223a226c6973747065657273222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f233531222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c2266696c746572223a7b227065657273223a205b7b226964223a20747275657d5d7d7d" }, - "network": { - "value_str": "regtest", - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.129209002", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "testnet": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.129496339", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#49\"", + "data": "" }, - "signet": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.130294213", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233439222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "mainnet": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.130694513", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "regtest": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.130774619", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "rpc-file": { - "value_str": "lightning-rpc", - "source": "default" + { + "type": "IO_OUT", + "time": "1.130986881", + "source": "plugin-commando", + "log": "\"cln:custommsg#50\"", + "data": "" }, - "allow-deprecated-apis": { - "value_bool": false, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.132510034", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233530222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "plugin": { - "values_str": [], - "sources": [] + { + "type": "DEBUG", + "time": "1.132874508", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "plugin-dir": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.133020538", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233130222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d7d7d0a0a" }, - "clear-plugins": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.133253904", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#10\"", + "data": "" }, - "disable-plugin": { - "values_str": [ - "something-else.py", - "helloworld.py" - ], - "sources": [ - "cmdline", - "cmdline" - ] + { + "type": "IO_OUT", + "time": "1.137048161", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233130222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" }, - "important-plugin": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.137808937", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f2335312f636f6d6d616e646f3a6c6973747065657273233131222c226d6574686f64223a226c6973747065657273222c22706172616d73223a7b7d2c2266696c746572223a7b227065657273223a205b7b226964223a20747275657d5d7d7d0a0a" }, - "always-use-proxy": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.138243692", + "source": "jsonrpc#61", + "log": "\"pytest:commando#10/cln:commando#51/commando:listpeers#11\"", + "data": "" }, - "daemon": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.138785218", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f2335312f636f6d6d616e646f3a6c6973747065657273233131222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d5d7d7d0a0a" }, - "experimental-dual-fund": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.139561738", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233132222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346461376431386438653637656638303033376232323661373336663665373237303633323233613232333232653330323232633232363936343232336132323730373937343635373337343361363336663664366436313665363436663233333133303266363336633665336136333666366436643631366536343666323333353331323232633232373236353733373536633734323233613762323237303635363537323733323233613562376232323639363432323361323233303332333236343332333233333336333233303631333333353339363133343337363636363337363633373631363333343334333736333338333536333334333636333339333233333634363133353333333333383339333233323331363133303330333533343633333133313633333136353333363336313333333136343335333932323764356437643764227d7d0a0a" }, - "experimental-splicing": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.139933310", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#12\"", + "data": "" }, - "experimental-onion-messages": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.140724938", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233132222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "experimental-offers": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.141705291", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594da7d18d8e67ef80037b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331302f636c6e3a636f6d6d616e646f233531222c22726573756c74223a7b227065657273223a5b7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d5d7d7d" }, - "experimental-shutdown-wrong-funding": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.156985594", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f32aaf1ae0d2c97137b226d6574686f64223a227769746864726177222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f233534222c22706172616d73223a7b7d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" }, - "experimental-peer-storage": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.158150116", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "experimental-quiesce": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.158442735", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#51\"", + "data": "" }, - "rgb": { - "value_str": "0265b6", - "source": "default" + { + "type": "IO_IN", + "time": "1.159161150", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233531222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "alias": { - "value_str": "LOUDPHOTO-v23.11-415-gd120eba", - "source": "default" + { + "type": "DEBUG", + "time": "1.159514237", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "pid-file": { - "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/lightningd-regtest.pid", - "source": "default" + { + "type": "DEBUG", + "time": "1.159586788", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "ignore-fee-limits": { - "value_bool": false, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.159831508", + "source": "plugin-commando", + "log": "\"cln:custommsg#52\"", + "data": "" }, - "watchtime-blocks": { - "value_int": 5, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.161814755", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233532222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "max-locktime-blocks": { - "value_int": 2016, - "source": "default" + { + "type": "DEBUG", + "time": "1.162173124", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "funding-confirms": { - "value_int": 1, - "source": "default" + { + "type": "IO_IN", + "time": "1.162314136", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233133222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a227769746864726177222c22706172616d73223a7b7d7d7d0a0a" }, - "require-confirmed-inputs": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.162536928", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#13\"", + "data": "" }, - "cltv-delta": { - "value_int": 6, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.166452524", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233133222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" }, - "cltv-final": { - "value_int": 5, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.167198007", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a7769746864726177233134222c226d6574686f64223a227769746864726177222c22706172616d73223a7b7d7d0a0a" }, - "commit-time": { - "value_int": 10, - "source": "default" + { + "type": "IO_IN", + "time": "1.167483435", + "source": "jsonrpc#61", + "log": "\"pytest:commando#12/cln:commando#54/commando:withdraw#14\"", + "data": "" }, - "fee-base": { - "value_int": 1, - "source": "default" + { + "type": "IO_OUT", + "time": "1.167954920", + "source": "plugin-txprepare", + "log": "\"pytest:commando#12/cln:commando#54/commando:withdraw#14/cln:withdraw#53\"", + "data": "" }, - "rescan": { - "value_int": 1, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.168825122", + "source": "plugin-txprepare", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a77697468647261772331342f636c6e3a7769746864726177233533222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d0a0a" }, - "fee-per-satoshi": { - "value_int": 10, - "source": "default" + { + "type": "IO_OUT", + "time": "1.169264333", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f2335342f636f6d6d616e646f3a7769746864726177233134222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d0a0a" }, - "htlc-minimum-msat": { - "value_msat": 0, - "source": "default" + { + "type": "IO_IN", + "time": "1.170077476", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233135222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a223539346433326161663161653064326339373133376232323661373336663665373237303633323233613232333232653330323232633232363936343232336132323730373937343635373337343361363336663664366436313665363436663233333133323266363336633665336136333666366436643631366536343666323333353334323232633232363537323732366637323232336137623232363336663634363532323361326433333332333633303332326332323664363537333733363136373635323233613232366436393733373336393665363732303732363537313735363937323635363432303730363137323631366436353734363537323361323036343635373337343639366536313734363936663665323237643764227d7d0a0a" }, - "htlc-maximum-msat": { - "value_msat": 18446744073709551615, - "source": "default" + { + "type": "IO_IN", + "time": "1.170447279", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#15\"", + "data": "" }, - "max-concurrent-htlcs": { - "value_int": 483, - "source": "default" + { + "type": "IO_OUT", + "time": "1.171089558", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233135222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "max-dust-htlc-exposure-msat": { - "value_msat": 50000000, - "source": "default" + { + "type": "IO_OUT", + "time": "1.172081697", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594d32aaf1ae0d2c97137b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331322f636c6e3a636f6d6d616e646f233534222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a226d697373696e6720726571756972656420706172616d657465723a2064657374696e6174696f6e227d7d" }, - "min-capacity-sat": { - "value_int": 10000, - "source": "default", - "dynamic": true + { + "type": "IO_IN", + "time": "1.186417219", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f217b71148eb355417b226d6574686f64223a22696e766f696365222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f233537222c22706172616d73223a7b22666f6f626172223a20317d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" }, - "addr": { - "values_str": [ - "127.0.0.1:39707" - ], - "sources": [ - "cmdline" - ] + { + "type": "DEBUG", + "time": "1.187246572", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "bind-addr": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.187482959", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#54\"", + "data": "" }, - "announce-addr": { - "values_str": [], - "sources": [] + { + "type": "IO_IN", + "time": "1.188194347", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233534222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "announce-addr-discovered": { - "value_str": "auto", - "source": "default" + { + "type": "DEBUG", + "time": "1.188548938", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "announce-addr-discovered-port": { - "value_int": 19846, - "source": "default" + { + "type": "DEBUG", + "time": "1.188619907", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "offline": { - "set": false, - "source": "default" + { + "type": "IO_OUT", + "time": "1.188829839", + "source": "plugin-commando", + "log": "\"cln:custommsg#55\"", + "data": "" }, - "autolisten": { - "value_bool": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.190770244", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233535222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "accept-htlc-tlv-type": { - "values_int": [], - "sources": [] + { + "type": "DEBUG", + "time": "1.191128404", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "disable-dns": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.191269014", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233136222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a22696e766f696365222c22706172616d73223a7b22666f6f626172223a20317d7d7d0a0a" }, - "encrypted-hsm": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.191524269", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#16\"", + "data": "" }, - "rpc-file-mode": { - "value_str": "0600", - "source": "default" + { + "type": "IO_OUT", + "time": "1.196963780", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233136222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.197735253", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f2335372f636f6d6d616e646f3a696e766f696365233137222c226d6574686f64223a22696e766f696365222c22706172616d73223a7b22666f6f626172223a317d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.198249712", + "source": "jsonrpc#61", + "log": "\"pytest:commando#14/cln:commando#57/commando:invoice#17\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.198889198", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f2335372f636f6d6d616e646f3a696e766f696365233137222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a22756e6b6e6f776e20706172616d657465723a20666f6f6261722c2074686973206d6179206265206361757365642062792061206661696c75726520746f206175746f646574656374206b65793d76616c75652d7374796c6520706172616d65746572732e20506c6561736520747279207573696e6720746865202d6b20666c616720616e64206578706c69636974206b65793d76616c7565207061697273206f6620706172616d65746572732e227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.199704787", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233138222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a22353934643231376237313134386562333535343137623232366137333666366537323730363332323361323233323265333032323263323236393634323233613232373037393734363537333734336136333666366436643631366536343666323333313334326636333663366533613633366636643664363136653634366632333335333732323263323236353732373236663732323233613762323236333666363436353232336132643333333233363330333232633232366436353733373336313637363532323361323237353665366236653666373736653230373036313732363136643635373436353732336132303636366636663632363137323263323037343638363937333230366436313739323036323635323036333631373537333635363432303632373932303631323036363631363936633735373236353230373436663230363137353734366636343635373436353633373432303662363537393364373636313663373536353264373337343739366336353230373036313732363136643635373436353732373332653230353036633635363137333635323037343732373932303735373336393665363732303734363836353230326436623230363636633631363732303631366536343230363537383730366336393633363937343230366236353739336437363631366337353635323037303631363937323733323036663636323037303631373236313664363537343635373237333265323237643764227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.200099223", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#18\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.200738494", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233138222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" }, - "commit-fee": { - "value_int": 100, - "source": "default" + { + "type": "IO_OUT", + "time": "1.201494092", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594d217b71148eb355417b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331342f636c6e3a636f6d6d616e646f233537222c226572726f72223a7b22636f6465223a2d33323630322c226d657373616765223a22756e6b6e6f776e20706172616d657465723a20666f6f6261722c2074686973206d6179206265206361757365642062792061206661696c75726520746f206175746f646574656374206b65793d76616c75652d7374796c6520706172616d65746572732e20506c6561736520747279207573696e6720746865202d6b20666c616720616e64206578706c69636974206b65793d76616c7565207061697273206f6620706172616d65746572732e227d7d" }, - "commit-feerate-offset": { - "value_int": 5, - "source": "default" + { + "type": "IO_IN", + "time": "1.210386519", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4fc36802bc9bf50e357b226d6574686f64223a2270696e67222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f233630222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" }, - "min-emergency-msat": { - "value_msat": 25000000, - "source": "default" + { + "type": "DEBUG", + "time": "1.210737198", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" }, - "subdaemon": { - "values_str": [], - "sources": [] + { + "type": "IO_OUT", + "time": "1.210864124", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#56\"", + "data": "" }, - "experimental-upgrade-protocol": { - "set": false, - "source": "default" + { + "type": "IO_IN", + "time": "1.211199167", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233536222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "invoices-onchain-fallback": { - "set": false, - "source": "default" + { + "type": "DEBUG", + "time": "1.211362591", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" }, - "i-promise-to-fix-broken-api-user": { - "values_str": [], - "sources": [] + { + "type": "DEBUG", + "time": "1.211394058", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" }, - "log-level": { - "value_str": "debug", - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.211478894", + "source": "plugin-commando", + "log": "\"cln:custommsg#57\"", + "data": "" }, - "log-timestamps": { - "value_bool": true, - "source": "default" + { + "type": "IO_IN", + "time": "1.212143717", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233537222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" }, - "log-prefix": { - "value_str": "lightningd-6 ", - "source": "cmdline" + { + "type": "DEBUG", + "time": "1.212286460", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" }, - "log-file": { - "values_str": [ - "-", - "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/log" - ], - "sources": [ - "cmdline", - "cmdline" - ] + { + "type": "IO_IN", + "time": "1.212344835", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233139222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a2270696e67222c22706172616d73223a7b226964223a2022303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d7d0a0a" }, - "dev-no-reconnect": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.212443146", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#19\"", + "data": "" }, - "dev-fail-on-subdaemon-fail": { - "set": true, - "source": "cmdline" + { + "type": "IO_OUT", + "time": "1.214597778", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233139222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" }, - "dev-bitcoind-poll": { - "value_int": 1, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.214975079", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f2336302f636f6d6d616e646f3a70696e67233230222c226d6574686f64223a2270696e67222c22706172616d73223a7b226964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539227d7d0a0a" }, - "dev-fast-gossip": { - "set": true, - "source": "cmdline" + { + "type": "IO_IN", + "time": "1.215096488", + "source": "jsonrpc#61", + "log": "\"pytest:commando#16/cln:commando#60/commando:ping#20\"", + "data": "" }, - "disable-mpp": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/pay" + { + "type": "IO_OUT", + "time": "1.215772453", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "0012008000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, - "renepay-debug-mcf": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "DEBUG", + "time": "1.215933752", + "source": "connectd", + "log": "sending ping expecting response" }, - "renepay-debug-payflow": { - "set": false, - "source": "default", - "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + { + "type": "IO_IN", + "time": "1.654771004", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "001300800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, - "bitcoin-datadir": { - "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "DEBUG", + "time": "1.655166020", + "source": "connectd", + "log": "Got pong 128 bytes (...)" }, - "bitcoin-rpcuser": { - "value_str": "rpcuser", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "DEBUG", + "time": "1.655363921", + "source": "connectd", + "log": "REPLY WIRE_CONNECTD_PING_REPLY with 0 fds" }, - "bitcoin-rpcpassword": { - "value_str": "rpcpass", - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + { + "type": "DEBUG", + "time": "1.655472178", + "source": "connectd", + "log": "Got ping reply!" + }, + { + "type": "IO_OUT", + "time": "1.655684378", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f2336302f636f6d6d616e646f3a70696e67233230222c22726573756c74223a7b22746f746c656e223a3133327d7d0a0a" }, - "bitcoin-rpcport": { - "value_int": 46809, - "source": "cmdline", - "plugin": "/home/shahana/workspace/lightning/plugins/bcli" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - }, - { - "configs": { - "experimental-dual-fund": { - "set": false, - "source": "default" - } - } - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-getinfo(7)", - "lightningd-config(5)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listdatastore.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listdatastore", - "title": "Command for listing (plugin) data", - "description": [ - "The **listdatastore** RPC command allows plugins to fetch data which was stored in the Core Lightning database." - ], - "request": { - "required": [], - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": [ - "All immediate children of the *key* (or root children) are returned.", - " Using the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended.", - " An array of values to form a hierarchy (though a single value is treated as a one-element array)." - ], - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - } - } - }, - "response": { - "required": [ - "datastore" - ], - "properties": { - "datastore": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Part of the key added to the datastore." - ] - } - }, - "generation": { - "type": "u64", - "description": [ - "The number of times this has been updated." - ] - }, - "hex": { - "type": "hex", - "description": [ - "The hex data from the datastore." - ] - }, - "string": { - "type": "string", - "description": [ - "The data as a string, if it's valid utf-8." - ] - } - } - } - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- -32602: invalid parameters." - ], - "example_json_request": [ - { - "id": "example:listdatastore#1", - "method": "listdatastore", - "params": { - "key": [ - "commando" - ] - } - }, - { - "id": "example:listdatastore#2", - "method": "listdatastore", - "params": { - "key": [ - "commando" - ] - } - }, - { - "id": "example:listdatastore#3", - "method": "listdatastore", - "params": { - "key": [ - "commando" - ] - } - }, - { - "id": "example:listdatastore#4", - "method": "listdatastore", - "params": { - "key": [ - "commando" - ] - } - }, - { - "id": "example:listdatastore#5", - "method": "listdatastore", - "params": { - "key": "foo_bar" - } - }, - { - "id": "example:listdatastore#6", - "method": "listdatastore", - "params": { - "key": null - } - }, - { - "id": "example:listdatastore#7", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#8", - "method": "listdatastore", - "params": { - "key": null - } - }, - { - "id": "example:listdatastore#9", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#10", - "method": "listdatastore", - "params": { - "key": "otherkey" - } - }, - { - "id": "example:listdatastore#11", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#12", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#13", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#14", - "method": "listdatastore", - "params": { - "key": null - } - }, - { - "id": "example:listdatastore#15", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#16", - "method": "listdatastore", - "params": { - "key": "otherkey" - } - }, - { - "id": "example:listdatastore#17", - "method": "listdatastore", - "params": { - "key": "badkey" - } - }, - { - "id": "example:listdatastore#18", - "method": "listdatastore", - "params": { - "key": null - } - }, - { - "id": "example:listdatastore#19", - "method": "listdatastore", - "params": { - "key": null - } - }, - { - "id": "example:listdatastore#20", - "method": "listdatastore", - "params": { - "key": "somekey" - } - }, - { - "id": "example:listdatastore#21", - "method": "listdatastore", - "params": { - "key": "otherkey" - } - }, - { - "id": "example:listdatastore#22", - "method": "listdatastore", - "params": { - "key": "badkey" - } - }, - { - "id": "example:listdatastore#23", - "method": "listdatastore", - "params": { - "key": null - } - } - ], - "example_json_response": [ - { - "datastore": [] - }, - { - "datastore": [] - }, - { - "datastore": [] - }, - { - "datastore": [] - }, - { - "datastore": [ { - "key": [ - "foo_bar" - ], - "generation": 0, - "hex": "7b22666f6f223a2022626172227d", - "string": "{\"foo\": \"bar\"}" + "type": "IO_IN", + "time": "1.656479393", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233231222c226d6574686f64223a2273656e64637573746f6d6d7367222c22706172616d73223a7b226e6f64655f6964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c226d7367223a22353934646333363830326263396266353065333537623232366137333666366537323730363332323361323233323265333032323263323236393634323233613232373037393734363537333734336136333666366436643631366536343666323333313336326636333663366533613633366636643664363136653634366632333336333032323263323237323635373337353663373432323361376232323734366637343663363536653232336133313333333237643764227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.657036627", + "source": "jsonrpc#61", + "log": "\"commando:sendcustommsg#21\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.657781157", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a73656e64637573746f6d6d7367233231222c22726573756c74223a7b22737461747573223a224d6573736167652073656e7420746f20636f6e6e6563746420666f722064656c6976657279227d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "1.658756414", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "594dc36802bc9bf50e357b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331362f636c6e3a636f6d6d616e646f233630222c22726573756c74223a7b22746f746c656e223a3133327d7d" + }, + { + "type": "IO_IN", + "time": "1.674013368", + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "source": "connectd", + "log": "", + "data": "4c4f81e1be441e04c9f67b226d6574686f64223a226765746c6f67222c226964223a227079746573743a636f6d6d616e646f2331382f636c6e3a636f6d6d616e646f233633222c22706172616d73223a7b226c6576656c223a2022696f227d2c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d227d" + }, + { + "type": "DEBUG", + "time": "1.674680424", + "source": "lightningd", + "log": "Calling custommsg hook of plugin chanbackup" + }, + { + "type": "IO_OUT", + "time": "1.674902747", + "source": "plugin-chanbackup", + "log": "\"cln:custommsg#58\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "1.675604017", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233538222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "1.675985216", + "source": "lightningd", + "log": "Plugin chanbackup returned from custommsg hook call" + }, + { + "type": "DEBUG", + "time": "1.676057841", + "source": "lightningd", + "log": "Calling custommsg hook of plugin commando" + }, + { + "type": "IO_OUT", + "time": "1.676268994", + "source": "plugin-commando", + "log": "\"cln:custommsg#59\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "1.678243290", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a637573746f6d6d7367233539222c22726573756c74223a7b22726573756c74223a22636f6e74696e7565227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "1.678604199", + "source": "lightningd", + "log": "Plugin commando returned from custommsg hook call" + }, + { + "type": "IO_IN", + "time": "1.678744634", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233232222c226d6574686f64223a22636865636b72756e65222c22706172616d73223a7b226e6f64656964223a22303232643232333632306133353961343766663766376163343437633835633436633932336461353333383932323161303035346331316331653363613331643539222c2272756e65223a224f5371633769785936462d676a636967426678747a4b55493534757a6746534136596642516f5747445638394d413d3d222c226d6574686f64223a226765746c6f67222c22706172616d73223a7b226c6576656c223a2022696f227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.678975032", + "source": "jsonrpc#61", + "log": "\"commando:checkrune#22\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.683170290", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636f6d6d616e646f3a636865636b72756e65233232222c22726573756c74223a7b2276616c6964223a747275657d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.683991246", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636f6d6d616e646f2331382f636c6e3a636f6d6d616e646f2336332f636f6d6d616e646f3a6765746c6f67233233222c226d6574686f64223a226765746c6f67222c22706172616d73223a7b226c6576656c223a22696f227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.684377834", + "source": "jsonrpc#61", + "log": "\"pytest:commando#18/cln:commando#63/commando:getlog#23\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.685069543", + "source": "jsonrpc#61", + "log": "Suppressing logging of getlog command", + "data": "" } ] }, { - "datastore": [] + "payment_hash": "365e39cc97eacf029bf602057a33f9c51a9727fb9e205e355dfce8a8230ec4ba", + "expires_at": 1709247483, + "bolt11": "lnbcrt1pja05tmsp5r99sew4g40a486cemxzswgk0zrwevnkgt90fdccennvygxvhp3tspp5xe0rnnyhat8s9xlkqgzh5vlec5dfwflmncs9ud2aln52sgcwcjaqhp5qhkwn00xjzlnjgu6efpp8grdpfwakt4kajwwps49tyamrqe0tv4qxqyjw5qcqp99qxpqysgqnj46at0luxcrz9h884t0skc886a2czzskr0czaac3gx8z905mmchypws5m0hrvm93dga7eg6u5tq4w49nnvpyh3ywzvmwewtler7deqp3wga3f", + "payment_secret": "194b0cbaa8abfb53eb19d9850722cf10dd964ec8595e96e3199cd84419970c57", + "created_index": 1, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "datastore": [] + "payment_hash": "451306e8f6d2d58bf24321475cc2b4bc1f92ed4761a680fb9eea62452953de7a", + "expires_at": 1709247489, + "bolt11": "lnbcrt1pja05vpsp5j8av7ky7kp254pfm0hklk6qd79unsz0z32qqg9fh7j3he45mamvspp5g5fsd68k6t2chujry9r4es45hs0e9m28vxngp7u7af3y222nmeaqdpggp6xjur2v9e8c6nzx565qum9dej8xct5wvhxcmmvxqyjw5qcqp99qxpqysgqyggryxs79wq5lds48e5nhhgwxfg9fs6krhpqmaqefayvgzem55p4gnhtve9q7pqgq7aygt2lunz08y9rav6y6uag5sq3vjy73933g0gq54qwre", + "payment_secret": "91facf589eb0554a853b7dedfb680df1793809e28a80041537f4a37cd69beed9", + "created_index": 1, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "datastore": [ + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 0, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [ + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 0, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [] + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "num_peers": 1, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ + { + "type": "ipv4", + "address": "127.0.0.1", + "port": 42513 + } + ], + "version": "v23.11-415-gd120eba", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", + "our_features": { + "init": "08a0000a8a5961", + "node": "88a0000a8a5961", + "channel": "", + "invoice": "02000002024100" + } }, { - "datastore": [ + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "num_peers": 1, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ { - "key": [ - "somekey" - ], - "generation": 1, - "hex": "736f6d656461", - "string": "someda" + "type": "ipv4", + "address": "127.0.0.1", + "port": 42513 } - ] + ], + "version": "v23.11-415-gd120eba", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", + "our_features": { + "init": "08a0000a8a5961", + "node": "88a0000a8a5961", + "channel": "", + "invoice": "02000002024100" + } }, { - "datastore": [ + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "num_peers": 1, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ { - "key": [ - "somekey" - ], - "generation": 2, - "hex": "736f6d65646174", - "string": "somedat" + "type": "ipv4", + "address": "127.0.0.1", + "port": 42513 } - ] + ], + "version": "v23.11-415-gd120eba", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", + "our_features": { + "init": "08a0000a8a5961", + "node": "88a0000a8a5961", + "channel": "", + "invoice": "02000002024100" + } }, { - "datastore": [ + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [ + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [ + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961", + "log": [ + { + "type": "SKIPPED", + "num_skipped": 28 + } + ] } ] }, { - "datastore": [ + "peers": [ { - "key": [ - "otherkey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" + "features": "08a0000a8a5961", + "log": [ + { + "type": "SKIPPED", + "num_skipped": 30 + } + ] } ] }, { - "datastore": [] - }, - { - "datastore": [ - { - "key": [ - "otherkey" - ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" - }, + "peers": [ { - "key": [ - "somekey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 3, - "hex": "736f6d6564617461", - "string": "somedata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [ + "peers": [ { - "key": [ - "otherkey" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:40119" ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" + "features": "08a0000a8a5961" } ] }, { - "datastore": [] - }, - { - "datastore": [ + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "num_peers": 1, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ { - "key": [ - "otherkey" - ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" + "type": "ipv4", + "address": "127.0.0.1", + "port": 42513 } - ] + ], + "version": "v23.11-415-gd120eba", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_rune_1/lightning-1/regtest", + "our_features": { + "init": "08a0000a8a5961", + "node": "88a0000a8a5961", + "channel": "", + "invoice": "02000002024100" + } }, { - "datastore": [] + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "c3afc67eb2bfc190c60b579f111cb20fa5a7731b3917f978762e2d67ed9e75c9", + "created_at": 1708642714.8110592, + "parts": 1, + "amount_msat": 9999, + "amount_sent_msat": 9999, + "payment_preimage": "17632717785b1a833a296ba1831cb968602872e68881c2f324e06e87979296dc", + "status": "complete" }, { - "datastore": [ + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "num_peers": 1, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ { - "key": [ - "otherkey" - ], - "generation": 0, - "hex": "6f7468657264617461", - "string": "otherdata" + "type": "ipv4", + "address": "127.0.0.1", + "port": 36551 } - ] + ], + "version": "v23.11-415-gd120eba", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-7u_8_rtu/test_commando_blacklist_1/lightning-1/regtest", + "our_features": { + "init": "08a0000a8a5961", + "node": "88a0000a8a5961", + "channel": "", + "invoice": "02000002024100" + } } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", + "", + "Christian Decker came up with the name \"commando\", which almost excuses his previous adoption of the name \"Eltoo\"." ], "see_also": [ - "lightning-datastore(7)", - "lightning-deldatastore(7)", - "lightning-datastoreusage(7)" + "lightning-commando-rune(7)" ], "resources": [ "Main web site: " ] }, - "lightning-listforwards.json": { + "lightning-connect.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listforwards", - "title": "Command showing all htlcs and their information", + "rpc": "connect", + "title": "Command for connecting to another lightning node", "description": [ - "The **listforwards** RPC command displays all htlcs that have been attempted to be forwarded by the Core Lightning node." + "The **connect** RPC command establishes a new connection with another node in the Lightning Network.", + "", + "Connecting to a node is just the first step in opening a channel with another node. Once the peer is connected a channel can be opened with lightning-fundchannel(7).", + "", + "If there are active channels with the peer, **connect** returns once all the subdaemons are in place to handle the channels, not just once it's connected." ], "request": { - "required": [], + "required": [ + "id" + ], "properties": { - "status": { + "id": { "type": "string", "description": [ - "If specified, then only the forwards with the given status are returned." - ], - "enum": [ - "offered", - "settled", - "local_failed", - "failed" + "The target node's public key. As a convenience, *id* may be of the form *id@host* or *id@host:port*. In this case, the *host* and *port* parameters must be omitted. This can fail if your C-lightning node is a fresh install that has not connected to any peers yet (your node has no gossip yet), or if the target *id* is a fresh install that has no channels yet (nobody will gossip about a node until it has one published channel)." ] }, - "in_channel": { - "type": "short_channel_id", + "host": { + "type": "string", "description": [ - "Only the matching forwards on the given inbound channel are returned." + "The peer's hostname or IP address. If *host* is not specified (or doesn't work), the connection will be attempted to an IP belonging to *id* obtained through gossip with other already connected peers. If *host* begins with a `/` it is interpreted as a local path and the connection will be made to that local socket (see **bind-addr** in lightningd-config(5))." + ] + }, + "port": { + "type": "u16", + "description": [ + "The peer's port number. If not specified, the *port* depends on the current network:", + " * bitcoin **mainnet**: 9735.", + " * bitcoin **testnet**: 19735.", + " * bitcoin **signet**: 39735.", + " * bitcoin **regtest**: 19846." + ] + } + } + }, + "response": { + "required": [ + "id", + "features", + "direction", + "address" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The peer we connected to." ] }, - "out_channel": { - "type": "short_channel_id", + "features": { + "type": "hex", "description": [ - "Only the matching forwards on the given outbount channel are returned." + "BOLT 9 features bitmap offered by peer." ] }, - "index": { + "direction": { "type": "string", - "added": "v23.11", "enum": [ - "created", - "updated" - ], - "description": [ - "If neither *in_channel* nor *out_channel* is specified, it controls ordering." + "in", + "out" ], - "default": "`created`" - }, - "start": { - "type": "u64", - "added": "v23.11", "description": [ - "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." + "Whether they initiated connection or we did." ] }, - "limit": { - "type": "u32", - "added": "v23.11", + "address": { + "type": "object", "description": [ - "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." - ] - } - }, - "dependentUpon": { - "index": [ - "start", - "limit" - ] - } - }, - "response": { - "required": [ - "forwards" - ], - "properties": { - "forwards": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "created_index", - "in_channel", - "in_msat", - "status", - "received_time" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this forward was created in." - ] - }, - "in_channel": { - "type": "short_channel_id", - "description": [ - "The channel that received the HTLC." - ] - }, - "in_htlc_id": { - "type": "u64", - "description": [ - "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." - ] - }, - "in_msat": { - "type": "msat", - "description": [ - "The value of the incoming HTLC." - ] - }, - "status": { - "type": "string", - "enum": [ - "offered", - "settled", - "local_failed", - "failed" - ], - "description": [ - "Still ongoing, completed, failed locally, or failed after forwarding." - ] - }, - "received_time": { - "type": "number", - "description": [ - "The UNIX timestamp when this was received." - ] - }, - "out_channel": { - "type": "short_channel_id", - "description": [ - "The channel that the HTLC (trying to) forward to." - ] - }, - "out_htlc_id": { - "type": "u64", - "description": [ - "The unique HTLC id we gave this when sending (may be missing even if out_channel is present, for old forwards before v22.11)." - ] - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this forward was changed (only present if it has changed since creation)." - ] - }, - "style": { - "type": "string", - "enum": [ - "legacy", - "tlv" - ], - "description": [ - "Either a legacy onion format or a modern tlv format." - ] - } - }, - "allOf": [ - { - "if": { - "required": [ - "out_msat" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "fee_msat", - "out_msat", - "out_channel" - ], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "resolved_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "failcode": {}, - "failreason": {}, - "fee_msat": { - "type": "msat", - "description": [ - "The amount this paid in fees." - ] - }, - "out_msat": { - "type": "msat", - "description": [ - "The amount we sent out the *out_channel*." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "resolved_time": {}, - "failcode": {}, - "failreason": {}, - "out_channel": {} + "Address information (mainly useful if **direction** is *out*)." + ], + "additionalProperties": true, + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "local socket", + "ipv4", + "ipv6", + "torv2", + "torv3" + ], + "description": [ + "Type of connection (*torv2*/*torv3* only if **direction** is *out*)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "local socket" + ] } } }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "settled", - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "resolved_time" - ], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "failcode": {}, - "failreason": {}, - "resolved_time": { - "type": "number", - "description": [ - "The UNIX timestamp when this was resolved." - ] - } + "then": { + "additionalProperties": false, + "required": [ + "socket" + ], + "properties": { + "type": {}, + "socket": { + "type": "string", + "description": [ + "Socket filename." + ] } - }, - "else": { - "additionalProperties": false, - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "failcode": {}, - "failreason": {}, - "out_msatoshi": {}, - "out_msat": {} + } + } + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "torv2", + "torv3" + ] } } }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "local_failed", - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "resolved_time": {}, - "failcode": { - "type": "u32", - "description": [ - "The numeric onion code returned." - ] - }, - "failreason": { - "type": "string", - "description": [ - "The name of the onion code returned." - ] - } - } - }, - "else": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "resolved_time": {} + "then": { + "additionalProperties": false, + "required": [ + "address", + "port" + ], + "properties": { + "type": {}, + "address": { + "type": "string", + "description": [ + "Address in expected format for **type**." + ] + }, + "port": { + "type": "u16", + "description": [ + "Port number." + ] } } } - ] - } + } + ] } } }, + "errors": [ + "On failure, one of the following errors will be returned:", + "", + "- 400: Unable to connect, no address known for peer", + "- 401: If some addresses are known but connecting to all of them failed, the message will contain details about the failures", + "- 402: If the peer disconnected while we were connecting", + "- -32602: If the given parameters are wrong" + ], "example_json_request": [ { - "id": "example:listforwards#1", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#2", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#3", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#4", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#5", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#6", - "method": "listforwards", - "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listforwards#7", - "method": "listforwards", + "id": "example:connect#1", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 44619 } }, { - "id": "example:listforwards#8", - "method": "listforwards", + "id": "example:connect#2", + "method": "connect", "params": { - "status": "settled", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "host": "localhost", + "port": 39611 } }, { - "id": "example:listforwards#9", - "method": "listforwards", + "id": "example:connect#3", + "method": "connect", "params": { - "in_channel": "0x1x2", - "out_channel": "0x2x3", - "status": "settled" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 46563 } }, { - "id": "example:listforwards#10", - "method": "listforwards", + "id": "example:connect#4", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 32945 } }, { - "id": "example:listforwards#11", - "method": "listforwards", + "id": "example:connect#5", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 37031 } }, { - "id": "example:listforwards#12", - "method": "listforwards", + "id": "example:connect#6", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 40605 } }, { - "id": "example:listforwards#13", - "method": "listforwards", + "id": "example:connect#7", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "host": "localhost", + "port": 33395 } }, { - "id": "example:listforwards#14", - "method": "listforwards", + "id": "example:connect#8", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "host": "localhost", + "port": 41921 } }, { - "id": "example:listforwards#15", - "method": "listforwards", + "id": "example:connect#9", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 45661 } }, { - "id": "example:listforwards#16", - "method": "listforwards", + "id": "example:connect#10", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 45661 } }, { - "id": "example:listforwards#17", - "method": "listforwards", + "id": "example:connect#11", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 38595 } }, { - "id": "example:listforwards#18", - "method": "listforwards", + "id": "example:connect#12", + "method": "connect", "params": { - "status": "failed", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 38851 } }, { - "id": "example:listforwards#19", - "method": "listforwards", + "id": "example:connect#13", + "method": "connect", "params": { - "status": "settled", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 35191 } }, { - "id": "example:listforwards#20", - "method": "listforwards", + "id": "example:connect#14", + "method": "connect", "params": { - "status": null, - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "host": "localhost", + "port": 33379 } }, { - "id": "example:listforwards#21", - "method": "listforwards", + "id": "example:connect#15", + "method": "connect", "params": { - "status": "failed", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "host": "localhost", + "port": 33173 } }, { - "id": "example:listforwards#22", - "method": "listforwards", + "id": "example:connect#16", + "method": "connect", "params": { - "status": "failed", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "127.0.0.1", + "port": 42839 } }, { - "id": "example:listforwards#23", - "method": "listforwards", + "id": "example:connect#17", + "method": "connect", "params": { - "status": "failed", - "in_channel": null, - "out_channel": null, - "index": null, - "start": null, - "limit": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "host": "127.0.0.1", + "port": 34365 } - } - ], - "example_json_response": [ - { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 0, - "out_channel": "104x1x0", - "out_htlc_id": 0, - "in_msat": 100001001, - "out_msat": 100000000, - "fee_msat": 1001, - "status": "settled", - "style": "tlv", - "received_time": 1706229285.5934534, - "resolved_time": 1706229288.830004 - }, - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "105x1x0", - "out_htlc_id": 0, - "in_msat": 100001001, - "out_msat": 100000000, - "fee_msat": 1001, - "status": "failed", - "style": "tlv", - "received_time": 1706229290.0289993, - "resolved_time": 1706229292.9487684 - }, - { - "created_index": 3, - "updated_index": 3, - "in_channel": "103x1x0", - "in_htlc_id": 2, - "out_channel": "106x1x0", - "out_htlc_id": 0, - "in_msat": 100001000, - "out_msat": 99999999, - "fee_msat": 1001, - "status": "local_failed", - "failcode": 16392, - "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", - "style": "tlv", - "received_time": 1706229295.3175724 - } - ] }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x2x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 0, - "in_msat": 43, - "out_msat": 42, - "fee_msat": 1, - "status": "failed", - "failcode": 49157, - "failreason": "WIRE_INVALID_ONION_HMAC", - "style": "tlv", - "received_time": 1706230608.1499515, - "resolved_time": 1706230610.1259172 - } - ] + "id": "example:connect#18", + "method": "connect", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 34555 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x2x1", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075462.733309, - "resolved_time": 1664075464.2219515 - }, - { - "created_index": 2, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551614, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075464.7874737, - "resolved_time": 1664075466.2619097 - }, - { - "created_index": 3, - "in_channel": "103x2x1", - "in_htlc_id": 1, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075466.8295176, - "resolved_time": 1664075468.291111 - }, - { - "created_index": 4, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551612, - "out_channel": "103x1x0", - "out_htlc_id": 1, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075468.8316507, - "resolved_time": 1664075470.299579 - } - ] + "id": "example:connect#19", + "method": "connect", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "host": "localhost", + "port": 45651 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x2x1", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075462.733309, - "resolved_time": 1664075464.2219515 - }, - { - "created_index": 2, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551614, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075464.7874737, - "resolved_time": 1664075466.2619097 - }, - { - "created_index": 3, - "in_channel": "103x2x1", - "in_htlc_id": 1, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075466.8295176, - "resolved_time": 1664075468.291111 - }, - { - "created_index": 4, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551612, - "out_channel": "103x1x0", - "out_htlc_id": 1, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075468.8316507, - "resolved_time": 1664075470.299579 - } - ] + "id": "example:connect#20", + "method": "connect", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 41785 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x2x1", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075462.733309, - "resolved_time": 1664075464.2219515 - }, - { - "created_index": 2, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551614, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075464.7874737, - "resolved_time": 1664075466.2619097 - }, - { - "created_index": 3, - "in_channel": "103x2x1", - "in_htlc_id": 1, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075466.8295176, - "resolved_time": 1664075468.291111 - }, - { - "created_index": 4, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551612, - "out_channel": "103x1x0", - "out_htlc_id": 1, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075468.8316507, - "resolved_time": 1664075470.299579 - } - ] + "id": "example:connect#21", + "method": "connect", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 34719 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x2x1", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075462.733309, - "resolved_time": 1664075464.2219515 - }, - { - "created_index": 2, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551614, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075464.7874737, - "resolved_time": 1664075466.2619097 - }, - { - "created_index": 3, - "in_channel": "103x2x1", - "in_htlc_id": 1, - "out_channel": "110x1x0", - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075466.8295176, - "resolved_time": 1664075468.291111 - }, - { - "created_index": 4, - "in_channel": "110x2x0", - "in_htlc_id": 18446744073709551612, - "out_channel": "103x1x0", - "out_htlc_id": 1, - "in_msat": 10001, - "out_msat": 10000, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1664075468.8316507, - "resolved_time": 1664075470.299579 - } - ] + "id": "example:connect#22", + "method": "connect", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 46411 + } }, { - "forwards": [] + "id": "example:connect#23", + "method": "connect", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "host": "localhost", + "port": 44027 + } + } + ], + "example_json_response": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a0a69a2", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 44619 + } }, { - "forwards": [] + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "features": "08a0000a0a69a2", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 39611 + } }, { - "forwards": [] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 46563 + } }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x2x0", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 100002, - "out_msat": 100000, - "fee_msat": 2, - "status": "settled", - "style": "tlv", - "received_time": 1708639594.0829203, - "resolved_time": 1708639595.569386 - }, - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x2x0", - "in_htlc_id": 1, - "out_channel": "105x1x0", - "out_htlc_id": 0, - "in_msat": 100002, - "out_msat": 100000, - "fee_msat": 2, - "status": "failed", - "style": "tlv", - "received_time": 1708639596.3660355, - "resolved_time": 1708639597.8809328 - }, - { - "created_index": 3, - "in_channel": "103x2x0", - "in_htlc_id": 2, - "out_channel": "107x1x0", - "out_htlc_id": 0, - "in_msat": 100002, - "out_msat": 100000, - "fee_msat": 2, - "status": "offered", - "style": "tlv", - "received_time": 1708639599.3481576 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 32945 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 0, - "out_channel": "105x1x0", - "in_msat": 100001001, - "status": "local_failed", - "failcode": 16394, - "failreason": "WIRE_UNKNOWN_NEXT_PEER", - "style": "tlv", - "received_time": 1708639626.4971242 - }, - { - "created_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "107x1x0", - "in_msat": 100000000, - "status": "local_failed", - "failcode": 4108, - "failreason": "WIRE_FEE_INSUFFICIENT", - "style": "tlv", - "received_time": 1708639628.0859127 - }, - { - "created_index": 3, - "in_channel": "103x1x0", - "in_htlc_id": 2, - "out_channel": "109x1x0", - "in_msat": 100001001, - "status": "local_failed", - "failcode": 4103, - "failreason": "WIRE_TEMPORARY_CHANNEL_FAILURE", - "style": "tlv", - "received_time": 1708639629.6585598 - }, - { - "created_index": 4, - "in_channel": "103x1x0", - "in_htlc_id": 3, - "in_msat": 100001001, - "status": "local_failed", - "failcode": 49157, - "failreason": "WIRE_INVALID_ONION_HMAC", - "received_time": 1708639632.0245428 - }, - { - "created_index": 5, - "updated_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 4, - "out_channel": "107x1x0", - "out_htlc_id": 0, - "in_msat": 100001000, - "out_msat": 99999999, - "fee_msat": 1001, - "status": "local_failed", - "failcode": 16392, - "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", - "style": "tlv", - "received_time": 1708639634.302155 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 37031 + } }, { - "forwards": [] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 40605 + } }, { - "forwards": [] + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 33395 + } }, { - "forwards": [] + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 41921 + } }, { - "forwards": [ - { - "created_index": 1, - "in_channel": "103x2x0", - "in_htlc_id": 0, - "out_channel": "103x1x0", - "out_htlc_id": 0, - "in_msat": 501, - "out_msat": 500, - "fee_msat": 1, - "status": "offered", - "style": "tlv", - "received_time": 1708640324.881993 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 45661 + } }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 0, - "out_channel": "104x1x0", - "out_htlc_id": 0, - "in_msat": 100001001, - "out_msat": 100000000, - "fee_msat": 1001, - "status": "settled", - "style": "tlv", - "received_time": 1708642272.297295, - "resolved_time": 1708642273.7172213 - }, - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "105x1x0", - "out_htlc_id": 0, - "in_msat": 100001001, - "out_msat": 100000000, - "fee_msat": 1001, - "status": "failed", - "style": "tlv", - "received_time": 1708642274.450577, - "resolved_time": 1708642275.8599758 - }, - { - "created_index": 3, - "updated_index": 3, - "in_channel": "103x1x0", - "in_htlc_id": 2, - "out_channel": "106x1x0", - "out_htlc_id": 0, - "in_msat": 100001000, - "out_msat": 99999999, - "fee_msat": 1001, - "status": "local_failed", - "failcode": 16392, - "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", - "style": "tlv", - "received_time": 1708642277.3337595 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 45661 + } }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x2x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 0, - "in_msat": 43, - "out_msat": 42, - "fee_msat": 1, - "status": "failed", - "failcode": 49157, - "failreason": "WIRE_INVALID_ONION_HMAC", - "style": "tlv", - "received_time": 1708642584.6077554, - "resolved_time": 1708642586.1315546 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 38595 + } }, { - "forwards": [ - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 1, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "failed", - "style": "tlv", - "received_time": 1708642842.245016, - "resolved_time": 1708642843.8000214 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0800a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 38851 + } }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 0, - "out_channel": "103x2x0", - "out_htlc_id": 0, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1708642839.9182315, - "resolved_time": 1708642841.449477 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 35191 + } }, { - "forwards": [ - { - "created_index": 1, - "updated_index": 1, - "in_channel": "103x1x0", - "in_htlc_id": 0, - "out_channel": "103x2x0", - "out_htlc_id": 0, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "settled", - "style": "tlv", - "received_time": 1708642839.9182315, - "resolved_time": 1708642841.449477 - }, - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 1, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "failed", - "style": "tlv", - "received_time": 1708642842.245016, - "resolved_time": 1708642843.8000214 - } - ] + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 33379 + } }, { - "forwards": [ - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 1, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "failed", - "style": "tlv", - "received_time": 1708642842.245016, - "resolved_time": 1708642843.8000214 - } - ] + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 33173 + } }, { - "forwards": [ - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 1, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "failed", - "style": "tlv", - "received_time": 1708642842.245016, - "resolved_time": 1708642843.8000214 - } - ] + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 42839 + } }, { - "forwards": [ - { - "created_index": 2, - "updated_index": 2, - "in_channel": "103x1x0", - "in_htlc_id": 1, - "out_channel": "103x2x0", - "out_htlc_id": 1, - "in_msat": 12301, - "out_msat": 12300, - "fee_msat": 1, - "status": "failed", - "style": "tlv", - "received_time": 1708642842.245016, - "resolved_time": 1708642843.8000214 - } - ] + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 34365 + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 34555 + } + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 45651 + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 41785 + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 34719 + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 46411 + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "features": "08a0000a8a5961", + "direction": "out", + "address": { + "type": "ipv4", + "address": "127.0.0.1", + "port": 44027 + } } ], "author": [ - "Rene Pickhardt <> is mainly responsible." + "Rusty Russell <> is mainly responsible. Felix <> is the original author of this manpage." ], "see_also": [ - "lightning-autoclean-status(7)", - "lightning-getinfo(7)" + "lightning-fundchannel(7)", + "lightning-listpeers(7)", + "lightning-listchannels(7)", + "lightning-disconnect(7)" ], "resources": [ "Main web site: " ] }, - "lightning-listfunds.json": { + "lightning-createinvoice.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listfunds", - "title": "Command showing all funds currently managed by the Core Lightning node", + "rpc": "createinvoice", + "title": "Low-level invoice creation", "description": [ - "The **listfunds** RPC command displays all funds available, either in unspent outputs (UTXOs) in the internal wallet or funds locked in currently open channels." + "The **createinvoice** RPC command signs and saves an invoice into the database." ], "request": { - "required": [], + "required": [ + "invstring", + "label", + "preimage" + ], "properties": { - "spent": { - "type": "boolean", + "invstring": { + "type": "string", "description": [ - "If True, then the *outputs* will include spent outputs in addition to the unspent ones." + "The bolt11 form, but the final signature is ignored. Minimal sanity checks are done. (Note: if **experimental-offers** is enabled, *invstring* can actually be an unsigned bolt12 invoice)." + ] + }, + "label": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } ], - "default": "False" + "description": [ + "A unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice." + ] + }, + "preimage": { + "type": "hex", + "description": [ + "The preimage to supply upon successful payment of the invoice." + ] } } }, "response": { "required": [ - "outputs", - "channels" + "label", + "created_index", + "payment_hash", + "status", + "description", + "expires_at" ], "properties": { - "outputs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "txid", - "output", - "amount_msat", - "scriptpubkey", - "status", - "reserved" - ], - "properties": { - "txid": { - "type": "txid", - "description": [ - "The ID of the spendable transaction." - ] - }, - "output": { - "type": "u32", - "description": [ - "The index within *txid*." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount of the output." - ] - }, - "scriptpubkey": { - "type": "hex", - "description": [ - "The scriptPubkey of the output." - ] - }, - "address": { - "type": "string", - "description": [ - "The bitcoin address of the output." - ] - }, - "redeemscript": { - "type": "hex", - "description": [ - "The redeemscript, only if it's p2sh-wrapped." - ] - }, - "status": { - "type": "string", - "enum": [ - "unconfirmed", - "confirmed", - "spent", - "immature" - ] - }, - "reserved": { - "type": "boolean", - "description": [ - "Whether this UTXO is currently reserved for an in-flight tx." - ] - } + "label": { + "type": "string", + "description": [ + "The label for the invoice." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (always present unless **bolt12** is)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string instead of **bolt11** (**experimental-offers** only)." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount of the invoice (if it has one)." + ] + }, + "status": { + "type": "string", + "enum": [ + "paid", + "expired", + "unpaid" + ], + "description": [ + "Whether it has been paid, or can no longer be paid." + ] + }, + "description": { + "type": "string", + "description": [ + "Description extracted from **bolt11** or **bolt12**." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when invoice expires (or expired)." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "pay_index": { + "type": "u64", + "description": [ + "Incrementing id for when this was paid (**status** *paid* only)." + ] + }, + "amount_received_msat": { + "type": "msat", + "description": [ + "Amount actually received (**status** *paid* only)." + ] + }, + "paid_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when invoice was paid (**status** *paid* only)." + ] + }, + "paid_outpoint": { + "type": "object", + "description": [ + "Outpoint this invoice was paid with (**status** *paid* only)." + ], + "added": "v23.11", + "additionalProperties": false, + "required": [ + "txid", + "outnum" + ], + "properties": { + "txid": { + "added": "v23.11", + "type": "txid", + "description": [ + "ID of the transaction that paid the invoice (**status** *paid* only)." + ] }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "confirmed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "blockheight" - ], - "properties": { - "txid": {}, - "output": {}, - "amount_msat": {}, - "scriptpubkey": {}, - "address": {}, - "value": {}, - "redeemscript": {}, - "status": {}, - "reserved": {}, - "reserved_to_block": {}, - "blockheight": { - "type": "u32", - "description": [ - "Block height where it was confirmed." - ] - } - } - } - }, - { - "if": { - "properties": { - "reserved": { - "type": "boolean", - "enum": [ - "true" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "reserved_to_block" - ], - "properties": { - "txid": {}, - "output": {}, - "amount_msat": {}, - "scriptpubkey": {}, - "address": {}, - "value": {}, - "redeemscript": {}, - "status": {}, - "blockheight": {}, - "reserved": {}, - "reserved_to_block": { - "type": "u32", - "description": [ - "Block height where reservation will expire." - ] - } - } - } - } - ] + "outnum": { + "added": "v23.11", + "type": "u32", + "description": [ + "The 0-based output number of the transaction that paid the invoice (**status** *paid* only)." + ] + } } }, - "channels": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "peer_id", - "our_amount_msat", - "amount_msat", - "funding_txid", - "funding_output", - "connected", - "state", - "channel_id" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": [ - "The peer with which the channel is opened." - ] - }, - "our_amount_msat": { - "type": "msat", - "description": [ - "Available satoshis on our node's end of the channel." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Total channel value." - ] - }, - "funding_txid": { - "type": "txid", - "description": [ - "Funding transaction id." - ] - }, - "funding_output": { - "type": "u32", - "description": [ - "The 0-based index of the output in the funding transaction." - ] - }, - "connected": { - "type": "boolean", - "description": [ - "Whether the channel peer is connected." - ] - }, - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": [ - "The channel state, in particular `CHANNELD_NORMAL` means the channel can be used normally." - ] - }, - "channel_id": { - "type": "hash", - "description": [ - "The full channel_id (funding txid Xored with output number)." - ], - "added": "v23.05" - } - }, - "allOf": [ - { - "if": { - "properties": { - "state": { - "type": "string", - "enum": [ - "CHANNELD_NORMAL" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "short_channel_id" - ], - "properties": { - "peer_id": {}, - "our_amount_msat": {}, - "channel_sat": {}, - "amount_msat": {}, - "channel_total_sat": {}, - "funding_txid": {}, - "funding_output": {}, - "connected": {}, - "state": {}, - "channel_id": {}, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "Short channel id of channel." - ] - } - } - } - }, - { - "if": { - "properties": { - "state": { - "type": "string", - "enum": [ - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "peer_id": {}, - "our_amount_msat": {}, - "channel_sat": {}, - "amount_msat": {}, - "channel_total_sat": {}, - "funding_txid": {}, - "funding_output": {}, - "connected": {}, - "state": {}, - "channel_id": {}, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "Short channel id of channel (only if funding reached lockin depth before closing)." - ] - } - } - } + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] + }, + "local_offer_id": { + "type": "hex", + "description": [ + "The *id* of our offer which created this invoice (**experimental-offers** only)." + ], + "maxLength": 64, + "minLength": 64 + }, + "invreq_payer_note": { + "type": "string", + "description": [ + "The optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." + ] + } + }, + "pre_return_value_notes": [ + "(Note: the return format is the same as lightning-listinvoices(7))." + ] + }, + "errors": [ + "On failure, an error is returned and no invoice is created. If the lightning process fails before responding, the caller should use lightning-listinvoices(7) to query whether this invoice was created or not.", + "", + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 900: An invoice with the given *label* already exists." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-invoice(7)", + "lightning-listinvoices(7)", + "lightning-delinvoice(7)", + "lightning-getroute(7)", + "lightning-sendpay(7)", + "lightning-offer(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-createonion.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "createonion", + "title": "Low-level command to create a custom onion", + "description": [ + "The **createonion** RPC command allows the caller to create a custom onion with custom payloads at each hop in the route. A custom onion can be used to implement protocol extensions that are not supported by Core Lightning directly." + ], + "request": { + "required": [ + "hops", + "assocdata" + ], + "properties": { + "hops": { + "type": "array", + "description": [ + "A JSON list of dicts, each specifying a node and the payload destined for that node." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "pubkey", + "payload" + ], + "properties": { + "pubkey": { + "type": "pubkey", + "description": [ + "Node pubkey." + ] + }, + "payload": { + "type": "hex", + "description": [ + "Payload to be sent to the node." + ] } + } + } + }, + "assocdata": { + "type": "hex", + "description": [ + "The associated data that the onion should commit to. If the onion is to be used to send a payment later it MUST match the `payment_hash` of the payment in order to be valid." + ] + }, + "session_key": { + "type": "secret", + "description": [ + "Can be used to specify a secret that is used to generate the shared secrets used to encrypt the onion for each hop. It should only be used for testing or if a specific shared secret is important. If not specified it will be securely generated internally, and the shared secrets will be returned." + ] + }, + "onion_size": { + "type": "u16", + "description": [ + "A size different from the default payment onion (1300 bytes). May be used for custom protocols like trampoline routing." + ] + } + } + }, + "response": { + "required": [ + "onion", + "shared_secrets" + ], + "properties": { + "onion": { + "type": "hex", + "description": [ + "The onion packet (*onion_size* bytes)." + ] + }, + "shared_secrets": { + "type": "array", + "description": [ + "One shared secret for each node in the *hops* parameter." + ], + "items": { + "type": "secret", + "description": [ + "The shared secret with this hop." ] } } } }, + "example_usage": [ + "The *hops* parameter is very similar to the result from `getroute` however it needs to be modified slightly. The following is the `getroute` response from which the example json request's *hops* parameter was generated:", + "```json", + "[", + " {", + " \"id\": \"022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59\",", + " \"channel\": \"103x2x1\",", + " \"direction\": 1,", + " \"msatoshi\": 1002,", + " \"amount_msat\": \"1002msat\",", + " \"delay\": 21,", + " }, {", + " \"id\": \"035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d\",", + " \"channel\": \"103x1x1\",", + " \"direction\": 0,", + " \"msatoshi\": 1001,", + " \"amount_msat\": \"1001msat\",", + " \"delay\": 15,", + " }, {", + " \"id\": \"0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199\",", + " \"channel\": \"103x3x1\",", + " \"direction\": 0,", + " \"msatoshi\": 1000,", + " \"amount_msat\": \"1000msat\",", + " \"delay\": 9,", + " }", + "]", + "```", + "", + " - Notice that the payload in the *hops* parameter is the hex-encoded TLV of the parameters in the `getroute` response, with length prepended as a `bigsize_t`.", + " - Except for the pubkey, the values are shifted left by one, i.e., the 1st payload in `createonion` corresponds to the 2nd set of values from `getroute`.", + " - The final payload is a copy of the last payload sans `channel`", + "", + "These rules are directly derived from the onion construction. Please refer BOLT 04 for details and rationale." + ], "example_json_request": [ { - "id": "example:listfunds#1", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#2", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#3", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#4", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#5", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#6", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#7", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#8", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#9", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#10", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#11", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#12", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#13", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#14", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#15", - "method": "listfunds", - "params": { - "spent": null - } - }, - { - "id": "example:listfunds#16", - "method": "listfunds", + "id": "example:createonion#1", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payload": "11020203e904017b06080000670000010001" + }, + { + "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payload": "11020203e804017506080000670000030001" + }, + { + "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payload": "07020203e8040175" + } + ], + "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" } }, { - "id": "example:listfunds#17", - "method": "listfunds", + "id": "example:createonion#2", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619", + "payload": "1202023a98040205dc06080000000000000001" + }, + { + "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", + "payload": "52020236b00402057806080000000000000002fd02013c0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f" + }, + { + "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", + "payload": "12020230d4040204e206080000000000000003" + }, + { + "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", + "payload": "1202022710040203e806080000000000000004" + }, + { + "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", + "payload": "fd011002022710040203e8082224a33562c54507a9334e79f0dc4f17d407e6d7c61f0e2f3d0d38599502f617042710fd012de02a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a" + } + ], + "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" } }, { - "id": "example:listfunds#18", - "method": "listfunds", + "id": "example:createonion#3", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619", + "payload": "1202023a98040205dc06080000000000000001" + }, + { + "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", + "payload": "52020236b00402057806080000000000000002fd02013c0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f" + }, + { + "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", + "payload": "12020230d4040204e206080000000000000003" + }, + { + "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", + "payload": "1202022710040203e806080000000000000004" + }, + { + "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", + "payload": "fd011002022710040203e8082224a33562c54507a9334e79f0dc4f17d407e6d7c61f0e2f3d0d38599502f617042710fd012de02a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a" + } + ], + "assocdata": "4242424242424242424242424242424242424242424242424242424242424242", + "session_key": "4141414141414141414141414141414141414141414141414141414141414141" } }, { - "id": "example:listfunds#19", - "method": "listfunds", + "id": "example:createonion#4", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payload": "11020203e904017b06080000670000010000" + }, + { + "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payload": "11020203e804017506080000670000030000" + }, + { + "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" + } + ], + "assocdata": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f" } }, { - "id": "example:listfunds#20", - "method": "listfunds", + "id": "example:createonion#5", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payload": "11020203e904017b06080000670000010000" + }, + { + "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payload": "11020203e804017506080000670000030000" + }, + { + "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" + } + ], + "assocdata": "0000000000000000000000000000000000000000000000000000000000000000" } }, { - "id": "example:listfunds#21", - "method": "listfunds", + "id": "example:createonion#6", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payload": "11020203e904017b06080000670000010000" + }, + { + "pubkey": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payload": "11020203e804017506080000670000030000" + }, + { + "pubkey": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payload": "2b020203e8040175082205dc24b15e01f2183e14ed58ea0fa4af282fb6161965a79f4795c436219d8f5503e8" + } + ], + "assocdata": "0101010101010101010101010101010101010101010101010101010101010101" } }, { - "id": "example:listfunds#22", - "method": "listfunds", + "id": "example:createonion#7", + "method": "createonion", "params": { - "spent": null + "hops": [ + { + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + ], + "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" } }, { - "id": "example:listfunds#23", - "method": "listfunds", + "id": "example:createonion#8", + "method": "createonion", "params": { - "spent": null - } - } - ], - "example_json_response": [ - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [ - { - "txid": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc", - "output": 1, - "amount_msat": 1111111000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - }, - { - "txid": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b", - "output": 1, - "amount_msat": 1111111000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - } - ], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [ - { - "txid": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c", - "output": 1, - "amount_msat": 1111111000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - }, - { - "txid": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d", - "output": 0, - "amount_msat": 1111111000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - } - ], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] - }, - { - "outputs": [], - "channels": [] + "hops": [ + { + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payload": "e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "0324653eac434488002cc06bbfb7f10fe18991e35f9fe4302dbea6d2353dc0ab1c", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "027f31ebc5462c1fdce1b737ecff52d37d75dea43ce11c74d25aa297165faa2007", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + { + "pubkey": "02edabbd16b41c8371b92ef2f04c1185b4f03b6dcd52ba9b78d9d7c89c8f221145", + "payload": "e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + ], + "assocdata": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", + "onion_size": 1301 + } }, { - "outputs": [ - { - "txid": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943", - "output": 1, - "amount_msat": 1111111000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - } - ], - "channels": [] - }, + "id": "example:createonion#9", + "method": "createonion", + "params": { + "hops": [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payload": "0cfdb000084869207468657265" + } + ], + "assocdata": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8" + } + } + ], + "example_json_response": [ + "The following example is the result of calling *createonion* with the", + "above hops parameter:", + "", { - "outputs": [ - { - "txid": "1180fee367fe518d3640854ae147228707acee276a19bb2beb221a8586ff8268", - "output": 1, - "amount_msat": 995073000, - "scriptpubkey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a", - "address": "bcrt1pv0l7un48650xet0epphzs639y7fz4239hrzn46ln973j5znz0adqk50dn8", - "status": "confirmed", - "blockheight": 103, - "reserved": false - }, - { - "txid": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11", - "output": 1, - "amount_msat": 986105000, - "scriptpubkey": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "address": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "status": "confirmed", - "blockheight": 119, - "reserved": false - } - ], - "channels": [] + "onion": "0003f3f80d2142b953319336d2fe4097[...]6af33fcf4fb113bce01f56dd62248a9e5fcbbfba35c", + "shared_secrets": [ + "88ce98c73e4d9293ab1797b0a913fe9bca0213a566252047d01b8af6da871f3e", + "4474d296810e57bd460ef8b83d2e7d288321f8a99ff7686f87384699747bcfc4", + "2a862e4123e01799a732be487fbce297f7dc7cc1467e410f18369cfee476adc2" + ] }, + "", + "The `onion` corresponds to 1366 hex-encoded bytes. Each shared secret consists", + "of 32 hex-encoded bytes. Both arguments can be passed on to **sendonion**.", { - "outputs": [], - "channels": [] + "onion": "000380ccf728d48e7a3ecd9bb5d88064837a0f070eb213a2dbf4d61647a17f4be14676f209e46bba5d4b8c469ee91dfeed9fbb3d6ca82b68948869321fbf0245efba972dbdb0076d97dcb6780c01c72fe6563f8d1655f4e109aa28ae9db34666cf0ad9186b7697cd631cc853ca3861f72b356251b354cbb5b97ef27019f94bead7ad3cb28c7e79c47a00d70d54f0717f724146e72a19f3ce2594263a5503dfafe63f1e2e32f0da3f4d3e44a0c4783b4730485beef721d14d5a5faf6c79fdcdd3d0f0a2034bc19c859030aa94e91d28261b786b6dd37146b7207a7f60ffad3a8532214993a009ea045ff88a605253fde9321e357a2d5fb233edc708bec33666b09febd2ecf12e64c7e12a7c3edaf8d503ab0950682993e288dfa4785e3f157d54cab9227de5de48c60ebeb53fc9625079ccd2b53639da33be33214da4f25a1ceca71eb545535da463c9aa877d91f6b6898e3f022f386e6a037a30c7d2ccf7e46de185e44e88564525ba636c9fe1f9632558b501c93440c50eae41537a1700621d8f0fd27e000e95cd9d71e0e6fdfb96ab1c71aae941c1d6e29e98b87b578994f7e254e259e5bec9f2c3190b76283b5eacf73bc9d5e4e96a857ddfc3ade061ac2374dd78974234d54e7f996e7b858e22f1e441005df7a44882610856eec95c350e99725f216fcb2046354456877256b7d9feafb248585b866545c6a4056d0070ce6ffd1c2b4d2bc39d5f7d31c7d0c0b85d583f28dba6d407a40d26ed642aa1077d2ad009a3bd98c002ef2af35e2ad6b20c552bca2779b20f20bec14f50d594281176ab0fc1be8628670ebe1d1259c4886ac9d90ed16d0fa2e8340803ecbc2a1c63c1e5ea0f9a32c39b540720c229c8189035889d17d926a25858ec7957a8741292f724cb09907125fdb5f4871d54d01e90ad5633e882ecda9e33c477ca5e360a6c52dc9ff66bcae22923067e66cfee544acdb123a50085fd246a8a4816ca16996bda24de792f2286a3a3bf2e9f0cc9f1ffabf51846d870df6c5db84cf261e4b813f538df1c117a55d2d96dec2adc231da73c7be9c9b46308c7f78b8a9bcc4b9aeb0f764fe593ede7bfe355d5cdf9007e6a02d5da8ab395da4035cdf4b0e29acb9b5904b55cc271991f836b404cdd358e802860ba0798cab00240d365674f5eecdeb0a891529f0d379e12036f78a7ddd8c2771280d0f2e186a7ee095d5d44ce7c520d2d40fc0d8f589ed175771a8dcd20f31f5377ef1a167c3a105d8e847a07a7a9fa2bb0d2276f0e0c147d5de475cdbe60868da8aa130b84a14746b41341d0c9a2790df9c97a9219bfcf29ccf9e6b61307033f48a923e26b98ee3f29d1d1eda51811f272dac7948c9f66e733e4e85f5efb65fb280335fa1c8e751dea4b9a09a11d672672693c39fa9377ff3a596f859354d82c5db1e27961069da29aab6a346123988ba5c57f6a3facd1f64b13e327b0ac4531ede9a06bd4381ef4a9e53cf833663b802c3e1451ba3259a344ec20a1e2d691b8c15230bb9d0c4710ade729e9c70fcc7bf3cb5e256f44fe7e01e40d2e8b0602cddb7eda84acd3c4e3339706eb18b938a3d42fd4110f56a7a77d14e679c86bd971e89ff713d23462ec7f56876d1936e79b75d9e09ded3019232f5d8b9754a0542da4b74d27a0c0ec5198faec71944f9fcecedecaf426d400ff2698d9e97b8ebcaa1e5700d05f3be9e908d87dd87a0e8c01326fec36b19bec87e1c3715fb08c903ad3b7857d76f50a80e3617c856646fb425b675e44cd337d473b78f0898d1ce1a024d9819e91f1dc6984bfee7bd1e68c8eeef76e7b119083b17bc395d42a9465ac60aeb2e7f41c719932495923b457560d3214c74e3deead2e8c4cd987befc33b679c24e1fda0c63b4e08de389c5d8c11c127fa8d0b939a49b64b097290cb951d87c488e41", + "shared_secrets": [ + "96fc65a3348267df09ae36c47c5105f538dce08696354b241a7382f42f9d5100", + "e09561e5b77462240b111ab51417d798d3cbfca7e7bfc30357be987c5038d5a0", + "824c356e8b23088f6fe57ec5a5609c6b29d7c38490e0c2708fba721ff7915c9f", + "8d8b0a80649a50338e56e825015bedc16c38428cf1d71feb12a51d8a1cd62860", + "e94ee38f8962bcc1619bc0267c0e3655ab09f17ef1295b521a80107d8564460f" + ] }, { - "outputs": [], - "channels": [] + "onion": "0002eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619f7f3416a5aa36dc7eeb3ec6d421e9615471ab870a33ac07fa5d5a51df0a8823aabe3fea3f90d387529d4f72837f9e687230371ccd8d263072206dbed0234f6505e21e282abd8c0e4f5b9ff8042800bbab065036eadd0149b37f27dde664725a49866e052e809d2b0198ab9610faa656bbf4ec516763a59f8f42c171b179166ba38958d4f51b39b3e98706e2d14a2dafd6a5df808093abfca5aeaaca16eded5db7d21fb0294dd1a163edf0fb445d5c8d7d688d6dd9c541762bf5a5123bf9939d957fe648416e88f1b0928bfa034982b22548e1a4d922690eecf546275afb233acf4323974680779f1a964cfe687456035cc0fba8a5428430b390f0057b6d1fe9a8875bfa89693eeb838ce59f09d207a503ee6f6299c92d6361bc335fcbf9b5cd44747aadce2ce6069cfdc3d671daef9f8ae590cf93d957c9e873e9a1bc62d9640dc8fc39c14902d49a1c80239b6c5b7fd91d05878cbf5ffc7db2569f47c43d6c0d27c438abff276e87364deb8858a37e5a62c446af95d8b786eaf0b5fcf78d98b41496794f8dcaac4eef34b2acfb94c7e8c32a9e9866a8fa0b6f2a06f00a1ccde569f97eec05c803ba7500acc96691d8898d73d8e6a47b8f43c3d5de74458d20eda61474c426359677001fbd75a74d7d5db6cb4feb83122f133206203e4e2d293f838bf8c8b3a29acb321315100b87e80e0edb272ee80fda944e3fb6084ed4d7f7c7d21c69d9da43d31a90b70693f9b0cc3eac74c11ab8ff655905688916cfa4ef0bd04135f2e50b7c689a21d04e8e981e74c6058188b9b1f9dfc3eec6838e9ffbcf22ce738d8a177c19318dffef090cee67e12de1a3e2a39f61247547ba5257489cbc11d7d91ed34617fcc42f7a9da2e3cf31a94a210a1018143173913c38f60e62b24bf0d7518f38b5bab3e6a1f8aeb35e31d6442c8abb5178efc892d2e787d79c6ad9e2fc271792983fa9955ac4d1d84a36c024071bc6e431b625519d556af38185601f70e29035ea6a09c8b676c9d88cf7e05e0f17098b584c4168735940263f940033a220f40be4c85344128b14beb9e75696db37014107801a59b13e89cd9d2258c169d523be6d31552c44c82ff4bb18ec9f099f3bf0e5b1bb2ba9a87d7e26f98d294927b600b5529c47e04d98956677cbcee8fa2b60f49776d8b8c367465b7c626da53700684fb6c918ead0eab8360e4f60edd25b4f43816a75ecf70f909301825b512469f8389d79402311d8aecb7b3ef8599e79485a4388d87744d899f7c47ee644361e17040a7958c8911be6f463ab6a9b2afacd688ec55ef517b38f1339efc54487232798bb25522ff4572ff68567fe830f92f7b8113efce3e98c3fffbaedce4fd8b50e41da97c0c08e423a72689cc68e68f752a5e3a9003e64e35c957ca2e1c48bb6f64b05f56b70b575ad2f278d57850a7ad568c24a4d32a3d74b29f03dc125488bc7c637da582357f40b0a52d16b3b40bb2c2315d03360bc24209e20972c200566bcf3bbe5c5b0aedd83132a8a4d5b4242ba370b6d67d9b67eb01052d132c7866b9cb502e44796d9d356e4e3cb47cc527322cd24976fe7c9257a2864151a38e568ef7a79f10d6ef27cc04ce382347a2488b1f404fdbf407fe1ca1c9d0d5649e34800e25e18951c98cae9f43555eef65fee1ea8f15828807366c3b612cd5753bf9fb8fced08855f742cddd6f765f74254f03186683d646e6f09ac2805586c7cf11998357cafc5df3f285329366f475130c928b2dceba4aa383758e7a9d20705c4bb9db619e2992f608a1ba65db254bb389468741d0502e2588aeb54390ac600c19af5c8e61383fc1bebe0029e4474051e4ef908828db9cca13277ef65db3fd47ccc2179126aaefb627719f421e20", + "shared_secrets": [ + "53eb63ea8a3fec3b3cd433b85cd62a4b145e1dda09391b348c4e1cd36a03ea66", + "a6519e98832a0b179f62123b3567c106db99ee37bef036e783263602f3488fae", + "3a6b412548762f0dbccce5c7ae7bb8147d1caf9b5471c34120b30bc9c04891cc", + "21e13c2d7cfe7e18836df50872466117a295783ab8aab0e7ecc8c725503ad02d", + "b5756b9b542727dbafc6765a49488b023a725d631af688fc031217e90770c328" + ] }, { - "outputs": [], - "channels": [] + "onion": "00036b9407a2cd28287af9ec81f90e64b78b0be1f9f4e38501fb52ec741678d13daa5162dd98601bcb1c815fedd8b4713d37a8090dab5387096784e33f6896c66d4862c3a7878594b9a2ec79bdcedff5aedbfeac3ea0d4bc7e70b40ff8e69a5d39d8e7a5f45a1d7dcfecaadff759eac75c055f3d55ff103ad496fe044ae460df4452779806c069f1ef008b00e6a5914c4b8181c8ebcd5154501d378dea22e003c710bd6d639cd8e80087721802609152f84efca89599648d6194a4c724e55e8ab23c70cce81ba5d00cc18b475220c34aa8bf4491cee4e233527de5fa5be254ad83fc4c78d78ca7786cf2dfc364a8370c525ffc6baedce0221ee382d1f267d2e3bdcc98157d55a4bfc3f2923d5d23f8485eb8fa73673100c066f39d5b734f517b217be3365408fe072a938d4272c6c6708bf56b378139f3ddd52d9ffbf4ab728df1768e213698fc7b4881b2d74bc1382562197ab346757ca943776cb980666fe2ac145689bce088fd9d933e322356ec39482ba04026c461b83526ce99c670d63bfb05ea6bdc7049ed1cbe9bdc8a58e1ea6d53638971d6cbcf3947f60c7215ba883ddf8d8adf115488fe56738b5072544eeaa9485d068ac87c0d7f9536f8e9d67518fd972f35f7ca7ffddfcabbee31bd5bb7a22b83447c8628e51cbd55a37a8ef236f0f8302da6504648c546c7e142c6c3e2f9b54a420ca3d5a02e42e88f6faf12e4962ef6d6c349ad2604e499d3c1b1bbc072a6aa19d94ee1765eabb2abf776ee8e87b7df7e974ae522fd75a0631ff994c393ebc3ebdfef1d361e1ccfd75db0a379072a64fb5053a84eccbb1c6d5f5f33e5f3ceee0a661b98524f31a8c72238ce4b6196d75aba16ddf0b8a399e6cf13847c8ed203b46d3509b8d0c15d9be276bd53c312ee53e2bc7b4546b5274a71fbf17f8790a686cfd9dcf41976943e202446ade0f6e66e6204b046cbbea7537a141324a1785c8b49a0ef8cf98d7dc248657de19dfae365cea6671e44a752d02c1f3a706bf4719081f4a9e3085fc0f1870884e617ade5ca895a971317cd8cf96f6e9137d0d7d893fb83ed1f091a768186b3a9b6ba6c0eb486bd8b08678686dcfac9c4dae8ffdaa4fd201308c3ee44ee2f13f358bfb3ccb3e07ad68c72b1d95ab7c1c2bb9f8914af1746a6e435a56efaaa51b7d805ff0353da65ffd8907ccfc17194584e22b04be6e5b9cf661121c1e56281b60b8f47ee5c2bd9cc76bf39fd97ff2cdaf8f7f8e0314051f5007559cae4efc65ec50e8fba4accd8d2ac52b6516efa143d1282f0a6b46950485b7ed59449c5f8975ad96d483fc2b90f1e4f61ec3fc7a40826e8b4394c7dbf1b0f8fa0ecfffebb0b4662f79c9cffe88aadd77eb70b73e4ce2f7430aa67dd3912a75ffd0584573bebf8e0a87afc68114f12a411724f24ac0a994bad0f0e86067d74c156e40e549d2fea21a7c76e691895c6bc5333b308066a09050d618fb24bb736b7f04f806a7a4feabfce3850d328202ea768851ea3c4b789d2109461fd28dc7fd3516ea9e5c95e8ddf565d8f263dcd497fd5ec4e4c12f25f4ed83f0270179ee360713f0f244ea1eb542bce7fad343313c1b7b8e9729e646236f51fcd83d55df231d4bc5029125c8f95bdcc2cc4a7dae8fa5bcea1bfa92c0e8e81061051e90a47a40d17b767f381e322ba41d648e46fc415e6e2f2436dabb4f20dbd112e4ba5446936705ae861798b8e798c2e4c2ac388dbfaedc458a97f2dcd951734c774bccc7ff9cf088480363effe6d0a7afce0dc677f9767c0a6a58783cfa11e1aa3cd90d1cf11bad21daa4d8f4188c30b737baa2a15d8cc97bb1d6e9f3e04959bb255736458a20af6a2d030d56aaa0d736b24e517a087c3e3e504c45d4f49250ae607bc5932013b99c794db8fa75f23ae674449f59cd7b9eea3f48f51355f653f5", + "shared_secrets": [ + "3626c50586cf85ef36aa9abd1cb16831d7ecd4f69f254b8c44a15fdd75e3c8f9", + "0fdacde82238132c3e7b572dc90384f45ea5afa144d9b6f1c46ee62048b8c9b4", + "7c60537fb7296bb84cb8bc0305585cb22b77ae9152c0062eeb624ca1a61a3c5d" + ] }, { - "outputs": [ - { - "txid": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39", - "output": 1, - "amount_msat": 11000000000, - "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", - "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", - "status": "confirmed", - "blockheight": 102, - "reserved": false - } - ], - "channels": [] + "onion": "00028ce28d347275a016e4e22e8f39e93475f5113d236f21840e2f725961c172795122feb0aee950e9a237f7bfe8daa95420be5e943320a838b8e17c9fe3bd340c61f703de0f3170647b26b2868787b7c9d06ded7a17f7b578b0f2989d1335ceb51e8ba0c2921a7cdd90a5f58ae292881ab7520920099ff67f725db44ea1ff066bd88581c06882690a8d9daa481b22c5bee57be8806ff484ed1bbc84cf560f204db25cc2b53ee72ba7eb67d91f15a8cc8466e29eda795dc2e2fcb9adf511517fb29e7aba0aab59cee61ae3a3c409ac23e17e737ab98acae35953645dd2b1a857610908f121e07ff0eace39145acf9b00b4b0eed384b5464bcf4026fcb97bf104ffea79b817b431a0ee21179978ec7469919e35e049cfb5e98c692f45bd8a7cf37ef9dc44df4bb6c0df9bce581b85ce72b95bcf2848c3e7ddbd0b2702f222e736e82e5a04a9a2d35ccf40762d9318aa1248cd3fc861ac720ff014f1c5cb8b81cdf15b6bb5c368214d52064c7c6ee8d90fc0227dcc6e3e71a982c177bf440b39abef9664f124549b6ab9380a0a7190311d0c66410b98169f10bfcb52e9277c436f16f9f0c8f015f2de05d9297577465ac4e37fe362e9c21161528daab059cc919eeeba0a9df9052e54145d74be05a6d48d2209cdb2377479077106a95bf59fa58fc9bc2b8074b04d3a38bcc7c2b59117d47f412067ad8b14e82f9c6f0d80b55753e4d40eb9b336e2ac781b81fe08a7b9756d7722462da9e919085abd9871e315203f915f2688213bbb5a75a9785f2d6cad20c10210206e1e35bb4fa23575c2b6d144677f9aa7adc0593d620501978bd628fe6535ba19eca9f6264547d05f0a84ce6c02bdd7cfaa646fa42d9a4686cde1c31973665ee1917d403aa205ed35282432a859a53827bf8fc004a670fbad2a1568307d0ca1492a6ab40bd514119817a6498b7cfdb37da3aa0ba94344a84d06ee69432e7e1c33e6a0f9dfa4aae98862f942bce59a31d6fdcaf7bce20bad42d5244cd670ce7110379e575d791de0b2180eedad4838add30c28b30c1864b65f3b3df09a2686c6fbe9846a78cf21b1934e7a854326fcb4701a87459d31e806b223419a018e5055d3e618cba4ade3c6e08ec0bc4369edb427e78d19abb58b3be54b12cf45cebe73f3e360263285e18365c590979c260d837a0afbb318be04f8241467f18630738694588da9a7cd4d05fd646fd206b38465b34d66ce8b4e4eb1d26ceadc4401dee2164df0e8ac91a131f8dbf66a20af984c79a24e1bc0cb16a017438eac151a8cb9c6be78b0dc1f8605d35c5032cbcd6e43509d606cf8d4751b4aefec2d66195d1501ed4dc52dda27bcb45478b9df08e6290e57acc7d20c0c97f5d6f583e2c6806fe8b83b43d1d839c7945d8076dd332a275e96d86661a8e58d6592588103fa897f3185b1b08bc963db99aa725b892d571bc1a4968532e1a7209c89807739ca030d91812cdb99db0c5c1e792cfd94d2b438798722dafe71b5e1aea88fb6c82efe7e608324bad832e5295fbb58817ceb59c1beb97c71a8cb01a61831d7879d80d34872d14584ee1250d15c3d55917baf0a722eb8a1fdeb2b328008049873c739c5c262c232fded96a5bc27bf59c5fa233ba838666ed61bf0c04deeb0e84c4778aca3c246e2f853aa7b52d18954eaaca49c7b52369aa29658aab0157dcba94d0e578f809640072d859d947f0d3fb06977bac5e61be0672dbeb355c2f3a43e88fe294ec02f5325e712b9e140567ac195e9d34f3173c49de896ccb17e9608d8e6cfe21a33a53b4e52f04e3d6e606d748a2d93b629d36a30e836daf7c4b251d4507514d7e06147e0a5dcbbe84fcb5e7313b484ec4d89482cf2096a04dcd461580eac25398a67032c85cfb00934a94e8da8d5103db4ec6d680deda18b58c48933d60ad4fc1985", + "shared_secrets": [ + "0c9d34ae742338373d3ea605ecf19397ac21a37461718650842d2b8b56c5371d", + "482631f39612f1e331a23164349a0e6e279dac52e0fb99528d9c6182a7ec50ae", + "39aae52fc8a87a2a07e49b94e7952cf83f93777376f6e50b7a2ec058b9b97b2a" + ] }, { - "outputs": [], - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "state": "CHANNELD_NORMAL", - "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "short_channel_id": "103x1x0", - "our_amount_msat": 0, - "amount_msat": 10000000000, - "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", - "funding_output": 0 - } + "onion": "000279e2d6559ba42c7b800182dca1a7df56ab164cc0b52bd7c7f466aaf7fded27b2fccffa4170c13652fd5640315cd9fefd86116117003f4fe1f9d0daba46c05dc1e2446483f7a5ab9815dc7229b4ec2aaaeb370387e7060d8858a98bf3ddeab7c6e10545603eef93624419e0bf2b6fe9060705f684437169878a810d14f47544c8feeac7b5c679e3f1ba2243b46873f6cf828e3b3c28cece47710d1cfe6fd0534045d4010655f0b7e6d46bb70c24910d8f955d381e923fc6ce47d242430eb52b21c9f9902bcb77ad98b9ff96f4d3971621759814749245b41af89122d31e693449912005de7aa43b43ef0cb1924de78e73d0612141e94b43f9f6d719490233ee23b89d6aa76a5d4b602ca9cd2f96babff10d424ca0f597e2c060aabf8c7b98d4f6da51e29d0940ce5ac67a31eb840dce7fc23053ba203b5831f01bbdc27f49f99487a2b719aee9a92d45099abd4dd0b0ef44a6ac65320c529d67165a84230ab4c0319d20f84770352698097514b3a041f662376492d80cc9894b9c81e615a075b378b1b3cc9cae9d16e21c7b9dda6e4e149193da7533e1d16928ca93a9bd494aeb259844481fad20149ad210f54fe81434841ebc9b3598444df519ca47e97d624ee9cba0c27b7937f188ba093abe2bc2047144862f0b885626b9c15a329710c111174b25833f8ecf0a8c480b4524bf58f7871c2a1a57efa0fb46bfc1275f126812b0480c510a722ef6a513c646b3e72ed7a54ac4dc3943981dd3cb8c18d94793e88495715fd8fd2545fb0934c7b84355ec86778a86240dc18e26677d2a10cafe8103e51481ec7c01ea2d929f46752a6c4669c02c231211dc3fefaddc6472f14e40d48214c0b40f7a57b0dedf6fc980eb432bdee9f259729d558514ef39338c90da26e112d21995f6e8896449184c7da433078a881d82837b50549cb3491118b52fd02de65b4ff619700a89685d3c0c86c21302f4936af8c7dc2acb774a1c8c0ae8595ef9f766f349b16eeedf0a03046a1f131883fd3ccb3b1d848b6d2957a0145840a140dda346da56861889e42593994cbfdd91d3a48dfaf36e19c2746fd47bdfb587d6ff861ea3e611644b95f6c5ab07e75569324cc5656009d9a21d99e0642bf56c6bf9c6cd0b3c244829eab65c2a2d2152aff2f40060b1fa94f02de78d6045c9ab79cd6a610ed4193102ffb934f330cdd14bf5283373ab6d79180c3245fd2ea0c3a3a295a3a2fe7e49a8c41d5c3f5a4df01c9611d9b5ea804995f608903748fba6c103daba023aec38be92c10507275dcd2cad9559b2becb1a2d3090ede9cd6a3e3ea83cf5a7e3a7d4f3e7861685316babb8db992befe8ebae2855c7a7b1ffcbcb400e1f7ce07cb06390aa52db842f2aad75c328aa88fcb692fd88cab2dce4f488a5098031e16c14f16849150a3a269b48748a158f46a2638d7b47e99fd8ea9790c5b47d67c7fc111642c65ddbcc9744ba18694a7d92bb7f7e6913267b7725e2d7f7355c42fbde6d2181410d72225f9080c803f76c0c4c5639400566425e09cc63a2a0b906505c65dc3d9805e115e7f621b95328b4105de8012e5717122ac05a041a5896fd927ea1ea8b1fc68c2efaeea76b49388b8acd8e62f8049bdb61a8a3f13c69c6ce94cb7cc8d4d3270d635c911acb0628d193e41cbdd506f88dc6f798b5caa50d04580fa4e6f40b50db4651001fb309e0fa0d10cd541dad4ac08f91e6eecbfb9e3c9704118e406561cf0efe54437ea80e4deb5b5316c00437a941615ea1e85dc8d7f77476cc074f7549f018b43eeb71c0ae43263dbcbd620704f441bbe3c431e7fc0cc7616c1a3f68e874baf35a1ee8358579c6b395935a82336daee90df0353e4f8428d9007a48d72eecc2454c7abc180422d496cd54acc6fbde831e28fa19190df5b50de728ce04eee7e600cee4b8", + "shared_secrets": [ + "55c87e6dcd4f253088c6f30951a592a80c0eca598b0fec2acbd5be71f1f9bc91", + "14171ae97d9bb1010cf4a491cc87eb07f855e2daf1b888bf3ecca96b09f36a4e", + "5a83831780ec724685f7233fad40aa5da5d95d5fde1df275f40494bb30295181" ] }, { - "outputs": [], - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "state": "CHANNELD_NORMAL", - "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "short_channel_id": "103x1x0", - "our_amount_msat": 0, - "amount_msat": 10000000000, - "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", - "funding_output": 0 - } + "onion": "00034bdc2409a5697ab03310ca914035897e215fd0e3eedc8c11077dab3f5e835f392e5f4f4bb87be23b98f79b9497da510d536188d53f1318d71833bafd172183ef7fb2a273a7670d713f38484c837524104d91443102f1f72ce3dd1a8d7edb36266dc96a4cc7349ebcb48886efd37daa42058ea4deb7158295d5bbfeccdcc670c3f0bd99739fa0c313663e2dbb3c4a25d16867a1074e882abea0a80a35e727586660d8ea9a07a41822839e2708e00c56cc911f535ec3215dbe50df13b40660c0cdf651485f78198fbaaf0f9b90c756af63659e622f2be92f451a72e9c96058b29b3d30e9ab0c7aa3f3e70b5ddff8d0f319b463599e388d796b1e6862b1186c9ecf1060549d3c78ffc5d933eee763c49350e011fe96c72665e15ef2be04f17bf4162423c6ca1ccc32b7e7284743cd48f43c32d725cf6c3ea454fbf7aa137a6c8e01068ae4a17c74a0ece7625bedf0e317efb6a0443d8866437839e74f02e9a41ee84c1ffc9641df8065dd6d5e68cfb79e26995f540d72dd0032d806bf6710c607ee9c235ab9bf58acbbae396dd893533e757efef57ae82234b1cd8b756706b5d7e631d267eef1ba28d96814ac3addd642f5924c0145c4c06ebe4c48f07c587fa4744a5fee85b8ff07d3032aaab95e5d98c89fb4e9ce2b40413e85eae15b536a904490bfe9b974799c5a25c8ebad28eefdaf3cb15c1f17ab6a837e0e50428e4fbaf51c27fa6ed88b4fdbe5bfbfb510fe15f80edfa70fa65ac19a200175317e80b12030f829a2bb77db4d93ad7331a34f6b5fa8d849adc92456f36233674cc9696f6973aac96fa3756bc4c04678ef92cdc9e9e92303edf26f595c5edb4aa4ae8514b2aec5923333c7d4c5a09b2b7cb284d54499c6f17842a20f992c9b6c6373d1cdef2b1b9144c47031e77e2433a6f7e7caedd1669a9006f4c1fab399e479726844f1b7581ef042c395d9be17db33042f5f14ba579b594cbd4b6b20fedb471d787933078a7ff7a7701b6d5019aa92ce6ae312c1dd6be44d390064b4432c4ec1ffb18c087dac57fc5f1ec7a949d819edd083e0f36392b08763f771361b2d8d991a1b8021d37c4bd274c88783978b884066e2a6c28c5ed2e311eab6de25edcc11b8c19d942bbdda7aaec8573d6440a288541a6ff74f1b393346f210f53dcf874c7e229cdf24304b05112e0f068710e65e486d8aa4f5f5420ebe37d287c14a47e68adca0d84ec06f2cae312859d006112128995991603b7943fa0e250256392b6488a017e46a5e28558496f7793d4b6a501af1048061f988b01feb96c3310d8ed4ca442460a13b6bb85ea576b269d1b26fae5cafe7d8800790f7022478ce1940ab7e2cd3b12cb2ac47e9828a0a768c8955ea7337db8410a69f4279d35b635c11169b29df88a038aa70eb82a59430e037e86ab6601e4161b7f184b88d6683c7bf995b2a6be18c637d329f2a2f0a5dccabb05185fbe0306509157c56a00435e94d6f24d44217c4f122e3cfbc2ee38de7c1f1065d2432594d3c603a1b798939cd658ebe7a1898d4f1ae90f2cd335fd0f40910ac3c2a2638601b4352cd005cf9374320712dd7de84a8f3f39b8ec155ee47a368ae8f1d6c7e909c6336ce2b06f8c5bbdcb05bcec9d3f45e9340929ae0a0b37255144ea5c87c2c7a51bcf1f538f8f0beb10a60ea1c70492ea317e1a144e7da8b03d94da08a42fa040467fe1e48f4e3664b5d3b56ba9fd0d56c115aa61e827d5a558d667703e536f0361a52ffc0f0ddf09cf1e533cde4f7b43aedd37471ada815b32040773fadb471a622f23ecf753bb92e39bdc15220ff3a6c91d3e24ba3dfd693c3c7033e9bc5dd1f57475024706bb22146e61aa203d0b4fc0e39d8a62d1af34cb6f9caa89b2cc066d27125d90c3522f0e04154e760ffff83667ba711da6e57b84249272a4fdc81", + "shared_secrets": [ + "9bfc6b9310764fb4d3a924c52ff6aa3763a8cb059ac93fbeba460d34a7adc406", + "acc3306979bd674323846dd85bae3bb76beaa0038fc6dad3548b3739007e7af8", + "43d9f8011156114ec97909d74a492bc5a63a6d0368423d1912b8cfd8c437abc2", + "dfaf5b7dca976ff6eec0202924773412aa9e310ed6035d4a2b9edfa6efa4332f", + "33ce6628218be41191ce2d48e2262c79dafcbf22d9af9d8268d27254dfa59168" ] }, { - "outputs": [ - { - "txid": "c1a880c7c615eac0b847817fed2e33e43a33a907bc8328c28b424580045dc850", - "output": 1, - "amount_msat": 11000000000, - "scriptpubkey": "00142af1a054bfd3863584fcfd6839155787f39bb9c6", - "address": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu", - "status": "confirmed", - "blockheight": 104, - "reserved": false - } - ], - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "state": "CHANNELD_NORMAL", - "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", - "short_channel_id": "103x1x0", - "our_amount_msat": 0, - "amount_msat": 10000000000, - "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", - "funding_output": 0 - } + "onion": "00034c3f9e11d92555260db3ee4ba0378a645d01c2556451f4289a1d9b43c7afa9a4f9ecc7010dafb26787bb583c514c3b3990d40c8168b1046659d7bc2512d2f1ee0afd2b87c42de2b70102b649634d211b38049593dbb6ed8ee8f93f0b9ff23cd9654c1341137711ce67751d40867cc90c290a9446be2b8a5a43641d4549505b13e807b4240b5b82ffaf22cb534cff01be46db3985ac83b7db465fbd86d4c8d472f60678946c71eca97dd5db732fe5a6d3765e5a5afad72f035207173e7eaaa0da4f0a4540472c7dd269a030428ae586a61b2a70a428055c3848427d2a2e8bd521aadbaf79d56ea39df63c059772e026d57f0b6844c1ab99e936beadf42aaa78193b05f7380e242258deeaa90db316a943d311ef4f2a08f422422c9da454f9666742ad61c6ae003bce83cf6243adf64a728ea50bdaf129ab2ac70e1988a117609cbefc01c884f86b2494349d1067f5cf17760cdab6ae076631693147e8712412d4f0b17cf288b394fd9e29419156ee629966553c2e7598631cbf7493820388eef1ae9f4d2f9da88872e8afbbedb3b46cd7c461cbe4c5491dc6f4a68bc244584bc79b1bb227c869fae16dab4b16412523c984d3ed2b872f63b95a62f66563d2b03c3d1b5fff0290411b293569ce8435b96b447be776b49395a8d94f48cb2f7699a38e8de58d6fff04075d226dcac07668512b6d2c20d4c49d03ad300a52769e4ebbacf97378633126958df1817effc12fd679723123df244fd9b5421f8a2aedb9a8b6fb4049e3a7cae3985059081239bea38351f0c90ed5a0ff45cc492e6ab353e4c13d22ff48912d6ecfda711edfb88dc0767ecfc5dddf8fb0e112a538aeee55c0f73b3b8afc4f40ef3588eabde5b95344a4525adf67841dd67b1db10da180fb346e0bd2958f095d011827063c42361964f8ac2c356d2ec1868a9498dcd6b5915a4df4601c58fcbeb688e14de61300f13183c154b3320cc8e80042a46f22d796f56ff1fdd7e28440c05f14b960c1d0a7c627b09295112bcb635b0e2447a9374fafc4a23ceaf9de4d10b29b2f6cabd7f0c7706cf0404452681d7372d559b644627b2695960deb3b4ae57028e0164b29d5ef9e701d3122b6a5715c502e1dca5252e8c215ed754b01a193041ad9751ed2fff1b55991e256edd6099a38004a367ad097c7caf953da302201263715517f6d32cff57969be994df42fd6cadb649e3c738be798f779aaf4c07cada6bf1e4115b74e2670baf4b1592c70b10a6c043b6606b428b3f79545dc8e9783c876e5402909858f9c604963c37fbc477137c8908e6cfa11ece18c8784a6f25428a5ee1e91d0095fe310d6a91139a7c5c6624bbfcaa15ee847a25b06f57332917f68526a6317f575792e9bcba8576a96bc5859b1f2a00fd8ab08a5ac4ab71833b0b711d1f120cbdb374bcedcdcbeba3806644f5082ec737a945221f5d99562fcbb02a43beeafb16ceecd4e35f06a04c9ff9f4f33725ab62cf22c36650280e4cfb9e150a2c4ebee7785108522e8ecb4682d2d751168e7597299346c3a5e885e36eda66b9a1112997111135767972d771b02c1a36c1d1fb1ce539ecfb98e9e1d8f8fdbf89aec28ad34ff5c00c1a4a8c59848dc8b64c0e65f6f10122e60b4adc1cfc602f49d6cfbdd54be6b0951d3f9cafe8cdd0428f9ce6994844e92d8b72d44edda623bad428b398f88643c3904bda16dd15e886ca4ef6ea7f1450744ac38ffce902569d2e9026bcedd6d0ee54aceabda22bf2de72cba89e6c274064619e32a1192cf2d78b56cf497f7785a6d599de9f8383d1f66f47fc385dc569ee1f08ddbbc7f1aeb0a0126fc4020d948dda10255f11e776db7a037059a40fde38a2ee0c0ce49c7f3df175881bf12371fa72fec3fba657107892a97efe41dcc18aeecd99f3e46c33cf42c2a0ba8b75cf000", + "shared_secrets": [ + "ccf2512684e2508cb4a842393757e6040b7d25e29d3a2031f29d00a000af6128", + "d4cec39fe6287d41165bf5c608b0c720a411208a83c64c805a012c86662a2e5a", + "91bc712ebd4a900e05830394ca8b1f1168777ecdd6996029d96ec8838b9903b9", + "93c373dcb14dc36ababa3e0c5c55869a667ca175e09913a98c3be67e6af97e16", + "b2642a5770a6b61ade071fdf69d3ea365cf48434fc2a2c399512778821a33e5c" ] }, { - "outputs": [], - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "state": "CHANNELD_NORMAL", - "channel_id": "a77e1e1df19fead1e0f2a09f2afaa4d42e81eacae1023c9c779df4c24e3b75c2", - "short_channel_id": "105x1x0", - "our_amount_msat": 0, - "amount_msat": 10000000000, - "funding_txid": "c2753b4ec2f49d779c3c02e1caea812ed4a4fa2a9fa0f2e0d1ea9ff11d1e7ea7", - "funding_output": 0 - } + "onion": "0002cdce4bfaa9faa2c060afafe001b80bde07fc670e882c063a80b4738d5f78c9351825c6461cdfcd4fe4144d3b51f63da6351b28dd49c7bfdb0b4f7d8bda4ad0d99699eda39e551084c0a095746c358d1dc6d2eec8082f2aa2f69ae8f61b1f1437ae0ed673078fec6c0510a34058167ad1a34e819a3813d4cf27b2c4917a8c6ca3d70c3381a2a41b4c1b4540adf0e922e25f57d1cfc3064f29cfec4c17244160121975cab59b44c83b4a4905bf7ebfbd308de376334bf86d8aa92c674f7bcfec85680d73e9fee72642c98c603128e358c86e0bc88a60aaebc2637441a57261c61c6be145f00f2fc56164a6495f4b52d3172cb0ef52e91fa0d32a9ae2502d17433bda58d93fbc24a70ec6b5e740952a61404c7370eafe52599c7ee52e77b1cda87c46da98d2ff0d02fe09db5adcb2d2e9bcd083ef58392907b8a21681fa4ea1e4806b4676656457fea000fa504f9b4d159fe8b241266ac91dcc0351053c6dcc1493a6b02bed652cc8b92a8470c98924ebfde6ddc5cf7fd75f6e83a7350642053b70d4834179c30eb56d8c86656cda784daf3b6cd125779bec51099301e3f79f78d85d0454aef8bf5f9058491881b73e99b662b64080cd3eb16fd7f9d9640c18738736cfc15f391232b7df92f46ceb5abf08732ff833e9409ee541d7c926f7a0fe3e233d3eee4a63b65ab23b7c835b7cdd809ddfac8abb1df471fa66a54092815aa41e6fc1a026b86c5675d39c4e8c5c4b4acd48534165239f5634b9e828a7f9df94efcd2a39045efdee4d2f006a63ae828e6e90e3610c522085da6e0198141d6e501d83aba32057f4e59f9b7dfb0bf949c5ef91917cb54561d45a9e7ead049c57deb62d14ba6e18f5d7b0fb9f15e97bf5bd9f909f99c86c787357946654b87c489d34245d07fbb72119166e338b608a4178b452695235dd96bf7fd338e29a9f054ec1a63a442e12602d2329834297f6a197d8a377d608f402f0bcc936f45f33c8d2f9d40e5aef41816dd883add81ca20f1e0631457fe00aa2bd75c9165ffcd96c100c1db83a53aeee23d59f2a542ee3ba39ba62298ddfbd9ecfafd6b5d2121eb003ee23a2ebb8c6b6b687f42492c962510c5acf5231ff96635eba37354559ba39b042d9b6883cac662f418d7c62f9908b2a67964af5e5471804f7684e0d582b8bfec99816bb3442cca1d1fe4efd75d573ebf09fa9cad811063864fb14be4a7768ec2ddb118a77969e986c6584c4b20f8622941ca73d73562857d36e17a46a68d6e10147aaefff1ffb9809f0652a5f760148ed33550661b63c8176d5679e701c221d8a49d4062eb04010ea74cc1132fbeb8934c6e582ba2a16162b7e9171f95bce4ec3e339e70c781f95aaca406cd718b74397658fdefdd093486664be7ed13efa437012f1f57f9f1f4fb4eef7501ccf0e0ac4edc01fde138038c4dd65cb5c3291ad02a6728d6761b1afa35d49bd6ef117012bdd9bd6ee8a175620feb2249aa18d6175351b4bfc2b2b4fd57ff52f5969b109aa9b6cb2cde8f350917c0da2da1bc3d52eb0c7e6080b8f69c5783f2ed26feceb05ba4e7ed66676041d03d0acd3dd6343a85ac0b9c36f9640ddd0db884822f98dc42ea7911a6938dc14ba19d3d25a2b2f82794a2b5dd751dc856d7a9ccdb2d351a0b84e7030fa925ac949a37594f3aa2ba28ae5155b0aaac9c6820b8888d0b8a9db148513b9e3dbde68333ac30a0720289b6a0145d88629d49e76a6d3538330c5aececc9d54127b0a5a0e92d5a5a73beb71132c208b589cab61d53ed357c907929198c559426ae729b374a803dd3321a45ccca39efd39eddaba6e79a2f8911bdf74e18733dc7efc51132b5608d97fd2d0f22fa8961de04cdf6d0dbfbab21e362e7abaef3976f993088aa97ed3f1f4bcf3fffb012f583558bd2f15face9cba20b3e6754b70", + "shared_secrets": [ + "3f53c03f98eb83db88ff97c2c4004051ce23265ed2414a7aebf7a3e7078839ab" ] } ], "author": [ - "Felix <> is mainly responsible." + "Christian Decker <> is mainly responsible." ], "see_also": [ - "lightning-newaddr(7)", - "lightning-fundchannel(7)", - "lightning-withdraw(7)", - "lightning-listtransactions(7)" + "lightning-sendonion(7)", + "lightning-getroute(7)" ], "resources": [ - "Main web site: " + "Main web site: ", + "", + "[BOLT 04](https://github.com/lightning/bolts/blob/master/04-onion-routing.md)" ] }, - "lightning-listhtlcs.json": { + "lightning-createrune.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listhtlcs", - "title": "Command for querying HTLCs", + "added": "v23.08", + "rpc": "createrune", + "title": "Command to Create/Update Rune for Authorizing Remote Peer Access", "description": [ - "The **listhtlcs** RPC command gets all HTLCs (which, generally, we remember for as long as a channel is open, even if they've completed long ago)." + "The **createrune** RPC command creates a base64 string called a *rune* which can be used to access commands on this node. Each *rune* contains a unique id (a number starting at 0), and can have restrictions inside it. Nobody can remove restrictions from a rune: if you try, the rune will be rejected. There is no limit on how many runes you can issue; the node simply decodes and checks them as they are received.", + "", + "Oh, I almost forgot. Runes can also be invoked like in ancient times with the **invokerune** command. Feel the magical powers of a rune by invoking it." ], "request": { "required": [], "properties": { - "id": { + "rune": { "type": "string", "description": [ - "A short channel id (e.g. 1x2x3) or full 64-byte hex channel id, it will only list htlcs for that channel (which must be known)." + "If supplied, the restrictions are simple appended to that *rune* (it doesn't need to be a rune belonging to this node). If not supplied, a new *rune* is constructed, with a new unique id." + ] + }, + "restrictions": { + "description": [ + "It can be the string `readonly`, or an array of restrictions.", + "Each restriction is an array of one or more alternatives, such as \"method is listpeers\", or \"method is listpeers OR time is before 2023\"." + ], + "oneOf": [ + { + "type": "array", + "description": [ + "Alternatives use a simple language to examine the command which is being run:", + " * time: the current UNIX time, e.g. \"time<1656759180\".", + " * id: the node_id of the peer, e.g. \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\".", + " * method: the command being run, e.g. \"method=withdraw\".", + " * per: how often the rune can be used, with suffix \"sec\" (default), \"min\", \"hour\", \"day\" or \"msec\", \"usec\" or \"nsec\". e.g. \"per=5sec\".", + " * rate: the rate limit, per minute, e.g. \"rate=60\" is equivalent to \"per=1sec\".", + " * pnum: the number of parameters. e.g. \"pnum<2\".", + " * pnameX: the parameter named X (with any punctuation like `_` removed). e.g. \"pnamedestination=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\".", + " * parrN: the N'th parameter. e.g. \"parr0=1RustyRX2oai4EYYDpQGWvEL62BBGqN9T\"." + ], + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "type": "string", + "enum": [ + "readonly" + ], + "description": [ + "A rune which allows most *get* and *list* commands, and the *summary* command." + ] + } ] } } }, "response": { "required": [ - "htlcs" + "rune", + "unique_id" ], "properties": { - "htlcs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "short_channel_id", - "id", - "expiry", - "direction", - "amount_msat", - "payment_hash", - "state" - ], - "properties": { - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "The channel that contains/contained the HTLC." - ] - }, - "id": { - "type": "u64", - "description": [ - "The unique, incrementing HTLC id the creator gave this." - ] - }, - "expiry": { - "type": "u32", - "description": [ - "The block number where this HTLC expires/expired." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The value of the HTLC." - ] - }, - "direction": { - "type": "string", - "enum": [ - "out", - "in" - ], - "description": [ - "Out if we offered this to the peer, in if they offered it." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "Payment hash sought by HTLC." - ] - }, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION", - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": [ - "The first 10 states are for `in`, the next 10 are for `out`." - ] - } - } - } + "rune": { + "type": "string", + "description": [ + "The resulting rune." + ] + }, + "unique_id": { + "type": "string", + "description": [ + "The id of this rune: this is set at creation and cannot be changed (even as restrictions are added)." + ] + }, + "warning_unrestricted_rune": { + "type": "string", + "description": [ + "A warning shown when runes are created with powers that could drain your node." + ] } } }, + "restriction_format": [ + "Restrictions are one or more alternatives. Each alternative is *name* *operator* *value*. The valid names are shown above.", + "", + "Note that if a value contains `\\`, it must be preceeded by another `\\` to form valid JSON:", + "* `=`: passes if equal ie. identical. e.g. `method=withdraw`", + "* `/`: not equals, e.g. `method/withdraw`", + "* `^`: starts with, e.g. `id^024b9a1fa8e006f1e3937f`", + "* `$`: ends with, e.g. `id$381df1cc449605`.", + "* `~`: contains, e.g. `id~006f1e3937f65f66c40`.", + "* `<`: is a decimal integer, and is less than. e.g. `time<1656759180`", + "* `>`: is a decimal integer, and is greater than. e.g. `time>1656759180`", + "* `{`: preceeds in alphabetical order (or matches but is shorter),", + " e.g. `id{02ff`.", + "* `}`: follows in alphabetical order (or matches but is longer),", + " e.g. `id}02ff`.", + "* `#`: a comment, ignored, e.g. `dumb example#`.", + "* `!`: only passes if the *name* does *not* exist. e.g. `pnamedestination!`.", + "Every other operator except `#` fails if *name* does not exist!" + ], + "example_usage": [ + "This creates a fresh rune which can do anything:", + "", + "```shell", + "$ lightning-cli commando-rune", + "{", + " \"rune\": \"KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA==\",", + " \"unique_id\": \"0\"", + "}", + "```", + "We can add restrictions to that rune, like so:", + "", + "```shell", + "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions=readonly", + "{", + " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", + " \"unique_id\": \"0\"", + "}", + "```", + "The \"readonly\" restriction is a short-cut for two restrictions:", + "", + "1. `[\"method^list\", \"method^get\", \"method=summary\"]`: You may call list, get or summary.", + "2. `[\"method/listdatastore\"]`: But not listdatastore: that contains sensitive stuff!", + "", + "We can do the same manually, like so:", + "", + "```shell", + "$ lightning-cli commando-rune rune=KUhZzNlECC7pYsz3QVbF1TqjIUYi3oyESTI7n60hLMs9MA== restrictions='[[\"method^list\", \"method^get\", \"method=summary\"],[\"method/listdatastore\"]]'", + "{", + " \"rune\": \"NbL7KkXcPQsVseJ9TdJNjJK2KsPjnt_q4cE_wvc873I9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl\",", + " \"unique_id\": \"0\"", + "}", + "```", + "Let's create a rune which lets a specific peer (024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605) run \"listpeers\" on themselves:", + "", + "```shell", + "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\",\"parr0=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"]]'", + "{", + " \"rune\": \"FE8GHiGVvxcFqCQcClVRRiNE_XEeLYQzyG2jmqto4jM9MiZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDV8cGFycjA9MDI0YjlhMWZhOGUwMDZmMWUzOTM3ZjY1ZjY2YzQwOGU2ZGE4ZTFjYTcyOGVhNDMyMjJhNzM4MWRmMWNjNDQ5NjA1\",", + " \"unique_id\": \"2\"", + "}", + "```", + "This allows `listpeers` with 1 argument (`pnum=1`), which is either by name (`pnameid`), or position (`parr0`). We could shorten this in several ways: either allowing only positional or named parameters, or by testing the start of the parameters only. Here's an example which only checks the first 9 bytes of the `listpeers` parameter:", + "", + "```shell", + "$ lightning-cli commando-rune restrictions='[[\"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"],[\"method=listpeers\"],[\"pnum=1\"],[\"pnameid^024b9a1fa8e006f1e393\", \"parr0^024b9a1fa8e006f1e393\"]'", + " {", + " \"rune\": \"fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw==\",", + " \"unique_id\": \"3\"", + "}", + "```", + "Before we give this to our peer, let's add two more restrictions: that it only be usable for 24 hours from now (`time<`), and that it can only be used twice a minute (`rate=2`). `date +%s` can give us the current time in seconds:", + "", + "```shell", + "$ lightning-cli commando-rune rune=fTQnfL05coEbiBO8SS0cvQwCcPLxE9c02pZCC6HRVEY9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5Mw== restrictions='[[\"time<'$(($(date +%s) + 24*60*60))'\",\"rate=2\"]]'", + "{", + " \"rune\": \"tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y\",", + " \"unique_id\": \"3\"", + "}", + "```", + "You can also use lightning-decode(7) to examine runes you have been given:", + "", + "```shell", + "$ lightning-cli decode tU-RLjMiDpY2U0o3W1oFowar36RFGpWloPbW9-RuZdo9MyZpZD0wMjRiOWExZmE4ZTAwNmYxZTM5MzdmNjVmNjZjNDA4ZTZkYThlMWNhNzI4ZWE0MzIyMmE3MzgxZGYxY2M0NDk2MDUmbWV0aG9kPWxpc3RwZWVycyZwbnVtPTEmcG5hbWVpZF4wMjRiOWExZmE4ZTAwNmYxZTM5M3xwYXJyMF4wMjRiOWExZmE4ZTAwNmYxZTM5MyZ0aW1lPDE2NTY5MjA1MzgmcmF0ZT0y", + "{", + " \"type\": \"rune\",", + " \"unique_id\": \"3\",", + " \"string\": \"b54f912e33220e9636534a375b5a05a306abdfa4451a95a5a0f6d6f7e46e65da:=3&id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605&method=listpeers&pnum=1&pnameid^024b9a1fa8e006f1e393|parr0^024b9a1fa8e006f1e393&time<1656920538&rate=2\",", + " \"restrictions\": [", + " {", + " \"alternatives\": [", + " \"id=024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605\"", + " ],", + " \"summary\": \"id (of commanding peer) equal to '024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605'\"", + " },", + " {", + " \"alternatives\": [", + " \"method=listpeers\"", + " ],", + " \"summary\": \"method (of command) equal to 'listpeers'\"", + " },", + " {", + " \"alternatives\": [", + " \"pnum=1\"", + " ],", + " \"summary\": \"pnum (number of command parameters) equal to 1\"", + " },", + " {", + " \"alternatives\": [", + " \"pnameid^024b9a1fa8e006f1e393\",", + " \"parr0^024b9a1fa8e006f1e393\"", + " ],", + " \"summary\": \"pnameid (object parameter 'id') starts with '024b9a1fa8e006f1e393' OR parr0 (array parameter #0) starts with '024b9a1fa8e006f1e393'\"", + " },", + " {", + " \"alternatives\": [", + " \"time<1656920538\"", + " ],", + " \"summary\": \"time (in seconds since 1970) less than 1656920538 (approximately 19 hours 18 minutes from now)\"", + " },", + " {", + " \"alternatives\": [", + " \"rate=2\"", + " ],", + " \"summary\": \"rate (max per minute) equal to 2\"", + " }", + " ],", + " \"valid\": true", + "}", + "```" + ], + "sharing_runes": [ + "Because anyone can add a restriction to a rune, you can always turn a normal rune into a read-only rune, or restrict access for 30 minutes from the time you give it to someone. Adding restrictions before sharing runes is best practice.", + "", + "If a rune has a ratelimit, any derived rune will have the same id, and thus will compete for that ratelimit. You might want to consider adding a tighter ratelimit to a rune before sharing it, so you will keep the remainder. For example, if you rune has a limit of 60 times per minute, adding a limit of 5 times per minute and handing that rune out means you can still use your original rune 55 times per minute." + ], "example_json_request": [ { - "id": "example:listhtlcs#1", - "method": "listhtlcs", + "id": "example:createrune#1", + "method": "createrune", "params": "{}" }, { - "id": "example:listhtlcs#2", - "method": "listhtlcs", + "id": "example:createrune#2", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method/getinfo" + ] + ] + } + }, + { + "id": "example:createrune#3", + "method": "createrune", "params": "{}" }, { - "id": "example:listhtlcs#3", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#4", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method/getinfo" + ] + ] + } }, { - "id": "example:listhtlcs#4", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#5", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=getinfo" + ] + ] + } }, { - "id": "example:listhtlcs#5", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#6", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=invoice" + ] + ] + } }, { - "id": "example:listhtlcs#6", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#7", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=invoice" + ] + ] + } }, { - "id": "example:listhtlcs#7", - "method": "listhtlcs", - "params": [ - "103x2x0" - ] + "id": "example:createrune#8", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=invoice" + ] + ] + } }, { - "id": "example:listhtlcs#8", - "method": "listhtlcs", - "params": [ - "103x2x0" - ] + "id": "example:createrune#9", + "method": "createrune", + "params": "{}" }, { - "id": "example:listhtlcs#9", - "method": "listhtlcs", + "id": "example:createrune#10", + "method": "createrune", "params": "{}" }, { - "id": "example:listhtlcs#10", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#11", + "method": "createrune", + "params": { + "restrictions": "readonly" + } }, { - "id": "example:listhtlcs#11", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#12", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=listclnrest-notifications" + ] + ] + } }, { - "id": "example:listhtlcs#12", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#13", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method/listclnrest-notifications" + ] + ] + } }, { - "id": "example:listhtlcs#13", - "method": "listhtlcs", - "params": [ - "103x2x0" - ] + "id": "example:createrune#14", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=listclnrest-notifications" + ] + ] + } }, { - "id": "example:listhtlcs#14", - "method": "listhtlcs", - "params": [ - "103x2x0" - ] + "id": "example:createrune#15", + "method": "createrune", + "params": "{}" }, { - "id": "example:listhtlcs#15", - "method": "listhtlcs", + "id": "example:createrune#16", + "method": "createrune", "params": "{}" }, { - "id": "example:listhtlcs#16", - "method": "listhtlcs", - "params": [ - "103x1x0" - ] + "id": "example:createrune#17", + "method": "createrune", + "params": { + "restrictions": [ + [ + "method=getinfo" + ] + ] + } }, { - "id": "example:listhtlcs#17", - "method": "listhtlcs", - "params": [ - "436c2658eb4f4689b42ff11b8b05f31ba09860d0df7168085e0796cdf40f85e0" - ] + "id": "example:createrune#18", + "method": "createrune", + "params": "{}" }, { - "id": "example:listhtlcs#18", - "method": "listhtlcs", - "params": [ - "103x1x0" - ] + "id": "example:createrune#19", + "method": "createrune", + "params": { + "restrictions": "readonly" + } }, { - "id": "example:listhtlcs#19", - "method": "listhtlcs", - "params": "{}" + "id": "example:createrune#20", + "method": "createrune", + "params": { + "restrictions": [ + [ + "time>1656675211" + ] + ] + } }, { - "id": "example:listhtlcs#20", - "method": "listhtlcs", - "params": [ - "103x1x0" - ] + "id": "example:createrune#21", + "method": "createrune", + "params": { + "restrictions": [ + [ + "id^022d223620a359a47ff7" + ], + [ + "method=listpeers" + ] + ] + } }, { - "id": "example:listhtlcs#21", - "method": "listhtlcs", - "params": [ - "105x1x0" - ] + "id": "example:createrune#22", + "method": "createrune", + "params": { + "restrictions": [ + [ + "pnum=0" + ] + ] + } }, { - "id": "example:listhtlcs#22", - "method": "listhtlcs", + "id": "example:createrune#23", + "method": "createrune", "params": [ - "107x1x0" + "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + [ + [ + "rate=3" + ] + ] ] - }, - { - "id": "example:listhtlcs#23", - "method": "listhtlcs", - "params": "{}" } ], "example_json_response": [ { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "d2668e77c5a2220496e813de36f1fc09ba804b16af4c6bb38299d8a6eb8a5f10", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "286e08ac8f575f10508d751fcfc93871b4344271967c7b9e5eacb3f3573b8307", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "3e4baa750ee3dfb934578f041ccb40b87432bf37ec65c9d7bce5ff28fecbd95f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "4c3ce32565dc10ef2bd230c32802ce2fe8b007208c0a90757aa289f75c994d49", - "state": "SENT_REMOVE_REVOCATION" - } - ] - }, - { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "d2668e77c5a2220496e813de36f1fc09ba804b16af4c6bb38299d8a6eb8a5f10", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "286e08ac8f575f10508d751fcfc93871b4344271967c7b9e5eacb3f3573b8307", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "3e4baa750ee3dfb934578f041ccb40b87432bf37ec65c9d7bce5ff28fecbd95f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "4c3ce32565dc10ef2bd230c32802ce2fe8b007208c0a90757aa289f75c994d49", - "state": "SENT_REMOVE_ACK_COMMIT" - } - ] - }, - { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "SENT_REMOVE_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "SENT_REMOVE_ACK_COMMIT" - } - ] + "rune": "S5f-BKt3rR-cvJmujdpDCUQm_XLahfB4iQuDlwqMJiQ9MCZtZXRob2QvZ2V0aW5mbw==", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "S5f-BKt3rR-cvJmujdpDCUQm_XLahfB4iQuDlwqMJiQ9MCZtZXRob2QvZ2V0aW5mbw==", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "u7TWBaWJjWoBfxgoZq-8RLYzO4eJOZuhnK2dB3JMGmM9MSZtZXRob2Q9Z2V0aW5mbw==", + "unique_id": "1" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", - "state": "SENT_REMOVE_ACK_REVOCATION" - } - ] + "rune": "3qQTTpOUOWXAfUKla0x8t0t5-lHS-ajEuVtuq83lUuk9MiZtZXRob2Q9aW52b2ljZQ==", + "unique_id": "2" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "SENT_REMOVE_REVOCATION" - } - ] + "rune": "HNSFwA6BUHzTNJe3OeEKl8nIZdzDguKUDqVLEc5Fao49MyZtZXRob2Q9aW52b2ljZQ==", + "unique_id": "3" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "SENT_REMOVE_ACK_COMMIT" - } - ] + "rune": "uJePZBfRC-PzpYzpFpMxQMXARKCFNT1u0UowS7kAXO09NCZtZXRob2Q9aW52b2ljZQ==", + "unique_id": "4" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "out", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9MCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x2x0", - "id": 0, - "expiry": 117, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 1, - "expiry": 117, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 2, - "expiry": 135, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x2x0", - "id": 3, - "expiry": 135, - "direction": "in", - "amount_msat": 100001001, - "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", - "state": "SENT_REMOVE_ACK_REVOCATION" - } - ] + "rune": "_VPs630BTE0VRIuvN00YeTv1d6-bNd80TuiW3945ZGs9MCZtZXRob2Q9bGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "out", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "out", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "out", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "85Yq1LuOdiVQM2B60SDzX6_YJcOtFXkusX7nkKXOXr09MCZtZXRob2QvbGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "out", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "out", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "out", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "p53gRfKLJvJepYivOGOEaVQmvOn3wmxcZhUR5gK-9cw9MCZtZXRob2Q9bGlzdGNsbnJlc3Qtbm90aWZpY2F0aW9ucw==", + "unique_id": "0" }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "out", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "out", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "out", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "in", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "in", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "in", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "SENT_REMOVE_ACK_REVOCATION" - } - ] + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "unique_id": "1", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "in", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "105x1x0", - "id": 0, - "expiry": 118, - "direction": "out", - "amount_msat": 1000, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "in", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "107x1x0", - "id": 0, - "expiry": 118, - "direction": "out", - "amount_msat": 2000, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "RCVD_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "in", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "SENT_REMOVE_ACK_REVOCATION" - } - ] + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", + "unique_id": "2" }, { - "htlcs": [ - { - "short_channel_id": "103x1x0", - "id": 0, - "expiry": 124, - "direction": "in", - "amount_msat": 1001, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 1, - "expiry": 124, - "direction": "in", - "amount_msat": 2001, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "SENT_REMOVE_ACK_REVOCATION" - }, - { - "short_channel_id": "103x1x0", - "id": 2, - "expiry": 128, - "direction": "in", - "amount_msat": 4001, - "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", - "state": "SENT_REMOVE_ACK_REVOCATION" - } - ] + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "warning_unrestricted_rune": "WARNING: This rune has no restrictions! Anyone who has access to this rune could drain funds from your node. Be careful when giving this to apps that you don't trust. Consider using the restrictions parameter to only allow access to specific rpc methods." }, { - "htlcs": [ - { - "short_channel_id": "105x1x0", - "id": 0, - "expiry": 118, - "direction": "out", - "amount_msat": 1000, - "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl", + "unique_id": "1" + }, + { + "rune": "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=", + "unique_id": "2" + }, + { + "rune": "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz", + "unique_id": "3" }, { - "htlcs": [ - { - "short_channel_id": "107x1x0", - "id": 0, - "expiry": 118, - "direction": "out", - "amount_msat": 2000, - "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", - "state": "RCVD_REMOVE_ACK_REVOCATION" - } - ] + "rune": "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=", + "unique_id": "4" }, { - "htlcs": [] + "rune": "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z", + "unique_id": "4" } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Rusty Russell <> wrote the original Python commando.py plugin, the in-tree commando plugin, and this manual page.", + "", + "Shahana Farooqui <> is mainly responsible for migrating commando-rune to createrune." ], "see_also": [ - "lightning-listforwards(7)" + "lightning-commando-rune(7)", + "lightning-checkrune(7)" ], "resources": [ "Main web site: " ] }, - "lightning-listinvoicerequests.json": { + "lightning-datastore.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v22.11", - "rpc": "listinvoicerequests", - "title": "Command for querying invoice_request status", + "rpc": "datastore", + "title": "Command for storing (plugin) data", "description": [ - "The **listinvoicerequests** RPC command gets the status of a specific `invoice_request`, if it exists, or the status of all `invoice_requests` if given no argument." + "The **datastore** RPC command allows plugins to store data in the Core Lightning database, for later retrieval." ], "request": { - "required": [], - "properties": { - "invreq_id": { - "type": "string", - "description": [ - "A specific invoice can be queried by providing the `invreq_id`, which is presented by lightning-invoicerequest(7), or can be calculated from a bolt12 invoice." - ] - }, - "active_only": { - "type": "boolean", - "description": [ - "If it is *True* then only active invoice requests are returned." - ], - "default": "*False*" - } - } - }, - "response": { "required": [ - "invoicerequests" + "key" ], "properties": { - "invoicerequests": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "properties": { - "invreq_id": { - "type": "hash", - "description": [ - "The SHA256 hash of all invoice_request fields less than 160." - ] - }, - "active": { - "type": "boolean", - "description": [ - "Whether the invoice_request is currently active." - ] - }, - "single_use": { - "type": "boolean", - "description": [ - "Whether the invoice_request will become inactive after we pay an invoice for it." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string starting with lnr." - ] - }, - "used": { - "type": "boolean", - "description": [ - "Whether the invoice_request has already been used." - ] - }, - "label": { - "type": "string", - "description": [ - "The label provided when creating the invoice_request." - ] - } - } - } - } - } - }, - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-invoicerequests(7)", - "lightning-disableinvoicerequest(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ - { - "id": "example:listinvoicerequests#1", - "method": "listinvoicerequests", - "params": [ - "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d" - ] - }, - { - "id": "example:listinvoicerequests#2", - "method": "listinvoicerequests", - "params": [ - "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d" - ] - } - ], - "example_json_response": [ - { - "invoicerequests": [ - { - "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", - "active": true, - "single_use": true, - "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", - "used": false - } - ] - }, - { - "invoicerequests": [ - { - "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", - "active": false, - "single_use": true, - "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", - "used": true - } - ] - } - ] - }, - "lightning-listinvoices.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listinvoices", - "title": "Command for querying invoice status", - "description": [ - "The **listinvoices** RPC command gets the status of a specific invoice, if it exists, or the status of all invoices if given no argument.", - "", - "Only one of the query parameters can be used from *label*, *invstring*, *payment_hash*, or *offer_id*." - ], - "request": { - "required": [], - "properties": { - "label": { + "key": { + "description": [ + "A key can either have children or a value, never both: parents are created and removed automatically." + ], "oneOf": [ { - "type": "string" + "type": "array", + "description": [ + "An array of values to form a hierarchy (though a single value is treated as a one-element array). Using the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended." + ], + "items": { + "type": "string" + } }, { - "type": "integer" + "type": "string" } - ], - "description": [ - "A label used a the creation of the invoice to get a specific invoice." ] }, - "invstring": { + "string": { "type": "string", "description": [ - "The string value to query a specific invoice." + "Data to be saved in string format." ] }, - "payment_hash": { + "hex": { "type": "hex", "description": [ - "A payment_hash of the invoice to get the details of a specific invoice." + "Data to be saved in hex format." ] }, - "offer_id": { + "mode": { "type": "string", "description": [ - "A local `offer_id` the invoice was issued for a specific invoice details." - ] - }, - "index": { - "type": "string", - "added": "v23.08", - "enum": [ - "created", - "updated" + "Write mode to determine how the record is updated:", + " * `must-create`: fails if it already exists.", + " * `must-replace`: fails if it doesn't already exist.", + " * `create-or-replace`: never fails.", + " * `must-append`: must already exist, append this to what's already there.", + " * `create-or-append`: append if anything is there, otherwise create." ], - "description": [ - "If neither *in_channel* nor *out_channel* is specified, it controls ordering." + "enum": [ + "must-create", + "must-replace", + "create-or-replace", + "must-append", + "create-or-append" ], - "default": "`created`" + "default": "`must-create`" }, - "start": { + "generation": { "type": "u64", - "added": "v23.08", - "description": [ - "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." - ] - }, - "limit": { - "type": "u32", - "added": "v23.08", "description": [ - "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." + "If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with *mode* `must-replace` or `must-append`." ] } - }, - "dependentUpon": { - "index": [ - "start", - "limit" - ] } }, "response": { "required": [ - "invoices" + "key" ], "properties": { - "invoices": { + "key": { "type": "array", "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "label", - "created_index", - "payment_hash", - "status", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": [ - "Whether it's paid, unpaid or unpayable." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it will become / became unpayable." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount required to pay this invoice." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The BOLT11 string (always present unless *bolt12* is)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The BOLT12 string (always present unless *bolt11* is)." - ] - }, - "local_offer_id": { - "type": "hash", - "description": [ - "The *id* of our offer which created this invoice (**experimental-offers** only)." - ] - }, - "invreq_payer_note": { - "type": "string", - "description": [ - "The optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was changed (only present if it has changed since creation)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "local_offer_id": {}, - "invreq_payer_note": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": [ - "Unique incrementing index for this payment." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it was paid." - ] - }, - "paid_outpoint": { - "type": "object", - "description": [ - "Outpoint this invoice was paid with." - ], - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": [ - "ID of the transaction that paid the invoice." - ] - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": [ - "The 0-based output number of the transaction that paid the invoice." - ] - } - } - }, - "payment_preimage": { - "type": "secret", - "description": [ - "Proof of payment." - ] - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "local_offer_id": {}, - "invreq_payer_note": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } - } - } + "type": "string", + "description": [ + "Part of the key added to the datastore." ] } + }, + "generation": { + "type": "u64", + "description": [ + "The number of times this has been updated." + ] + }, + "hex": { + "type": "hex", + "description": [ + "The hex data which has been added to the datastore." + ] + }, + "string": { + "type": "string", + "description": [ + "The data as a string, if it's valid utf-8." + ] } - } - }, - "example_json_request": [ - { - "id": "example:listinvoices#1", - "method": "listinvoices", - "params": { - "label": "xEoCR94SIz6UIRUEkxum", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listinvoices#2", - "method": "listinvoices", - "params": { - "label": "zE3sx8BQLpFn801JQixs", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listinvoices#3", - "method": "listinvoices", - "params": { - "label": "W7PjXOrD1V9QzqlXde6S", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null - } - }, - { - "id": "example:listinvoices#4", - "method": "listinvoices", - "params": { - "label": "kQ3N0jwwJABOkKbMq7I4", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null - } - }, + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- 1202: The key already exists (and mode said it must not)", + "- 1203: The key does not exist (and mode said it must)", + "- 1204: The generation was wrong (and generation was specified)", + "- 1205: The key has children already.", + "- 1206: One of the parents already exists with a value.", + "- -32602: invalid parameters" + ], + "example_json_request": [ { - "id": "example:listinvoices#5", - "method": "listinvoices", + "id": "example:datastore#1", + "method": "datastore", "params": { - "label": "npVAv3iWbQBCHjsDK1YS", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "test_libplugin", + "name" + ], + "string": null, + "hex": "00010203", + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#6", - "method": "listinvoices", + "id": "example:datastore#2", + "method": "datastore", "params": { - "label": "gjXz22eJleM5SNBasEOV", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "test_libplugin", + "name" + ], + "string": "foobar", + "hex": null, + "mode": "must-replace", + "generation": null } }, { - "id": "example:listinvoices#7", - "method": "listinvoices", + "id": "example:datastore#3", + "method": "datastore", "params": { - "label": "WZcOtfF564NiUQ5vlwRU", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "test_libplugin", + "name" + ], + "string": null, + "hex": "00010203", + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#8", - "method": "listinvoices", + "id": "example:datastore#4", + "method": "datastore", "params": { - "label": "7mCJoNSFtlzLA9hEIzX1", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "test_libplugin", + "name" + ], + "string": "foobar", + "hex": null, + "mode": "must-replace", + "generation": null } }, { - "id": "example:listinvoices#9", - "method": "listinvoices", + "id": "example:datastore#5", + "method": "datastore", "params": { - "label": "sK54KAL3qX01yNt76y0B", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "foo_bar", + "string": "{\"foo\": \"bar\"}", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#10", - "method": "listinvoices", + "id": "example:datastore#6", + "method": "datastore", "params": { - "label": "n3jx9JMqg936KMwVWRzM", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "somekey", + "string": null, + "hex": "736f6d6564617461", + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#11", - "method": "listinvoices", + "id": "example:datastore#7", + "method": "datastore", "params": { - "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "somekey", + "string": null, + "hex": "736f6d656461", + "mode": "must-replace", + "generation": null } }, { - "id": "example:listinvoices#12", - "method": "listinvoices", + "id": "example:datastore#8", + "method": "datastore", "params": { - "label": "AlIJdm8x4tFYvkcrIXAk", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "somekey", + "string": null, + "hex": "74", + "mode": "must-append", + "generation": null } }, { - "id": "example:listinvoices#13", - "method": "listinvoices", + "id": "example:datastore#9", + "method": "datastore", "params": { - "label": "oGCNVbOBJvbffmQqyVch", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "somekey", + "string": null, + "hex": "61", + "mode": "create-or-append", + "generation": null } }, { - "id": "example:listinvoices#14", - "method": "listinvoices", + "id": "example:datastore#10", + "method": "datastore", "params": { - "label": "1yu6xcmRXk9Dv38jFulR", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "otherkey", + "string": "otherdata", + "hex": null, + "mode": "create-or-append", + "generation": null } }, { - "id": "example:listinvoices#15", - "method": "listinvoices", + "id": "example:datastore#11", + "method": "datastore", "params": { - "label": "PG1CZyQnANz5wHulULi6", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "badstring", + "string": null, + "hex": "00", + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#16", - "method": "listinvoices", + "id": "example:datastore#12", + "method": "datastore", "params": { - "label": "ScVmvGtECsSc48NVaiGz", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "otherkey", + "string": "otherdataa", + "hex": null, + "mode": "must-replace", + "generation": 0 } }, { - "id": "example:listinvoices#17", - "method": "listinvoices", + "id": "example:datastore#13", + "method": "datastore", "params": { - "label": "exCYz8NgTLbygkgwipco", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": "a", + "string": "aval", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#18", - "method": "listinvoices", + "id": "example:datastore#14", + "method": "datastore", "params": { - "label": "Wogsce4STNqPOUMuBw0T", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "a", + "b" + ], + "string": "abval", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#19", - "method": "listinvoices", + "id": "example:datastore#15", + "method": "datastore", "params": { - "label": "OFPBDlYTIA9f5a02IMZF", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "a", + "b2" + ], + "string": "ab2val", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#20", - "method": "listinvoices", + "id": "example:datastore#16", + "method": "datastore", "params": { - "label": "r2fm2NS2lShNwR8MGHwy", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "a", + "b3", + "c" + ], + "string": "ab2val", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#21", - "method": "listinvoices", + "id": "example:datastore#17", + "method": "datastore", "params": { - "label": "YR07QkHcieUMkSGD8VFv", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "a", + "b3", + "c" + ], + "string": "2", + "hex": null, + "mode": "must-append", + "generation": null } }, { - "id": "example:listinvoices#22", - "method": "listinvoices", + "id": "example:datastore#18", + "method": "datastore", "params": { - "label": "nRt598eghJGkxAZ7CENJ", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null + "key": [ + "a", + "b" + ], + "string": "somedatatostoreinthedatastore", + "hex": null, + "mode": null, + "generation": null } }, { - "id": "example:listinvoices#23", - "method": "listinvoices", + "id": "example:datastore#19", + "method": "datastore", "params": { - "label": "OFnEKAYYfz6VgFWcXSZC", - "payment_hash": null, - "invstring": null, - "offer_id": null, - "index": null, - "start": null, - "limit": null - } - } - ], - "example_json_response": [ - { - "invoices": [ - { - "label": "xEoCR94SIz6UIRUEkxum", - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "amount_msat": 11000000, - "status": "unpaid", - "description": [ - "XEoCR94SIz6UIRUEkxum." - ], - "expires_at": 1706757730, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "zE3sx8BQLpFn801JQixs", - "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk", - "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", - "amount_msat": 100001, - "status": "unpaid", - "description": [ - "ZE3sx8BQLpFn801JQixs." - ], - "expires_at": 1706757734, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "W7PjXOrD1V9QzqlXde6S", - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "amount_msat": 11000000, - "status": "unpaid", - "description": "W7PjXOrD1V9QzqlXde6S", - "expires_at": 1709228937, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "kQ3N0jwwJABOkKbMq7I4", - "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "amount_msat": 100001, - "status": "unpaid", - "description": "kQ3N0jwwJABOkKbMq7I4", - "expires_at": 1709228938, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "npVAv3iWbQBCHjsDK1YS", - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "amount_msat": 111, - "status": "unpaid", - "description": "npVAv3iWbQBCHjsDK1YS", - "expires_at": 1709228950, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "gjXz22eJleM5SNBasEOV", - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "amount_msat": 222, - "status": "unpaid", - "description": "gjXz22eJleM5SNBasEOV", - "expires_at": 1709228952, - "created_index": 2 - } - ] - }, - { - "invoices": [ - { - "label": "WZcOtfF564NiUQ5vlwRU", - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "amount_msat": 4000000, - "status": "unpaid", - "description": "WZcOtfF564NiUQ5vlwRU", - "expires_at": 1709228953, - "created_index": 3 - } - ] - }, - { - "invoices": [ - { - "label": "7mCJoNSFtlzLA9hEIzX1", - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "amount_msat": 11000000, - "status": "unpaid", - "description": "7mCJoNSFtlzLA9hEIzX1", - "expires_at": 1709228989, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "sK54KAL3qX01yNt76y0B", - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "amount_msat": 11000000, - "status": "unpaid", - "description": "sK54KAL3qX01yNt76y0B", - "expires_at": 1709229012, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "n3jx9JMqg936KMwVWRzM", - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "amount_msat": 11000000, - "status": "unpaid", - "description": "n3jx9JMqg936KMwVWRzM", - "expires_at": 1709229023, - "created_index": 1 - } - ] - }, - { - "invoices": [ - { - "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "amount_msat": 11000000, - "status": "unpaid", - "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", - "expires_at": 1709229041, - "created_index": 1 - } - ] + "key": [ + "a", + "c" + ], + "string": "somedatatostoreinthedatastore", + "hex": null, + "mode": null, + "generation": null + } }, { - "invoices": [ - { - "label": "AlIJdm8x4tFYvkcrIXAk", - "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "amount_msat": 200000000, - "status": "unpaid", - "description": "AlIJdm8x4tFYvkcrIXAk", - "expires_at": 1709229482, - "created_index": 1 - } - ] + "id": "example:datastore#20", + "method": "datastore", + "params": { + "key": [ + "a", + "thisissomelongkeythattriestostore46bytesofdata" + ], + "string": "somedatatostoreinthedatastore", + "hex": null, + "mode": null, + "generation": null + } }, { - "invoices": [ - { - "label": "oGCNVbOBJvbffmQqyVch", - "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "amount_msat": 200000000, - "status": "unpaid", - "description": "oGCNVbOBJvbffmQqyVch", - "expires_at": 1709229496, - "created_index": 1 - } - ] + "id": "example:datastore#21", + "method": "datastore", + "params": { + "key": [ + "thisissomelongkeythattriestostore46bytesofdata", + "a" + ], + "string": "somedatatostoreinthedatastore", + "hex": null, + "mode": null, + "generation": null + } }, { - "invoices": [ - { - "label": "1yu6xcmRXk9Dv38jFulR", - "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "amount_msat": 200000000, - "status": "unpaid", - "description": "1yu6xcmRXk9Dv38jFulR", - "expires_at": 1709229505, - "created_index": 1 - } - ] + "id": "example:datastore#22", + "method": "datastore", + "params": { + "key": [ + "a", + "d", + "e", + "f", + "g" + ], + "string": "somedatatostoreinthedatastore", + "hex": null, + "mode": null, + "generation": null + } + } + ], + "example_json_response": [ + { + "key": [ + "test_libplugin", + "name" + ], + "generation": 0, + "hex": "00010203" }, { - "invoices": [ - { - "label": "PG1CZyQnANz5wHulULi6", - "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "amount_msat": 100000000, - "status": "unpaid", - "description": "PG1CZyQnANz5wHulULi6", - "expires_at": 1709229532, - "created_index": 1 - } - ] + "key": [ + "test_libplugin", + "name" + ], + "generation": 1, + "hex": "666f6f626172", + "string": "foobar" }, { - "invoices": [ - { - "label": "ScVmvGtECsSc48NVaiGz", - "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "amount_msat": 100000000, - "status": "unpaid", - "description": "ScVmvGtECsSc48NVaiGz", - "expires_at": 1709229533, - "created_index": 1 - } - ] + "key": [ + "test_libplugin", + "name" + ], + "generation": 0, + "hex": "00010203" }, { - "invoices": [ - { - "label": "exCYz8NgTLbygkgwipco", - "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "amount_msat": 200000000, - "status": "unpaid", - "description": "exCYz8NgTLbygkgwipco", - "expires_at": 1709229542, - "created_index": 1 - } - ] + "key": [ + "test_libplugin", + "name" + ], + "generation": 1, + "hex": "666f6f626172", + "string": "foobar" }, { - "invoices": [ - { - "label": "Wogsce4STNqPOUMuBw0T", - "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "amount_msat": 100000000, - "status": "unpaid", - "description": "Wogsce4STNqPOUMuBw0T", - "expires_at": 1709229561, - "created_index": 1 - } - ] + "key": [ + "foo_bar" + ], + "generation": 0, + "hex": "7b22666f6f223a2022626172227d", + "string": "{\"foo\": \"bar\"}" }, { - "invoices": [ - { - "label": "OFPBDlYTIA9f5a02IMZF", - "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "amount_msat": 100000000, - "status": "unpaid", - "description": "OFPBDlYTIA9f5a02IMZF", - "expires_at": 1709229563, - "created_index": 1 - } - ] + "key": [ + "somekey" + ], + "generation": 0, + "hex": "736f6d6564617461", + "string": "somedata" }, { - "invoices": [ - { - "label": "r2fm2NS2lShNwR8MGHwy", - "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "amount_msat": 100000000, - "status": "unpaid", - "description": "r2fm2NS2lShNwR8MGHwy", - "expires_at": 1709229563, - "created_index": 1 - } - ] + "key": [ + "somekey" + ], + "generation": 1, + "hex": "736f6d656461", + "string": "someda" }, { - "invoices": [ - { - "label": "YR07QkHcieUMkSGD8VFv", - "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "amount_msat": 100000000, - "status": "unpaid", - "description": "YR07QkHcieUMkSGD8VFv", - "expires_at": 1709229627, - "created_index": 1 - } - ] + "key": [ + "somekey" + ], + "generation": 2, + "hex": "736f6d65646174", + "string": "somedat" }, { - "invoices": [ - { - "label": "nRt598eghJGkxAZ7CENJ", - "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "amount_msat": 100000000, - "status": "unpaid", - "description": "nRt598eghJGkxAZ7CENJ", - "expires_at": 1709229639, - "created_index": 1 - } - ] + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" }, { - "invoices": [ - { - "label": "OFnEKAYYfz6VgFWcXSZC", - "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m", - "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", - "amount_msat": 200000000, - "status": "unpaid", - "description": "OFnEKAYYfz6VgFWcXSZC", - "expires_at": 1709229651, - "created_index": 1 - } - ] - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-waitinvoice(7)", - "lightning-delinvoice(7)", - "lightning-invoice(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listnodes.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listnodes", - "title": "Command to get the list of nodes in the known network.", - "description": [ - "The **listnodes** command returns nodes the node has learned about via gossip messages, or a single one if the node *id* was specified." - ], - "request": { - "required": [], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The public key of the node to list." - ] - } - } - }, - "response": { - "required": [ - "nodes" - ], - "properties": { - "nodes": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "nodeid" - ], - "properties": { - "nodeid": { - "type": "pubkey", - "description": [ - "The public key of the node." - ] - }, - "last_timestamp": { - "type": "u32", - "description": [ - "A node_announcement has been received for this node (UNIX timestamp)." - ] - } - }, - "allOf": [ - { - "if": { - "required": [ - "last_timestamp" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "nodeid", - "last_timestamp", - "alias", - "color", - "features", - "addresses" - ], - "properties": { - "nodeid": {}, - "last_timestamp": {}, - "option_will_fund": {}, - "alias": { - "type": "string", - "description": [ - "The fun alias this node advertized." - ], - "maxLength": 32 - }, - "color": { - "type": "hex", - "description": [ - "The favorite RGB color this node advertized." - ], - "minLength": 6, - "maxLength": 6 - }, - "features": { - "type": "hex", - "description": [ - "BOLT #9 features bitmap this node advertized." - ] - }, - "addresses": { - "type": "array", - "description": [ - "The addresses this node advertized." - ], - "items": { - "type": "object", - "required": [ - "type", - "port" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": [ - "Type of connection (until 23.08, `websocket` was also allowed)." - ] - }, - "port": { - "type": "u16", - "description": [ - "Port number." - ] - } - }, - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { - "required": [ - "type", - "address", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {}, - "address": { - "type": "string", - "description": [ - "Address in expected format for **type**." - ] - } - } - }, - "else": { - "required": [ - "type", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {} - } - } - } - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "nodeid": {} - } - } - }, - { - "if": { - "required": [ - "option_will_fund" - ] - }, - "then": { - "additionalProperties": true, - "required": [ - "option_will_fund" - ], - "properties": { - "option_will_fund": { - "type": "object", - "additionalProperties": false, - "required": [ - "lease_fee_base_msat", - "lease_fee_basis", - "funding_weight", - "channel_fee_max_base_msat", - "channel_fee_max_proportional_thousandths", - "compact_lease" - ], - "properties": { - "lease_fee_base_msat": { - "type": "msat", - "description": [ - "The fixed fee for a lease (whole number of satoshis)." - ] - }, - "lease_fee_basis": { - "type": "u32", - "description": [ - "The proportional fee in basis points (parts per 10,000) for a lease." - ] - }, - "funding_weight": { - "type": "u32", - "description": [ - "The onchain weight you'll have to pay for a lease." - ] - }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": [ - "The maximum base routing fee this node will charge during the lease." - ] - }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": [ - "The maximum proportional routing fee this node will charge during the lease (in thousandths, not millionths like channel_update)." - ] - }, - "compact_lease": { - "type": "hex", - "description": [ - "The lease as represented in the node_announcement." - ] - } - } - } - } - } - } - ] - } - } - } - }, - "example_json_request": [ + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + }, { - "id": "example:listnodes#1", - "method": "listnodes", - "params": { - "id": "02e29856dab8ddd9044c18486e4cab79ec717b490447af2d4831e290e48d57638a" - } + "key": [ + "badstring" + ], + "generation": 0, + "hex": "00" }, { - "id": "example:listnodes#2", - "method": "listnodes", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "key": [ + "otherkey" + ], + "generation": 1, + "hex": "6f746865726461746161", + "string": "otherdataa" }, { - "id": "example:listnodes#3", - "method": "listnodes", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } + "key": [ + "a" + ], + "generation": 0, + "hex": "6176616c", + "string": "aval" }, { - "id": "example:listnodes#4", - "method": "listnodes", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "key": [ + "a", + "b" + ], + "generation": 0, + "hex": "616276616c", + "string": "abval" }, { - "id": "example:listnodes#5", - "method": "listnodes", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } + "key": [ + "a", + "b2" + ], + "generation": 0, + "hex": "61623276616c", + "string": "ab2val" }, { - "id": "example:listnodes#6", - "method": "listnodes", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "key": [ + "a", + "b3", + "c" + ], + "generation": 0, + "hex": "61623276616c", + "string": "ab2val" }, { - "id": "example:listnodes#7", - "method": "listnodes", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } + "key": [ + "a", + "b3", + "c" + ], + "generation": 1, + "hex": "61623276616c32", + "string": "ab2val2" }, { - "id": "example:listnodes#8", - "method": "listnodes", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "key": [ + "a", + "b" + ], + "generation": 0, + "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", + "string": "somedatatostoreinthedatastore" }, { - "id": "example:listnodes#9", - "method": "listnodes", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" - } + "key": [ + "a", + "c" + ], + "generation": 0, + "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", + "string": "somedatatostoreinthedatastore" }, { - "id": "example:listnodes#10", - "method": "listnodes", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" - } + "key": [ + "a", + "thisissomelongkeythattriestostore46bytesofdata" + ], + "generation": 0, + "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", + "string": "somedatatostoreinthedatastore" }, { - "id": "example:listnodes#11", - "method": "listnodes", + "key": [ + "thisissomelongkeythattriestostore46bytesofdata", + "a" + ], + "generation": 0, + "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", + "string": "somedatatostoreinthedatastore" + }, + { + "key": [ + "a", + "d", + "e", + "f", + "g" + ], + "generation": 0, + "hex": "736f6d6564617461746f73746f7265696e7468656461746173746f7265", + "string": "somedatatostoreinthedatastore" + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listdatastore(7)", + "lightning-deldatastore(7)", + "lightning-datastoreusage(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-datastoreusage.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.11", + "rpc": "datastoreusage", + "title": "Command for listing datastore usage info", + "description": [ + "The **datastoreusage** RPC command allows the caller to fetch the total bytes that are stored under a certain *key* (or from the root), including the size of the *key*.", + "", + "All descendants of the *key* (or root) are taken into account." + ], + "request": { + "required": [], + "properties": { + "key": { + "oneOf": [ + { + "type": "array", + "description": [ + "Key is an array of values (though a single value is treated as a one-element array). Used as the starting point to traverse the datastore." + ], + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + } + } + }, + "response": { + "required": [ + "datastoreusage" + ], + "properties": { + "datastoreusage": { + "type": "object", + "additionalProperties": false, + "required": [ + "key", + "total_bytes" + ], + "properties": { + "key": { + "type": "string", + "description": [ + "The key from which the database was traversed." + ] + }, + "total_bytes": { + "type": "u64", + "description": [ + "The total bytes that are stored under the *key*, including the all descendants data and the size of the keys themselves." + ] + } + } + } + } + }, + "example_json_request": [ + { + "id": "example:datastoreusage#1", + "method": "datastoreusage", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "key": null } }, { - "id": "example:listnodes#12", - "method": "listnodes", + "id": "example:datastoreusage#2", + "method": "datastoreusage", "params": { - "id": null + "key": null } }, { - "id": "example:listnodes#13", - "method": "listnodes", + "id": "example:datastoreusage#3", + "method": "datastoreusage", "params": { - "id": null + "key": null } }, { - "id": "example:listnodes#14", - "method": "listnodes", + "id": "example:datastoreusage#4", + "method": "datastoreusage", "params": { - "id": null + "key": null } }, { - "id": "example:listnodes#15", - "method": "listnodes", + "id": "example:datastoreusage#5", + "method": "datastoreusage", "params": { - "id": null + "key": "a" } }, { - "id": "example:listnodes#16", - "method": "listnodes", + "id": "example:datastoreusage#6", + "method": "datastoreusage", "params": { - "id": null + "key": [ + "a", + "b" + ] } }, { - "id": "example:listnodes#17", - "method": "listnodes", + "id": "example:datastoreusage#7", + "method": "datastoreusage", "params": { - "id": null + "key": null } }, { - "id": "example:listnodes#18", - "method": "listnodes", + "id": "example:datastoreusage#8", + "method": "datastoreusage", "params": { - "id": null + "key": [ + "a", + "b" + ] } }, { - "id": "example:listnodes#19", - "method": "listnodes", + "id": "example:datastoreusage#9", + "method": "datastoreusage", "params": { - "id": null + "key": [ + "a", + "c" + ] } }, { - "id": "example:listnodes#20", - "method": "listnodes", + "id": "example:datastoreusage#10", + "method": "datastoreusage", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "key": null } }, { - "id": "example:listnodes#21", - "method": "listnodes", + "id": "example:datastoreusage#11", + "method": "datastoreusage", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "key": [ + "a", + "thisissomelongkeythattriestostore46bytesofdata" + ] } }, { - "id": "example:listnodes#22", - "method": "listnodes", + "id": "example:datastoreusage#12", + "method": "datastoreusage", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "key": [ + "thisissomelongkeythattriestostore46bytesofdata", + "a" + ] } }, { - "id": "example:listnodes#23", - "method": "listnodes", + "id": "example:datastoreusage#13", + "method": "datastoreusage", "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" + "key": [ + "a", + "d", + "e", + "f", + "g" + ] } }, { - "id": "example:listnodes#24", - "method": "listnodes", + "id": "example:datastoreusage#14", + "method": "datastoreusage", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "key": null } } ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], "example_json_response": [ { - "nodes": [ - { - "nodeid": "02e29856dab8ddd9044c14586e4cab79ec717b490447af2d4831e290e48d58638a", - "alias": "some_alias", - "color": "68f442", - "last_timestamp": 1597213741, - "features": "02a2a1", - "addresses": [ - { - "type": "ipv4", - "address": "zzz.yy.xx.xx", - "port": 9735 - } - ] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-1-102-g7549e10-modded", - "color": "0266e4", - "last_timestamp": 1706153404, - "features": "88a0000a0a69a2", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-102-g7549e10-modded", - "color": "022d22", - "last_timestamp": 1706153404, - "features": "88a0000a0a69a2", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624222, - "features": "88a0000a8a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624222, - "features": "88a0000a8a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624222, - "features": "88a0000a8a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624222, - "features": "88a0000a8a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624617, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[]", + "total_bytes": 0 + } }, { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624617, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[]", + "total_bytes": 32 + } }, { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624617, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[]", + "total_bytes": 0 + } }, { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624617, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[]", + "total_bytes": 32 + } }, { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[a]", + "total_bytes": 32 + } }, { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[a,b]", + "total_bytes": 32 + } }, { - "nodes": [ - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[]", + "total_bytes": 64 + } }, { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] - } - ] + "datastoreusage": { + "key": "[a,b]", + "total_bytes": 32 + } }, { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] + "datastoreusage": { + "key": "[a,c]", + "total_bytes": 32 + } + }, + { + "datastoreusage": { + "key": "[]", + "total_bytes": 141 + } + }, + { + "datastoreusage": { + "key": "[a,thisissomelongkeythattriestostore46bytesofdata]", + "total_bytes": 77 + } + }, + { + "datastoreusage": { + "key": "[thisissomelongkeythattriestostore46bytesofdata,a]", + "total_bytes": 77 + } + }, + { + "datastoreusage": { + "key": "[a,d,e,f,g]", + "total_bytes": 38 + } + }, + { + "datastoreusage": { + "key": "[]", + "total_bytes": 256 + } + } + ], + "author": [ + "Peter Neuroth <> is mainly responsible." + ], + "see_also": [ + "lightning-datastore(7)", + "lightning-deldatastore(7)", + "lightning-listdatastore(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-decode.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.05", + "rpc": "decode", + "title": "Command for decoding an invoice string (low-level)", + "description": [ + "The **decode** RPC command checks and parses `bolt11`, `bolt12`, `rune` or `emergency_recover`. It may decode other formats in future." + ], + "request": { + "required": [ + "string" + ], + "properties": { + "string": { + "type": "string", + "description": [ + "Value to be decoded:", + " * a *bolt11* or *bolt12* string (optionally prefixed by `lightning:` or `LIGHTNING:`) as specified by the BOLT 11 and BOLT 12 specifications.", + " * a *rune* as created by lightning-commando-rune(7).", + " * an *emergency_recover* string generated by hsmtool like `lightning-hsmtool getemergencyrecover `. It holds `emergency.recover` contents and starts with `clnemerg1`." + ] + } + } + }, + "response": { + "required": [ + "type", + "valid" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 offer", + "bolt12 invoice", + "bolt12 invoice_request", + "bolt11 invoice", + "rune", + "emergency recover" + ], + "description": [ + "What kind of object it decoded to." + ] + }, + "valid": { + "type": "boolean", + "description": [ + "If this is false, you *MUST* not use the result except for diagnostics!" + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 offer" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] + "then": { + "required": [ + "offer_id", + "offer_node_id", + "offer_description" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "offer_id": { + "type": "hex", + "description": [ + "The id we use to identify this offer." + ], + "maxLength": 64, + "minLength": 64 + }, + "offer_chains": { + "type": "array", + "description": [ + "Which blockchains this offer is for (missing implies bitcoin mainnet only)." + ], + "items": { + "type": "hash", + "description": [ + "The genesis blockhash." + ] + } + }, + "offer_metadata": { + "type": "hex", + "description": [ + "Any metadata the creator of the offer includes." + ] + }, + "offer_currency": { + "type": "string", + "description": [ + "ISO 4217 code of the currency (missing implies Bitcoin)." + ], + "maxLength": 3, + "minLength": 3 + }, + "warning_unknown_offer_currency": { + "type": "string", + "description": [ + "The currency code is unknown (so no `currency_minor_unit`)." + ] + }, + "currency_minor_unit": { + "type": "u32", + "description": [ + "The number of decimal places to apply to amount (if currency known)." + ] + }, + "offer_amount": { + "type": "u64", + "description": [ + "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." + ] + }, + "offer_amount_msat": { + "type": "msat", + "description": [ + "The amount in bitcoin (if specified, and no `offer_currency`)." + ] + }, + "offer_description": { + "type": "string", + "description": [ + "The description of the purpose of the offer." + ] + }, + "offer_issuer": { + "type": "string", + "description": [ + "The description of the creator of the offer." + ] + }, + "offer_features": { + "type": "hex", + "description": [ + "The feature bits of the offer." + ] + }, + "offer_absolute_expiry": { + "type": "u64", + "description": [ + "UNIX timestamp of when this offer expires." + ] + }, + "offer_quantity_max": { + "type": "u64", + "description": [ + "The maximum quantity (or, if 0, means any quantity)." + ] + }, + "offer_paths": { + "type": "array", + "description": [ + "Paths to the destination." + ], + "items": { + "type": "object", + "required": [ + "first_node_id", + "blinding", + "path" + ], + "additionalProperties": false, + "properties": { + "first_node_id": { + "type": "pubkey", + "description": [ + "The (presumably well-known) public key of the start of the path." + ] + }, + "blinding": { + "type": "pubkey", + "description": [ + "Blinding factor for this path." + ] + }, + "path": { + "type": "array", + "description": [ + "An individual path." + ], + "items": { + "type": "object", + "required": [ + "blinded_node_id", + "encrypted_recipient_data" + ], + "additionalProperties": false, + "properties": { + "blinded_node_id": { + "type": "pubkey", + "description": [ + "Node_id of the hop." + ] + }, + "encrypted_recipient_data": { + "type": "hex", + "description": [ + "Encrypted TLV entry for this hop." + ] + } + } + } + } + } + } + }, + "offer_node_id": { + "type": "pubkey", + "description": [ + "Public key of the offering node." + ] + }, + "offer_recurrence": { + "type": "object", + "description": [ + "How often to this offer should be used." + ], + "required": [ + "period", + "time_unit" + ], + "additionalProperties": false, + "properties": { + "time_unit": { + "type": "u32", + "description": [ + "The BOLT12 time unit." + ] + }, + "time_unit_name": { + "type": "string", + "description": [ + "The name of `time_unit` (if valid)." + ] + }, + "period": { + "type": "u32", + "description": [ + "How many `time_unit` per payment period." + ] + }, + "basetime": { + "type": "u64", + "description": [ + "Period starts at this UNIX timestamp." + ] + }, + "start_any_period": { + "type": "u64", + "description": [ + "You can start at any period (only if `basetime` present)." + ] + }, + "limit": { + "type": "u32", + "description": [ + "Maximum period number for recurrence." + ] + }, + "paywindow": { + "type": "object", + "description": [ + "When within a period will payment be accepted." + ], + "default": "prior and during the period", + "required": [ + "seconds_before", + "seconds_after" + ], + "additionalProperties": false, + "properties": { + "seconds_before": { + "type": "u32", + "description": [ + "Seconds prior to period start." + ] + }, + "seconds_after": { + "type": "u32", + "description": [ + "Seconds after to period start." + ] + }, + "proportional_amount": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Amount should be scaled if paid after period start." + ] + } + } + } + } + }, + "unknown_offer_tlvs": { + "type": "array", + "description": [ + "Any extra fields we didn't know how to parse." + ], + "items": { + "type": "object", + "required": [ + "type", + "length", + "value" + ], + "additionalProperties": false, + "properties": { + "type": { + "type": "u64", + "description": [ + "The type." + ] + }, + "length": { + "type": "u64", + "description": [ + "The length." + ] + }, + "value": { + "type": "hex", + "description": [ + "The value." + ] + } + } + } + } + } } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 offer" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + false + ] + } + } }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] + "then": { + "required": [], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "offer_id": {}, + "node_id": {}, + "signature": {}, + "chains": {}, + "currency": {}, + "minor_unit": {}, + "warning_unknown_offer_currency": {}, + "amount": {}, + "amount_msat": {}, + "send_invoice": {}, + "description": {}, + "vendor": {}, + "features": {}, + "absolute_expiry": {}, + "paths": {}, + "quantity_max": {}, + "unknown_offer_tlvs": {}, + "recurrence": {}, + "warning_missing_offer_node_id": { + "type": "string", + "description": [ + "`offer_node_id` is not present." + ] + }, + "warning_invalid_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not valid UTF8." + ] + }, + "warning_missing_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not present." + ] + }, + "warning_invalid_offer_currency": { + "type": "string", + "description": [ + "`offer_currency_code` is not valid UTF8." + ] + }, + "warning_invalid_offer_issuer": { + "type": "string", + "description": [ + "`offer_issuer` is not valid UTF8." + ] + } + } } - ] - }, - { - "nodes": [ - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 invoice_request" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] + "then": { + "required": [ + "offer_node_id", + "offer_description", + "invreq_metadata", + "invreq_payer_id", + "signature" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "offer_id": { + "type": "hex", + "description": [ + "The id we use to identify this offer." + ], + "maxLength": 64, + "minLength": 64 + }, + "offer_chains": { + "type": "array", + "description": [ + "Which blockchains this offer is for (missing implies bitcoin mainnet only)." + ], + "items": { + "type": "hex", + "description": [ + "The genesis blockhash." + ], + "maxLength": 64, + "minLength": 64 + } + }, + "offer_metadata": { + "type": "hex", + "description": [ + "Any metadata the creator of the offer includes." + ] + }, + "offer_currency": { + "type": "string", + "description": [ + "ISO 4217 code of the currency (missing implies Bitcoin)." + ], + "maxLength": 3, + "minLength": 3 + }, + "warning_unknown_offer_currency": { + "type": "string", + "description": [ + "The currency code is unknown (so no `currency_minor_unit`)." + ] + }, + "currency_minor_unit": { + "type": "u32", + "description": [ + "The number of decimal places to apply to amount (if currency known)." + ] + }, + "offer_amount": { + "type": "u64", + "description": [ + "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." + ] + }, + "offer_amount_msat": { + "type": "msat", + "description": [ + "The amount in bitcoin (if specified, and no `offer_currency`)." + ] + }, + "offer_description": { + "type": "string", + "description": [ + "The description of the purpose of the offer." + ] + }, + "offer_issuer": { + "type": "string", + "description": [ + "The description of the creator of the offer." + ] + }, + "offer_features": { + "type": "hex", + "description": [ + "The feature bits of the offer." + ] + }, + "offer_absolute_expiry": { + "type": "u64", + "description": [ + "UNIX timestamp of when this offer expires." + ] + }, + "offer_quantity_max": { + "type": "u64", + "description": [ + "The maximum quantity (or, if 0, means any quantity)." + ] + }, + "offer_paths": { + "type": "array", + "description": [ + "Paths to the destination." + ], + "items": { + "type": "object", + "required": [ + "first_node_id", + "blinding", + "path" + ], + "additionalProperties": false, + "properties": { + "first_node_id": { + "type": "pubkey", + "description": [ + "The (presumably well-known) public key of the start of the path." + ] + }, + "blinding": { + "type": "pubkey", + "description": [ + "Blinding factor for this path." + ] + }, + "path": { + "type": "array", + "description": [ + "An individual path." + ], + "items": { + "type": "object", + "required": [ + "blinded_node_id", + "encrypted_recipient_data" + ], + "additionalProperties": false, + "properties": { + "blinded_node_id": { + "type": "pubkey", + "description": [ + "Node_id of the hop." + ] + }, + "encrypted_recipient_data": { + "type": "hex", + "description": [ + "Encrypted TLV entry for this hop." + ] + } + } + } + } + } + } + }, + "offer_node_id": { + "type": "pubkey", + "description": [ + "Public key of the offering node." + ] + }, + "offer_recurrence": { + "type": "object", + "description": [ + "How often to this offer should be used." + ], + "required": [ + "period", + "time_unit" + ], + "additionalProperties": false, + "properties": { + "time_unit": { + "type": "u32", + "description": [ + "The BOLT12 time unit." + ] + }, + "time_unit_name": { + "type": "string", + "description": [ + "The name of `time_unit` (if valid)." + ] + }, + "period": { + "type": "u32", + "description": [ + "How many `time_unit` per payment period." + ] + }, + "basetime": { + "type": "u64", + "description": [ + "Period starts at this UNIX timestamp." + ] + }, + "start_any_period": { + "type": "u64", + "description": [ + "You can start at any period (only if `basetime` present)." + ] + }, + "limit": { + "type": "u32", + "description": [ + "Maximum period number for recurrence." + ] + }, + "paywindow": { + "type": "object", + "description": [ + "When within a period will payment be accepted." + ], + "default": "prior and during the period", + "required": [ + "seconds_before", + "seconds_after" + ], + "additionalProperties": false, + "properties": { + "seconds_before": { + "type": "u32", + "description": [ + "Seconds prior to period start." + ] + }, + "seconds_after": { + "type": "u32", + "description": [ + "Seconds after to period start." + ] + }, + "proportional_amount": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Amount should be scaled if paid after period start." + ] + } + } + } + } + }, + "invreq_metadata": { + "type": "hex", + "description": [ + "The payer-provided blob to derive invreq_payer_id." + ] + }, + "invreq_payer_id": { + "type": "hex", + "description": [ + "The payer-provided key." + ] + }, + "invreq_chain": { + "type": "hex", + "description": [ + "Which blockchain this offer is for (missing implies bitcoin mainnet only)." + ], + "maxLength": 64, + "minLength": 64 + }, + "invreq_amount_msat": { + "type": "msat", + "description": [ + "The amount the invoice should be for." + ] + }, + "invreq_features": { + "type": "hex", + "description": [ + "The feature bits of the invoice_request." + ] + }, + "invreq_quantity": { + "type": "u64", + "description": [ + "The number of items to invoice for." + ] + }, + "invreq_payer_note": { + "type": "string", + "description": [ + "A note attached by the payer." + ] + }, + "invreq_recurrence_counter": { + "type": "u32", + "description": [ + "Which number request this is for the same invoice." + ] + }, + "invreq_recurrence_start": { + "type": "u32", + "description": [ + "When we're requesting to start an invoice at a non-zero period." + ] + }, + "signature": { + "type": "bip340sig", + "description": [ + "BIP-340 signature of the `invreq_payer_id` on this invoice_request." + ] + }, + "unknown_invoice_request_tlvs": { + "type": "array", + "description": [ + "Any extra fields we didn't know how to parse." + ], + "items": { + "type": "object", + "required": [ + "type", + "length", + "value" + ], + "additionalProperties": false, + "properties": { + "type": { + "type": "u64", + "description": [ + "The type." + ] + }, + "length": { + "type": "u64", + "description": [ + "The length." + ] + }, + "value": { + "type": "hex", + "description": [ + "The value." + ] + } + } + } + } + } } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] - }, - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624765, - "features": "88a0000a8a5961", - "addresses": [] + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 invoice_request" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + false + ] + } + } }, - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624766, - "features": "88a0000a8a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624881, - "features": "88a0000a0a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "alias": "SILENTARTIST-v23.11-415-gd120eba", - "color": "022d22", - "last_timestamp": 1708624881, - "features": "88a0000a0a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "alias": "HOPPINGFIRE-v23.11-415-gd120eba", - "color": "035d2b", - "last_timestamp": 1708624881, - "features": "88a0000a0a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "alias": "JUNIORFELONY-v23.11-415-gd120eba", - "color": "0382ce", - "last_timestamp": 1708624881, - "features": "88a0000a0a5961", - "addresses": [] - } - ] - }, - { - "nodes": [ - { - "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "alias": "JUNIORBEAM-v23.11-415-gd120eba", - "color": "0266e4", - "last_timestamp": 1708624881, - "features": "88a0000a0a5961", - "addresses": [] + "then": { + "required": [], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "offer_id": {}, + "offer_chains": {}, + "offer_metadata": {}, + "offer_currency": {}, + "warning_unknown_offer_currency": {}, + "currency_minor_unit": {}, + "offer_amount": {}, + "offer_amount_msat": {}, + "offer_description": {}, + "offer_issuer": {}, + "offer_features": {}, + "offer_absolute_expiry": {}, + "offer_quantity_max": {}, + "offer_paths": {}, + "offer_node_id": {}, + "offer_recurrence": {}, + "invreq_metadata": {}, + "invreq_payer_id": {}, + "invreq_chain": {}, + "invreq_amount_msat": {}, + "invreq_features": {}, + "invreq_quantity": {}, + "invreq_payer_note": {}, + "invreq_recurrence_counter": {}, + "invreq_recurrence_start": {}, + "warning_invalid_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not valid UTF8." + ] + }, + "warning_missing_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not present." + ] + }, + "warning_invalid_offer_currency": { + "type": "string", + "description": [ + "`offer_currency_code` is not valid UTF8." + ] + }, + "warning_invalid_offer_issuer": { + "type": "string", + "description": [ + "`offer_issuer` is not valid UTF8." + ] + }, + "warning_missing_invreq_metadata": { + "type": "string", + "description": [ + "`invreq_metadata` is not present." + ] + }, + "warning_missing_invreq_payer_id": { + "type": "string", + "description": [ + "`invreq_payer_id` is not present." + ] + }, + "warning_invalid_invreq_payer_note": { + "type": "string", + "description": [ + "`invreq_payer_note` is not valid UTF8." + ] + }, + "warning_missing_invoice_request_signature": { + "type": "string", + "description": [ + "`signature` is not present." + ] + }, + "warning_invalid_invoice_request_signature": { + "type": "string", + "description": [ + "Incorrect `signature`." + ] + } + } } - ] - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-listchannels(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listoffers.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listoffers", - "title": "Command for listing offers", - "warning": "experimental-offers only", - "description": [ - "The **listoffers** RPC command list all offers, or with `offer_id`, only the offer with that offer_id (if it exists)." - ], - "request": { - "required": [], - "properties": { - "offer_id": { - "type": "hash", - "description": [ - "Offer_id to get details for (if it exists)." - ] }, - "active_only": { - "type": "boolean", - "description": [ - "If set and is true, only offers with `active` true are returned." - ] - } - } - }, - "response": { - "required": [ - "offers" - ], - "properties": { - "offers": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 invoice" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used" + "offer_node_id", + "offer_description", + "invreq_metadata", + "invreq_payer_id", + "invoice_paths", + "invoice_created_at", + "invoice_payment_hash", + "invoice_amount_msat", + "signature" ], + "additionalProperties": false, "properties": { + "type": {}, + "valid": {}, "offer_id": { - "type": "hash", + "type": "hex", "description": [ - "The id of this offer (merkle hash of non-signature fields)." + "The id we use to identify this offer." + ], + "maxLength": 64, + "minLength": 64 + }, + "offer_chains": { + "type": "array", + "description": [ + "Which blockchains this offer is for (missing implies bitcoin mainnet only)." + ], + "items": { + "type": "hex", + "description": [ + "The genesis blockhash." + ], + "maxLength": 64, + "minLength": 64 + } + }, + "offer_metadata": { + "type": "hex", + "description": [ + "Any metadata the creator of the offer includes." + ] + }, + "offer_currency": { + "type": "string", + "description": [ + "ISO 4217 code of the currency (missing implies Bitcoin)." + ], + "maxLength": 3, + "minLength": 3 + }, + "warning_unknown_offer_currency": { + "type": "string", + "description": [ + "The currency code is unknown (so no `currency_minor_unit`)." + ] + }, + "currency_minor_unit": { + "type": "u32", + "description": [ + "The number of decimal places to apply to amount (if currency known)." + ] + }, + "offer_amount": { + "type": "u64", + "description": [ + "The amount in the `offer_currency` adjusted by `currency_minor_unit`, if any." + ] + }, + "offer_amount_msat": { + "type": "msat", + "description": [ + "The amount in bitcoin (if specified, and no `offer_currency`)." + ] + }, + "offer_description": { + "type": "string", + "description": [ + "The description of the purpose of the offer." + ] + }, + "offer_issuer": { + "type": "string", + "description": [ + "The description of the creator of the offer." + ] + }, + "offer_features": { + "type": "hex", + "description": [ + "The feature bits of the offer." ] }, - "active": { - "type": "boolean", + "offer_absolute_expiry": { + "type": "u64", + "description": [ + "UNIX timestamp of when this offer expires." + ] + }, + "offer_quantity_max": { + "type": "u64", + "description": [ + "The maximum quantity (or, if 0, means any quantity)." + ] + }, + "offer_paths": { + "type": "array", + "description": [ + "Paths to the destination." + ], + "items": { + "type": "object", + "required": [ + "first_node_id", + "blinding", + "path" + ], + "additionalProperties": false, + "properties": { + "first_node_id": { + "type": "pubkey", + "description": [ + "The (presumably well-known) public key of the start of the path." + ] + }, + "blinding": { + "type": "pubkey", + "description": [ + "Blinding factor for this path." + ] + }, + "path": { + "type": "array", + "description": [ + "An individual path." + ], + "items": { + "type": "object", + "required": [ + "blinded_node_id", + "encrypted_recipient_data" + ], + "additionalProperties": false, + "properties": { + "blinded_node_id": { + "type": "pubkey", + "description": [ + "Node_id of the hop." + ] + }, + "encrypted_recipient_data": { + "type": "hex", + "description": [ + "Encrypted TLV entry for this hop." + ] + } + } + } + } + } + } + }, + "offer_node_id": { + "type": "pubkey", + "description": [ + "Public key of the offering node." + ] + }, + "offer_recurrence": { + "type": "object", + "description": [ + "How often to this offer should be used." + ], + "required": [ + "period", + "time_unit" + ], + "additionalProperties": false, + "properties": { + "time_unit": { + "type": "u32", + "description": [ + "The BOLT12 time unit." + ] + }, + "time_unit_name": { + "type": "string", + "description": [ + "The name of `time_unit` (if valid)." + ] + }, + "period": { + "type": "u32", + "description": [ + "How many `time_unit` per payment period." + ] + }, + "basetime": { + "type": "u64", + "description": [ + "Period starts at this UNIX timestamp." + ] + }, + "start_any_period": { + "type": "u64", + "description": [ + "You can start at any period (only if `basetime` present)." + ] + }, + "limit": { + "type": "u32", + "description": [ + "Maximum period number for recurrence." + ] + }, + "paywindow": { + "type": "object", + "description": [ + "When within a period will payment be accepted." + ], + "default": "prior and during the period", + "required": [ + "seconds_before", + "seconds_after" + ], + "additionalProperties": false, + "properties": { + "seconds_before": { + "type": "u32", + "description": [ + "Seconds prior to period start." + ] + }, + "seconds_after": { + "type": "u32", + "description": [ + "Seconds after to period start." + ] + }, + "proportional_amount": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Amount should be scaled if paid after period start." + ] + } + } + } + } + }, + "invreq_metadata": { + "type": "hex", "description": [ - "Whether this can still be used." + "The payer-provided blob to derive invreq_payer_id." ] }, - "single_use": { - "type": "boolean", + "invreq_payer_id": { + "type": "hex", "description": [ - "Whether this expires as soon as it's paid." + "The payer-provided key." ] }, - "bolt12": { - "type": "string", + "invreq_chain": { + "type": "hex", "description": [ - "The bolt12 encoding of the offer." - ] + "Which blockchain this offer is for (missing implies bitcoin mainnet only)." + ], + "maxLength": 64, + "minLength": 64 }, - "used": { - "type": "boolean", + "invreq_amount_msat": { + "type": "msat", "description": [ - "True if an associated invoice has been paid." + "The amount the invoice should be for." ] }, - "label": { - "type": "string", + "invreq_features": { + "type": "hex", "description": [ - "The (optional) user-specified label." + "The feature bits of the invoice_request." ] - } - } - } - } - } - }, - "example_json_request": [ - { - "id": "example:listoffers#1", - "method": "listoffers", - "params": { - "active_only": false - } - }, - { - "id": "example:listoffers#2", - "method": "listoffers", - "params": [ - "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48" - ] - }, - { - "id": "example:listoffers#3", - "method": "listoffers", - "params": [ - "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e" - ] - }, - { - "id": "example:listoffers#4", - "method": "listoffers", - "params": [ - "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48" - ] - }, - { - "id": "example:listoffers#5", - "method": "listoffers", - "params": [ - "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e" - ] - }, - { - "id": "example:listoffers#6", - "method": "listoffers", - "params": [ - "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc" - ] - }, - { - "id": "example:listoffers#7", - "method": "listoffers", - "params": [ - "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75" - ] - }, - { - "id": "example:listoffers#8", - "method": "listoffers", - "params": [ - "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8" - ] - }, - { - "id": "example:listoffers#9", - "method": "listoffers", - "params": [ - "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746" - ] - }, - { - "id": "example:listoffers#10", - "method": "listoffers", - "params": [ - "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa" - ] - }, - { - "id": "example:listoffers#11", - "method": "listoffers", - "params": [ - "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8" - ] - }, - { - "id": "example:listoffers#12", - "method": "listoffers", - "params": [ - "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89" - ] - }, - { - "id": "example:listoffers#13", - "method": "listoffers", - "params": [ - "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef" - ] - }, - { - "id": "example:listoffers#14", - "method": "listoffers", - "params": [ - "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb" - ] - }, - { - "id": "example:listoffers#15", - "method": "listoffers", - "params": [ - "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9" - ] - }, - { - "id": "example:listoffers#16", - "method": "listoffers", - "params": [ - "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb" - ] - }, - { - "id": "example:listoffers#17", - "method": "listoffers", - "params": [ - "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3" - ] - }, - { - "id": "example:listoffers#18", - "method": "listoffers", - "params": [ - "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8" - ] - }, - { - "id": "example:listoffers#19", - "method": "listoffers", - "params": [ - "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3" - ] - }, - { - "id": "example:listoffers#20", - "method": "listoffers", - "params": [ - "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89" - ] - }, - { - "id": "example:listoffers#21", - "method": "listoffers", - "params": [ - "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b" - ] - }, - { - "id": "example:listoffers#22", - "method": "listoffers", - "params": [ - "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f" - ] - }, - { - "id": "example:listoffers#23", - "method": "listoffers", - "params": [ - "6c102f831ae31cd5fbc8a4b2291cd4bc197b690a4b9b1a39b14fa9ed5b234621" - ] - }, - { - "id": "example:listoffers#24", - "method": "listoffers", - "params": [ - "9f30c5266065421b58a0565e0527c84a29aa70fa8dd6c6e2d631f66abe2f682b" - ] - } - ], - "example_json_response": [ - { - "offers": [ - { - "offer_id": "053a5c566fbea2681a5ff9c05a913da23e45b95d09ef5bd25d7d408f23da7084", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqvqcdgq2z9pk7enxv4jjqen0wgs8yatnw3ujz83qkc6rvp4j28rt3dtrn32zkvdy7efhnlrpr5rp5geqxs783wtlj550qs8czzku4nk3pqp6m593qxgunzuqcwkmgqkmp6ty0wyvjcqdguv3pnpukedwn6cr87m89t74h3auyaeg89xkvgzpac70z3m9rn5xzu28c", - "used": false - }, - { - "offer_id": "3247d3597fec19e362ca683416a48a0f76a44c1600725a7ee1936548feadacca", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgqgqlgzs3gdhkven9v5sxvmmjype82um50ys3ug9kxsmqdvj3c6ut2cuu2s4nrf8k2dulccgaqcdzxgp583utjlu49rcyqt8hc3s797umxn3r9367rdqc577rma7key58fywkajxnuzyapge86hj2pg80rjrma40xdqrxnsnva5l3ce7hz4ua8wf755dees4y9vnq", - "used": true - } - ] - }, - { - "offers": [ - { - "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2p36x2um5ypnx7u3qv9h8j93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgq9jq5rt5v4ehggrxdaezqv242dzpvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqdq423qgq9hq5yr5v4ehggrxdaezqvfwxycyz42yzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9zser9wd3hy6tsw35k7m3qtsszygqfyq9zpcur3t3c8vlrs2a78qanuwptjgp3u6w6793pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false, - "label": "label \\ \" \t \n" - } - ] - }, - { - "offers": [ - { - "offer_id": "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpg9kjumnw4jhygr5v4ehgy3gv3jhxcmjd9c8g6t0dcs9cgpzyqyjqz3quwpc4curk03c9wlrswe78q4eyqc7d8d0zcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgdhzatpde6xjaretakkz7pqv4uxjum5v4hxxefqw3jhxaq5qqtzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaq5qyppvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqwq3ja0jdpzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqqz", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqq5", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqrc", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqqykq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqquyq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqgegq", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsz", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqs5", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsw", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "6c102f831ae31cd5fbc8a4b2291cd4bc197b690a4b9b1a39b14fa9ed5b234621", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgq5v", - "used": false - } - ] - }, - { - "offers": [ - { - "offer_id": "9f30c5266065421b58a0565e0527c84a29aa70fa8dd6c6e2d631f66abe2f682b", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgpqz", - "used": false + }, + "invreq_quantity": { + "type": "u64", + "description": [ + "The number of items to invoice for." + ] + }, + "invreq_payer_note": { + "type": "string", + "description": [ + "A note attached by the payer." + ] + }, + "invreq_recurrence_counter": { + "type": "u32", + "description": [ + "Which number request this is for the same invoice." + ] + }, + "invreq_recurrence_start": { + "type": "u32", + "description": [ + "When we're requesting to start an invoice at a non-zero period." + ] + }, + "invoice_paths": { + "type": "array", + "description": [ + "Paths to pay the destination." + ], + "items": { + "type": "object", + "required": [ + "first_node_id", + "blinding", + "payinfo", + "path" + ], + "additionalProperties": false, + "properties": { + "first_node_id": { + "type": "pubkey", + "description": [ + "The (presumably well-known) public key of the start of the path." + ] + }, + "blinding": { + "type": "pubkey", + "description": [ + "Blinding factor for this path." + ] + }, + "payinfo": { + "type": "object", + "required": [ + "fee_base_msat", + "fee_proportional_millionths", + "cltv_expiry_delta", + "features" + ], + "additionalProperties": false, + "properties": { + "fee_base_msat": { + "type": "msat", + "description": [ + "Basefee for path." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "description": [ + "Proportional fee for path." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "description": [ + "CLTV delta for path." + ] + }, + "features": { + "type": "hex", + "description": [ + "Features allowed for path." + ] + } + } + }, + "path": { + "type": "array", + "description": [ + "An individual path." + ], + "items": { + "type": "object", + "required": [ + "blinded_node_id", + "encrypted_recipient_data" + ], + "additionalProperties": false, + "properties": { + "blinded_node_id": { + "type": "pubkey", + "description": [ + "Node_id of the hop." + ] + }, + "encrypted_recipient_data": { + "type": "hex", + "description": [ + "Encrypted TLV entry for this hop." + ] + } + } + } + } + } + } + }, + "invoice_created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp of invoice creation." + ] + }, + "invoice_relative_expiry": { + "type": "u32", + "description": [ + "The number of seconds after *invoice_created_at* when this expires." + ] + }, + "invoice_payment_hash": { + "type": "hex", + "description": [ + "The hash of the *payment_preimage*." + ], + "maxLength": 64, + "minLength": 64 + }, + "invoice_amount_msat": { + "type": "msat", + "description": [ + "The amount required to fulfill invoice." + ] + }, + "invoice_fallbacks": { + "type": "array", + "description": [ + "Onchain addresses." + ], + "items": { + "type": "object", + "required": [ + "version", + "hex" + ], + "additionalProperties": false, + "properties": { + "version": { + "type": "u8", + "description": [ + "Segwit address version." + ] + }, + "hex": { + "type": "hex", + "description": [ + "Raw encoded segwit address." + ] + }, + "address": { + "type": "string", + "description": [ + "Bech32 segwit address." + ] + } + } + } + }, + "invoice_features": { + "type": "hex", + "description": [ + "The feature bits of the invoice." + ] + }, + "invoice_node_id": { + "type": "pubkey", + "description": [ + "The id to pay (usually the same as offer_node_id)." + ] + }, + "invoice_recurrence_basetime": { + "type": "u64", + "description": [ + "The UNIX timestamp to base the invoice periods on." + ] + }, + "signature": { + "type": "bip340sig", + "description": [ + "BIP-340 signature of the `offer_node_id` on this invoice." + ] + }, + "unknown_invoice_tlvs": { + "type": "array", + "description": [ + "Any extra fields we didn't know how to parse." + ], + "items": { + "type": "object", + "required": [ + "type", + "length", + "value" + ], + "additionalProperties": false, + "properties": { + "type": { + "type": "u64", + "description": [ + "The type." + ] + }, + "length": { + "type": "u64", + "description": [ + "The length." + ] + }, + "value": { + "type": "hex", + "description": [ + "The value." + ] + } + } + } + } + } } - ] - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-offer(7)", - "lightning-listoffers(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listpays.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "listpays", - "title": "Command for querying payment status", - "description": [ - "The **listpay** RPC command gets the status of all *pay* commands, or a single one if either *bolt11* or *payment_hash* was specified." - ], - "request": { - "required": [], - "properties": { - "bolt11": { - "type": "string", - "description": [ - "Bolt11 string to get the payment details." - ] }, - "payment_hash": { - "type": "hash", - "description": [ - "Payment hash to get the payment details." - ] + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt12 invoice" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + false + ] + } + } + }, + "then": { + "required": [], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "offer_id": {}, + "offer_chains": {}, + "offer_metadata": {}, + "offer_currency": {}, + "warning_unknown_offer_currency": {}, + "currency_minor_unit": {}, + "offer_amount": {}, + "offer_amount_msat": {}, + "offer_description": {}, + "offer_issuer": {}, + "offer_features": {}, + "offer_absolute_expiry": {}, + "offer_quantity_max": {}, + "offer_paths": {}, + "offer_node_id": {}, + "offer_recurrence": {}, + "invreq_metadata": {}, + "invreq_payer_id": {}, + "invreq_chain": {}, + "invreq_amount_msat": {}, + "invreq_features": {}, + "invreq_quantity": {}, + "invreq_payer_note": {}, + "invreq_node_id": {}, + "invreq_recurrence_counter": {}, + "invreq_recurrence_start": {}, + "warning_invalid_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not valid UTF8." + ] + }, + "warning_missing_offer_description": { + "type": "string", + "description": [ + "`offer_description` is not present." + ] + }, + "warning_invalid_offer_currency": { + "type": "string", + "description": [ + "`offer_currency_code` is not valid UTF8." + ] + }, + "warning_invalid_offer_issuer": { + "type": "string", + "description": [ + "`offer_issuer` is not valid UTF8." + ] + }, + "warning_missing_invreq_metadata": { + "type": "string", + "description": [ + "`invreq_metadata` is not present." + ] + }, + "warning_invalid_invreq_payer_note": { + "type": "string", + "description": [ + "`invreq_payer_note` is not valid UTF8." + ] + }, + "warning_missing_invoice_paths": { + "type": "string", + "description": [ + "`invoice_paths` is not present." + ] + }, + "warning_missing_invoice_blindedpay": { + "type": "string", + "description": [ + "`invoice_blindedpay` is not present." + ] + }, + "warning_missing_invoice_created_at": { + "type": "string", + "description": [ + "`invoice_created_at` is not present." + ] + }, + "warning_missing_invoice_payment_hash": { + "type": "string", + "description": [ + "`invoice_payment_hash` is not present." + ] + }, + "warning_missing_invoice_amount": { + "type": "string", + "description": [ + "`invoice_amount` is not present." + ] + }, + "warning_missing_invoice_recurrence_basetime": { + "type": "string", + "description": [ + "`invoice_recurrence_basetime` is not present." + ] + }, + "warning_missing_invoice_node_id": { + "type": "string", + "description": [ + "`invoice_node_id` is not present." + ] + }, + "warning_missing_invoice_signature": { + "type": "string", + "description": [ + "`signature` is not present." + ] + }, + "warning_invalid_invoice_signature": { + "type": "string", + "description": [ + "Incorrect `signature`." + ] + }, + "fallbacks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "version", + "hex" + ], + "properties": { + "version": {}, + "hex": {}, + "address": {}, + "warning_invoice_fallbacks_version_invalid": { + "type": "string", + "description": [ + "`version` is > 16." + ] + } + } + } + } + } + } }, - "status": { - "type": "string", - "description": [ - "To filter the payment by status." - ], - "enum": [ - "pending", - "complete", - "failed" - ] - } - } - }, - "response": { - "required": [ - "pays" - ], - "properties": { - "pays": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bolt11 invoice" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { "required": [ + "currency", + "created_at", + "expiry", + "payee", + "min_final_cltv_expiry", "payment_hash", - "status", - "created_at" + "signature" ], + "additionalProperties": false, "properties": { + "type": {}, + "valid": {}, + "currency": { + "type": "string", + "description": [ + "The BIP173 name for the currency." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX-style timestamp of the invoice." + ] + }, + "expiry": { + "type": "u64", + "description": [ + "The number of seconds this is valid after `created_at`." + ] + }, + "payee": { + "type": "pubkey", + "description": [ + "The public key of the recipient." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount the invoice asked for." + ] + }, "payment_hash": { "type": "hash", "description": [ - "The hash of the *payment_preimage* which will prove payment." + "The hash of the *payment_preimage*." ] }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], + "signature": { + "type": "signature", "description": [ - "Status of the payment." + "Signature of the *payee* on this invoice." ] }, - "destination": { - "type": "pubkey", + "description": { + "type": "string", "description": [ - "The final destination of the payment if known." + "The description of the purpose of the purchase." ] }, - "created_at": { - "type": "u64", + "description_hash": { + "type": "hash", "description": [ - "The UNIX timestamp showing when this payment was initiated." + "The hash of the description, in place of *description*." ] }, - "completed_at": { - "type": "u64", + "min_final_cltv_expiry": { + "type": "u32", "description": [ - "The UNIX timestamp showing when this payment was completed." + "The minimum CLTV delay for the final node." ] }, - "label": { - "type": "string", + "payment_secret": { + "type": "secret", "description": [ - "The label, if given to sendpay." + "The secret to hand to the payee node." ] }, - "bolt11": { - "type": "string", + "features": { + "type": "hex", "description": [ - "The bolt11 string (if pay supplied one)." + "The features bitmap for this invoice." ] }, - "description": { - "type": "string", + "payment_metadata": { + "type": "hex", "description": [ - "The description matching the bolt11 description hash (if pay supplied one)." + "The payment_metadata to put in the payment." ] }, - "bolt12": { - "type": "string", + "fallbacks": { + "type": "array", "description": [ - "The bolt12 string (if supplied for pay: **experimental-offers** only)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, + "Onchain addresses." + ], + "items": { + "type": "object", "required": [ - "amount_sent_msat", - "preimage" + "type", + "hex" ], + "additionalProperties": false, "properties": { - "payment_hash": {}, - "status": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "amount_msat": { - "type": "msat", - "description": [ - "The amount of millisatoshi we intended to send to the destination." - ] - }, - "amount_sent_msat": { - "type": "msat", + "type": { + "type": "string", "description": [ - "The amount of millisatoshi we sent in order to pay (may include fees and not match amount_msat)." + "The address type (if known)." + ], + "enum": [ + "P2PKH", + "P2SH", + "P2WPKH", + "P2WSH", + "P2TR" ] }, - "preimage": { - "type": "secret", + "addr": { + "type": "string", "description": [ - "Proof of payment." + "The address in appropriate format for *type*." ] }, - "number_of_parts": { - "type": "u64", + "hex": { + "type": "hex", "description": [ - "The number of parts for a successful payment (only if more than one)." + "Raw encoded address." ] } } } }, - { - "if": { + "routes": { + "type": "array", + "description": [ + "Route hints to the *payee*." + ], + "items": { + "type": "array", + "description": [ + "Hops in the route." + ], + "items": { + "type": "object", + "required": [ + "pubkey", + "short_channel_id", + "fee_base_msat", + "fee_proportional_millionths", + "cltv_expiry_delta" + ], + "additionalProperties": false, + "properties": { + "pubkey": { + "type": "pubkey", + "description": [ + "The public key of the node." + ] + }, + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "A channel to the next peer." + ] + }, + "fee_base_msat": { + "type": "msat", + "description": [ + "The base fee for payments." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "description": [ + "The parts-per-million fee for payments." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "description": [ + "The CLTV delta across this hop." + ] + } + } + } + } + }, + "extra": { + "type": "array", + "description": [ + "Any extra fields we didn't know how to parse." + ], + "items": { + "type": "object", + "required": [ + "tag", + "data" + ], + "additionalProperties": false, "properties": { - "status": { + "tag": { "type": "string", - "enum": [ - "failed" + "description": [ + "The bech32 letter which identifies this field." + ], + "maxLength": 1, + "minLength": 1 + }, + "data": { + "type": "string", + "description": [ + "The bech32 data for this field." ] } } - }, - "then": { - "additionalProperties": false, + } + } + } + } + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "rune" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "required": [ + "string", + "restrictions", + "valid" + ], + "additionalProperties": false, + "properties": { + "unique_id": { + "type": "string", + "description": [ + "Unique id (always a numeric id on runes we create)." + ] + }, + "version": { + "type": "string", + "description": [ + "Rune version, not currently set on runes we create." + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + }, + "type": {}, + "string": { + "type": "string", + "description": [ + "The string encoding of the rune." + ] + }, + "restrictions": { + "type": "array", + "description": [ + "Restrictions built into the rune: all must pass." + ], + "items": { + "type": "object", "required": [ - "amount_sent_msat" + "alternatives", + "summary" ], + "additionalProperties": false, "properties": { - "payment_hash": {}, - "status": {}, - "destination": {}, - "created_at": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "amount_sent_msat": {}, - "erroronion": { - "type": "hex", + "alternatives": { + "type": "array", "description": [ - "The error onion returned on failure, if any." + "Each way restriction can be met: any can pass." + ], + "items": { + "type": "string", + "description": [ + "The alternative of form fieldname condition fieldname." + ] + } + }, + "summary": { + "type": "string", + "description": [ + "Human-readable summary of this restriction." ] } } } } - ] + } + } + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "rune" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + false + ] + } + } + }, + "then": { + "required": [ + "valid" + ], + "additionalProperties": false, + "properties": { + "valid": { + "type": "boolean", + "enum": [ + false + ] + }, + "type": {}, + "warning_rune_invalid_utf8": { + "type": "string", + "description": [ + "The rune contains invalid UTF-8 strings." + ] + }, + "hex": { + "type": "hex", + "description": [ + "The raw rune in hex." + ] + } + } + } + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "emergency recover" + ] + }, + "valid": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "required": [ + "decrypted" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "valid": {}, + "decrypted": { + "type": "hex", + "description": [ + "The decrypted value of the provided bech32 of emergency.recover." + ], + "added": "v23.11" + } + } } } - }, - "post_return_value_notes": [ - "The returned array is ordered by increasing **created_at** fields." ] }, "example_json_request": [ { - "id": "example:listpays#1", - "method": "listpays", - "params": { - "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#2", - "method": "listpays", - "params": { - "bolt11": "lnbcrt123n1pjmxp7qsp5u84368dz7yhzcqm955h96wdqch7uarasun45cr0vs5d8t0cv5avqpp5r9p0dp92guaatrmhf302m0dyj4n79gk93qu2l5tagfxq3dedgfqsdq5v3jhxcmjd9c8g6t0dc6qxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq46wu0fznfx27rcnyzhcttf8yqx3lwqs482yxlead0fyt8mefrrrj5m379fa5qukgquf9tnwsuj3nnfmwkzkfg6pyhzq6w8gauuh6m5cqgur64n", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#3", - "method": "listpays", - "params": { - "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#4", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#5", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#6", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#7", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#8", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#9", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#10", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - }, - { - "id": "example:listpays#11", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#1", + "method": "decode", + "params": [ + "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==" + ] }, { - "id": "example:listpays#12", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#2", + "method": "decode", + "params": [ + "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" + ] }, { - "id": "example:listpays#13", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#3", + "method": "decode", + "params": [ + "lnbcrt1m1pja0f2hsp5xyssdvdsu24dmmesrt6x84wfrm4mscsnzq7hl2suzeu90wy6g53qpp5zyyu3anwfsfl64pewe0tg7j28map2wwnhvaam5nt70rlwxa0cegqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqlgqqqq86qqqc9qxpqysgq7u4f99u4kepagme27t5c3gdl7czlnjaw7kxryxgm87w2j02j3g94r2vrukhpgedhcdkcdec27m7jrl2lvcr6uh3rdv9lgpz0vc0zcfcqnugjdw" + ] }, { - "id": "example:listpays#14", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#4", + "method": "decode", + "params": [ + "lnbcrt1m1pja0f2esp5uh4pqqccm55l5emrz7q0zrjdq06xcrsvx7re7wakk6thltnnhvmspp57ktsz35wh5qprw8zyqq3y2cwzkr3pnxjrktz5m8une55a439dl9qdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqlgqqqq86qqqc9qxpqysgqhvjyd84vflvjnv6hw3p3sxg9yn6k9sr6n0gs0326x5my36nj8px5nv2qay0jrlng37aasve60sxjnss34ry57glqfcmh89gnvhxg7hcq5etyz2" + ] }, { - "id": "example:listpays#15", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#5", + "method": "decode", + "params": [ + "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==" + ] }, { - "id": "example:listpays#16", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#6", + "method": "decode", + "params": [ + "zm0x_eLgHexaTvZn3Cz7gb_YlvrlYGDo_w4BYlR9SS09MSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" + ] }, { - "id": "example:listpays#17", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#7", + "method": "decode", + "params": [ + "YPojv9qgHPa3im0eiqRb-g8aRq76OasyfltGGqdFUOU9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJz" + ] }, { - "id": "example:listpays#18", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#8", + "method": "decode", + "params": [ + "Zm7A2mKkLnd5l6Er_OMAHzGKba97ij8lA-MpNYMw9nk9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8=" + ] }, { - "id": "example:listpays#19", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#9", + "method": "decode", + "params": [ + "m_tyR0qqHUuLEbFJW6AhmBg-9npxVX2yKocQBFi9cvY9MyZpZF4wMjJkMjIzNjIwYTM1OWE0N2ZmNyZtZXRob2Q9bGlzdHBlZXJzJnBuYW1lbGV2ZWwhfHBuYW1lbGV2ZWwvaW8mcGFycjEhfHBhcnIxL2lv" + ] }, { - "id": "example:listpays#20", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#10", + "method": "decode", + "params": [ + "enX0sTpHB8y1ktyTAF80CnEvGetG340Ne3AGItudBS49NCZwbnVtPTA=" + ] }, { - "id": "example:listpays#21", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#11", + "method": "decode", + "params": [ + "_h2eKjoK7ITAF-JQ1S5oum9oMQesrz-t1FR9kDChRB49NCZwbnVtPTAmcmF0ZT0z" + ] }, { - "id": "example:listpays#22", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } + "id": "example:decode#12", + "method": "decode", + "params": [ + "U1GDXqXRvfN1A4WmDVETazU9YnvMsDyt7WwNzpY0khE9NCZwbnVtPTAmcmF0ZT0zJnJhdGU9MQ==" + ] }, { - "id": "example:listpays#23", - "method": "listpays", - "params": { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "payment_hash": null, - "status": null - } - } - ], - "example_json_response": [ + "id": "example:decode#13", + "method": "decode", + "params": [ + "mxHwVsC_W-PH7r79wXQWqxBNHaHncIqIjEPyP_vGOsE9MiZ0aW1lPjE2NTY2NzUyMTE=" + ] + }, { - "pays": [ - { - "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "bf75a41a19d1e559ebd4a33ca295b3d82ae8d50178a66e3cc2eddb8ac443455e", - "status": "failed", - "created_at": 1706231854, - "amount_sent_msat": 0 - } + "id": "example:decode#14", + "method": "decode", + "params": [ + "5zi6-ugA6hC4_XZ0R7snl5IuiQX4ugL4gm9BQKYaKUU9gCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt123n1pjmxp7qsp5u84368dz7yhzcqm955h96wdqch7uarasun45cr0vs5d8t0cv5avqpp5r9p0dp92guaatrmhf302m0dyj4n79gk93qu2l5tagfxq3dedgfqsdq5v3jhxcmjd9c8g6t0dc6qxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq46wu0fznfx27rcnyzhcttf8yqx3lwqs482yxlead0fyt8mefrrrj5m379fa5qukgquf9tnwsuj3nnfmwkzkfg6pyhzq6w8gauuh6m5cqgur64n", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "1942f684aa473bd58f774c5eadbda49567e2a2c58838afd17d424c08b72d4241", - "status": "complete", - "created_at": 1706231849, - "completed_at": 1706231854, - "preimage": "89ce412a2089cbcb72a73ce755337cf693859ea58f21ef0d1caf286a9b0f2a7c", - "amount_msat": 12300, - "amount_sent_msat": 12301 - } + "id": "example:decode#15", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9ASZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", - "description": "One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", - "status": "complete", - "created_at": 1708633906, - "completed_at": 1708633907, - "preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", - "amount_msat": 42, - "amount_sent_msat": 42 - } + "id": "example:decode#16", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9AiZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [] + "id": "example:decode#17", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9AyZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" + ] }, { - "pays": [] + "id": "example:decode#18", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" + ] }, { - "pays": [ - { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } + "id": "example:decode#19", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } + "id": "example:decode#20", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9BiZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } + "id": "example:decode#21", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9ByZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } + "id": "example:decode#22", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9CCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] }, { - "pays": [ - { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } + "id": "example:decode#23", + "method": "decode", + "params": [ + "oVkzoiQ67VCU1h_aRjPqCeWktGX54ARDsqqQgDL-uMs9CSZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl" ] + } + ], + "example_json_response": [ + { + "type": "rune", + "unique_id": "0", + "string": "392a9cee2c58e85fa08dc8a005fc6dcca508e78bb3805480e987c14285860d5f:=0", + "restrictions": [], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "1", + "string": "ce6d31fde2e01dec5a4ef667dc2cfb81bfd896fae56060e8ff0e0162547d492d:=1&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "bolt11 invoice", + "currency": "bcrt", + "created_at": 1708631383, + "expiry": 604800, + "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "description": "description", + "min_final_cltv_expiry": 5, + "payment_secret": "312106b1b0e2aaddef301af463d5c91eebb86213103d7faa1c167857b89a4522", + "features": "02024100", + "routes": [ + [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "fee_base_msat": 1000, + "fee_proportional_millionths": 1000, + "cltv_expiry_delta": 6 + } + ] + ], + "payment_hash": "1109c8f66e4c13fd5439765eb47a4a3efa1539d3bb3bddd26bf3c7f71bafc650", + "signature": "3045022100f72a929795b643d46f2af2e988a1bff605f9cbaef58c32191b3f9ca93d528a0b022051a983e5ae1465b7c36d86e70af6fd21fd5f6607ae5e236b0bf4044f661e2c27", + "valid": true + }, + { + "type": "bolt11 invoice", + "currency": "bcrt", + "created_at": 1708631385, + "expiry": 604800, + "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "description": "description", + "min_final_cltv_expiry": 5, + "payment_secret": "e5ea100318dd29fa67631780f10e4d03f46c0e0c37879f3bb6b6977fae73bb37", + "features": "02024100", + "routes": [ + [ + { + "pubkey": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "fee_base_msat": 1000, + "fee_proportional_millionths": 1000, + "cltv_expiry_delta": 6 + } + ] + ], + "payment_hash": "f59701468ebd0011b8e22001122b0e158710ccd21d962a6cfc9e694ed6256fca", + "signature": "3045022100bb24469eac4fd929b357744318190524f562c07a9bd107c55a353648ea72384d022049b140e91f21fe688fbbd8333a7c0d29c211a8c94f23e04e3773951365cc8f5f", + "valid": true + }, + { + "type": "rune", + "unique_id": "0", + "string": "392a9cee2c58e85fa08dc8a005fc6dcca508e78bb3805480e987c14285860d5f:=0", + "restrictions": [], + "valid": true + }, + { + "type": "rune", + "unique_id": "1", + "string": "ce6d31fde2e01dec5a4ef667dc2cfb81bfd896fae56060e8ff0e0162547d492d:=1&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "3", + "string": "60fa23bfdaa01cf6b78a6d1e8aa45bfa0f1a46aefa39ab327e5b461aa74550e5:=3&id^022d223620a359a47ff7&method=listpeers", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "id^022d223620a359a47ff7" + ], + "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" + }, + { + "alternatives": [ + "method=listpeers" + ], + "summary": "method (of command) equal to 'listpeers'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "3", + "string": "666ec0da62a42e777997a12bfce3001f318a6daf7b8a3f2503e329358330f679:=3&id^022d223620a359a47ff7&method=listpeers&pnamelevel!|pnamelevel/io", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "id^022d223620a359a47ff7" + ], + "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" + }, + { + "alternatives": [ + "method=listpeers" + ], + "summary": "method (of command) equal to 'listpeers'" + }, + { + "alternatives": [ + "pnamelevel!", + "pnamelevel/io" + ], + "summary": "pnamelevel (object parameter 'level') is missing OR pnamelevel (object parameter 'level') unequal to 'io'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "3", + "string": "9bfb72474aaa1d4b8b11b1495ba02198183ef67a71557db22a87100458bd72f6:=3&id^022d223620a359a47ff7&method=listpeers&pnamelevel!|pnamelevel/io&parr1!|parr1/io", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "id^022d223620a359a47ff7" + ], + "summary": "id (of commanding peer) starts with '022d223620a359a47ff7'" + }, + { + "alternatives": [ + "method=listpeers" + ], + "summary": "method (of command) equal to 'listpeers'" + }, + { + "alternatives": [ + "pnamelevel!", + "pnamelevel/io" + ], + "summary": "pnamelevel (object parameter 'level') is missing OR pnamelevel (object parameter 'level') unequal to 'io'" + }, + { + "alternatives": [ + "parr1!", + "parr1/io" + ], + "summary": "parr1 (array parameter #1) is missing OR parr1 (array parameter #1) unequal to 'io'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "4", + "string": "7a75f4b13a4707ccb592dc93005f340a712f19eb46df8d0d7b700622db9d052e:=4&pnum=0", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "pnum=0" + ], + "summary": "pnum (number of command parameters) equal to 0" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "4", + "string": "fe1d9e2a3a0aec84c017e250d52e68ba6f683107acaf3fadd4547d9030a1441e:=4&pnum=0&rate=3", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "pnum=0" + ], + "summary": "pnum (number of command parameters) equal to 0" + }, + { + "alternatives": [ + "rate=3" + ], + "summary": "rate (max per minute) equal to 3" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "4", + "string": "5351835ea5d1bdf3750385a60d51136b353d627bccb03caded6c0dce96349211:=4&pnum=0&rate=3&rate=1", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "pnum=0" + ], + "summary": "pnum (number of command parameters) equal to 0" + }, + { + "alternatives": [ + "rate=3" + ], + "summary": "rate (max per minute) equal to 3" + }, + { + "alternatives": [ + "rate=1" + ], + "summary": "rate (max per minute) equal to 1" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "2", + "string": "9b11f056c0bf5be3c7eebefdc17416ab104d1da1e7708a888c43f23ffbc63ac1:=2&time>1656675211", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "time>1656675211" + ], + "summary": "time (in seconds since 1970) greater than 1656675211 (approximately 20 months 1 days ago)" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "hex": "653733386261666165383030656131306238666437363734343762623237393739323265383930356638626130326638383236663431343061363161323934353a3d80266d6574686f645e6c6973747c6d6574686f645e6765747c6d6574686f643d73756d6d617279266d6574686f642f6c6973746461746173746f7265", + "warning_rune_invalid_utf8": "Rune contains invalid UTF-8 strings", + "valid": false + }, + { + "type": "rune", + "unique_id": "\u0001", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0001&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "\u0002", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0002&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "\u0003", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0003&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" } - ] + ], + "valid": true }, { - "pays": [ + "type": "rune", + "unique_id": "\u0004", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0004&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ { - "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", - "status": "pending", - "created_at": 1708639712, - "amount_msat": 100000000, - "amount_sent_msat": 100003003 - } - ] - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-pay(7)", - "lightning-paystatus(7)", - "lightning-listsendpays(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-listpeerchannels.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "rpc": "listpeerchannels", - "title": "Command returning data on channels of connected lightning nodes", - "description": [ - "The **listpeerchannels** RPC command returns data on channels of the network, with the possibility to filter the channels by node id.", - "", - "If no *id* is supplied, then channel data on all lightning nodes that are connected, or not connected but have open channels with this node, are returned." - ], - "request": { - "required": [], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "If supplied, limits the channels to just the peer with the given ID, if it exists." - ] - } - } - }, - "response": { - "required": [ - "channels" - ], - "properties": { - "channels": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "state", - "opener", - "features", - "peer_connected", - "peer_id" + "alternatives": [ + "method^list", + "method^get", + "method=summary" ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": [ - "Node Public key." - ] - }, - "peer_connected": { - "type": "boolean", - "description": [ - "A boolean flag that is set to true if the peer is online." - ] - }, - "reestablished": { - "type": "boolean", - "added": "v24.02", - "description": [ - "A boolean flag that is set to true if we have successfully exchanged reestablish messages with this connection." - ] - }, - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "CHANNELD_AWAITING_SPLICE", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": [ - "The channel state, in particular `CHANNELD_NORMAL` means the channel can be used normally." - ] - }, - "scratch_txid": { - "type": "txid", - "description": [ - "The txid we would use if we went onchain now." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v23.05", - "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." - ] - } - } - } - }, - "updates": { - "type": "object", - "added": "v24.02", - "description": [ - "Latest gossip updates sent/received." - ], - "additionalProperties": false, - "required": [ - "local" - ], - "properties": { - "local": { - "type": "object", - "description": [ - "Our gossip for channel." - ], - "additionalProperties": false, - "added": "v24.02", - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Minimum msat amount we allow." - ] - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Maximum msat amount we allow." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": [ - "Blocks delay required between incoming and outgoing HTLCs." - ] - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Amount we charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": [ - "Amount we charge to use the channel in parts-per-million." - ] - } - } - }, - "remote": { - "type": "object", - "added": "v24.02", - "description": [ - "Peer's gossip for channel." - ], - "additionalProperties": false, - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Minimum msat amount they allow." - ] - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Maximum msat amount they allow." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": [ - "Blocks delay required between incoming and outgoing HTLCs." - ] - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Amount they charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": [ - "Amount they charge to use the channel in parts-per-million." - ] - } - } - } - } - }, - "ignore_fee_limits": { - "type": "boolean", - "added": "v23.08", - "description": [ - "Set if we allow this peer to set fees to anything they want." - ] - }, - "lost_state": { - "type": "boolean", - "added": "v24.02", - "description": [ - "Set if we are fallen behind i.e. lost some channel state." - ] - }, - "feerate": { - "type": "object", - "description": [ - "Feerates for the current tx." - ], - "additionalProperties": false, - "required": [ - "perkw", - "perkb" - ], - "properties": { - "perkw": { - "type": "u32", - "description": [ - "Feerate per 1000 weight (i.e kSipa)." - ] - }, - "perkb": { - "type": "u32", - "description": [ - "Feerate per 1000 virtual bytes." - ] - } - } - }, - "owner": { - "type": "string", - "description": [ - "The current subdaemon controlling this connection." - ] - }, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "The short_channel_id (once locked in)." - ] - }, - "channel_id": { - "type": "hash", - "description": [ - "The full channel_id (funding txid Xored with output number)." - ] - }, - "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." - ] - }, - "initial_feerate": { - "type": "string", - "description": [ - "For inflight opens, the first feerate used to initiate the channel open." - ] - }, - "last_feerate": { - "type": "string", - "description": [ - "For inflight opens, the most recent feerate used on the channel open." - ] - }, - "next_feerate": { + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + }, + { + "type": "rune", + "unique_id": "\u0005", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0005&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ + { + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + }, + { + "type": "rune", + "unique_id": "\u0006", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0006&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ + { + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + }, + { + "type": "rune", + "unique_id": "\u0007", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\u0007&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ + { + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + }, + { + "type": "rune", + "unique_id": "\b", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\b&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ + { + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + }, + { + "type": "rune", + "unique_id": "\t", + "string": "a15933a2243aed5094d61fda4633ea09e5a4b465f9e00443b2aa908032feb8cb:=\t&method^list|method^get|method=summary&method/listdatastore", + "restrictions": [ + { + "alternatives": [ + "method^list", + "method^get", + "method=summary" + ], + "summary": "method (of command) starts with 'list' OR method (of command) starts with 'get' OR method (of command) equal to 'summary'" + }, + { + "alternatives": [ + "method/listdatastore" + ], + "summary": "method (of command) unequal to 'listdatastore'" + } + ], + "valid": true + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-pay(7)", + "lightning-offer(7)", + "lightning-fetchinvoice(7)", + "lightning-sendinvoice(7)", + "lightning-commando-rune(7)" + ], + "resources": [ + "[BOLT #11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)", + "", + "[BOLT #12](https://github.com/rustyrussell/lightning-rfc/blob/guilt/offers/12-offer-encoding.md)", + "(experimental, [bolt](https://github.com/lightning/bolts) #798)", + "", + "Main web site: " + ] + }, + "lightning-decodepay.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.05", + "rpc": "decodepay", + "title": "Command for decoding a bolt11 string (low-level)", + "description": [ + "The **decodepay** RPC command checks and parses a *bolt11* string as specified by the BOLT 11 specification." + ], + "request": { + "required": [ + "bolt11" + ], + "properties": { + "bolt11": { + "type": "string", + "description": [ + "Bolt11 invoice to decode." + ] + }, + "description": { + "type": "string", + "description": [ + "Description of the invoice to decode." + ] + } + } + }, + "response": { + "required": [ + "currency", + "created_at", + "expiry", + "payee", + "min_final_cltv_expiry", + "payment_hash", + "signature" + ], + "properties": { + "currency": { + "type": "string", + "description": [ + "The BIP173 name for the currency." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX-style timestamp of the invoice." + ] + }, + "expiry": { + "type": "u64", + "description": [ + "The number of seconds this is valid after *timestamp*." + ] + }, + "payee": { + "type": "pubkey", + "description": [ + "The public key of the recipient." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount the invoice asked for." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage*." + ] + }, + "signature": { + "type": "signature", + "description": [ + "Signature of the *payee* on this invoice." + ] + }, + "description": { + "type": "string", + "description": [ + "The description of the purpose of the purchase." + ] + }, + "description_hash": { + "type": "hash", + "description": [ + "The hash of the description, in place of *description*." + ] + }, + "min_final_cltv_expiry": { + "type": "u32", + "description": [ + "The minimum CLTV delay for the final node." + ] + }, + "payment_secret": { + "type": "hash", + "description": [ + "The secret to hand to the payee node." + ] + }, + "features": { + "type": "hex", + "description": [ + "The features bitmap for this invoice." + ] + }, + "payment_metadata": { + "type": "hex", + "description": [ + "The payment_metadata to put in the payment." + ] + }, + "fallbacks": { + "type": "array", + "description": [ + "Onchain addresses." + ], + "items": { + "type": "object", + "required": [ + "type", + "hex" + ], + "additionalProperties": false, + "properties": { + "type": { "type": "string", "description": [ - "For inflight opens, the next feerate we'll use for the channel open." - ] - }, - "next_fee_step": { - "type": "u32", - "description": [ - "For inflight opens, the next feerate step we'll use for the channel open." - ] - }, - "inflight": { - "type": "array", - "description": [ - "Current candidate funding transactions." + "The address type (if known)." ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "funding_txid", - "funding_outnum", - "feerate", - "total_funding_msat", - "splice_amount", - "our_funding_msat" - ], - "properties": { - "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." - ] - }, - "feerate": { - "type": "string", - "description": [ - "The feerate for this funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "total_funding_msat": { - "type": "msat", - "description": [ - "Total amount in the channel." - ] - }, - "splice_amount": { - "type": "integer", - "added": "v23.08", - "description": [ - "The amouont of sats we're splicing in or out." - ] - }, - "our_funding_msat": { - "type": "msat", - "description": [ - "Amount we have in the channel." - ] - }, - "scratch_txid": { - "type": "txid", - "description": [ - "The commitment transaction txid we would use if we went onchain now." - ] - } - } - } - }, - "close_to": { - "type": "hex", - "description": [ - "ScriptPubkey which we have to close to if we mutual close." - ] - }, - "private": { - "type": "boolean", - "description": [ - "If True, we will not announce this channel." + "enum": [ + "P2PKH", + "P2SH", + "P2WPKH", + "P2WSH", + "P2TR" ] }, - "opener": { + "addr": { "type": "string", - "enum": [ - "local", - "remote" - ], "description": [ - "Who initiated the channel." + "The address in appropriate format for *type*." ] }, - "closer": { - "type": "string", - "enum": [ - "local", - "remote" - ], + "hex": { + "type": "hex", "description": [ - "Who initiated the channel close (only present if closing)." + "Raw encoded address." ] - }, - "features": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "option_static_remotekey", - "option_anchor_outputs", - "option_anchors_zero_fee_htlc_tx", - "option_scid_alias", - "option_zeroconf" - ], + } + } + } + }, + "routes": { + "type": "array", + "description": [ + "Route hints to the *payee*." + ], + "items": { + "type": "array", + "description": [ + "Hops in the route." + ], + "items": { + "type": "object", + "required": [ + "pubkey", + "short_channel_id", + "fee_base_msat", + "fee_proportional_millionths", + "cltv_expiry_delta" + ], + "additionalProperties": false, + "properties": { + "pubkey": { + "type": "pubkey", "description": [ - "BOLT #9 features which apply to this channel." + "The public key of the node." ] - } - }, - "funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "local_funds_msat", - "remote_funds_msat" - ], - "properties": { - "pushed_msat": { - "type": "msat", - "description": [ - "Amount pushed from opener to peer." - ] - }, - "local_funds_msat": { - "type": "msat", - "description": [ - "Amount of channel we funded." - ] - }, - "remote_funds_msat": { - "type": "msat", - "description": [ - "Amount of channel they funded." - ] - }, - "fee_paid_msat": { - "type": "msat", - "description": [ - "Amount we paid peer at open." - ] - }, - "fee_rcvd_msat": { - "type": "msat", - "description": [ - "Amount we were paid by peer at open." - ] - } - } - }, - "to_us_msat": { - "type": "msat", - "description": [ - "How much of channel is owed to us." - ] - }, - "min_to_us_msat": { - "type": "msat", - "description": [ - "Least amount owed to us ever. If the peer were to successfully 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." - ] - }, - "total_msat": { - "type": "msat", - "description": [ - "Total amount in the channel." - ] - }, - "fee_base_msat": { - "type": "msat", - "description": [ - "Amount we charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "description": [ - "Amount we charge to use the channel in parts-per-million." - ] - }, - "dust_limit_msat": { - "type": "msat", - "description": [ - "Minimum amount for an output on the channel transactions." - ] - }, - "max_total_htlc_in_msat": { - "type": "msat", - "description": [ - "Max amount accept in a single payment." - ] - }, - "their_reserve_msat": { - "type": "msat", + }, + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "A channel to the next peer." + ] + }, + "fee_base_msat": { + "type": "msat", + "description": [ + "The base fee for payments." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "description": [ + "The parts-per-million fee for payments." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "description": [ + "The CLTV delta across this hop." + ] + } + } + } + } + }, + "extra": { + "type": "array", + "description": [ + "Any extra fields we didn't know how to parse." + ], + "items": { + "type": "object", + "required": [ + "tag", + "data" + ], + "additionalProperties": false, + "properties": { + "tag": { + "type": "string", "description": [ - "Minimum we insist they keep in channel. If they have less than this in the channel, they cannot send to us on that channel." + "The bech32 letter which identifies this field." ], - "default": "1% of the total channel capacity" - }, - "our_reserve_msat": { - "type": "msat", - "description": [ - "Minimum they insist we keep in channel. If you have less than this in the channel, you cannot send out via this channel." - ] - }, - "spendable_msat": { - "type": "msat", - "description": [ - "An estimate of the total we could send through channel (can be wrong because adding HTLCs requires an increase in fees paid to onchain miners, and onchain fees change dynamically according to onchain activity)." - ] - }, - "receivable_msat": { - "type": "msat", - "description": [ - "An estimate of the total peer could send through channel." - ] - }, - "minimum_htlc_in_msat": { - "type": "msat", - "description": [ - "The minimum amount HTLC we accept." - ] - }, - "minimum_htlc_out_msat": { - "type": "msat", - "description": [ - "The minimum amount HTLC we will send." - ] - }, - "maximum_htlc_out_msat": { - "type": "msat", - "description": [ - "The maximum amount HTLC we will send." - ] + "maxLength": 1, + "minLength": 1 }, - "their_to_self_delay": { - "type": "u32", + "data": { + "type": "string", "description": [ - "The number of blocks before they can take their funds if they unilateral close." + "The bech32 data for this field." ] - }, - "our_to_self_delay": { - "type": "u32", + } + } + } + } + }, + "post_return_value_notes": [ + "Technically, the *description* field is optional if a *description_hash* field is given, but in this case **decodepay** will only succeed if the optional *description* field is passed and matches the *description_hash*. In practice, these are currently unused." + ] + }, + "example_json_request": [ + { + "id": "example:decodepay#1", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", + "description": null + } + }, + { + "id": "example:decodepay#2", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pjmruj7sp572q8qp6ugprchkq7v09rz7fjjxgc040t46sn2m6rs8eer9kl7f4qpp5qkxd9v877u8cvdknlvmfh7nzd46msmls878dr666pz3yqdfqg0nqdpq8qc5w4r0vuexxdtkxapyzarttgeyscjwxqyjw5qcqp99qxpqysgqktasg7fp9p8qw0s7pdr3pnn6vns5d3w8pf88n4kwwk2qqg7u8prqljx9u8fvv7nz64q2e0auwxzmtdwkqtazlwxvn7r3akturtl9w9spd99k8p", + "description": null + } + }, + { + "id": "example:decodepay#3", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", + "description": null + } + }, + { + "id": "example:decodepay#4", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", + "description": null + } + }, + { + "id": "example:decodepay#5", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", + "description": null + } + }, + { + "id": "example:decodepay#6", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", + "description": null + } + }, + { + "id": "example:decodepay#7", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", + "description": null + } + }, + { + "id": "example:decodepay#8", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", + "description": null + } + }, + { + "id": "example:decodepay#9", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", + "description": null + } + }, + { + "id": "example:decodepay#10", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", + "description": null + } + }, + { + "id": "example:decodepay#11", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", + "description": null + } + }, + { + "id": "example:decodepay#12", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", + "description": null + } + }, + { + "id": "example:decodepay#13", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", + "description": null + } + }, + { + "id": "example:decodepay#14", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", + "description": null + } + }, + { + "id": "example:decodepay#15", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", + "description": null + } + }, + { + "id": "example:decodepay#16", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", + "description": null + } + }, + { + "id": "example:decodepay#17", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", + "description": null + } + }, + { + "id": "example:decodepay#18", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", + "description": null + } + }, + { + "id": "example:decodepay#19", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", + "description": null + } + }, + { + "id": "example:decodepay#20", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", + "description": null + } + }, + { + "id": "example:decodepay#21", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", + "description": null + } + }, + { + "id": "example:decodepay#22", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", + "description": null + } + }, + { + "id": "example:decodepay#23", + "method": "decodepay", + "params": { + "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m", + "description": null + } + } + ], + "example_json_response": [ + { + "currency": "bcrt", + "created_at": 1706152930, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": [ + "XEoCR94SIz6UIRUEkxum." + ], + "min_final_cltv_expiry": 5, + "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", + "features": "02024100", + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "signature": "3045022100e3b7d8886eae1a7c9e55e1797aa0dcb77b8c5a19d56c657cad030e360c90682802203a35713acb098245e53a37faeac98754a29a7078db5ed6f2166f917e55b94484" + }, + { + "currency": "bcrt", + "created_at": 1706160734, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": [ + "81GTog2c5v7BAtkZ2HbN." + ], + "min_final_cltv_expiry": 5, + "payment_secret": "f28070075c40478bd81e63ca317932919187d5ebaea1356f4381f39196dff26a", + "features": "02024100", + "payment_hash": "058cd2b0fef70f8636d3fb369bfa626d75b86ff03f8ed1eb5a08a240352043e6", + "signature": "3045022100b2fb047921284e073e1e0b4710ce7a64e146c5c70a4e79d6ce75940023dc384602200fc8c5e1d2c67a62d540acbfbc7185b5b5d602fa2fb8cc9f871ed97c1afe5716" + }, + { + "currency": "bcrt", + "created_at": 1708624137, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": "W7PjXOrD1V9QzqlXde6S", + "min_final_cltv_expiry": 5, + "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", + "features": "02024100", + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "signature": "3045022100be184d7b40a03616b3383d32447ef46e5b017996f19e7d5947aa68af78947b5602207811a710476cac270e2b056d6a432a9cc7135c330ec46155313bdb0cb1a73944" + }, + { + "currency": "bcrt", + "created_at": 1708624138, + "expiry": 604800, + "payee": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 100001, + "description": "kQ3N0jwwJABOkKbMq7I4", + "min_final_cltv_expiry": 5, + "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", + "features": "02024100", + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "signature": "3045022100c9b9c8a257a3851b573401ac51a03a15c16d034b9f2a6d61b6233dcab297aa71022011c1da30a75ec1d2d0507fb2cc6dd5ddf1efbd29ee15f7bb55320dac1b5439d6" + }, + { + "currency": "bcrt", + "created_at": 1708624150, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 111, + "description": "npVAv3iWbQBCHjsDK1YS", + "min_final_cltv_expiry": 5, + "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", + "features": "02024100", + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "signature": "304402207fc2dc954e8ab5f477591bf3da89fa4facac28ee05cf695d5313e66d54914d8c0220630568c89fb376477729f59637b502b329121d2f0046f28787d51f795af7d676" + }, + { + "currency": "bcrt", + "created_at": 1708624152, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 222, + "description": "gjXz22eJleM5SNBasEOV", + "min_final_cltv_expiry": 5, + "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", + "features": "02024100", + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "signature": "3044022033efda0a9aa03a30e193dddde8d612e0c3a252a6718897ab22b0024f40ca2c2b0220722c08791e59376fad30d43ca2c88b97a3deb859c5ac4de9344b2606d8025789" + }, + { + "currency": "bcrt", + "created_at": 1708624153, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 4000000, + "description": "WZcOtfF564NiUQ5vlwRU", + "min_final_cltv_expiry": 5, + "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", + "features": "02024100", + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "signature": "3045022100d8b06c65bff99ff024fdf19b00684616de19ebd3fee8af5a7175e37c6584d2d1022063fdba303d23c07377abded035aab4de85db6ccc4fa90343fd4f14fb799cfa34" + }, + { + "currency": "bcrt", + "created_at": 1708624189, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": "7mCJoNSFtlzLA9hEIzX1", + "min_final_cltv_expiry": 5, + "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", + "features": "02024100", + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "signature": "3045022100c63d5f2945437c50b3145778e08e3e0848f353533965ca398a7ecca1894c2a5f02206548450000d7028fef311439df15eb372ef3952d3b048989e4ec82e7e4080b5d" + }, + { + "currency": "bcrt", + "created_at": 1708624212, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": "sK54KAL3qX01yNt76y0B", + "min_final_cltv_expiry": 5, + "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", + "features": "02024100", + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "signature": "30440220228c0c6bed955bc90fbd53acb1fdc7aa6517b7b097cbdfa4791e38ae019ab9f0022014045d01cecf75aa57212e8018d6095bbe65af53fbedfbde4ad6559d8dfa8bb9" + }, + { + "currency": "bcrt", + "created_at": 1708624223, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": "n3jx9JMqg936KMwVWRzM", + "min_final_cltv_expiry": 5, + "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", + "features": "02024100", + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "signature": "304502210090ad26aa4ee4e106aace556c451edd014a08d7343985a981e47ac7fadba4f9600220016e52640e096017e629a7c26f23f88641d8c16281845e25d16103fc002ccfce" + }, + { + "currency": "bcrt", + "created_at": 1708624241, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "min_final_cltv_expiry": 5, + "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", + "features": "02024100", + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "signature": "3045022100b50f69d56fc33b0db22e94de098945fcd1c6a71453448e66c2c44c52607db5be022009d4d944e7755b974e03faff03556ce848eeca3e6580c6b8280df1a6723c20ba" + }, + { + "currency": "bcrt", + "created_at": 1708624682, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": "AlIJdm8x4tFYvkcrIXAk", + "min_final_cltv_expiry": 5, + "payment_secret": "0d04da0e55104a906a27c513af2bb1b6d1c0ac3e40887bf686395bf30bab0bae", + "features": "02024100", + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "signature": "3045022100e85344291ca4c291bd6112180b48d0c80bfd5dff853559f1486aec6c95263d96022077ad128b15fec121dceca1422d02a61814c762edbefeba228372cd58e8b21957" + }, + { + "currency": "bcrt", + "created_at": 1708624696, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": "oGCNVbOBJvbffmQqyVch", + "min_final_cltv_expiry": 5, + "payment_secret": "c84ca8495a24ab6ba4ef21c891e3dd0da66ee29e11b30abadea39f6b3ea08b89", + "features": "02024100", + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "signature": "3045022100f37f88b138d65f8a36fc0dc613f07a5f0414c3e5f83ce7515ba937d3707c10c90220296071edc3dda11e034e6d30f93137ed714cd0a594e2217f8e99f7a5687dcee7" + }, + { + "currency": "bcrt", + "created_at": 1708624705, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": "1yu6xcmRXk9Dv38jFulR", + "min_final_cltv_expiry": 5, + "payment_secret": "428888fdcc3f62933e86de029123739c94ee1911e2547b598052cf4353fe1a0b", + "features": "02024100", + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "signature": "30440220587d34035548467524fbc01a2fafbba5200066a0bc79cf637d76e058b977dbde022035ea6a64e5cbb73424795ef6b032a1f716393519bfb04a57ff101beb45d88eba" + }, + { + "currency": "bcrt", + "created_at": 1708624732, + "expiry": 604800, + "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "description": "PG1CZyQnANz5wHulULi6", + "min_final_cltv_expiry": 5, + "payment_secret": "ac1fa2590feb152de819465a30d6862b713efaecddd2a938fc2504df99214896", + "features": "02024100", + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "signature": "304402201db85b249f26323b485999d300ec4ba9a22ff81d99e835768cd38b7831b2d96f022012332de936011a674c6fe9513bfbcfae540f2de943feaa7a29b9078529c16b53" + }, + { + "currency": "bcrt", + "created_at": 1708624733, + "expiry": 604800, + "payee": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount_msat": 100000000, + "description": "ScVmvGtECsSc48NVaiGz", + "min_final_cltv_expiry": 5, + "payment_secret": "00c2b79bb89b764df4c3a283a4351bd9b91ad254f274d92fa5667e8055b28934", + "features": "02024100", + "routes": [ + [ + { + "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x4x0", + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "cltv_expiry_delta": 6 + } + ] + ], + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "signature": "3045022100d9178807b845364f06de9afb9385daaf946bc6a61683e4d186118f366753941d02202f0008c5c193a65c522f55e23b7a505915f17d3cf38b40d82bb190e0356cc26b" + }, + { + "currency": "bcrt", + "created_at": 1708624742, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": "exCYz8NgTLbygkgwipco", + "min_final_cltv_expiry": 5, + "payment_secret": "5b9d7d2ef23b3e981861505cd9f89560268f3b742803393cb33f332abc4695de", + "features": "02024100", + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "signature": "304402201154034e7fb70d9b65d5f47182ac489b33f4aaa804c1502b74a60a07dedca8a802204aa12146d48207901fc7d8a47f22e7af94be0c8e8e82814b2d28bcef5d59aea3" + }, + { + "currency": "bcrt", + "created_at": 1708624761, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "description": "Wogsce4STNqPOUMuBw0T", + "min_final_cltv_expiry": 5, + "payment_secret": "8cafc0fe8eacd45686c2475f5ae38d12cc25bea3cb397e49bb70fdcb4ac1c8d0", + "features": "02024100", + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "signature": "3045022100f7addcdb56964bff9b7338818a1e41001949e736b6210543fbede105b914b5060220624d1f2c6264c09c5d25ea8a866fcb50cbe1a84cd7830972947804c274da4987" + }, + { + "currency": "bcrt", + "created_at": 1708624763, + "expiry": 604800, + "payee": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "description": "OFPBDlYTIA9f5a02IMZF", + "min_final_cltv_expiry": 5, + "payment_secret": "db3ca32adb640f7cee2d5542832a0613eded84cdc7e938e8944d0bcecd3f538e", + "features": "02024100", + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "signature": "304502210085cac6b3df4db58bb094bfd5ee73a1f53da2ba188f3ae21382f280b633dab34a022061572bd1d31c7f8d1a8ced7ae1046adf5f4f7ec1b261c5c25eb91769646632a2" + }, + { + "currency": "bcrt", + "created_at": 1708624763, + "expiry": 604800, + "payee": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount_msat": 100000000, + "description": "r2fm2NS2lShNwR8MGHwy", + "min_final_cltv_expiry": 5, + "payment_secret": "9a5e4864d7df7e38c627c934aba9e8054333fa5eec542a368119ae0ab6e129bc", + "features": "02024100", + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "signature": "30450221008fba1d19922dd94bb855e23f19d4d100cdaf9c3b463fe6a67f368b0a7e3427e902200e0c5a4eed9941d63e341308615e9e8b51e5ef2e0752c8098da52d6d8a42b143" + }, + { + "currency": "bcrt", + "created_at": 1708624827, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "description": "YR07QkHcieUMkSGD8VFv", + "min_final_cltv_expiry": 5, + "payment_secret": "455212998fa379dfe832111755ec99e3ccd74757b56600a398044d855cee9202", + "features": "02024100", + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "signature": "3045022100c8c0f0c4c418964ea2d6abc8997ac63f9ec246113a66d043d22614a3dae7240f0220789adfb2521fe1b8b2f5f8d061f87efa21113bf4ae9d56fbebd9daae09b32417" + }, + { + "currency": "bcrt", + "created_at": 1708624839, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "description": "nRt598eghJGkxAZ7CENJ", + "min_final_cltv_expiry": 5, + "payment_secret": "4c75b8e132112cbb659bab0bc61b98db0685f8b79ecbfedbcea6c6f446127c43", + "features": "02024100", + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "signature": "304402201da8a9188babe38f014d7fb42790fda1527a7a5f475e1a76381d1c969a7ca4990220720215123158b14e19a064ff38eb6c077efbfdc8f610c899247a17dfd258cf73" + }, + { + "currency": "bcrt", + "created_at": 1708624851, + "expiry": 604800, + "payee": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "description": "OFnEKAYYfz6VgFWcXSZC", + "min_final_cltv_expiry": 5, + "payment_secret": "87da98a783ba7808d362d32bef7f6ed0f98784f6fb283967642c2991451995bb", + "features": "02024100", + "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", + "signature": "3045022100ffacb67cb0eb91034b79d3fb7de74185a615306e62596459b885b345b3af8724022055bf8ee99213a33d5fc1c340b2fee4843d57a0de4bc02854d552643660db1f35" + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-pay(7)", + "lightning-getroute(7)", + "lightning-sendpay(7)" + ], + "resources": [ + "[BOLT #11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)", + "", + "Main web site: " + ] + }, + "lightning-deldatastore.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "deldatastore", + "title": "Command for removing (plugin) data", + "description": [ + "The **deldatastore** RPC command allows plugins to delete data it has stored in the Core Lightning database.", + "", + "The command fails if the *key* isn't present, or if *generation* is specified and the generation of the data does not exactly match." + ], + "request": { + "required": [ + "key" + ], + "properties": { + "key": { + "oneOf": [ + { + "type": "array", + "description": [ + "Key is an array of values (though a single value is treated as a one-element array), to form a heirarchy. Using the first element of the key as the plugin name (e.g. [ 'summary' ]) is recommended. A key can either have children or a value, never both: parents are created and removed automatically." + ], + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + "generation": { + "type": "u64", + "description": [ + "If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with mode `must-replace` or `must-append`." + ] + } + } + }, + "response": { + "required": [ + "key" + ], + "properties": { + "key": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Part of the key added to the datastore." + ] + } + }, + "generation": { + "type": "u64", + "description": [ + "The number of times this has been updated." + ] + }, + "hex": { + "type": "hex", + "description": [ + "The hex data which has removed from the datastore." + ] + }, + "string": { + "type": "string", + "description": [ + "The data as a string, if it's valid utf-8." + ] + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- 1200: the key does not exist", + "- 1201: the key does exist, but the generation is wrong", + "- -32602: invalid parameters" + ], + "example_json_request": [ + { + "id": "example:deldatastore#1", + "method": "deldatastore", + "params": { + "key": "somekey", + "generation": null + } + }, + { + "id": "example:deldatastore#2", + "method": "deldatastore", + "params": { + "key": "badstring", + "generation": null + } + }, + { + "id": "example:deldatastore#3", + "method": "deldatastore", + "params": { + "key": "somekey", + "generation": null + } + }, + { + "id": "example:deldatastore#4", + "method": "deldatastore", + "params": { + "key": "badstring", + "generation": null + } + }, + { + "id": "example:deldatastore#5", + "method": "deldatastore", + "params": { + "key": "otherkey", + "generation": 1 + } + }, + { + "id": "example:deldatastore#6", + "method": "deldatastore", + "params": { + "key": [ + "a" + ], + "generation": null + } + } + ], + "example_json_response": [ + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + }, + { + "key": [ + "badstring" + ], + "generation": 0, + "hex": "00" + }, + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + }, + { + "key": [ + "badstring" + ], + "generation": 0, + "hex": "00" + }, + { + "key": [ + "otherkey" + ], + "generation": 1, + "hex": "6f746865726461746161", + "string": "otherdataa" + }, + { + "key": [ + "a" + ], + "generation": 0, + "hex": "6176616c", + "string": "aval" + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listdatastore(7)", + "lightning-datastore(7)", + "lightning-datastoreusage(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-delexpiredinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "delexpiredinvoice", + "title": "Command for removing expired invoices", + "description": [ + "The **delexpiredinvoice** RPC command removes all invoices that have expired on or before the given *maxexpirytime*." + ], + "request": { + "required": [], + "properties": { + "maxexpirytime": { + "type": "u64", + "description": [ + "Invoice expiry time in seconds. If not specified then all expired invoices are deleted." + ] + } + } + }, + "response": { + "required": [], + "properties": {} + }, + "example_json_request": [ + { + "id": "example:delexpiredinvoice#1", + "method": "delexpiredinvoice", + "params": { + "maxexpirytime": null + } + }, + { + "id": "example:delexpiredinvoice#2", + "method": "delexpiredinvoice", + "params": { + "maxexpirytime": null + } + } + ], + "example_json_response": [ + {}, + {} + ], + "author": [ + "ZmnSCPxj <> is mainly responsible." + ], + "see_also": [ + "lightning-delinvoice(7)", + "lightning-autoclean-status(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-delforward.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "delforward", + "title": "Command for removing a forwarding entry", + "description": [ + "The **delforward** RPC command removes a single forward from **listforwards**, using the uniquely-identifying *in_channel* and *in_htlc_id* (and, as a sanity check, the *status*) given by that command.", + "", + "This command is mainly used by the *autoclean* plugin (see lightningd- config(7)), As these database entries are only kept for your own analysis, removing them has no effect on the running of your node." + ], + "request": { + "required": [ + "in_channel", + "in_htlc_id", + "status" + ], + "properties": { + "in_channel": { + "type": "short_channel_id", + "description": [ + "Only the matching forwards on the given inbound channel are deleted. Note: for **listforwards** entries without an *in_htlc_id* entry (no longer created in v22.11, but can exist from older versions), a value of 18446744073709551615 can be used, but then it will delete *all* entries without *in_htlc_id* for this *in_channel* and *status*." + ] + }, + "in_htlc_id": { + "type": "u64", + "description": [ + "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." + ] + }, + "status": { + "type": "string", + "description": [ + "The status of the forward to delete. You cannot delete forwards which have status *offered* (i.e. are currently active)." + ], + "enum": [ + "settled", + "local_failed", + "failed" + ] + } + } + }, + "response": { + "required": [], + "properties": {} + }, + "errors": [ + "The following errors may be reported:", + "", + "- 1401: The forward specified does not exist." + ], + "example_json_request": [ + { + "id": "example:delforward#1", + "method": "delforward", + "params": { + "in_channel": "103x1x0", + "in_htlc_id": 0, + "status": "settled" + } + }, + { + "id": "example:delforward#2", + "method": "delforward", + "params": { + "in_channel": "103x1x0", + "in_htlc_id": 1, + "status": "settled" + } + }, + { + "id": "example:delforward#3", + "method": "delforward", + "params": { + "in_channel": "103x1x0", + "in_htlc_id": 0, + "status": "settled" + } + }, + { + "id": "example:delforward#4", + "method": "delforward", + "params": { + "in_channel": "103x1x0", + "in_htlc_id": 1, + "status": "settled" + } + }, + { + "id": "example:delforward#5", + "method": "delforward", + "params": { + "in_channel": "103x1x0", + "in_htlc_id": 2, + "status": "local_failed" + } + }, + { + "id": "example:delforward#6", + "method": "delforward", + "params": [ + "103x1x0", + 1, + "failed" + ] + } + ], + "example_json_response": [ + {}, + {}, + {}, + {}, + {}, + {} + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-autoclean(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-delinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "delinvoice", + "title": "Command for removing an invoice (or just its description)", + "description": [ + "The **delinvoice** RPC command removes an invoice with *status* as given in **listinvoices**, or with *desconly* set, removes its description." + ], + "request": { + "required": [ + "label", + "status" + ], + "properties": { + "label": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "u64" + } + ], + "description": [ + "Label of the invoice to be deleted." + ] + }, + "status": { + "type": "string", + "description": [ + "Label of the invoice to be deleted. The caller should be particularly aware of the error case caused by the *status* changing just before this command is invoked!" + ], + "enum": [ + "paid", + "expired", + "unpaid" + ] + }, + "desconly": { + "type": "boolean", + "description": [ + "If set to True, the invoice is not deleted, but has its description removed (this can save space with very large descriptions, as would be used with lightning-invoice(7) *deschashonly*." + ] + } + } + }, + "response": { + "required": [ + "label", + "payment_hash", + "status", + "created_index", + "expires_at" + ], + "properties": { + "label": { + "type": "string", + "description": [ + "Unique label given at creation time." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "BOLT11 string." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "BOLT12 string." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount required to pay this invoice." + ] + }, + "description": { + "type": "string", + "description": [ + "Description used in the invoice." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "updated_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was changed (only present if it has changed since creation)." + ] + }, + "status": { + "type": "string", + "description": [ + "State of invoice." + ], + "enum": [ + "paid", + "expired", + "unpaid" + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp when invoice expires (or expired)." + ] + } + }, + "allOf": [ + { + "if": { + "required": [ + "bolt12" + ] + }, + "then": { + "required": [], + "additionalProperties": false, + "properties": { + "label": {}, + "bolt12": {}, + "status": {}, + "expires_at": {}, + "msatoshi": {}, + "amount_msat": {}, + "description": {}, + "payment_hash": {}, + "pay_index": {}, + "created_index": {}, + "updated_index": {}, + "amount_received_msat": {}, + "paid_at": {}, + "payment_preimage": {}, + "local_offer_id": { + "type": "hex", "description": [ - "The number of blocks before we can take our funds if we unilateral close." + "Offer for which this invoice was created." ] }, - "max_accepted_htlcs": { - "type": "u32", + "invreq_payer_note": { + "type": "string", "description": [ - "Maximum number of incoming HTLC we will accept at once." + "The optional *invreq_payer_note* from invoice_request which created this invoice." ] - }, - "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." - ] - } - } - }, - "state_changes": { - "type": "array", - "description": [ - "Prior state changes." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "timestamp", - "old_state", - "new_state", - "cause", - "message" - ], - "properties": { - "timestamp": { - "type": "string", - "description": [ - "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ." - ] - }, - "old_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE" - ], - "description": [ - "Previous state." - ] - }, - "new_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE" - ], - "description": [ - "New state." - ] - }, - "cause": { - "type": "string", - "enum": [ - "unknown", - "local", - "user", - "remote", - "protocol", - "onchain" - ], - "description": [ - "What caused the change." - ] - }, - "message": { - "type": "string", - "description": [ - "Human-readable explanation." - ] - } - } - } - }, + } + } + }, + "else": { + "required": [ + "bolt11" + ], + "additionalProperties": false, + "properties": { + "label": {}, + "bolt11": {}, + "status": {}, + "expires_at": {}, + "msatoshi": {}, + "amount_msat": {}, + "description": {}, + "payment_hash": {}, + "pay_index": {}, + "created_index": {}, + "updated_index": {}, + "amount_received_msat": {}, + "msatoshi_received": {}, + "paid_at": {}, + "payment_preimage": {} + } + } + }, + { + "if": { + "properties": { "status": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Billboard log of significant changes." - ] - } - }, - "in_payments_offered": { - "type": "u64", - "description": [ - "Number of incoming payment attempts." - ] - }, - "in_offered_msat": { - "type": "msat", - "description": [ - "Total amount of incoming payment attempts." - ] - }, - "in_payments_fulfilled": { - "type": "u64", - "description": [ - "Number of successful incoming payment attempts." - ] - }, - "in_fulfilled_msat": { - "type": "msat", - "description": [ - "Total amount of successful incoming payment attempts." + "type": "string", + "enum": [ + "paid" ] - }, - "out_payments_offered": { + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "pay_index", + "amount_received_msat", + "paid_at", + "payment_preimage" + ], + "properties": { + "label": {}, + "bolt11": {}, + "bolt12": {}, + "status": {}, + "expires_at": {}, + "msatoshi": {}, + "amount_msat": {}, + "description": {}, + "payment_hash": {}, + "invreq_payer_note": {}, + "local_offer_id": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": { "type": "u64", "description": [ - "Number of outgoing payment attempts." + "Unique index for this invoice payment." ] }, - "out_offered_msat": { + "amount_received_msat": { "type": "msat", "description": [ - "Total amount of outgoing payment attempts." + "How much was actually received." ] }, - "out_payments_fulfilled": { + "paid_at": { "type": "u64", "description": [ - "Number of successful outgoing payment attempts." - ] - }, - "out_fulfilled_msat": { - "type": "msat", - "description": [ - "Total amount of successful outgoing payment attempts." + "UNIX timestamp of when payment was received." ] }, - "last_stable_connection": { - "type": "u64", - "added": "v24.02", + "payment_preimage": { + "type": "secret", "description": [ - "Last time we reestablished the open channel and stayed connected for 1 minute." + "SHA256 of this is the *payment_hash* offered in the invoice." ] - }, - "htlcs": { - "type": "array", - "description": [ - "Current HTLCs in this channel." - ], - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "direction", - "id", - "amount_msat", - "expiry", - "payment_hash", - "state" - ], - "properties": { - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": [ - "Whether it came from peer, or is going to peer." - ] - }, - "id": { - "type": "u64", - "description": [ - "Unique ID for this htlc on this channel in this direction." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount send/received for this HTLC." - ] - }, - "expiry": { - "type": "u32", - "description": [ - "Block this HTLC expires at (after which an `in` direction HTLC will be returned to the peer, an `out` returned to us). If this expiry is too close, lightningd(8) will automatically unilaterally close the channel in order to enforce the timeout onchain." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the payment_preimage which will prove payment." - ] - }, - "local_trimmed": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "If this is too small to enforce onchain; it doesn't appear in the commitment transaction and will not be enforced in a unilateral close. Generally true if the HTLC (after subtracting onchain fees) is below the `dust_limit_msat` for the channel." - ] - }, - "status": { - "type": "string", - "description": [ - "Set if this HTLC is currently waiting on a hook (and shows what plugin)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "direction": { - "enum": [ - "out" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION" - ], - "description": [ - "Status of the HTLC." - ] - } - } - } - }, - { - "if": { - "properties": { - "direction": { - "enum": [ - "in" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": [ - "Status of the HTLC." - ] - } - } - } - } - ] - } } - }, - "allOf": [ - { - "if": { - "properties": { - "peer_connected": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "properties": { - "reestablished": { - "type": "boolean", - "description": [ - "True if we have successfully exchanged reestablish messages this connection." - ] - } - } - } + } + }, + "else": { + "additionalProperties": false, + "properties": { + "label": {}, + "bolt11": {}, + "bolt12": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "description": {}, + "payment_hash": {}, + "expires_at": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": {}, + "invreq_payer_note": {}, + "local_offer_id": {} + } + } + } + ], + "pre_return_value_notes": [ + "Note: The return is the same as an object from lightning-listinvoice(7)." + ] + }, + "errors": [ + "The following errors may be reported:", + "", + "- -1: Database error.", + "- 905: An invoice with that label does not exist.", + "- 906: The invoice *status* does not match the parameter. An error object will be returned as error *data*, containing *current_status* and *expected_status* fields. This is most likely due to the *status* of the invoice changing just before this command is invoked.", + "- 908: The invoice already has no description, and *desconly* was set." + ], + "example_json_request": [ + { + "id": "example:delinvoice#1", + "method": "delinvoice", + "params": { + "label": "inv5", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#2", + "method": "delinvoice", + "params": { + "label": "inv3", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#3", + "method": "delinvoice", + "params": { + "label": "label", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#4", + "method": "delinvoice", + "params": { + "label": "test_renepay2", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#5", + "method": "delinvoice", + "params": { + "label": "test2", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#6", + "method": "delinvoice", + "params": { + "label": "label \\ \" \t \n", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#7", + "method": "delinvoice", + "params": { + "label": 25, + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#8", + "method": "delinvoice", + "params": { + "label": "test_pay", + "status": "expired", + "desconly": null + } + }, + { + "id": "example:delinvoice#9", + "method": "delinvoice", + "params": { + "label": "invlabel", + "status": "paid", + "desconly": null + } + }, + { + "id": "example:delinvoice#10", + "method": "delinvoice", + "params": { + "label": "invlabel2", + "status": "unpaid", + "desconly": true + } + }, + { + "id": "example:delinvoice#11", + "method": "delinvoice", + "params": { + "label": "label", + "status": "paid", + "desconly": true + } + }, + { + "id": "example:delinvoice#12", + "method": "delinvoice", + "params": { + "label": "keysend-1708640419.666098582", + "status": "paid", + "desconly": null + } + }, + { + "id": "example:delinvoice#13", + "method": "delinvoice", + "params": { + "label": "keysend-1708640421.048851856", + "status": "paid", + "desconly": null + } + }, + { + "id": "example:delinvoice#14", + "method": "delinvoice", + "params": { + "label": "keysend-1708640422.456567424", + "status": "paid", + "desconly": null + } + }, + { + "id": "example:delinvoice#15", + "method": "delinvoice", + "params": { + "label": "test2", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#16", + "method": "delinvoice", + "params": { + "label": "invlabel3", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#17", + "method": "delinvoice", + "params": { + "label": "inv5", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#18", + "method": "delinvoice", + "params": { + "label": "inv3", + "status": "unpaid", + "desconly": null + } + }, + { + "id": "example:delinvoice#19", + "method": "delinvoice", + "params": { + "label": "inv2", + "status": "unpaid", + "desconly": null + } + } + ], + "example_json_response": [ + { + "label": "inv5", + "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", + "payment_hash": "bf75a41a19d1e559ebd4a33ca295b3d82ae8d50178a66e3cc2eddb8ac443455e", + "amount_msat": 12300, + "status": "unpaid", + "description": [ + "Description5." + ], + "expires_at": 1706233744, + "created_index": 5 + }, + { + "label": "inv3", + "bolt11": "lnbcrt123n1pjmxz9ssp5nllypzlcqjcrlfn3peal79r4h7nmwy7ulmjgj80ym9jw4m9ht0aspp58fd6xjwd8zzwvv9fmfqcc5kg33mp82ws7r2wvv2m055ylkekrn9sdq5v3jhxcmjd9c8g6t0dc6sxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq5cwchj0w22mrwwns68qg0xwhh9uttep29652u5sxz4ln2vzkdzuqsmss6zyy9ltkznpguvdktnt6lgt9wduvyd0u5er4zd9m0040ccsqytnvgl", + "payment_hash": "3a5ba349cd3884e630a9da418c52c88c7613a9d0f0d4e6315b7d284fdb361ccb", + "amount_msat": 12300, + "status": "unpaid", + "description": [ + "Description5." + ], + "expires_at": 1706836784, + "created_index": 3 + }, + { + "label": "label", + "bolt11": "lnbcrt1230n1pja0rl2sp5dh70q98shxhzls8geycfrkxstvfhszgdz9wcdhrvkjxz59gmhn8qpp5kgls5k4pyflthqsk07jqj9n62q293k592tlpfrhd2r65utfrvrcsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqlcjnaycj8stvvgw8nj9ffq52366k9vs3pyce9s3ltsh4rlsxj6vz88kyjkmsvqrdhj4n3zw2hlrd2azrp6s04f5atzj9ydujkkgueasps0t4ly", + "payment_hash": "b23f0a5aa1227ebb82167fa409167a501458da8552fe148eed50f54e2d2360f1", + "amount_msat": 123000, + "status": "unpaid", + "description": "description", + "expires_at": 1709230698, + "created_index": 1 + }, + { + "label": "test_renepay2", + "bolt11": "lnbcrt210n1pja0fytsp5jt0l60haur7sxyjepnw9h55jd2758f6tw5ha95vdv3wmqs2rqa6spp57zn5de8xk3a8qtmxnwgp7snkdrnkp7xp9j9qnx4h2fh4vd6wglwqdq5v3jhxcmjd9c8g6t0dceqxqyjw5qcqp99qxpqysgq9fvucqdjy2zxce3d4e0k63mmdk3tezgjwfufxllt5uap2dkl2fjr6pflepeuts4r7u3me4efphe8nsrlqe59el8hxv6kerlmq78qxpqpqxexll", + "payment_hash": "f0a746e4e6b47a702f669b901f427668e760f8c12c8a099ab7526f56374e47dc", + "amount_msat": 21000, + "status": "unpaid", + "description": "description2", + "expires_at": 1709235979, + "created_index": 2 + }, + { + "label": "test2", + "bolt11": "lnbcrt100n1pja0fgksp5ka2286hn6hc4lpnlj6k8a0k54zmwhvr63spp6e8a49qhde277n3spp59wlrrxzjwjywf2yvw4aykv8swkdq8jzp3mek6rhppkskhypfkh2qdqgw3jhxapjxqyjw5qcqp99qxpqysgqzqzc4ypga2a9we3y2hp6nscus72uug2exrep4h46zxm63tu08nnzd965dq8ne5vsmk3f7gj7rd247zrvpl67430x2aj0uauk6evsltcp4nktsy", + "payment_hash": "2bbe3198527488e4a88c757a4b30f0759a03c8418ef36d0ee10da16b9029b5d4", + "amount_msat": 10000, + "status": "unpaid", + "description": "test2", + "expires_at": 1709236118, + "created_index": 2 + }, + { + "label": "label \\ \" \t \n", + "bolt11": "lnbcrt1230n1pja0tnjsp5p0h9mxzjdaler0l3nqd55edq2j5rg2sz58h0tqq4mdl7aa5gypfspp5hka0zvgqjr6fd7yfrnw9r5akd5z8j088kvasa68ts98a60568knqdqlv3jhxcmjd9c8g6t0dcs9cgpzyqyjqzsxqyjw5qcqp99qxpqysgq2g24kcq70vpwlskehqptzdtq0y77vdx95nef6qngkf6rqfgyzazywu3mwpj8t0v6sq83ppr84xaslkgmm5nvdrphg67nep27gr94xngqrkz0t8", + "payment_hash": "bdbaf1310090f496f8891cdc51d3b66d04793ce7b33b0ee8eb814fdd3e9a3da6", + "amount_msat": 123000, + "status": "unpaid", + "description": "description \\ \" \t \n", + "expires_at": 1709238514, + "created_index": 1 + }, + { + "label": "25", + "bolt11": "lnbcrt1230n1pja0tnjsp5rpqcwxxgg4xe7wwzhqh746d7yqp5l76f5x7j5stexkf67y7c6ncqpp5dx94m8g8ecpxzeukp5lvs9f3l6qq9stlnc5jfdshl7py6577vrxsdqzygxqyjw5qcqp99qxpqysgqmlk9n686c5ua6wzhel3udhnuscckj9w39qhu8c6lr6pxt398g2z39mpgem9gczr26950kj8vjyhjdpy60llcgc9jj09fmpz2h707pncpndark7", + "payment_hash": "698b5d9d07ce026167960d3ec81531fe8002c17f9e2924b617ff824d53de60cd", + "amount_msat": 123000, + "status": "unpaid", + "description": "\"", + "expires_at": 1709238514, + "created_index": 2 + }, + { + "label": "test_pay", + "bolt11": "lnbcrt1230n1pja0t43sp5mq6r455y9t7h2p28tf4f4rfk68gxmwldep6hdfrnvd634v8d8jtqpp5mdp0fexhzgw2n7tafa6sj8erjzsnf52sut4yym0s9a2a7zw9r09qdqjv3jhxcmjd9c8g6t0dcxqppcqp99qxpqysgqq0y8ravqwhvr38apr6vagk6qzm0zxez6cxnjhdymcadd4jhxdqj373m33yj9escr94recy4t8sv8al3kpx8h32kn4nqudexy3vtdf6gqdflvu2", + "payment_hash": "db42f4e4d7121ca9f97d4f75091f2390a134d150e2ea426df02f55df09c51bca", + "amount_msat": 123000, + "status": "expired", + "description": "description", + "expires_at": 1708633778, + "created_index": 1, + "updated_index": 1 + }, + { + "label": "invlabel", + "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj", + "payment_hash": "e1059d78a996b9371c0ce3a9b6d9aaf8a376302e96e6fc5d9a859f04d8392593", + "amount_msat": 42, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 42, + "paid_at": 1708633891, + "payment_preimage": "0518949118828cb3a81e982b331c27fcbdc217831e13cbf1f8ee2135cacb9eb7", + "description": "invdesc", + "expires_at": 1709238689, + "created_index": 1, + "updated_index": 1 + }, + { + "label": "invlabel2", + "bolt11": "lnbcrt420p1pja0tefsp5vvzg40t4g24l0eqk0jch7mc6jm3ec52ts8w8gwzpwtx9c8nv05rspp533e9csxurt7j9sn2cx7hsn6m00475qgrau8sux5r7djpdedwy2fshp5xqsmrtgfcwsnhxcxmf3tuc65kl6fxvqhvujfmxw2kpeh95yy2x8sxqyjw5qcqp99qxpqysgqgfjrz4q5zcq2lluxxg9h475mq2d3w0tpdstm5274zmhadjl8cqapylfskzk96apka5599a2flm90rmavsk7q8mhh87yle3sgh5vrlycq72fern", + "payment_hash": "8c725c40dc1afd22c26ac1bd784f5b7bebea0103ef0f0e1a83f36416e5ae2293", + "amount_msat": 42, + "status": "unpaid", + "expires_at": 1709238697, + "created_index": 3 + }, + { + "label": "label", + "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", + "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", + "amount_msat": 42, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 42, + "paid_at": 1708633907, + "payment_preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", + "expires_at": 1709238706, + "created_index": 1, + "updated_index": 1 + }, + { + "label": "keysend-1708640419.666098582", + "bolt11": "lnbcrt1pja0j9rsp5tg3zvj846gcdzw394njazq40s946sq2ur3hkl4xu4xudtjdtckxspp5fuunrfzsnyz2uxjmg2n95mqhghv4fpvv2kud3kvq4fkys3vmzu5sdqvddjhjum9dejqxqyjw5qcqp99qxpqysgqwt7r0gjlgt7zrfldc3um9myfc36acpqnsdn77c2m42facjtps30yufc5nsmwzhgexlj59f6xa5hess6e3tqrxynt9fejzj3rrshddtcqnappmj", + "payment_hash": "4f3931a4509904ae1a5b42a65a6c1745d954858c55b8d8d980aa6c48459b1729", + "status": "paid", + "pay_index": 1, + "amount_received_msat": 10000000, + "paid_at": 1708640419, + "payment_preimage": "b760af47f456a217e8dfda21a282f1f78c903487c1b21b3b318135f75aa3bf11", + "description": "keysend", + "expires_at": 1709245219, + "created_index": 1, + "updated_index": 1 + }, + { + "label": "keysend-1708640421.048851856", + "bolt11": "lnbcrt1pja0j99sp5srhncux5m9xl8u7hsrlterlejua5a7af4ngw5qhruc3upjjkygxspp58s95srkcmyvfraukyv6fdcvtt48ngpu9c6c3we3lu638tx8zfarsdpqddjhjum9dejr5grgv4kxcmeqw35x2un9xqyjw5qcqp99qxpqysgqxsamahp58r2anfmxyudcl9rjc77ee7z4ahenxcjn0yxa7esdup89znyz2t0phcxr3r8ehx8ch6l7sfapytxc7av2ee4364702lhg4gspnqsa4u", + "payment_hash": "3c0b480ed8d91891f796233496e18b5d4f340785c6b117663fe6a27598e24f47", + "status": "paid", + "pay_index": 2, + "amount_received_msat": 10000000, + "paid_at": 1708640421, + "payment_preimage": "3e705f0e2fb0924e0dd192326a9b096ec700849be8cb04f54539599a8b6f0514", + "description": "keysend: hello there", + "expires_at": 1709245221, + "created_index": 2, + "updated_index": 2 + }, + { + "label": "keysend-1708640422.456567424", + "bolt11": "lnbcrt1pja0j9xsp56wyn2d6rn0w65hk2cwv3zwxtacr9uphs29lt7akav6nh5hkcvxtqpp50twcvh5rfcleu523hkcurtyj5ngtj3sjv8xw7lr69v6up79lu9pqhp5zjwx2hwm63np8muzh8ppt3d8pvx6ezhhz9l28gvq86mtax5q43tqxqyjw5qcqp99qxpqysgq3w0p70lckq7jrcwrn37y2vvkqysspd2zjfdnsjsncrls7jls4j5y92kv9hvjcy8p3u8cvlt2lyddfql45vn87236j954amr6gp69jlspdwkzqy", + "payment_hash": "7add865e834e3f9e5151bdb1c1ac92a4d0b9461261ccef7c7a2b35c0f8bfe142", + "status": "paid", + "pay_index": 3, + "amount_received_msat": 10000000, + "paid_at": 1708640422, + "payment_preimage": "661f76dfd40bf4b4ba623ee976c255297d70f3ea2ba8b2609b54dbfa7785a319", + "description": "keysend: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "expires_at": 1709245222, + "created_index": 3, + "updated_index": 3 + }, + { + "label": "test2", + "bolt11": "lnbcrt100n1pja0jkpsp5zzwlw7cac9y8mtgv5czt4xfrlrngs8h04ay3rre7ag0qe8ggvdnqpp5mpy58hd66enwk37w9vcfa7fathhadv3rv6xwm7jje3xu7dv8xjpqdqgw3jhxapjxqyjw5qcqp99qxpqysgqdwz2vkk480x3vt9su43r5dae2egtx5xr6fqw9fewrpfafasdaqujh5yj53gjm7cluunnryry7yjfx7ja4e0a3cpc9f8m55yr9dtu09cqgyrzwv", + "payment_hash": "d84943ddbad666eb47ce2b309ef93d5defd6b223668cedfa52cc4dcf35873482", + "amount_msat": 10000, + "status": "unpaid", + "description": "test2", + "expires_at": 1709245761, + "created_index": 2 + }, + { + "label": "invlabel3", + "bolt11": "lnbcrt420p1pja0j76sp59286gf3uv549dhyua43hsmwstegs0w4d2ykrq6a0czprs00prgsqpp5rhhltj7e0w6v847a4z7tdznzuhugul7pgccz9feymhppt0svzg0qdqdd9h8ver9wd3nxxqyjw5qcqp99qxpqysgqyckjezpg68mv586jw8wxt2r6fk54hlhszrkpwa2vrzkstdrywwe5urcyjnnjdc2hst7663zl0asv6tjp3ma4nsgpct37a0a9f76xuwspdum344", + "payment_hash": "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", + "amount_msat": 42, + "status": "unpaid", + "description": "invdesc3", + "expires_at": 1709246042, + "created_index": 3 + }, + { + "label": "inv5", + "bolt11": "lnbcrt123n1pja050zsp5vhjcrwrcvqrmlvlv5rggycak8wmfduytqjp9a9eh24gdgs503gxqpp5lg8h8zdyn6sw4tsy3jtxemz0zfz6esmh500qred8p8q4x3syrtpsdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqm6qwjdmvtxptu4gs82dnlur90je96g4rlnakxts4nnwdvacqs4hqjf735s059jj5gr229dh2texxz4euu7hm6m72vl4l858apl929hgq74e32s", + "payment_hash": "fa0f7389a49ea0eaae048c966cec4f1245acc377a3de01e5a709c15346041ac3", + "amount_msat": 12300, + "status": "unpaid", + "description": "description5", + "expires_at": 1708644786, + "created_index": 5 + }, + { + "label": "inv3", + "bolt11": "lnbcrt123n1pja05nqsp5635mkyk9fqzytd9zty65xpg3j7jy9v8jhmft775nee8xzrgnd5mspp5zw9d0khdugsp5w7up2t24sypxzr7yj26dlmqtl4sd5evtyh0fvzsdq5v3jhxcmjd9c8g6t0dc6sxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqwmcag7qh72njap9c4fv0g7ez7nxxu6trx02wvkmlghwjg5hl2j0jajeca02zx329ryg83rx5pg2fzkrpdw7ehcf0z7x27n3eplcw52qq97cvyh", + "payment_hash": "138ad7daede2201a3bdc0a96aac0813087e2495a6ff605feb06d32c592ef4b05", + "amount_msat": 12300, + "status": "unpaid", + "description": "description5", + "expires_at": 1709247712, + "created_index": 3 + }, + { + "label": "inv2", + "bolt11": "lnbcrt420p1pja0h87sp580njsetjavrqagpnlgkhxjfnwry9fzjsah7utky2f678rtfcun2qpp5et96quzyd7s2d2hl67kf2c3f0fal48hxsppypytwwckhnjzg256qdqdd9h8ver9wd3nyxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqumxmwl3xn89n3xdhlvf7hfypfsm2l32vrna77qjf3qg55ytr5cws63dhsepul5tw06lkum7dx5sgq97up09clcg6dly570eas90ekwsqfwew2k", + "payment_hash": "cacba070446fa0a6aaffd7ac9562297a7bfa9ee6804240916e762d79c8485534", + "amount_msat": 42, + "status": "unpaid", + "description": "invdesc2", + "expires_at": 1709250430, + "created_index": 2 + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listinvoice(7)", + "lightning-waitinvoice(7)", + "lightning-invoice(7)", + "lightning-delexpiredinvoice(7)", + "lightning-autoclean-status(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-delpay.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "delpay", + "title": "Command for removing a completed or failed payment", + "description": [ + "The **delpay** RPC command deletes a payment with the given `payment_hash` if its status is either `complete` or `failed`. If *partid* and *groupid* are not specified, all payment parts with matchin status are deleted." + ], + "request": { + "required": [ + "payment_hash", + "status" + ], + "properties": { + "payment_hash": { + "type": "hash", + "description": [ + "The unique identifier of a payment." + ] + }, + "status": { + "type": "string", + "description": [ + "Expected status of the payment. Only deletes if the payment status matches. Deleting a `pending` payment will return an error." + ], + "enum": [ + "complete", + "failed" + ] + }, + "partid": { + "type": "u64", + "description": [ + "Specific partid to delete (must be paired with *groupid*)." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Specific groupid to delete (must be paired with *partid*)." + ] + } + }, + "pairedWith": [ + [ + "partid", + "groupid" + ] + ] + }, + "response": { + "required": [ + "payments" + ], + "properties": { + "payments": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "created_index", + "id", + "payment_hash", + "status", + "amount_sent_msat", + "created_at" + ], + "properties": { + "created_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was created in." + ] }, - { - "if": { - "required": [ - "close_to" - ] - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "alias": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "inflight": {}, - "last_tx_fee_msat": {}, - "direction": {}, - "close_to_addr": { - "type": "string", - "description": [ - "The bitcoin address we will close to (present if close_to_addr is a standardized address)." - ] - } - } - } + "id": { + "type": "u64", + "description": [ + "Old synonym for created_index." + ] }, - { - "if": { - "required": [ - "scratch_txid" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "last_tx_fee_msat" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "alias": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": { - "type": "msat", - "description": [ - "Fee attached to this the current tx." - ] - } - } - } + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] }, - { - "if": { - "required": [ - "short_channel_id" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "direction" - ], - "properties": { - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "last_tx_fee_msat": {}, - "direction": { - "type": "u32", - "description": [ - "0 if we're the lesser node_id, 1 if we're the greater (as used in BOLT #7 channel_update)." - ] - } - } - } + "status": { + "type": "string", + "enum": [ + "pending", + "failed", + "complete" + ], + "description": [ + "Status of the payment." + ] }, - { - "if": { - "required": [ - "inflight" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "initial_feerate", - "last_feerate", - "next_feerate" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "alias": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "inflight": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": {}, - "initial_feerate": { - "type": "string", - "description": [ - "The feerate for the initial funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "last_feerate": { - "type": "string", - "description": [ - "The feerate for the latest funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "next_feerate": { - "type": "string", - "description": [ - "The minimum feerate for the next funding transaction in per-1000-weight, with `kpw` appended." - ] - } - } - } + "amount_sent_msat": { + "type": "msat", + "description": [ + "The amount we actually sent, including fees." + ] + }, + "partid": { + "type": "u64", + "description": [ + "Unique ID within this (multi-part) payment." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment if known." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount the destination received, if known." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "updated_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was changed (only present if it has changed since creation)." + ] + }, + "completed_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was completed." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] + }, + "payment_preimage": { + "type": "secret", + "description": [ + "Proof of payment." + ] + }, + "label": { + "type": "string", + "description": [ + "The label, if given to sendpay." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (if pay supplied one)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied for pay: **experimental-offers** only)." + ] + }, + "erroronion": { + "type": "hex", + "description": [ + "The error onion returned on failure, if any." + ] } - ] + } + } + } + }, + "pre_return_value_notes": [ + "The returned format is the same as lightning-listsendpays(7). If the payment is a multi-part payment (MPP) the command return a list of payments will be returned -- one payment object for each partid." + ] + }, + "example_json_request": [ + { + "id": "example:delpay#1", + "method": "delpay", + "params": { + "payment_hash": "4fa2f1b001067ec06d7f95b8695b8acd9ef04c1b4d1110e3b94e1fa0687bb1e0", + "status": "complete" + } + }, + { + "id": "example:delpay#2", + "method": "delpay", + "params": [ + "9f9a28a224125a361decee39a4045248ca5a0d7454199495d62a4410f078c481", + "complete" + ] + }, + { + "id": "example:delpay#3", + "method": "delpay", + "params": [ + "c9d4547473d0d646f1fdd8ca7f01803e4d31ceab01df33c79456f9c24b04034e", + "failed" + ] + }, + { + "id": "example:delpay#4", + "method": "delpay", + "params": [ + "1b56052c93885aac962d6101c1b1d10f7e5ab6713ef69b3edb306011c9affc5f", + "complete" + ] + }, + { + "id": "example:delpay#5", + "method": "delpay", + "params": [ + "f6c49cc1b9bddbdc340f9e8934eed62d954f2d2da1696184da0a32275b13c981", + "failed" + ] + }, + { + "id": "example:delpay#6", + "method": "delpay", + "params": { + "payment_hash": "bbc35e0a46d1483292a4ff8d4daaceaab8c3c084dd835be4128785b52e469c64", + "status": "complete", + "groupid": 1, + "partid": 1 + } + }, + { + "id": "example:delpay#7", + "method": "delpay", + "params": [ + "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", + "failed", + 0, + 1 + ] + } + ], + "errors": [ + "On failure, an error is returned. If the lightning process fails before responding, the", + "caller should use lightning-listsentpays(7) or lightning-listpays(7) to query whether this payment was deleted or not.", + "", + "The following error codes may occur:", + "", + "- -32602: Parameter missed or malformed;", + "- 211: Payment status mismatch. Check the correct status via **paystatus**;", + "- 208: Payment with payment_hash not found." + ], + "example_json_response": [ + { + "payments": [ + { + "id": 2, + "payment_hash": "8dfd6538eeb33811c9114a75f792a143728d7f05643f38c3d574d3097e8910c0", + "destination": "0219f8900ee78a89f050c24d8b69492954f9fdbabed753710845eb75d3a75a5880", + "msatoshi": 1000, + "amount_msat": "1000msat", + "msatoshi_sent": 1000, + "amount_sent_msat": "1000msat", + "created_at": 1596224858, + "status": "complete", + "payment_preimage": "35bd4e2b481a1a84a22215b5372672cf81460a671816960ddb206464359e1822", + "bolt11": "lntb10n1p0jga20pp53h7k2w8wkvuprjg3ff6l0y4pgdeg6lc9vsln3s74wnfsjl5fzrqqdqdw3jhxazldahx2xqyjw5qcqp2sp5wut5jnhr6n7jd5747ky2g5flmw7hgx9yjnqzu60ps2jf6f7tc0us9qy9qsqu2a0k37nckl62005p69xavlkydkvhnypk4dphffy4x09zltwh9437ad7xkl83tefdarzhu5t30ju5s56wlrg97qkx404pq3srfc425cq3ke9af" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "9f9a28a224125a361decee39a4045248ca5a0d7454199495d62a4410f078c481", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000, + "amount_sent_msat": 100000, + "created_at": 1706316364, + "completed_at": 1706316366, + "status": "complete", + "payment_preimage": "4b6a8b5df821517ac6376e79279aefaa81ece270933a1e4234593a14546d94b7", + "bolt11": "lnbcrt1u1pjmg5jtsp5uwrerppmclxl8q3zwj2ag20rgan0ueufqv2nar5yp07ggha2w5kspp5n7dz3g3yzfdrv80vacu6gpzjfr995rt52svef9wk9fzppurccjqsdq9d9h8vxqyjw5qcqp99qxpqysgq20s6n2szgca4p5vf9jyzgd3dan7agzdn4pq6u3x2kf9z7xpauagxy04jctuhk33urd3r2l7tfatkwvcayzkehgf4q6c2h7rdyzk78jgp7zy6za" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "c9d4547473d0d646f1fdd8ca7f01803e4d31ceab01df33c79456f9c24b04034e", + "groupid": 1, + "updated_index": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000, + "amount_sent_msat": 100002, + "created_at": 1706316468, + "completed_at": 1706316471, + "status": "failed", + "bolt11": "lnbcrt1u1pjmg54nsp5ke626txv6wwwmqmpuy63t3jnu9hqxwj880zsfkkj7jjqagdaz2sqpp5e829garn6rtydu0amr987qvq8exnrn4tq80n83u52muuyjcyqd8qdq8v3jhxccxqyjw5qcqp99qxpqysgqalktfwy9svsamvvvrzzzzpdaa4rh7n6s5p7t9lx7qv0raz4vnm9knkh5ury3u5cmnhx2gms98nxkclm3833uhjrlnzmftc685vz2f0gpfnjy4y" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "1b56052c93885aac962d6101c1b1d10f7e5ab6713ef69b3edb306011c9affc5f", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000, + "amount_sent_msat": 100000, + "created_at": 1708640559, + "completed_at": 1708640560, + "status": "complete", + "payment_preimage": "3b699f52639938c95323dcd7002c8b384627ff5e4e0a43c30034b947af3b1a39", + "bolt11": "lnbcrt1u1pja0jf0sp5wqglq8es4jndu9554ct7qzuggrdytq0dg99xrfde4emzl5ggkhxspp5rdtq2tyn3pd2e93dvyqurvw3pal94dn38mmfk0kmxpsprjd0l30sdq9d9h8vxqyjw5qcqp99qxpqysgq7n5pex8xf5yjd5k7yrvjkxku3m8kh02utwyukppuep6xd6tsenaz87mpkaygyqza2cgnsh5qhe582hrq5t2jz4klzh028vjc4hz5wvcqshsf7w" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "f6c49cc1b9bddbdc340f9e8934eed62d954f2d2da1696184da0a32275b13c981", + "groupid": 1, + "updated_index": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000, + "amount_sent_msat": 100002, + "created_at": 1708640584, + "completed_at": 1708640585, + "status": "failed", + "bolt11": "lnbcrt1u1pja0j2gsp5mxfzhdjfm8pdc7fhvqy5ydgkvals2z62yrdcp30ydqf9q2xvguespp57mzfesdehhdacdq0n6ynfmkk9k257tfd595krpx6pgezwkcnexqsdq8v3jhxccxqyjw5qcqp99qxpqysgq2swrqpwjltxfyjr7d5u5nje0ht3wp6t9lshe6xf2euwjjw9yqdz8uyfadr295wxrqdq55xee2dnaunp3nv40d9gtgy8zuvqrmvp4pvqq7ecre4" + } + ] + }, + { + "payments": [ + { + "created_index": 2, + "id": 2, + "payment_hash": "bbc35e0a46d1483292a4ff8d4daaceaab8c3c084dd835be4128785b52e469c64", + "groupid": 1, + "updated_index": 2, + "partid": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000, + "amount_sent_msat": 102100, + "created_at": 1708641193, + "completed_at": 1708641194, + "status": "complete", + "payment_preimage": "a6ebb1cfbf69e76200f196f1eafd28a3d850633499c223a7eb7a7dba3b995286" + } + ] + }, + { + "payments": [ + { + "created_index": 3, + "id": 3, + "payment_hash": "1deff5cbd97bb4c3d7dda8bcb68a62e5f88e7fc1463022a724ddc215be0c121e", + "groupid": 1, + "updated_index": 3, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 42, + "amount_sent_msat": 42, + "created_at": 1708641243, + "completed_at": 1708641244, + "status": "failed", + "bolt11": "lnbcrt420p1pja0j76sp59286gf3uv549dhyua43hsmwstegs0w4d2ykrq6a0czprs00prgsqpp5rhhltj7e0w6v847a4z7tdznzuhugul7pgccz9feymhppt0svzg0qdqdd9h8ver9wd3nxxqyjw5qcqp99qxpqysgqyckjezpg68mv586jw8wxt2r6fk54hlhszrkpwa2vrzkstdrywwe5urcyjnnjdc2hst7663zl0asv6tjp3ma4nsgpct37a0a9f76xuwspdum344" } + ] + } + ], + "author": [ + "Vincenzo Palazzo <> is mainly responsible." + ], + "see_also": [ + "lightning-listpays(7)", + "lightning-listsendpays(7)", + "lightning-paystatus(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-deprecations.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v24.02", + "rpc": "deprecations", + "title": "Command to enable/disable deprecated APIs", + "description": [ + "The **deprecations** RPC command is used to override global config option `allow-deprecated-apis` for further RPC commands on this same connection. This can be useful for developer testing to ensure you don't accidentally rely on deprecated features." + ], + "request": { + "required": [ + "enable" + ], + "properties": { + "enable": { + "type": "boolean", + "description": [ + "Flag to enable or disable deprecated APIs. Setting it to `false` will neither accept deprecated parameters or commands, nor output deprecated fields." + ] + } + } + }, + "response": { + "properties": {} + }, + "example_json_request": [ + { + "id": "example:deprecations#1", + "method": "deprecations", + "params": { + "enable": false + } + } + ], + "example_json_response": [ + {} + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "author": [ + "Rusty Russell <> wrote the initial version of this man page." + ], + "see_also": [ + "lightningd-config(5)", + "lightning-notifications(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-disableinvoicerequest.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v22.11", + "rpc": "disableinvoicerequest", + "title": "Command for removing an invoice request", + "warning": "experimental-offers only", + "description": [ + "The **disableinvoicerequest** RPC command disables an invoice_request, so that no further invoices will be accepted (and thus, no further payments made)..", + "", + "We currently don't support deletion of invoice_requests, so they are not forgotten entirely (there may be payments which refer to this invoice_request)." + ], + "request": { + "required": [ + "invreq_id" + ], + "properties": { + "invreq_id": { + "type": "string", + "description": [ + "A specific invoice can be disabled by providing the `invreq_id`, which is presented by lightning-invoicerequest(7)." + ] + } + } + }, + "response": { + "required": [ + "invreq_id", + "single_use", + "active", + "bolt12", + "used" + ], + "properties": { + "invreq_id": { + "type": "hash", + "description": [ + "The SHA256 hash of all invoice_request fields less than 160." + ] + }, + "active": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether the invoice_request is currently active." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether the invoice_request will become inactive after we pay an invoice for it." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string starting with lnr." + ] + }, + "used": { + "type": "boolean", + "description": [ + "Whether the invoice_request has already been used." + ] + }, + "label": { + "type": "string", + "description": [ + "The label provided when creating the invoice_request." + ] + } + }, + "pre_return_value_notes": [ + "Note: the returned object is the same format as **listinvoicerequest**." + ] + }, + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-invoicerequest(7)", + "lightning-listinvoicerequest(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-disableoffer.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "disableoffer", + "title": "Command for removing an offer", + "warning": "experimental-offers only", + "description": [ + "The **disableoffer** RPC command disables an offer, so that no further invoices will be given out.", + "", + "We currently don't support deletion of offers, so offers are not forgotten entirely (there may be invoices which refer to this offer)." + ], + "request": { + "required": [ + "offer_id" + ], + "properties": { + "offer_id": { + "type": "hash", + "description": [ + "The id we use to identify this offer." + ] + } + } + }, + "response": { + "required": [ + "offer_id", + "active", + "single_use", + "bolt12", + "used" + ], + "properties": { + "offer_id": { + "type": "hash", + "description": [ + "The merkle hash of the offer." + ] + }, + "active": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether the offer can produce invoices/payments." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether the offer is disabled after first successful use." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string representing this offer." + ] + }, + "used": { + "type": "boolean", + "description": [ + "Whether the offer has had an invoice paid / payment made." + ] + }, + "label": { + "type": "string", + "description": [ + "The label provided when offer was created." + ] + } + }, + "pre_return_value_notes": [ + "Note: the returned object is the same format as **listoffers**." + ] + }, + "example_json_request": [ + { + "id": "example:disableoffer#1", + "method": "disableoffer", + "params": { + "offer_id": "713a16ccd4eb10438bdcfbc2c8276be301020dd9d489c530773ba64f3b33307d" + } + }, + { + "id": "example:disableoffer#2", + "method": "disableoffer", + "params": { + "offer_id": "942dbb8d7ec9a096afd70660e9c9aaf38ad219a072e6f7ece850eb0e2efb6443" + } + } + ], + "example_json_response": [ + { + "offer_id": "053a5c566fbea2681a5ff9c05a913da23e45b95d09ef5bd25d7d408f23da7084", + "active": false, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqvqcdgq2z9pk7enxv4jjqen0wgs8yatnw3ujz83qkc6rvp4j28rt3dtrn32zkvdy7efhnlrpr5rp5geqxs783wtlj550qs8czzku4nk3pqp6m593qxgunzuqcwkmgqkmp6ty0wyvjcqdguv3pnpukedwn6cr87m89t74h3auyaeg89xkvgzpac70z3m9rn5xzu28c", + "used": false + }, + { + "offer_id": "942dbb8d7ec9a096afd70660e9c9aaf38ad219a072e6f7ece850eb0e2efb6443", + "active": false, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", + "used": true + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-offer(7)", + "lightning-listoffers(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-disconnect.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "disconnect", + "title": "Command for disconnecting from another lightning node", + "description": [ + "The disconnect RPC command closes an existing connection to a peer, identified by *id*, in the Lightning Network, as long as it doesn't have an active channel." + ], + "request": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The public key of the peer to terminate the connection. It can be discovered in the output of the listpeers command, which returns a set of peers:", + "{", + " 'peers':", + " [", + " {", + " 'id': '0563aea81...',", + " 'connected': true,", + " ...", + " }", + " ]", + "}" + ] + }, + "force": { + "type": "boolean", + "description": [ + "If set to True, it will disconnect even with an active channel." + ] } - }, - "post_return_value_notes": [ - "The *state* field values (and *old_state* / *new_state*) are worth describing further:", - "", - " * `OPENINGD`: The channel funding protocol with the peer is ongoing and both sides are negotiating parameters.", - " * `DUALOPEND_OPEN_INIT`: Like `OPENINGD`, but for v2 connections which are using collaborative opens.", - " * `DUALOPEND_OPEN_COMMIT_READY`: Like `OPENINGD`, but for v2 connections which are using collaborative opens. You're ready to send your commitment signed to your peer.", - " * `DUALOPEND_OPEN_COMMITTED`: Like `OPENINGD`, but for v2 connections which are using collaborative opens. You've gotten an initial signed commitment from your peer.", - " * `CHANNELD_AWAITING_LOCKIN` / `DUALOPEND_AWAITING_LOCKIN`: The peer and you have agreed on channel parameters and are just waiting for the channel funding transaction to be confirmed deeply (original and collaborative open protocols, respectively). Both you and the peer must acknowledge the channel funding transaction to be confirmed deeply before entering the next state. Also, you can increase the onchain fee for channels in `DUALOPEND_AWAITING_LOCKIN` using lightning-openchannel_bump(7).", - " * `CHANNELD_NORMAL`: The channel can be used for normal payments.", - " * `CHANNELD_SHUTTING_DOWN`: A mutual close was requested (by you or peer) and both of you are waiting for HTLCs in-flight to be either failed or succeeded. The channel can no longer be used for normal payments and forwarding. Mutual close will proceed only once all HTLCs in the channel have either been fulfilled or failed.", - " * `CLOSINGD_SIGEXCHANGE`: You and the peer are negotiating the mutual close onchain fee.", - " * `CLOSINGD_COMPLETE`: You and the peer have agreed on the mutual close onchain fee and are awaiting the mutual close getting confirmed deeply.", - " * `AWAITING_UNILATERAL`: You initiated a unilateral close, and are now waiting for the peer-selected unilateral close timeout to complete.", - " * `FUNDING_SPEND_SEEN`: You saw the funding transaction getting spent (usually the peer initiated a unilateral close) and will now determine what exactly happened (i.e. if it was a theft attempt).", - " * `ONCHAIN`: You saw the funding transaction getting spent and now know what happened (i.e. if it was a proper unilateral close by the peer, or a theft attempt)." - ] + } + }, + "response": { + "properties": {} }, "errors": [ "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." + "- -32602: If the given parameters are wrong.", + "- -1: Catchall nonspecific error." ], "example_json_request": [ { - "id": "example:listpeerchannels#1", - "method": "listpeerchannels", + "id": "example:disconnect#1", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": false } }, { - "id": "example:listpeerchannels#2", - "method": "listpeerchannels", + "id": "example:disconnect#2", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": false } }, { - "id": "example:listpeerchannels#3", - "method": "listpeerchannels", + "id": "example:disconnect#3", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } }, { - "id": "example:listpeerchannels#4", - "method": "listpeerchannels", + "id": "example:disconnect#4", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } }, { - "id": "example:listpeerchannels#5", - "method": "listpeerchannels", + "id": "example:disconnect#5", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } }, { - "id": "example:listpeerchannels#6", - "method": "listpeerchannels", + "id": "example:disconnect#6", + "method": "disconnect", "params": { - "id": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": false } }, { - "id": "example:listpeerchannels#7", - "method": "listpeerchannels", + "id": "example:disconnect#7", + "method": "disconnect", "params": { - "id": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } }, { - "id": "example:listpeerchannels#8", - "method": "listpeerchannels", + "id": "example:disconnect#8", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": false } }, { - "id": "example:listpeerchannels#9", - "method": "listpeerchannels", + "id": "example:disconnect#9", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } }, { - "id": "example:listpeerchannels#10", - "method": "listpeerchannels", + "id": "example:disconnect#10", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#11", - "method": "listpeerchannels", + "id": "example:disconnect#11", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#12", - "method": "listpeerchannels", + "id": "example:disconnect#12", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#13", - "method": "listpeerchannels", + "id": "example:disconnect#13", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#14", - "method": "listpeerchannels", + "id": "example:disconnect#14", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#15", - "method": "listpeerchannels", + "id": "example:disconnect#15", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#16", - "method": "listpeerchannels", + "id": "example:disconnect#16", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#17", - "method": "listpeerchannels", + "id": "example:disconnect#17", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#18", - "method": "listpeerchannels", + "id": "example:disconnect#18", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#19", - "method": "listpeerchannels", + "id": "example:disconnect#19", + "method": "disconnect", "params": { - "id": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#20", - "method": "listpeerchannels", + "id": "example:disconnect#20", + "method": "disconnect", "params": { - "id": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#21", - "method": "listpeerchannels", + "id": "example:disconnect#21", + "method": "disconnect", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#22", - "method": "listpeerchannels", + "id": "example:disconnect#22", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "force": true } }, { - "id": "example:listpeerchannels#23", - "method": "listpeerchannels", + "id": "example:disconnect#23", + "method": "disconnect", "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "force": true } } ], "example_json_response": [ - { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "channel_type": { - "bits": [ - 12 - ], - "names": [ - "static_remotekey/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "4e9c2866b9ae1f765b89ea7ec37428c900ea97f717f85f00e3db852cb6aea3a8", - "last_tx_fee_msat": 5430000, - "feerate": { - "perkw": 7500, - "perkb": 30000 - }, - "owner": "channeld", - "direction": 1, - "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "funding_txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "5589251x14022525x17398" - }, - "features": [ - "option_static_remotekey" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709552000, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 973980000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] - }, - { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "channel_type": { - "bits": [ - 12 - ], - "names": [ - "static_remotekey/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "4e9c2866b9ae1f765b89ea7ec37428c900ea97f717f85f00e3db852cb6aea3a8", - "last_tx_fee_msat": 5430000, - "feerate": { - "perkw": 7500, - "perkb": 30000 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", - "funding_txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "5589251x14022525x17398" - }, - "features": [ - "option_static_remotekey" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709552000, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 973980000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "author": [ + "Michael Hawkins <>." + ], + "see_also": [ + "lightning-connect(1)", + "lightning-listpeers(1)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-emergencyrecover.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "emergencyrecover", + "title": "Command for recovering channels from the emergency.recovery file in the lightning directory", + "description": [ + "The **emergencyrecover** RPC command fetches data from the emergency.recover file and tries to reconnect to the peer and force him to close the channel. The data in this file has enough information to reconnect and sweep the funds.", + "", + "This recovery method is not spontaneous and it depends on the peer, so it should be used as a last resort to recover the funds stored in a channel in case of severe data loss." + ], + "request": { + "required": [], + "properties": {} + }, + "response": { + "required": [ + "stubs" + ], + "properties": { + "stubs": { + "type": "array", + "items": { + "type": "hash", + "description": [ + "Channel IDs of channels successfully inserted." + ] } - ] - }, + } + } + }, + "example_json_request": [ { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 - }, - "owner": "channeld", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "15447035x5589520x8959" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [ - "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + "id": "example:emergencyrecover#1", + "method": "emergencyrecover", + "params": "{}" }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "15447035x5589520x8959", - "remote": "6036590x13481428x5501" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + "id": "example:emergencyrecover#2", + "method": "emergencyrecover", + "params": "{}" }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "15447035x5589520x8959", - "remote": "6036590x13481428x5501" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + "id": "example:emergencyrecover#3", + "method": "emergencyrecover", + "params": "{}" }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "15447035x5589520x8959", - "remote": "6036590x13481428x5501" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 - }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + "id": "example:emergencyrecover#4", + "method": "emergencyrecover", + "params": "{}" + } + ], + "example_json_response": [ + { + "stubs": [] }, { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "ed63827b7a52e7c4c1506a6bb17a2b23769dc9d7a41bb0bccca297e389d656fd", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "6036590x13481428x5501", - "remote": "15447035x5589520x8959" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 - }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 978330000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } + "stubs": [ + "c00734472f344fdadd0bf787de182e5cf144ccda5d731b0f7c75befd1f1eff52" ] }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + "stubs": [] + }, + { + "stubs": [ + "a78f309601c48697decff74b856ed2c353f85665a65255c62598b9302ab35446" + ] + } + ], + "author": [ + "Aditya <> is mainly responsible." + ], + "see_also": [ + "lightning-getsharedsecret(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-feerates.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "feerates", + "title": "Command for querying recommended onchain feerates", + "description": [ + "The **feerates** command returns the feerates that CLN will use. The feerates will be based on the recommended feerates from the backend. The backend may fail to provide estimates, but if it was able to provide estimates in the past, CLN will continue to use those for a while. CLN will also smoothen feerate estimations from the backend.", + "", + "Explorers often present fees in \"sat/vB\": 4 sat/vB is `4000perkb` or `1000perkw`.", + "", + "Bitcoin transactions have non-witness and witness bytes:", + "", + "* Non-witness bytes count as 4 weight, 1 virtual byte. All bytes other than SegWit witness count as non-witness bytes. * Witness bytes count as 1 weight, 0.25 virtual bytes.", + "", + "Thus, all *perkb* feerates will be exactly 4 times *perkw* feerates.", + "", + "To compute the fee for a transaction, multiply its weight or virtual bytes by the appropriate *perkw* or *perkw* feerate returned by this command, then divide by 1000.", + "", + "There is currently no way to change these feerates from the RPC. If you need custom control over onchain feerates, you will need to provide your own plugin that replaces the `bcli` plugin backend. For commands like lightning-withdraw(7) or lightning-fundchannel(7) you can provide a preferred feerate directly as a parameter, which will override the recommended feerates returned by **feerates**." + ], + "request": { + "required": [ + "style" + ], + "properties": { + "style": { + "type": "string", + "description": [ + "Fee rate style to use. This can be:", + " *perkw* - provide feerate in units of satoshis per 1000 weight (e.g. the minimum fee is usually `253perkw`).", + " *perkb* - provide feerate in units of satoshis per 1000 virtual bytes (eg. the minimum fee is usually `1000perkb`)." + ], + "enum": [ + "perkb", + "perkw" + ] + } + } + }, + "response": { + "required": [], + "properties": { + "warning_missing_feerates": { + "type": "string", + "description": [ + "Some fee estimates are missing." + ] + }, + "perkb": { + "type": "object", + "description": [ + "If *style* parameter was perkb." + ], + "additionalProperties": false, + "required": [ + "min_acceptable", + "max_acceptable", + "floor", + "estimates" + ], + "properties": { + "min_acceptable": { + "type": "u32", + "description": [ + "The smallest feerate that we allow peers to specify: half the 100-block estimate." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "max_acceptable": { + "type": "u32", + "description": [ + "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." + ] }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + "floor": { + "type": "u32", + "added": "v23.05", + "description": [ + "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "15447035x5589520x8959", - "remote": "6036590x13481428x5501" + "estimates": { + "type": "array", + "added": "v23.05", + "description": [ + "Feerate estimates from plugin which we are using (usuallly bcli)." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "blockcount", + "feerate", + "smoothed_feerate" + ], + "properties": { + "blockcount": { + "type": "u32", + "added": "v23.05", + "description": [ + "The number of blocks the feerate is expected to get a transaction in." + ] + }, + "feerate": { + "type": "u32", + "added": "v23.05", + "description": [ + "The feerate for this estimate, in given *style*." + ] + }, + "smoothed_feerate": { + "type": "u32", + "added": "v23.05", + "description": [ + "The feerate, smoothed over time (useful for coordinating with other nodes)." + ] + } + } + } }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + "opening": { + "type": "u32", + "description": [ + "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)." + ] }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] - }, - { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + "mutual_close": { + "type": "u32", + "description": [ + "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "unilateral_close": { + "type": "u32", + "description": [ + "Feerate for commitment_transaction in a live channel which we originally funded." + ] }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "0a5f5871335cd2469d69a0671369deb9041d3f2e9f75a3aba39ba2672995011b", - "last_tx_fee_msat": 4866000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "unilateral_anchor_close": { + "type": "u32", + "added": "v23.08", + "description": [ + "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "6036590x13481428x5501", - "remote": "15447035x5589520x8959" + "delayed_to_us": { + "type": "u32", + "deprecated": [ + "v23.05", + "v24.05" + ], + "description": [ + "Feerate for returning unilateral close funds to our wallet." + ] }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + "htlc_resolution": { + "type": "u32", + "deprecated": [ + "v23.05", + "v24.05" + ], + "description": [ + "Feerate for returning unilateral close HTLC outputs to our wallet." + ] }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 966024000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 11000000, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 11000000, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [ - { - "direction": "in", - "id": 0, - "amount_msat": 11000000, - "expiry": 109, - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "state": "SENT_REMOVE_COMMIT" - } - ] + "penalty": { + "type": "u32", + "description": [ + "Feerate to use when creating penalty tx for watchtowers." + ] + } } - ] - }, - { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + }, + "perkw": { + "type": "object", + "description": [ + "If *style* parameter was perkw." + ], + "additionalProperties": false, + "required": [ + "min_acceptable", + "max_acceptable", + "floor", + "estimates" + ], + "properties": { + "min_acceptable": { + "type": "u32", + "description": [ + "The smallest feerate that you can use, usually the minimum relayed feerate of the backend." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "max_acceptable": { + "type": "u32", + "description": [ + "The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)." + ] }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "0a5f5871335cd2469d69a0671369deb9041d3f2e9f75a3aba39ba2672995011b", - "last_tx_fee_msat": 4866000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "floor": { + "type": "u32", + "added": "v23.05", + "description": [ + "The smallest feerate that our backend tells us it will accept (i.e. minrelayfee or mempoolminfee)." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "6036590x13481428x5501", - "remote": "15447035x5589520x8959" + "estimates": { + "type": "array", + "added": "v23.05", + "description": [ + "Feerate estimates from plugin which we are using (usuallly bcli)." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "blockcount", + "feerate", + "smoothed_feerate" + ], + "properties": { + "blockcount": { + "type": "u32", + "added": "v23.05", + "description": [ + "The number of blocks the feerate is expected to get a transaction in." + ] + }, + "feerate": { + "type": "u32", + "added": "v23.05", + "description": [ + "The feerate for this estimate, in given *style*." + ] + }, + "smoothed_feerate": { + "type": "u32", + "added": "v23.05", + "description": [ + "The feerate, smoothed over time (useful for coordinating with other nodes)." + ] + } + } + } }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + "opening": { + "type": "u32", + "description": [ + "Default feerate for lightning-fundchannel(7) and lightning-withdraw(7)." + ] }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 966024000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 11000000, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 11000000, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [ - { - "direction": "in", - "id": 0, - "amount_msat": 11000000, - "expiry": 109, - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "state": "SENT_REMOVE_COMMIT" - } - ] - } - ] - }, - { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + "mutual_close": { + "type": "u32", + "description": [ + "Feerate to aim for in cooperative shutdown. Note that since mutual close is a **negotiation**, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "unilateral_close": { + "type": "u32", + "description": [ + "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was not negotiated)." + ] }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "3ccab8684757ae6e20c263b8f128443ea390ce177f6b7aae7af1409cfee42290", - "last_tx_fee_msat": 4220000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "unilateral_anchor_close": { + "type": "u32", + "added": "v23.08", + "description": [ + "Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "6036590x13481428x5501", - "remote": "15447035x5589520x8959" + "delayed_to_us": { + "type": "u32", + "deprecated": [ + "v23.05", + "v24.05" + ], + "description": [ + "Feerate for returning unilateral close funds to our wallet." + ] }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + "htlc_resolution": { + "type": "u32", + "deprecated": [ + "v23.05", + "v24.05" + ], + "description": [ + "Feerate for returning unilateral close HTLC outputs to our wallet." + ] }, - "to_us_msat": 11000000, - "min_to_us_msat": 0, - "max_to_us_msat": 11000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 1000000, - "receivable_msat": 967316000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 11000000, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 11000000, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] + "penalty": { + "type": "u32", + "description": [ + "Feerate to use when creating penalty tx for watchtowers." + ] + } } - ] - }, - { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + }, + "onchain_fee_estimates": { + "type": "object", + "additionalProperties": false, + "required": [ + "opening_channel_satoshis", + "mutual_close_satoshis", + "unilateral_close_satoshis", + "htlc_timeout_satoshis", + "htlc_success_satoshis" + ], + "properties": { + "opening_channel_satoshis": { + "type": "u64", + "description": [ + "Estimated cost of typical channel open." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "mutual_close_satoshis": { + "type": "u64", + "description": [ + "Estimated cost of typical channel close." + ] }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "3ccab8684757ae6e20c263b8f128443ea390ce177f6b7aae7af1409cfee42290", - "last_tx_fee_msat": 4220000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "unilateral_close_satoshis": { + "type": "u64", + "description": [ + "Estimated cost of typical unilateral close (without HTLCs). If anchors are supported, this assumes a channel with anchors." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "6036590x13481428x5501", - "remote": "15447035x5589520x8959" + "unilateral_close_nonanchor_satoshis": { + "added": "v23.08", + "type": "u64", + "description": [ + "Estimated cost of non-anchor typical unilateral close (without HTLCs)." + ] }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + "htlc_timeout_satoshis": { + "type": "u64", + "description": [ + "Estimated cost of typical HTLC timeout transaction (non-anchors)." + ] }, - "to_us_msat": 11000000, - "min_to_us_msat": 0, - "max_to_us_msat": 11000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 1000000, - "receivable_msat": 967316000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 11000000, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 11000000, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] + "htlc_success_satoshis": { + "type": "u64", + "description": [ + "Estimated cost of typical HTLC fulfillment transaction (non-anchors)." + ] + } } - ] + } + } + }, + "errors": [ + "The **feerates** command will never error, however some fields may be missing in the result if feerate estimates for that kind of transaction are unavailable." + ], + "notes": [ + "Many other commands have a *feerate* parameter. This can be:", + "", + "* One of the strings to use lightningd's internal estimates:", + " * *urgent* (next 6 blocks or so)", + " * *normal* (next 12 blocks or so)", + " * *slow* (next 100 blocks or so)", + " * *minimum* for the lowest value bitcoind will currently accept (added in v23.05)", + "", + "* A number, with an optional suffix:", + " * *blocks* means aim for confirmation in that many blocks (added in v23.05)", + " * *perkw* means the number is interpreted as satoshi-per-kilosipa (weight)", + " * *perkb* means it is interpreted bitcoind-style as satoshi-per-kilobyte. ", + "", + "Omitting the suffix is equivalent to *perkb*." + ], + "trivia": [ + "In C-lightning we like to call the weight unit \"sipa\" in honor of Pieter Wuille, who uses the name \"sipa\" on IRC and elsewhere. Internally we call the *perkw* style as \"feerate per kilosipa\"." + ], + "example_json_request": [ + { + "id": "example:feerates#1", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#2", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#3", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#4", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#5", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#6", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#7", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#8", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#9", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#10", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#11", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#12", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#13", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#14", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#15", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#16", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#17", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#18", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#19", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#20", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#21", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#22", + "method": "feerates", + "params": { + "style": "perkw", + "urgent": null, + "normal": null, + "slow": null + } + }, + { + "id": "example:feerates#23", + "method": "feerates", + "params": { + "style": "perkb", + "urgent": null, + "normal": null, + "slow": null + } + } + ], + "example_json_response": [ + { + "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", + "perkw": { + "min_acceptable": 253, + "max_acceptable": 4294967295, + "floor": 253, + "estimates": [] + } + }, + { + "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", + "perkw": { + "min_acceptable": 253, + "max_acceptable": 4294967295, + "floor": 253, + "estimates": [] + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "AWAITING_UNILATERAL", - "scratch_txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", - "last_tx_fee_msat": 4321000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "perkw": { + "opening": 1000000, + "mutual_close": 26362, + "unilateral_close": 26362, + "unilateral_anchor_close": 1000000, + "penalty": 26362, + "min_acceptable": 3750, + "max_acceptable": 10000000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", - "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "closer": "local", - "alias": { - "local": "15447035x5589520x8959", - "remote": "6036590x13481428x5501" + { + "blockcount": 6, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 12, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "to_us_msat": 989000000, - "min_to_us_msat": 989000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 967316000, - "receivable_msat": 899999, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:48:57.127Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - }, - { - "timestamp": "2024-02-22T17:48:59.741Z", - "old_state": "CHANNELD_NORMAL", - "new_state": "AWAITING_UNILATERAL", - "cause": "user", - "message": "Failing due to dev-fail command" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 100001, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 1, - "out_offered_msat": 11000000, - "out_payments_fulfilled": 1, - "out_fulfilled_msat": 11000000, - "htlcs": [ - { - "direction": "in", - "id": 0, - "amount_msat": 100001, - "expiry": 109, - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "state": "RCVD_ADD_ACK_REVOCATION", - "local_trimmed": true - } - ] - } - ] + { + "blockcount": 100, + "feerate": 1000000, + "smoothed_feerate": 26362 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 702000, + "mutual_close_satoshis": 17741, + "unilateral_close_satoshis": 1112000, + "unilateral_close_nonanchor_satoshis": 15764, + "htlc_timeout_satoshis": 17478, + "htlc_success_satoshis": 18532 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + "perkw": { + "opening": 1000000, + "mutual_close": 26362, + "unilateral_close": 26362, + "unilateral_anchor_close": 1000000, + "penalty": 26362, + "min_acceptable": 3750, + "max_acceptable": 10000000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "owner": "channeld", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749" + { + "blockcount": 6, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 12, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [ - "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 100, + "feerate": 1000000, + "smoothed_feerate": 26362 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 702000, + "mutual_close_satoshis": 17741, + "unilateral_close_satoshis": 1112000, + "unilateral_close_nonanchor_satoshis": 15764, + "htlc_timeout_satoshis": 17478, + "htlc_success_satoshis": 18532 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "perkw": { + "opening": 1000000, + "mutual_close": 26362, + "unilateral_close": 26362, + "unilateral_anchor_close": 1000000, + "penalty": 26362, + "min_acceptable": 3750, + "max_acceptable": 10000000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + { + "blockcount": 6, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 12, + "feerate": 1000000, + "smoothed_feerate": 26362 }, - "owner": "channeld", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749" + { + "blockcount": 100, + "feerate": 1000000, + "smoothed_feerate": 26362 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 702000, + "mutual_close_satoshis": 17741, + "unilateral_close_satoshis": 1112000, + "unilateral_close_nonanchor_satoshis": 15764, + "htlc_timeout_satoshis": 17478, + "htlc_success_satoshis": 18532 + } + }, + { + "perkw": { + "opening": 1000000, + "mutual_close": 44866, + "unilateral_close": 44866, + "unilateral_anchor_close": 1000000, + "penalty": 44866, + "min_acceptable": 3750, + "max_acceptable": 10000000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 1000000, + "smoothed_feerate": 44866 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 6, + "feerate": 1000000, + "smoothed_feerate": 44866 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [ - "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 12, + "feerate": 1000000, + "smoothed_feerate": 44866 + }, + { + "blockcount": 100, + "feerate": 1000000, + "smoothed_feerate": 44866 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 702000, + "mutual_close_satoshis": 30194, + "unilateral_close_satoshis": 1112000, + "unilateral_close_nonanchor_satoshis": 26829, + "htlc_timeout_satoshis": 29746, + "htlc_success_satoshis": 31540 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "perkw": { + "opening": 1000000, + "mutual_close": 80825, + "unilateral_close": 80825, + "unilateral_anchor_close": 1000000, + "penalty": 80825, + "min_acceptable": 500000, + "max_acceptable": 10000000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 1000000, + "smoothed_feerate": 80825 }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + { + "blockcount": 6, + "feerate": 1000000, + "smoothed_feerate": 80825 }, - "state": "CHANNELD_AWAITING_LOCKIN", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 12, + "feerate": 1000000, + "smoothed_feerate": 80825 + }, + { + "blockcount": 100, + "feerate": 1000000, + "smoothed_feerate": 80825 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 702000, + "mutual_close_satoshis": 54395, + "unilateral_close_satoshis": 1112000, + "unilateral_close_nonanchor_satoshis": 48333, + "htlc_timeout_satoshis": 53586, + "htlc_success_satoshis": 56819 + } + }, + { + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 7500, + "max_acceptable": 300000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "owner": "channeld", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749" + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [], - "status": [ - "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 7500, + "max_acceptable": 300000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749", - "remote": "5473684x9159292x43153" + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + }, + { + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 7500, + "max_acceptable": 300000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.948Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 + }, + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 8000, + "max_acceptable": 300000, + "floor": 8000, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749", - "remote": "5473684x9159292x43153" + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + }, + { + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 7500, + "max_acceptable": 300000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.948Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 + }, + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 7500, + "max_acceptable": 300000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 + }, + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + }, + { + "perkb": { + "opening": 30000, + "mutual_close": 15000, + "unilateral_close": 44000, + "unilateral_anchor_close": 15000, + "penalty": 30000, + "min_acceptable": 8000, + "max_acceptable": 300000, + "floor": 8000, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749", - "remote": "5473684x9159292x43153" + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + { + "blockcount": 12, + "feerate": 30000, + "smoothed_feerate": 30000 }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.948Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 100, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 5265, + "mutual_close_satoshis": 2523, + "unilateral_close_satoshis": 4170, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } }, { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } + "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", + "perkw": { + "min_acceptable": 253, + "max_acceptable": 4294967295, + "floor": 253, + "estimates": [] + } + }, + { + "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", + "perkw": { + "min_acceptable": 253, + "max_acceptable": 4294967295, + "floor": 253, + "estimates": [] + } + }, + { + "warning_missing_feerates": "Some fee estimates unavailable: bitcoind startup?", + "perkb": { + "min_acceptable": 1012, + "max_acceptable": 4294967295, + "floor": 1012, + "estimates": [] + } + }, + { + "perkw": { + "opening": 15000, + "mutual_close": 15000, + "unilateral_close": 15000, + "unilateral_anchor_close": 15000, + "penalty": 15000, + "min_acceptable": 7500, + "max_acceptable": 150000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 10530, + "mutual_close_satoshis": 10095, + "unilateral_close_satoshis": 8970, + "unilateral_close_nonanchor_satoshis": 8970, + "htlc_timeout_satoshis": 9945, + "htlc_success_satoshis": 10545 + } + }, + { + "perkw": { + "opening": 15000, + "mutual_close": 15000, + "unilateral_close": 15000, + "unilateral_anchor_close": 15000, + "penalty": 15000, + "min_acceptable": 7500, + "max_acceptable": 150000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 15000, + "smoothed_feerate": 15000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 10530, + "mutual_close_satoshis": 10095, + "unilateral_close_satoshis": 8970, + "unilateral_close_nonanchor_satoshis": 8970, + "htlc_timeout_satoshis": 9945, + "htlc_success_satoshis": 10545 + } + }, + { + "perkw": { + "opening": 11000, + "mutual_close": 11000, + "unilateral_close": 11000, + "unilateral_anchor_close": 11000, + "penalty": 11000, + "min_acceptable": 5500, + "max_acceptable": 150000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 15000, + "smoothed_feerate": 15000 }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "f2a4edfabe4b79660f45fb7defe62e6354cfd919b43d2129017d8e0e7609ee80", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + { + "blockcount": 6, + "feerate": 11000, + "smoothed_feerate": 11000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 7722, + "mutual_close_satoshis": 7403, + "unilateral_close_satoshis": 6578, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + }, + { + "perkw": { + "opening": 11000, + "mutual_close": 11000, + "unilateral_close": 11000, + "unilateral_anchor_close": 11000, + "penalty": 11000, + "min_acceptable": 5500, + "max_acceptable": 150000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 15000, + "smoothed_feerate": 15000 }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "5473684x9159292x43153", - "remote": "10275983x14052594x19749" + { + "blockcount": 6, + "feerate": 11000, + "smoothed_feerate": 11000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 7722, + "mutual_close_satoshis": 7403, + "unilateral_close_satoshis": 6578, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + }, + { + "perkw": { + "opening": 6250, + "mutual_close": 6250, + "unilateral_close": 11000, + "unilateral_anchor_close": 6250, + "penalty": 6250, + "min_acceptable": 3125, + "max_acceptable": 150000, + "floor": 253, + "estimates": [ + { + "blockcount": 2, + "feerate": 15000, + "smoothed_feerate": 15000 }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + { + "blockcount": 6, + "feerate": 11000, + "smoothed_feerate": 11000 }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 978330000, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.950Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] - } - ] + { + "blockcount": 12, + "feerate": 6250, + "smoothed_feerate": 6250 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 4387, + "mutual_close_satoshis": 4206, + "unilateral_close_satoshis": 6578, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + "perkb": { + "opening": 25000, + "mutual_close": 25000, + "unilateral_close": 44000, + "unilateral_anchor_close": 25000, + "penalty": 25000, + "min_acceptable": 12500, + "max_acceptable": 600000, + "floor": 1012, + "estimates": [ + { + "blockcount": 2, + "feerate": 60000, + "smoothed_feerate": 60000 + }, + { + "blockcount": 6, + "feerate": 44000, + "smoothed_feerate": 44000 + }, + { + "blockcount": 12, + "feerate": 25000, + "smoothed_feerate": 25000 + } + ] + }, + "onchain_fee_estimates": { + "opening_channel_satoshis": 4387, + "mutual_close_satoshis": 4206, + "unilateral_close_satoshis": 6578, + "unilateral_close_nonanchor_satoshis": 6578, + "htlc_timeout_satoshis": 7293, + "htlc_success_satoshis": 7733 + } + } + ], + "author": [ + "ZmnSCPxj <> wrote the initial version of this manpage." + ], + "see_also": [ + "lightning-parsefeerate(7)", + "lightning-fundchannel(7)", + "lightning-withdraw(7)", + "lightning-txprepare(7)", + "lightning-fundchannel_start(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-fetchinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "fetchinvoice", + "title": "Command for fetch an invoice for an offer", + "warning": "experimental-offers only", + "description": [ + "The **fetchinvoice** RPC command contacts the issuer of an *offer* to get an actual invoice that can be paid. It highlights any changes between the offer and the returned invoice.", + "", + "If **fetchinvoice-noconnect** is not specified in the configuation, it will connect to the destination in the (currently common!) case where it cannot find a route which supports `option_onion_messages`." + ], + "request": { + "required": [ + "offer" + ], + "properties": { + "offer": { + "type": "string", + "description": [ + "Offer string to get an actual invoice that can be paid." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Required if the offer does not specify an amount at all, otherwise it is optional (but presumably if you set it to less than the offer, you will get an error from the issuer)." + ] + }, + "quantity": { + "type": "u64", + "description": [ + "Required if the offer specifies quantity_max, otherwise it is not allowed." + ] + }, + "recurrence_counter": { + "type": "u64", + "description": [ + "Required if the offer specifies recurrence, otherwise it is not allowed. recurrence_counter should first be set to 0, and incremented for each successive invoice in a given series." + ] + }, + "recurrence_start": { + "type": "number", + "description": [ + "Required if the offer specifies recurrence_base with start_any_period set, otherwise it is not allowed. It indicates what period number to start at." + ] + }, + "recurrence_label": { + "type": "string", + "description": [ + "Required if recurrence_counter is set, and otherwise is not allowed. It must be the same as prior fetchinvoice calls for the same recurrence, as it is used to link them together." + ] + }, + "timeout": { + "type": "number", + "description": [ + "If we don't get a reply before this we fail (default, 60 seconds)." + ] + }, + "payer_note": { + "type": "string", + "description": [ + "To ask the issuer to include in the fetched invoice." + ] + } + } + }, + "response": { + "required": [ + "invoice", + "changes" + ], + "properties": { + "invoice": { + "type": "string", + "description": [ + "The BOLT12 invoice we fetched." + ] + }, + "changes": { + "type": "object", + "description": [ + "Summary of changes from offer." + ], + "additionalProperties": false, + "required": [], + "properties": { + "description_appended": { + "type": "string", + "description": [ + "Extra characters appended to the *description* field." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", - "last_tx_fee_msat": 4545000, - "lost_state": false, - "feerate": { - "perkw": 3750, - "perkb": 15000 + "description": { + "type": "string", + "description": [ + "A completely replaced *description* field." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 1, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", - "private": false, - "opener": "local", - "alias": { - "local": "10275983x14052594x19749", - "remote": "5473684x9159292x43153" + "vendor_removed": { + "type": "string", + "description": [ + "The *vendor* from the offer, which is missing in the invoice." + ] }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 1000000000, - "remote_funds_msat": 0, - "pushed_msat": 0 + "vendor": { + "type": "string", + "description": [ + "A completely replaced *vendor* field." + ] }, - "to_us_msat": 1000000000, - "min_to_us_msat": 1000000000, - "max_to_us_msat": 1000000000, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 978330000, - "receivable_msat": 0, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.948Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "user", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 0, - "in_offered_msat": 0, - "in_payments_fulfilled": 0, - "in_fulfilled_msat": 0, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [] + "amount_msat": { + "type": "msat", + "description": [ + "The amount, if different from the offer amount multiplied by any *quantity* (or the offer had no amount, or was not in BTC)." + ] + } } - ] - }, - { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" + }, + "next_period": { + "type": "object", + "description": [ + "Only for recurring invoices if the next period is under the *recurrence_limit*." + ], + "additionalProperties": false, + "required": [ + "counter", + "starttime", + "endtime", + "paywindow_start", + "paywindow_end" + ], + "properties": { + "counter": { + "type": "u64", + "description": [ + "The index of the next period to fetchinvoice." ] }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "8994bd86ca30200e5e85fcee4559254719de5773a7ba380ccda703dd1acb7e61", - "last_tx_fee_msat": 4551000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 + "starttime": { + "type": "u64", + "description": [ + "UNIX timestamp that the next period starts." + ] }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "5473684x9159292x43153", - "remote": "10275983x14052594x19749" + "endtime": { + "type": "u64", + "description": [ + "UNIX timestamp that the next period ends." + ] }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 + "paywindow_start": { + "type": "u64", + "description": [ + "UNIX timestamp of the earliest time that the next invoice can be fetched." + ] }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 978315889, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.950Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 111, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 111, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [ - { - "direction": "in", - "id": 0, - "amount_msat": 111, - "expiry": 109, - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "state": "SENT_REMOVE_COMMIT", - "local_trimmed": true - } - ] + "paywindow_end": { + "type": "u64", + "description": [ + "UNIX timestamp of the latest time that the next invoice can be fetched." + ] + } } - ] + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 1002: Offer has expired.", + "- 1003: Cannot find a route to the node making the offer.", + "- 1004: The node making the offer returned an error message.", + "- 1005: We timed out trying to fetch an invoice." + ], + "example_json_request": [ + { + "id": "example:fetchinvoice#1", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq" + } + }, + { + "id": "example:fetchinvoice#2", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5xt5v4ehghm0venx2ujlv3jhqun9vdshgetytashq6gkyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kg" + } + }, + { + "id": "example:fetchinvoice#3", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq" + } + }, + { + "id": "example:fetchinvoice#4", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5xt5v4ehghm0venx2ujlv3jhqun9vdshgetytashq6gkyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kg" + } + }, + { + "id": "example:fetchinvoice#5", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcss8qkwt84lrzl8mpr80shrtu3jjjuejt8v492frl8c54kxevkemcve" + } + }, + { + "id": "example:fetchinvoice#6", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza" + } + }, + { + "id": "example:fetchinvoice#7", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", + "payer_note": "Thanks for the fish!" + } + }, + { + "id": "example:fetchinvoice#8", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza", + "amount_msat": 3 + } + }, + { + "id": "example:fetchinvoice#9", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2pasku7fqv9kk7atwwss8getnwstzzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5", + "amount_msat": 100 + } + }, + { + "id": "example:fetchinvoice#10", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rmnd9hxwmr9946hxefqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshg" + } + }, + { + "id": "example:fetchinvoice#11", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rmnd9hxwmr9946hxefqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshg" + } + }, + { + "id": "example:fetchinvoice#12", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgqgp76zsg24f5ggr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96" + } + }, + { + "id": "example:fetchinvoice#13", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5pn0venx2u3nzcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" + } + }, + { + "id": "example:fetchinvoice#14", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzza" + } + }, + { + "id": "example:fetchinvoice#15", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", + "recurrence_counter": 0, + "recurrence_label": "test recurrence" + } + }, + { + "id": "example:fetchinvoice#16", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", + "recurrence_counter": 1, + "recurrence_label": "test recurrence" + } + }, + { + "id": "example:fetchinvoice#17", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnjv43h2unjd9hxwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq7q", + "recurrence_counter": 2, + "recurrence_label": "test recurrence" + } + }, + { + "id": "example:fetchinvoice#18", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", + "recurrence_counter": 0, + "recurrence_label": "test paywindow" + } + }, + { + "id": "example:fetchinvoice#19", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", + "recurrence_counter": 1, + "recurrence_label": "test paywindow" + } + }, + { + "id": "example:fetchinvoice#20", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rnsv9uhw6twv3hhwgr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jxszqq2pcpgqqqqq5qq", + "recurrence_counter": 1, + "recurrence_label": "test paywindow" + } + }, + { + "id": "example:fetchinvoice#21", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" + } + }, + { + "id": "example:fetchinvoice#22", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zcssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e" + } + }, + { + "id": "example:fetchinvoice#23", + "method": "fetchinvoice", + "params": { + "offer": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqypq5zmnd9khqmr9yp6x2um5zsqs593pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j", + "quantity": 2 + } + } + ], + "example_json_response": [ + { + "invoice": "lni1qqgxr7gha7gusyg83lsr8qcqg4axgq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqjz06c8s2vvmrpjlkcse0txx0gmc6jalqqxmeyjm75qcnfnqxwyt2sfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpe8qlx9xssexfc0aguke3q6u0jgw2qmn008mzu04mkmqmjmhes3gcpqdqdnzl270s48vsp635rd4jm04snvgkcp65qlkgp8qztu2mdp7c5uqpj2rll3pzu56st537rct3v62gfqeamzthjuwkr0pkvsdnnffpn4sq9sz0lryaufktx0nfxlffum3yesqev5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtvwkyz5zq2000hlwvadejz366lqjt9sd2j4rf5tfd9rgmmyegt4dqd34cf6v4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqn3n74ccym4wcvq20vsx7lmk450kprpvlrh4cukk8xy9ptjcef4rnhytnkyn4vnxxtd57yeaksze2s30y26cs6u3rjd9322eg9puk24q", + "changes": {} + }, + { + "invoice": "lni1qqggsajfacv7xgn3w9gp0cm5sctmcq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpgvhgetnw30k7enxv4e97er9wpex2cmpw3jkghmpwp53vggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4v4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzql6gr49xpad8x9jstywntr3jl59msxk4gzt0hzyl08hacghpr58zwsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypsfvnw8va52uuvw37fjhvr5l4jhqq7740qqjav7ughyx8flezacsqpq0tjtn6nvs7rvc5zpj4g3w49jlk82p6ey57yfqnmkqlfj2llf2r2sqpjw4g5pucwtyfn0lgl9505tk48mnrydcdev8jukhamyrm4sr5r43swaauf27xl8rka5yuf35d6nfkn3kq55gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtdz5qk5zpv48mzeppd0z2th96q6xcrjlz87ycmc9yckkdl7gr2hac7vvf0lv4gqs9vppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqwu74dgz9kk92yfakmdkxhlttgxm4szj9hyfv26v8epn9q6wsmt5ddklxu39c8vgpc0tqnqxpdzxjk4t4g537u55mc46d5vk55ysyw5q", + "changes": {} + }, + { + "invoice": "lni1qqgqdee2cwuaepw59trtww9l4ktf5q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnjfrgj5r8wyv4hvjuq46pcw5t8x0ndpjjmnx03h20t0hzwju7v3jsfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpqpufrwynd8lexnp956kx9p6g3vt52n9uky2cm46tved2hur269tqpq0j8u795js680ptazh6unmpcyd7e7ppqv78qwq8yd78t3xrsgcwccqpjzxqgkx7vzqy7udg4ty95xxe0hzs7eccpqx3n4ugcfsp6tsq3f7nagrmszcr93ugxlmn2nc6yamram2cz5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt4ufww5zp54nlzncrlts42krfnrz4jwx9rlg2hyqm2azl739hry767c5a22d4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqhg7wsanf343hwaanj6vj366tcjc48ge9w3umcy2ulg99mg2v4eu58mvxzpnvy35xshe3qfh5044qrkxyqxm5njl790url05vfcdpudg", + "changes": {} + }, + { + "invoice": "lni1qqgrvew6w8etku8gg89hqhgp6a2qkq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpgvhgetnw30k7enxv4e97er9wpex2cmpw3jkghmpwp53vggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4v4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqla58dtxrl5cz0z93r542qtehydfu793jcpyxv0vyrdzaunlf02z6sfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypr6pg6qkv4c6v092t0nsfkhtvkgmqxsd6jpqzw0w20jks9hlj74ugpqf2r0fczcn6qq56vkhjg3heah876srgxjlkykws90u23mmhp7avtsqpj8gy3c33wcp05wpw45jh2k4tclwx7cj7w34u8aynrg034ukwd0yg7dc3v70m0dtaewyc3y0a6zptlkznt5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f575zq9jt2p8cp08jxjm0ky2pzv4djez03a7j9e7epr5s9a6vxrs760r04gqs9vppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqc7y6vy46y0lepq4exxgvh9puku0f5egssq2vg4xxru8p3v5jpez6xch6qyyhnfpcmjceu3nk8ez2hz55fk0zxkrjar6w6ddnt0kstcq", + "changes": {} + }, + { + "invoice": "lni1qqg8axglqrehf8wa54ffckcrdqfq7q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsej5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr7smx79xcsms3n9m0spht2txcct589kfnucenxkh87uuxd57g9m26pxqrst89n6l330nas3nhct347geffwve9nk2j4y3lnu22mrvktvauxvsxeu0m5anytuwp67pvu2qvy3pq6fa8zl3chq45rlcuxw0qja7pkpqqyp2d9fcx6l2ap702hlae7xy9cswh0qgpg8glysj4qhzd2fzuhkh37gqxggp4ymhpwgdah8r8ykrfeaefggjvt4dqe9hx8uajfq7akltkfm20v6z73lt7lnu23t6c8zy6d223wuemw3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhexa2sgrzwdarjag0h5405t2jlpm9suvlcdd30ml7uw95ls6frfurpj8alw4qzq4syypc9njea0cche7cgemu9c6lyv55hxvjem9f2jgle799d3kt9kw7rx0sgqw57y25nlm5dwfszydr2tlf6ru09qu84hkr8p4swn00xdvq0c8r82xe9sadyvvah42n7pvs7u2ycv8884zxa0skkvqc7jxhl7fastfh", + "changes": {} + }, + { + "invoice": "lni1qqgf80zpapfaqdzkucevg385dgylvq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrtvjjc5wj8qj6fc2gyxv8q78uzt4sfp40ylyfvhjmvy8c03th55f6pxqrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pws94k7cah2e72jv96v08sn9cmu4lykka0yqkd0fnql7s0fphlm88jvqypau4sdqx0cz7ye3fs0dq6q9w7naevmf7h2970nvq70ttyyq9fw56cqxg3gdqeuskhhnldp4jgnlhz4s49sfrmz3n6zzmg8l6uh35nxt20a49qpy8su6qltrlcvruaau2vqqaelg23pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8x6sgytk8sf2ur6lf3tkqqg9g56yedfaaru2csa20fezl9x6rzn5kc4nx4qzq4syyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh0sgqsjgzqzye25masmh2u44qxe5rtu97zhc2pdff34xzhp8f99kd0w350znma9z2k68nuwthudpngkyg3had2wswah3qzvfmz6dvy9qh8f", + "changes": {} + }, + { + "invoice": "lni1qqgvcm9h7yakcmw4mzazspu8vfgpwq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggren772kj8mau5jp86nc6fszx48rv7ep0quszyyls8rlld3sshjr94j9z5dpsku6mnypnx7u3qw35x2grxd9eksgdqnqp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcshgr0tsv8e6829e8xmv7laz0kwhtlx6vtk8q3d6rtthdhtwvnn6j585szquc2t7us8kguxypzasg8ewkakgx2ny5ugks0f32x67sm9e5fms4asqrylajc2dqh8ag55mv5p5ghy3e2z8zwmllle8uu7jsxv5ke8d6rr5h7kthmz7ya0hxp4nt7elvw7vghcl6fgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtunn4gyzy0lphn4wn6ctzlsajy46wscjcglf3hxcnvlaxqs3ydkhgaklsc42spq2czzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgthcyqyuen02ejwpa9cjjrttvp223yxsqkrwnlaszkhas84w0ape300ued4p75xu3cqtcg0cslsx9fvh7dhdqx565t6wa0alf6u2hug90j2hs", + "changes": {} + }, + { + "invoice": "lni1qqg0mfchkz0gkmn8zzu5zaxd0qvlzq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84yqgrtqss8d4vgzd3286u9rk0zg9qr7a6z2xm6mjnz9pydztcn0j74tjvch0f5zvqxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzzaqth4fzjqxxmsaxvc4v2urs6hsh6k0e564x00g68vuyp5w7yjedzxvqgr8ltzmj0n7ltxr0tz9rafn9zcy9jldjqfuf20w6gjmr7nj04d360sqvkdwprxn22dlp3xay9yq4nhrw2jm0c8t6r7japhdad6leawxyqzkg92tx8gqxp9f2d8j5k2axta0gr7yr9zrsqqqqqqqqqqqqqqq5qqqqqqqqqqqqqayjedltzjqqqqqq9yq3ja0jwj4qswt3kgs9mxq7gck66x60m5rndykpw3a7hf4ntlp9qe2vgwzzrvcwd2qypmqggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pwlqsxyjcdwur4hl4qf7nsjgg8euvy45lznufh5kydkwz6llsucuhvwp9ezeggaj3k057ge6ftvaffjkwn6j3y7faeuysrx3m2xccphu65sx", + "changes": {} + }, + { + "invoice": "lni1qqg2d5xp9l3lf90m9l2xqdfvyz3wxq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8s5rmpdeujqctdda6kuapqw3jhxaqkyyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75spv3vzzqhh5c5j5am4uz0we6vz54uesm8glh9v45qf8sjrnu6pqxeadxp23ksfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5pzp9ak8s50rae5ags798wwajknmefxm5zcuehz9c5fl22vmmlhnmgpqwz8rm266j6mzpm2p4zldfdzhrzpk3akt0j6qp97nuasxwrqh4ksqqpj0yauvqk949mr7eatn2mzj2jndg7j667skhsg2mx2n3upqdfh3ljnt25gwvtawls2qpz3jsgpxxj0vev75gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpfxa4zeq4emy3wny43vmm07jksjykmw4xxkrmqc3h8826cyhrned4gqkfvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqgleehg3k0w3e49xzt0rnq08dtacs6mejy0kz65ktyrrgp4ctt9zjeq9xmj2a7lzss6ekqfmpsx9d486k3pc82ne8k3wz8xwungx40yg", + "changes": {} + }, + { + "invoice": "lni1qqg2jucynfwj2majqmhm8ft22gqc6q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg8hx6twvakx2tt4wdjjqar9wd6pvggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pw4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqhp8dnvcvyd5w2yhhgwfvh9thxaduvcu8mxnuf5xxye7fzpzvfjezsfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5p55v97h7ufxjffdmxngqt7cgprgsspesqxq52sh9825eg9up0w4hcpq0zqz8nxlgnughjvmsslpqx6lyz50rv029xg5cfp4j9kpdjqyfxw6qpj56zdt8y8wu3jvkf2mpqy9e7cfrj3lgtaeayru79c442h64p7wu5w56r37sslmx3dzjpauhsvsxkflrme5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpzshu85y4yas4tufhjk6387a2vrqc88az833aj3wrqqygetw87w34gqsrvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzquwpc9yv5n7p96g024skcpllfhfuk5zzzm98e06glzwt35a79n4q4wwu8fmxjnlj89vv8uljmrm6rmku7guku0aw7tnrk4cmac9957rs", + "changes": {} + }, + { + "invoice": "lni1qqgwps2fcc7t2z69uw4tqn5r05kccq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg8hx6twvakx2tt4wdjjqar9wd6pvggrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pw4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq5rwhuja3mgl59rj759zw8546942nakey0h4n66lrjl0gmqevl3vjsfsq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt5pvmrsfk9p5khughkzw34wk8pkssmyavavsv2wm5zx572hkmtlrvecpqgz47a6rxqc0u699l680uj7sq6h5lpjcmf59cdefgxvlzshyt7c5zqpjcdjy7h7gmevhstyy7uyzehtkvf5eemstpav56syjpcu9aq6funxs5jy9exjztsg7ugc6vvlutjmny40v5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47f6k5zpg60yxu9ukendesdae6vkmxa6jvra3tut57ylpmzw7jvr6cwsxu24gqsrvppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqceu7wvad6qp3vafz2682qjtzlnwrwjlmtkszjazze4f28are9lldv3zudwp4ct92dtk64gnxneh4dsc8ygua6e6klnknzleypwq8uns", + "changes": {} + }, + { + "invoice": "lni1qqgfz2plr358lfh8wda03zr09787vq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8svq642dzqsqsra59qs42ngss8getnwstzzq6a9vge9ha6zd8ppe2qsawnvm4u30p484d2we4cpsyskwwr5hvgt4gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg0tqss8ux8klta3cxrc8vds3z9d7sjx9phkxrda9zcrz9a23hh2g3rgvye5zvqxhftzxfdlwsnfcgw2sy8t5mxa0ytcdfat2nkdwqvpy9nnsa9mzzaqt5llulpjyqfavj6znqdn843vvxzch39fj0d8l34szl0nqspxrasxqgrd9mvj4w48vuva8rgtvy2hpw5m8tn53sxadldjykwv2453jq6egkqqvk7l9t03zsmxtw9wsgdqty063lpndp24k6ujafn9wv2luad2uhrs6zy0lcpprs99v5x4z3xw6tsv24j7e4zrsqqqqqqqqqqqqqqq5qqqqqqqqqqqqqayjedltzjqqqqqq9yq3ja0jwm4qs27qh2zg8nft7vwk23ldefvk27c5khjqze78vcljtwxh4lflyegk92qtzy4vppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqx83k04x3tcf6fuagqvf0lm5dfhc7t3vzhctat6yf5l6cznw6w3v0699rdzt08jdzr7n86sh4t0l3xe6fk8y7dazc20exkycdl4qqhrq", + "changes": { + "amount_msat": 50250 + } + }, + { + "invoice": "lni1qqg86mj5jp5u39k0lch8j32y8atygq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppgrx7enxv4erx93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr3retcayjax6cjdgvft2nqpw0axpavcpqayy2ak65t8cr4x3r2wa6pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs88ujmv8w76nnhn2sm2f35zxl7evs35wfq4yh99ycd4yq7tsuvzgfqyplltrgnehcerj9r5t9w9hg40p9fazh23wamt3s6ylklwrp0nv6qwqqxg2lk8zyewsjjat50w89622hgkjnegmdz6cekxcztul33388rhq9dwgfd4t4z2xnzts9m4feu3dj3ukcv73pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8w2sgyzzz6pepsfpu0zs6g2ea0ldy3mj25tkur8tlhxlnjl5zp9k09t7z4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgrxj9xy6h3jgdcflh98mu03mewpryaty9pulkzlkryaktqrm8v5qmqywxht7qu0vpzytskysm65y22rsghjy7rfj5dwp2k99w3qgeam4", + "changes": {} }, { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "peer_connected": true, - "reestablished": true, - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "updates": { - "local": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - }, - "remote": { - "htlc_minimum_msat": 0, - "htlc_maximum_msat": 990000000, - "cltv_expiry_delta": 6, - "fee_base_msat": 1, - "fee_proportional_millionths": 10 - } - }, - "state": "CHANNELD_NORMAL", - "scratch_txid": "8994bd86ca30200e5e85fcee4559254719de5773a7ba380ccda703dd1acb7e61", - "last_tx_fee_msat": 4551000, - "lost_state": false, - "feerate": { - "perkw": 3755, - "perkb": 15020 - }, - "owner": "channeld", - "short_channel_id": "103x1x0", - "direction": 0, - "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", - "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", - "funding_outnum": 0, - "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", - "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", - "private": false, - "opener": "remote", - "alias": { - "local": "5473684x9159292x43153", - "remote": "10275983x14052594x19749" - }, - "features": [ - "option_static_remotekey", - "option_anchors_zero_fee_htlc_tx" - ], - "funding": { - "local_funds_msat": 0, - "remote_funds_msat": 1000000000, - "pushed_msat": 0 - }, - "to_us_msat": 0, - "min_to_us_msat": 0, - "max_to_us_msat": 0, - "total_msat": 1000000000, - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "dust_limit_msat": 546000, - "max_total_htlc_in_msat": 18446744073709551615, - "their_reserve_msat": 10000000, - "our_reserve_msat": 10000000, - "spendable_msat": 0, - "receivable_msat": 978315889, - "minimum_htlc_in_msat": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "their_to_self_delay": 5, - "our_to_self_delay": 5, - "max_accepted_htlcs": 483, - "state_changes": [ - { - "timestamp": "2024-02-22T17:49:09.950Z", - "old_state": "CHANNELD_AWAITING_LOCKIN", - "new_state": "CHANNELD_NORMAL", - "cause": "remote", - "message": "Lockin complete" - } - ], - "status": [ - "CHANNELD_NORMAL:Channel ready for use." - ], - "in_payments_offered": 1, - "in_offered_msat": 111, - "in_payments_fulfilled": 1, - "in_fulfilled_msat": 111, - "out_payments_offered": 0, - "out_offered_msat": 0, - "out_payments_fulfilled": 0, - "out_fulfilled_msat": 0, - "htlcs": [ - { - "direction": "in", - "id": 0, - "amount_msat": 111, - "expiry": 109, - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "state": "SENT_REMOVE_COMMIT", - "local_trimmed": true - } - ] - } - ] + "invoice": "lni1qqgtwu6pxahej7w5rznlvg6ttkrysq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky965pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrlr7555amrqsg7k9trkfta4ayrvvsa4vv8a4h825zcyc8yn8ynf62pxqrt543ryklhgf5uy89gzr46dnwhj9ux5744fmxhqxqjzeecwja3pws9hasr8mpywgnlpc7t75fduqt7gvva5l4t3rrw5rdmk0scv322tjfqypd3u2r6fas0jx4qwfqsyqx8q644nx78nl2qqk9pvydfc57mddsxpqqx24n6yjvyfy38t2c9n343dzr72z3qsahpdfsgf0zrv0zgjnp2n7dpkcf5qr4vunpzc9xuswuew4m83ldx23pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe8w2sgxgwvy3yt538cahts5z9m97ufph9azr5samy6umme7fl92g8ug27z4qzq4syyp462c3jt0m5y6wzrj5pp6axehtez7r20265antsrqfpvuu8fwcsh0sgr8gevd9sf997gsahka0298pfc706vrmldk8gz7hu9g25mwcmh2m7xtls9z0h2e7tx6tslwqmfeqpf7ejtxc23v3ha8mvxn8ywd7399f", + "changes": {} + }, + { + "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qzsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypfj5f5zymemhmu986rurxj0n8fwq48u3tw93mrd7wuum468fezeespqw650wu3cdz9g2xkrz0yjh9t8q4s9ukzfuzmrl3spmd4fkt0h927cqpjcjdmccnkjww7vxxtz0u2q9pvnpkwa2m0eyfakskppvurdg8tgj8c6zl7cjthzntm8tjduvgn9lu8p0845gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt47fljnqzwagypjvyjlmvpfz9w8gdycf9xgmqj2vzplwkmevg5u6zdcamu0w6sxzf2spqxczzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatxeqgewhe870qs83rx7z9zm0ax9fqqcrmhrg4j74052a2t6ga5ghxxrz4md7r4s7ge7k37rxvut3772d5pvjtuuelm73mv7zss6vtrl5mdvr7ue6g6cl5", + "changes": {}, + "next_period": { + "counter": 1, + "starttime": 1708640824, + "endtime": 1708640883, + "paywindow_start": 1708640764, + "paywindow_end": 1708640883 + } + }, + { + "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qyq6pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs9clq65czgjpsk4evamjjy2vwpqq7syha5sww00fwhyx64fturkukqypnpazrk0pggtpksdrk4t9qt56a9azsk04w98sgjeagsjy2spc4aesqxfl2chpcjkqv8en0kftd4ktx0876gyj8v25sj7598ed3xtcpeyzuwhr4pnd3h30rdwj9992yucglmkrn6z3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe876vqtk4qsts2lhelw2rr66tqje40j29tngx8sq2hgdjc6a9e4h7qnj9fqyf592qyqmqggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vmypr96lyleuzqvu5geucyy47k3f0fkqdm8kgrqnn4uafr6gahazhcc6zxkqypw9vy2mqa7m7n0f5ney7u83g9tghmy96vv6hnerj760asxp6wmvuz2xs", + "changes": {}, + "next_period": { + "counter": 2, + "starttime": 1708640884, + "endtime": 1708640943, + "paywindow_start": 1708640824, + "paywindow_end": 1708640943 + } + }, + { + "invoice": "lni1qqgx64qygujtlw945e5s6zlvj2lxqq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88yetrw4e8y6twvus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqpu2qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6cyypp47d3zpywxd4sz8x6fx3lfshmz8p94p9tvxcqyye0g7j82g7ef6z6qyp2pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs92zhj8xwk22f2wz0lytjzcvasrqquc6kuknp2cy6kvudawt35vr9qypptc5j58hyuu36vxwmf3hghv2qukyqf46ypst5ud62mtsc57h7xycqxfkr4uu99phf4snuhv905z948tp8n82ul6hm0gkdzgtupc2yy6rxwdslvclc95zlpmuzyhsnzaqhsayawz3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhegu2vqth4qsdhw6ydxx82n9qamgtmnjy7y7ukcrrwe2qca2setnx6sl4rh5uay92qyqmqggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vmypr96lyleuzqudw4ems0k5x7fl88hzdp7tq5ftyhzg65s97n9txzc8v2e3gct8ymsaetcnqy6kfw9kvamqjhhtl26u8nlxlww59p7gml28lj6geswlc", + "changes": {}, + "next_period": { + "counter": 3, + "starttime": 1708640944, + "endtime": 1708641003, + "paywindow_start": 1708640884, + "paywindow_end": 1708641003 + } + }, + { + "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqpgycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqcp9lw7l0tgz3knzxqmxj9e70qrxwy27krnz4r0sx536urhkfatnuqsxmref276eqr0h52xvx7lr2nrgrvrupl8d8sg0xly83ghegjy6z4wqqeyag96g2rs5sz4xqqxpnacg8fmtgjr3k03g3avzhst9zgv0t9xhdn8p2km574zx3mf4at6qytwhsytg0t2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9r3fsp8j5zpj2tdsyzhzmeeexzx99hz728h0gwm9u8y0mzuq67mes2qheaztx74gqsrvppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nvsyvhtu5w8sgqrmf78ry7zrrhqqtnmfj30c22xuhs4huynr29xedkznjc8e00x2htumqg02htfqwlhwxcf7ve76zkhkur4rkq90t2csztwynkwurzev", + "changes": {}, + "next_period": { + "counter": 1, + "starttime": 1708640844, + "endtime": 1708640863, + "paywindow_start": 1708640834, + "paywindow_end": 1708640844 + } + }, + { + "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqzqdqnqpz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kgrl70ksdu0w24f2hvfczpq0rsp62qhtezprxqdvh8509plt9zvllwqzqlnhfz0rnnhcddy88s83xz3q797g2whnsvh72h28l69f0adkxdt0sqry5480ys4jz9uvlc7j5fw3dxnangwj47p7kkqtl96zrspn4mj55d6unk2990eqdvesk5ggtmngezy3fftmgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtu5saxqyy6sg9346fuw0psceuq2afhrxsykl0mkvqafkrzxpqhdlrajnf0s2057w4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kdjq3ja0j3c7pq99t78ng3dxrz2lh28f0wgupye9lm2nqs0kclguuvaax62n32h8998mm55xgsce5cghjffgqv5m0jyhk4dgmv9p6r2wqsg45p0l7mupg", + "changes": {}, + "next_period": { + "counter": 2, + "starttime": 1708640864, + "endtime": 1708640883, + "paywindow_start": 1708640854, + "paywindow_end": 1708640864 + } + }, + { + "invoice": "lni1qqgdyxx76ppmeuym74u80uhvgfhnyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgppg88qctewa5kuer0wus8getnwstzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatydqyqq5rszsqqqqpgq9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq7gsyacnrznnka9j95mvcw0wpwndsevrlecp2n3guygh9yjsg8teadqzqdqnqpz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kgrl70ksdu0w24f2hvfczpq0rsp62qhtezprxqdvh8509plt9zvllwqzqlnhfz0rnnhcddy88s83xz3q797g2whnsvh72h28l69f0adkxdt0sqry5480ys4jz9uvlc7j5fw3dxnangwj47p7kkqtl96zrspn4mj55d6unk2990eqdvesk5ggtmngezy3fftmgsuqqqqqqqqqqqqqqq9qqqqqqqqqqqqq8fykt06c5sqqqqqpfqyvhtu5saxqyy6sg9346fuw0psceuq2afhrxsykl0mkvqafkrzxpqhdlrajnf0s2057w4qzqdsyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336kdjq3ja0j3c7pq99t78ng3dxrz2lh28f0wgupye9lm2nqs0kclguuvaax62n32h8998mm55xgsce5cghjffgqv5m0jyhk4dgmv9p6r2wqsg45p0l7mupg", + "changes": {}, + "next_period": { + "counter": 2, + "starttime": 1708640864, + "endtime": 1708640883, + "paywindow_start": 1708640854, + "paywindow_end": 1708640864 + } + }, + { + "invoice": "lni1qqgyrhal3zz27q2rg9xqey30zlcmyq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggr9p664mm39dcdac3sy5mxdnl8mlu4lmcmcmkrxlw9zdm9a8wdj582pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs9kufpn3hcldlcm0sm8m75pnsua4jg8s3s996n4095ycdzk3s0fp2qypy8dfwx6n0ssaur9he2lhql4c6c484egx8d5yrqzfr0snvvctmmfsqxf7ezmwzanx2ns7a5vg8ueffyglknqj7wprtdv9fhx9l5xc9vqnnaawlkjcty7furxge3jydyj2sgm5g823pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhefv6sgpqduutkhddjgpaytks25u4skzcs68k4gfpzs56kxr9cw9mfgj2324qzq4syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgr79yz3uqa6vrzn8nnss46p5z6v44p5u956l69m7rhyx6us0ntpaj9v4hhwycqjfk94tjc46nrqfp988jj46sglejft4dzhuzdwl0pfd", + "changes": {} + }, + { + "invoice": "lni1qqggpt4ydun5vd3yv834z7ntqj75gq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j5pqqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy84sggrlfmckv7902p3dllwpkzw69up3y3jykdyac3ywhsw6ks47k7xtd72pxqz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vsyn0tyjvnmth0u2qkec3wsqyq7dgkl3lxk9sufmprpm4mjzzafgwpqypmkzgctu7gsezuccu7vth94kjy06wex00rx88ayqlxtax5xdx9c4cqxtze5gzwrcwqgyk2ss9u3whvuf9fpv5zadl3hylvx3r4lap3pgwz4f0l722383n39e0rvqu2znrdkxujgx3pcqqqqqqqqqqqqqqq2qqqqqqqqqqqqqwjfvkl43fqqqqqqzjqgewhe242sgy2sznc3q0jhwyp4k5xn2akdekswhytgxehl9uskmdrrm74w92mek4qzq4syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgr9vxqly9e6mkq4tt8xtplyncd693e44jyapx3prxv8yqupe3g8nn52zk8vxx20hwrrcxcs6ywee4ywgy6asyvyjfnetm64fepwuxgur", + "changes": {} + }, + { + "invoice": "lni1qqgd508mv9rpjg2ec8dr8qcslf2cjq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqgzpg9hx6tdwpkx2gr5v4ehg9qppgtzzq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcat9gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02cqsykppqfkyy6q8ry9pchxtuajh456hhcf7dxx733cx76etuv5ftfmfa2ymhgycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jq6uhkeymz26zx7zgw4gdmw2vj9xqn4hu2sqxhp0pcgt87pf9chyfvqsywtejxjh603kx7am3zaf6d6xuumw30p8zmcdz7r95nn4lr92exk3qqe2x6xqwpdzh2zwq3vnyra8nfc6d7y6hegpkvc7p2nulj7hvhwl5hjfr23wn60mjftqspn7d4ejhrpsr5m2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9mt2pqxuyr0gqw92h0xz2y2uy5uxss4ujcac5jehj9ay2sxkapr80t5ha65qgykqssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e7pqxhl4u29cjluw5s8fwa9wtvh0qytr7vqk0vtndsz07mrrtmjw629m8mnqkjaf43kt889qeq2f7deu6t853lngpzclapt8nj0g528v9ay", + "changes": {} } ], "author": [ - "Michael Hawkins <>." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel_start(7)" + "lightning-sendinvoice(7)", + "lightning-pay(7)" ], "resources": [ - "Main web site: ", - "Lightning RFC site (BOLT #9): ", - "" + "Main web site: " ] }, - "lightning-listpeers.json": { + "lightning-fundchannel.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listpeers", - "title": "Command returning data on connected lightning nodes", + "rpc": "fundchannel", + "title": "Command for establishing a lightning channel", "description": [ - "The **listpeers** RPC command returns data on nodes that are connected or are not connected but have open channels with this node.", - "", - "Once a connection to another lightning node has been established, using the **connect** command, data on the node can be returned using **listpeers** and the *id* that was used with the **connect** command.", + "The **fundchannel** RPC command opens a payment channel with a peer by committing a funding transaction to the blockchain as defined in BOLT #2.", "", - "If no *id* is supplied, then data on all lightning nodes that are connected, or not connected but have open channels with this node, are returned.", + "If not already connected, **fundchannel** will automatically attempt to connect if Core Lightning knows a way to contact the node (either from normal gossip, or from a previous **connect** call).", "", - "If a channel is open with a node and the connection has been lost, then the node will still appear in the output of the command and the value of the *connected* attribute of the node will be \"false\".", + "This auto-connection can fail if Core Lightning does not know how to contact the target node; see lightning-connect(7).", "", - "The channel will remain open for a set blocktime, after which if the connection has not been re-established, the channel will close and the node will no longer appear in the command output." + "Once the transaction is confirmed, normal channel operations may begin. Readiness is indicated by **listpeers** reporting a *state* of `CHANNELD_NORMAL` for the channel." ], "request": { - "required": [], + "required": [ + "id", + "amount" + ], "properties": { "id": { "type": "pubkey", "description": [ - "If supplied, limits the result to just the peer with the given ID, if it exists." + "Id is the peer id obtained from connect." ] }, - "level": { - "type": "string", + "amount": { + "type": "msat_or_all", "description": [ - "Supplying level will show log entries related to that peer at the given log level." + "The amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency- msat` as change). The string *all* can be used to specify all available funds (or 16777215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently set to 546, nor more than 16777215 satoshi (unless large channels were negotiated with the peer)." + ] + }, + "feerate": { + "type": "feerate", + "description": [ + "Used for the opening transaction and (unless *option_anchors_zero_fee_htlc_tx* is negotiated), as initial feerate for commitment and HTLC transactions (see NOTES in lightning-feerates(7))." ], - "enum": [ - "io", - "debug", - "info", - "unusual" + "default": "*normal*" + }, + "announce": { + "type": "boolean", + "description": [ + "Whether to announce this channel or not. An unannounced channel is considered private." + ], + "default": "True" + }, + "minconf": { + "type": "u32", + "description": [ + "The minimum number of confirmations that used outputs should have." + ], + "default": "1" + }, + "push_msat": { + "type": "msat", + "description": [ + "The amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed." ] - } - } - }, - "response": { - "required": [ - "peers" - ], - "properties": { - "peers": { + }, + "close_to": { + "type": "string", + "description": [ + "A Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated." + ] + }, + "request_amt": { + "type": "msat", + "description": [ + "An amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." + ] + }, + "compact_lease": { + "type": "string", + "description": [ + "A compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel." + ] + }, + "utxos": { "type": "array", + "description": [ + "The utxos to be used to fund the channel, as an array of `txid:vout`." + ], "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "connected", - "num_channels" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The unique id of the peer." - ] - }, - "connected": { - "type": "boolean", - "description": [ - "Value showing the connection status." - ] - }, - "netaddr": { - "type": "array", - "description": [ - "List of network addresses the node is listening on." - ], - "items": { - "type": "string", - "description": [ - "Address, e.g. 1.2.3.4:1234." - ] - } - }, - "features": { - "type": "string", - "description": [ - "Bit flags showing supported features (BOLT #9)." - ] - }, - "num_channels": { - "type": "u32", - "description": [ - "The number of channels the peer has with this node." - ], - "added": "v23.02" - }, - "log": { - "type": "array", - "description": [ - "If *level* is specified, logs for this peer." - ], - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "SKIPPED", - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG", - "IO_IN", - "IO_OUT" - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "enum": [ - "SKIPPED" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "num_skipped" - ], - "properties": { - "type": {}, - "num_skipped": { - "type": "u32", - "description": [ - "Number of deleted/omitted entries." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "enum": [ - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "node_id" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": [ - "UNIX timestamp with 9 decimal places." - ] - }, - "source": { - "type": "string", - "description": [ - "The particular logbook this was found in." - ] - }, - "log": { - "type": "string", - "description": [ - "The actual log message." - ] - }, - "node_id": { - "type": "pubkey", - "description": [ - "The peer this is associated with." - ] - } - } - } - }, - { - "if": { - "properties": { - "type": { - "enum": [ - "IO_IN", - "IO_OUT" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "node_id", - "data" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": [ - "UNIX timestamp with 9 decimal places." - ] - }, - "source": { - "type": "string", - "description": [ - "The particular logbook this was found in." - ] - }, - "log": { - "type": "string", - "description": [ - "The actual log message." - ] - }, - "node_id": { - "type": "pubkey", - "description": [ - "The peer this is associated with." - ] - }, - "data": { - "type": "hex", - "description": [ - "The IO which occurred." - ] - } - } - } - } - ] - } - }, - "channels": { - "deprecated": [ - "v23.02", - "v24.02" - ], - "type": "array", + "type": "outpoint" + } + }, + "mindepth": { + "description": [ + "Number of confirmations required before we consider the channel active." + ], + "type": "u32" + }, + "reserve": { + "type": "msat", + "description": [ + "The amount we want the peer to maintain on its side of the channel. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ], + "default": "1% of the funding amount" + }, + "channel_type": { + "added": "v24.02", + "type": "array", + "items": { + "type": "u32", + "description": [ + "Represents the explicit channel type to request. There is currently no sanity checking on this value so if you use strange values and your channel breaks, you get to keep both pieces. BOLT 2 defines the following value types:", + "```", + "The currently defined basic types are:", + " - no features (no bits set).", + " - `option_static_remotekey` (bit 12).", + " - `option_anchor_outputs` and `option_static_remotekey` (bits 20 and 12).", + " - `option_anchors_zero_fee_htlc_tx` and `option_static_remotekey` (bits 22 and 12).", + "", + "Each basic type has the following variations allowed:", + " - `option_scid_alias` (bit 46).", + " - `option_zeroconf` (bit 50).", + "```" + ] + } + } + } + }, + "response": { + "required": [ + "tx", + "txid", + "outnum", + "channel_type", + "channel_id" + ], + "properties": { + "tx": { + "type": "hex", + "description": [ + "The raw transaction which funded the channel." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction which funded the channel." + ] + }, + "outnum": { + "type": "u32", + "description": [ + "The 0-based output index showing which output funded the channel." + ] + }, + "channel_id": { + "type": "hash", + "description": [ + "The channel_id of the resulting channel." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "u32", "description": [ - "Channels with this peer." + "Bit number." + ] + } + }, + "names": { + "type": "array", + "description": [ + "Feature name for each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "string", + "enum": [ + "static_remotekey/even", + "anchor_outputs/even", + "anchors_zero_fee_htlc_tx/even", + "scid_alias/even", + "zeroconf/even" ], - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "state", - "opener", - "features", - "peer_connected", - "peer_id" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "added": "pre-v0.10.1", - "description": [ - "Node Public key." - ] - }, - "peer_connected": { - "type": "boolean", - "added": "pre-v0.10.1", - "description": [ - "A boolean flag that is set to true if the peer is online." - ] - }, - "reestablished": { - "type": "boolean", - "added": "v24.02", - "description": [ - "A boolean flag that is set to true if we have successfully exchanged reestablish messages with this connection." - ] - }, - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE", - "CLOSED" - ], - "description": [ - "Current state of the channel:", - " * `OPENINGD`: The channel funding protocol with the peer is ongoing and both sides are negotiating parameters.", - " * `CHANNELD_AWAITING_LOCKIN`: The peer and you have agreed on channel parameters and are just waiting for the channel funding transaction to be confirmed deeply. Both you and the peer must acknowledge the channel funding transaction to be confirmed deeply before entering the next state.", - " * `CHANNELD_NORMAL`: The channel can be used for normal payments.", - " * `CHANNELD_SHUTTING_DOWN`: A mutual close was requested (by you or peer) and both of you are waiting for HTLCs in-flight to be either failed or succeeded. The channel can no longer be used for normal payments and forwarding. Mutual close will proceed only once all HTLCs in the channel have either been fulfilled or failed.", - " * `CLOSINGD_SIGEXCHANGE`: You and the peer are negotiating the mutual close onchain fee.", - " * `CLOSINGD_COMPLETE`: You and the peer have agreed on the mutual close onchain fee and are awaiting the mutual close getting confirmed deeply.", - " * `AWAITING_UNILATERAL`: You initiated a unilateral close, and are now waiting for the peer-selected unilateral close timeout to complete.", - " * `FUNDING_SPEND_SEEN`: You saw the funding transaction getting spent (usually the peer initiated a unilateral close) and will now determine what exactly happened (i.e. if it was a theft attempt).", - " * `ONCHAIN`: You saw the funding transaction getting spent and now know what happened (i.e. if it was a proper unilateral close by the peer, or a theft attempt).", - " * `CLOSED`: The channel closure has been confirmed deeply. The channel will eventually be removed from this array." - ] - }, - "scratch_txid": { - "type": "txid", - "description": [ - "The txid we would use if we went onchain now." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v23.05" - }, - "updates": { - "type": "object", - "added": "v24.02", - "description": [ - "Latest gossip updates sent/received." - ], - "additionalProperties": false, - "required": [ - "local" - ], - "properties": { - "local": { - "type": "object", - "description": [ - "Our gossip for channel." - ], - "additionalProperties": false, - "added": "v24.02", - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Minimum msat amount we allow." - ] - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Maximum msat amount we allow." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": [ - "Blocks delay required between incoming and outgoing HTLCs." - ] - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Amount we charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": [ - "Amount we charge to use the channel in parts-per-million." - ] - } - } - }, - "remote": { - "type": "object", - "added": "v24.02", - "description": [ - "Peer's gossip for channel." - ], - "additionalProperties": false, - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Minimum msat amount they allow." - ] - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Maximum msat amount they allow." - ] - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": [ - "Blocks delay required between incoming and outgoing HTLCs." - ] - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": [ - "Amount they charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": [ - "Amount they charge to use the channel in parts-per-million." - ] - } - } - } - } - }, - "ignore_fee_limits": { - "type": "boolean", - "added": "v23.08", - "description": [ - "Set if we allow this peer to set fees to anything they want." - ] - }, - "feerate": { - "type": "object", - "description": [ - "Feerates for the current tx." - ], - "additionalProperties": false, - "required": [ - "perkw", - "perkb" - ], - "properties": { - "perkw": { - "type": "u32", - "description": [ - "Feerate per 1000 weight (i.e kSipa)." - ] - }, - "perkb": { - "type": "u32", - "description": [ - "Feerate per 1000 virtual bytes." - ] - } - } - }, - "owner": { - "type": "string", - "description": [ - "The current subdaemon controlling this connection." - ] - }, - "short_channel_id": { - "type": "short_channel_id", - "description": [ - "The short_channel_id (once locked in)." - ] - }, - "channel_id": { - "type": "hash", - "description": [ - "The full channel_id (funding txid Xored with output number)." - ] - }, - "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." - ] - }, - "initial_feerate": { - "type": "string", - "description": [ - "For inflight opens, the first feerate used to initiate the channel open." - ] - }, - "last_feerate": { - "type": "string", - "description": [ - "For inflight opens, the most recent feerate used on the channel open." - ] - }, - "next_feerate": { - "type": "string", - "description": [ - "For inflight opens, the next feerate we'll use for the channel open." - ] - }, - "next_fee_step": { - "type": "u32", - "description": [ - "For inflight opens, the next feerate step we'll use for the channel open." - ] - }, - "inflight": { - "type": "array", - "description": [ - "Current candidate funding transactions." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "funding_txid", - "funding_outnum", - "feerate", - "total_funding_msat", - "splice_amount", - "our_funding_msat" - ], - "properties": { - "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." - ] - }, - "feerate": { - "type": "string", - "description": [ - "The feerate for this funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "total_funding_msat": { - "type": "msat", - "description": [ - "Total amount in the channel." - ] - }, - "splice_amount": { - "type": "integer", - "added": "v23.08", - "description": [ - "The amouont of sats we're splicing in or out." - ] - }, - "our_funding_msat": { - "type": "msat", - "description": [ - "Amount we have in the channel." - ] - }, - "scratch_txid": { - "type": "txid", - "description": [ - "The commitment transaction txid we would use if we went onchain now." - ] - } - } - } - }, - "close_to": { - "type": "hex", - "description": [ - "ScriptPubkey which we have to close to if we mutual close." - ] - }, - "private": { - "type": "boolean", - "description": [ - "If True, we will not announce this channel." - ] - }, - "opener": { + "description": [ + "Name of feature bit." + ] + } + } + } + }, + "close_to": { + "type": "hex", + "description": [ + "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." + ] + }, + "mindepth": { + "type": "u32", + "description": [ + "Number of confirmations before we consider the channel active." + ] + } + } + }, + "example_usage": [ + "This example shows how to use lightning-cli to open new channel with peer 03f...fc1 from one whole utxo bcc1...39c:0 (you can use **listfunds** command to get txid and vout):", + "", + "```shell", + "lightning-cli -k fundchannel id=03f...fc1 amount=all feerate=normal utxos='[\"bcc1...39c:0\"]'", + "```" + ], + "example_json_request": [ + { + "id": "example:fundchannel#1", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null + } + }, + { + "id": "example:fundchannel#2", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null + } + }, + { + "id": "example:fundchannel#3", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#4", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#5", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 10000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": 1000000000, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#6", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 10000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#7", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#8", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#9", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 10000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#10", + "method": "fundchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 10000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#11", + "method": "fundchannel", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount": 10000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#12", + "method": "fundchannel", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#13", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#14", + "method": "fundchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#15", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#16", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#17", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#18", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#19", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#20", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#21", + "method": "fundchannel", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": null, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#22", + "method": "fundchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": 0, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel#23", + "method": "fundchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 1000000, + "feerate": null, + "announce": true, + "minconf": 0, + "utxos": null, + "push_msat": null, + "close_to": null, + "request_amt": null, + "compact_lease": null, + "mindepth": null, + "reserve": null, + "channel_type": null + } + } + ], + "example_json_response": [ + { + "tx": "020000000001014ca47b75e6982fce6b5ebb6e7ec163dc5b6bed1562934e6febe816103b2b207e0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022058fc4d51c8254d37b266d3db3f8fda7420882b6ec9226d66b8c0139f2707c09602205798d8ce23d4c692a7384362a2e0afd9703f062239a786d7a1840a28d3a1152e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", + "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "outnum": 0 + }, + { + "tx": "020000000001011087d96dae618cbd5675de2e5e382291589ee045f1441e4e1f36414c1adfacd90100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402205f387b6dc0a1876475be98eb55f39140c76b7e6d2d295607b34f222d09a5aa5d022061fb704bf98d3fb89c43ff8a8d0c182b278fc23d1b68351e33c295d040dd144a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf33000000", + "txid": "3861168fa360b720bf5d38d1e54d18284d7518d3f6024b96b63ca8f91be02a60", + "channel_id": "602ae01bf9a83cb6964b02f6d318754d28184de5d1385dbf20b760a38f166138", + "outnum": 0 + }, + { + "tx": "020000000001016452d8c48d2840184d4da30882143ec3602e2b3bd4e1b482faca527df950064a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022046f8e9bd0bfa5f4c0a102323b9101a81a58e9045e36e8a0d75f0a4011fb5f20b0220516b9f0f1d5641c608d82454cffe59b1e61dfb9d47ab845be97d7240022e98be012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101f85d8131faf87f5be28d375fc2de44a5f82c3b22fd0597be20e0f0e47db590120100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220147ba3627795870eb23ba453ab07ef260815a44d216d79d06d0f6e83fa4dfe9102200eecd5433d0655e9dd2124475b71b9b352c4d30428680373ee136087922ecb65012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "0200000000010141cfa0e9957c7c6d0bb5069d92937f9545e6e6ee9b4650f47f509d5ea65df4690100000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4118530b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402206488c7dfbc4180781ed0d5ca7ff2c8ce134480c349d03978765053a393229d9a022066c75dee1f19b410ea1c7756d0cb2c097e52b13f4d9bbd033efa4ed95d817e14012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "6aa1231b6356777468a55aea1f49dad6415592aef6c1e652f8a64357c7235301", + "channel_id": "015323c75743a6f852e6c1f6ae925541d6da491fea5aa568747756631b23a16a", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101b31e6d64fa35e28f83b28d5f44a0dd56a35c74b8849e9c35bdf651179431c7130000000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4118530b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022058af921d3fe26cff81f677e3ca72bb8bd91f74febbff41aab21d7c46fb8b31a202206779930d4d19e15ac53aaca078c32dca84c624807a7f323bec6b74d1915b5863012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "721963a8dd47a9e41e94497ef065575406f21ae7430809d55492550bc56afbc1", + "channel_id": "c1fb6ac50b559254d5090843e71af206545765f07e49941ee4a947dda8631972", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101f945fb13572b152ad29bb9db393745be98ed5c3be3c6011ff19c8bf8e9669c8e0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220560ab28a034512b1e3f6285f6a990377172701c079beeff13569ac3e8e55462d022069ad5a73923ee27dfb673e82da09e4e0a7ee148bbd25748c7a6f27ee410b36cc012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "1180fee367fe518d3640854ae147228707acee276a19bb2beb221a8586ff8268", + "channel_id": "6882ff86851a22eb2bbb196a27eeac07872247e14a8540368d51fe67e3fe8011", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "0200000000010133a4133b8c678205b1ad6b0b25e5d2b84834873008c063743014f23ed5040f9a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203529fcfa023416cfb64b3474f84ca91e5e36403ddf3e65a67f63dcb20b52994902203a3e14f7bdb8f9e1e71559c91af21a45dfed0271f39f504b208a6368f29f96d7012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "af7adb0bafa0aa19b981b2efb3d50c87815f4f18f7cc1296c1ea8309bad2f6a0", + "channel_id": "a0f6d2ba0983eac19612ccf7184f5f81870cd5b3efb281b919aaa0af0bdb7aaf", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "0200000000010139bfbc94c030e52ee5d10c4c681d82e431469ed1e3282ddc6b88f6e1f6980fb70100000000fdffffff0280969800000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203201e21e359641179d49533cdced78c297220de5e155c3a3f03d62019522c1700220662fc4ca64db93a85e86095299b843c7872728779677fd46c256e1a0ef095aa9012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", + "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "0200000000010150c85d048045428bc22883bc07a9333ae4332eed7f8147b8c0ea15c6c780a8c10100000000fdffffff0280969800000000002200208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a0247304402201ed188cb825aab5ffdbe76f8ed77c5b248f55b4b96ebd6328054c702754dc1a8022013b5621a40d51562974d9e5c6a85eed1c25b2222242a03a8eb99c171e9c210e9012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda68000000", + "txid": "c2753b4ec2f49d779c3c02e1caea812ed4a4fa2a9fa0f2e0d1ea9ff11d1e7ea7", + "channel_id": "a77e1e1df19fead1e0f2a09f2afaa4d42e81eacae1023c9c779df4c24e3b75c2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101518b1a5acba2db8352832089691a2179d84c0e0e0aeccdf15ba1d3461f38f37f0000000000fdffffff028096980000000000220020c7cfa7c93af7f1ff2f73e47ebbc321469496c69bd7a72cd69a555863fff9e7ba012f0f00000000002251209218535f1f9fbfe9d4d8f502c26dd76c68e3ed5fec3c5d67748ae87aa5f3916e02473044022030c5cd119afd60425401055e86711c7e010f4d8de527f49eda4cc912d1de98c002205e81b213504e771aeba7e527fc68a1992091d68e3f5f9a4f20f368ee8b59819e012102225ce166e84b3833d9f620863b4e713099de616f559e8768f44ff674054bb07d6a000000", + "txid": "f921078d0af6322ca6852fb4a5f90dd5e681e5931700537a27453211c1ae9573", + "channel_id": "7395aec1113245277a53001793e581e6d50df9a5b42f85a62c32f60a8d0721f9", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101d4f98bcfe8678a76e38336308e0dfaae0d13404e92a9f92b68a41c53ec8b1ac90100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f0000000000225120de7997251f5566fd30a7d1ecb85185554b5164c3621f7c3e0dda1ce99b7a59600247304402207f9104fa0f793ccdf6681761996596f96b46625823e3f627fd4b516c78a84b77022000e6d6e97a249576c315cc43f70818718c4581caf194faf0077481386b375df201210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab6666000000", + "txid": "75a4f241d23c7f9124b690c1fd41f0c58b65e8962d4a3d1b3e4ea4f8e97504d9", + "channel_id": "d90475e9f8a44e3e1b3d4a2d96e8658bc5f041fdc190b624917f3cd241f2a475", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101a1beafa8c95db298d8d4501975f0f0cb20f7d9c60d4f7d5258794c03d2186c5c0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0246304302202da5f9327902820cf06762472416c186b93a2834fcfd90a12f47df18d8f8e648021f4e384e3f4603cc38d06448771667f1ad0dd6e6b68345cced163877e47faa46012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf36000000", + "txid": "f24a6312f629f7c989eabb8f18c8e6989eec1a35625fe7a0adcd8562e515499c", + "channel_id": "9c4915e56285cdada0e75f62351aec9e98e6c8188fbbea89c9f729f612634af2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "020000000001018d9386af7f89e02a05450ef7a1cc64d5cf05b3fb990859d8af6b11ce282d37440100000000fdffffff0240420f00000000002200208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a024730440220606b56b74eb5f12c9c80e916bf5b6b5556d85024e89bd620b6e0b662e25ae8c70220712d8fe2b3961e1e53086463467cc580994d5afe3178fd8dd38ee0a8d662d82d01210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab6666000000", + "txid": "d26eec948b2d94b3c7b8e31f638ee642440f48c5c62bd9cae18456e6e98afd1d", + "channel_id": "1dfd8ae9e65684e1cad92bc6c5480f4442e68e631fe3b8c7b3942d8b94ec6ed2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "020000000001018c67b6ed0775343c8c08d27768f4a69d4c377f55d61608759269f4a0498a7d9a0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200d2d9d59d2e27f5bb9b7d0586668dbef77ab9067e45712156a7bdb7a6f6ac6340220751670ddafe90ebe077d321b104414e6267eba139cefcca320a4f04a4e87c7bc012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "df3011e3635646c26f2300f5f90f6e9031abe04c46f3aa6c99c33268b03af9c2", + "channel_id": "c2f93ab06832c3996caaf3464ce0ab31906e0ff9f500236fc2465663e31130df", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101d0995ae65071e8710f1a1e4d5ec981b16be63a7b46e744f9042b84a2d49bfb440100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220062d8508471aba3ab70a7efc946d2f8a7f3a4f9e6d9b5a70099a01fdbe90e9dc02207ea53e7c56b56b20521ec57981a8fdaf825d09f0f5b26fe7e3da0c659e33b95c012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "32f77ece6138946acb6437b1d83399fdf088f37358c58ceb64b9eb5460537764", + "channel_id": "6477536054ebb964eb8cc55873f388f0fd9933d8b13764cb6a943861ce7ef732", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101a6a3355269229efa2642569ca17ae01bb5d0ba8694f4c76d628c16f56b6505db0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402205e91099a58e75580253b3d4908e96d97eeadf37c4210c1288b8fa28eac0af53102203b052ad2fe3596f9a5f177836de33f10cc41017e45f38b12e271bbc24635995c012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "756d8f01fbab16388b457f69d5cd78a7d84240bdf4a32952ac2cfcdb0bcb9f27", + "channel_id": "279fcb0bdbfc2cac5229a3f4bd4042d8a778cdd5697f458b3816abfb018f6d75", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "020000000001011aebabc5303e272b829ef966cad600ecc8a7f12c50ddd9ae670de203ed12b1470100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022038bec19922ec1a974a263acc4109343c1791ad8bb2bce08c9dfdddad539c04b50220203f184a548d7a3f97793e7b25bc9860c82b26f584407947b6380d4be5e30a34012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "5f7fae112e0dad05f01bd0e067235ee434fd39eec65258478aceb30058666583", + "channel_id": "8365665800b3ce8a475852c6ee39fd34e45e2367e0d01bf005ad0d2e11ae7f5f", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "0200000000010157294f976915f88b61f1a6137989d28ccfcd0c8141bbcce4ec76f59fe71e6f6e0000000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402207b9a834c9a335a674202d819cd20a0eb95dc6422c01a5541c5dcea42a0393035022068e487a77a68974e839090ed16a94637f0bff2d1ee17616f36bd5de017ea0281012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "34eb5b9ea51a1be29fe9c6077bf6b9672cd291aaaa3af85e09985482fd02721e", + "channel_id": "1e7202fd825498095ef83aaaaa91d22c67b9f67b07c6e99fe21b1aa59e5beb34", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "020000000001015a53dcbc1080ca14b6c2ec147bdd6b6d5a384f288f850eda091ad4180b9b6c6f0100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd012f0f000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402201ef130e2972be44df9596eeaddb47c97109fdd7bede91ff255ea6e4dafde4243022067da2bfbb0770363f5cbe6639a670d64893f1bf69568ae7c5311a3971d1367b9012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "f3c017e4e0bfe3dd7232366436b05d1054edea6c500c2d2cedcfd1f49ec1c0c5", + "channel_id": "c5c0c19ef4d1cfed2c2d0c506ceaed54105db03664363272dde3bfe0e417c0f3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101fbb3b1e467c88710069fd6c258a12be904834054e617e9aaa099ca7f9acf973a0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec76012f0f00000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a0247304402201e34c20a263e027c24fda469294e86f00a382abaec15466b437d741141aa5a3a0220755d3867e34f88ab66c27a29bad0d547beb3f895e8259d4ad14fe9184e9936fc012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda68000000", + "txid": "2092f3327f2f9cb64150f0998eb1c52badf08d42bb0657d7138a546fb1818d24", + "channel_id": "248d81b16f548a13d75706bb428df0ad2bc5b18e99f05041b69c2f7f32f39220", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101d307977fcfb62fae558cf63e520f2b30ad1b72b26623e6d0e9c183cc84ce5e570100000000fdffffff0240420f00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd818be6050000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402202943dc60e9258c477268648f561424169e2fead00c62e5efbe06583ff6c771c202205f7da691cb8fd411f174af4201b980deb72c3c06caa78a5f92bbfc660ddb4d10012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "333245d8abe9bab9286dbb0390d744d7890647aa48d345a8cd790155dd401aea", + "channel_id": "ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd8453233", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "tx": "02000000000101ea1a40dd550179cda845d348aa470689d744d79003bb6d28b9bae9abd84532330100000000fdffffff0240420f0000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8700236d705000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be0140ef4a5dfa9a1d1b87ba30baa2db9a46e06be7ee0ae9159992eb0cad33e605edb1fb1cded96677a93611b1012b15cd536a84344162eb883e2878c183d207204c2366000000", + "txid": "ba467ec258b47f171f4751d8de59914f49ae968be165509abe01669e571f4849", + "channel_id": "49481f579e6601be9a5065e18b96ae494f9159ded851471f177fb458c27e46ba", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + } + ], + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 300: The maximum allowed funding amount is exceeded.", + "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", + "- 302: The output amount is too small, and would be considered dust.", + "- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.", + "- 313: The `min-emergency-msat` reserve not be preserved (and we have or are opening anchor channels).", + "", + "Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.)." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-listfunds()", + "lightning-listpeers(7)", + "lightning-feerates(7)", + "lightning-multifundchannel(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-fundchannel_cancel.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "fundchannel_cancel", + "title": "Command for completing channel establishment", + "description": [ + "`fundchannel_cancel` is a lower level RPC command. It allows channel opener to cancel a channel before funding broadcast with a connected peer.", + "", + "Note that the funding transaction MUST NOT be broadcast before `fundchannel_cancel`. Broadcasting transaction before `fundchannel_cancel` WILL lead to unrecoverable loss of funds.", + "", + "If `fundchannel_cancel` is called after `fundchannel_complete`, the remote peer may disconnect when command succeeds. In this case, user need to connect to remote peer again before opening channel." + ], + "request": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "Node id of the remote peer with which to cancel." + ] + } + } + }, + "response": { + "required": [ + "cancelled" + ], + "properties": { + "cancelled": { + "type": "string", + "description": [ + "A message indicating it was cancelled by RPC." + ] + } + } + }, + "errors": [ + "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.", + "- 306: Unknown peer id.", + "- 307: No channel currently being funded that can be cancelled.", + "- 308: It is unsafe to cancel the channel: the funding transaction has been broadcast, or there are HTLCs already in the channel, or the peer was the initiator and not us." + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-fundchannel(7)", + "lightning-multifundchannel(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_abort(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ + { + "id": "example:fundchannel_cancel#1", + "method": "fundchannel_cancel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:fundchannel_cancel#2", + "method": "fundchannel_cancel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:fundchannel_cancel#3", + "method": "fundchannel_cancel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:fundchannel_cancel#4", + "method": "fundchannel_cancel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:fundchannel_cancel#5", + "method": "fundchannel_cancel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + } + }, + { + "id": "example:fundchannel_cancel#6", + "method": "fundchannel_cancel", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" + } + }, + { + "id": "example:fundchannel_cancel#7", + "method": "fundchannel_cancel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:fundchannel_cancel#8", + "method": "fundchannel_cancel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + } + }, + { + "id": "example:fundchannel_cancel#9", + "method": "fundchannel_cancel", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" + } + }, + { + "id": "example:fundchannel_cancel#10", + "method": "fundchannel_cancel", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e" + } + }, + { + "id": "example:fundchannel_cancel#11", + "method": "fundchannel_cancel", + "params": { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" + } + }, + { + "id": "example:fundchannel_cancel#12", + "method": "fundchannel_cancel", + "params": { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6" + } + }, + { + "id": "example:fundchannel_cancel#13", + "method": "fundchannel_cancel", + "params": { + "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616" + } + }, + { + "id": "example:fundchannel_cancel#14", + "method": "fundchannel_cancel", + "params": { + "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda" + } + }, + { + "id": "example:fundchannel_cancel#15", + "method": "fundchannel_cancel", + "params": { + "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc" + } + }, + { + "id": "example:fundchannel_cancel#16", + "method": "fundchannel_cancel", + "params": { + "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e" + } + }, + { + "id": "example:fundchannel_cancel#17", + "method": "fundchannel_cancel", + "params": { + "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e" + } + }, + { + "id": "example:fundchannel_cancel#18", + "method": "fundchannel_cancel", + "params": { + "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426" + } + }, + { + "id": "example:fundchannel_cancel#19", + "method": "fundchannel_cancel", + "params": { + "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db" + } + }, + { + "id": "example:fundchannel_cancel#20", + "method": "fundchannel_cancel", + "params": { + "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db" + } + }, + { + "id": "example:fundchannel_cancel#21", + "method": "fundchannel_cancel", + "params": { + "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d" + } + } + ], + "example_json_response": [ + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC" + }, + { + "cancelled": "Channel open canceled by RPC(after fundchannel_complete)" + } + ] + }, + "lightning-fundchannel_complete.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "fundchannel_complete", + "title": "Command for completing channel establishment", + "description": [ + "`fundchannel_complete` is a lower level RPC command. It allows a user to complete an initiated channel establishment with a connected peer.", + "", + "Note that the funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed, as the commitment transactions for this channel are not secured until this command successfully completes. Broadcasting transaction before can lead to unrecoverable loss of funds." + ], + "request": { + "required": [ + "id", + "psbt" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "Node id of the remote peer." + ] + }, + "psbt": { + "type": "string", + "description": [ + "Transaction to use for funding (does not need to be signed but must be otherwise complete)." + ] + } + } + }, + "response": { + "required": [ + "channel_id", + "commitments_secured" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel_id of the resulting channel." + ] + }, + "commitments_secured": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Indication that channel is safe to use." + ] + } + } + }, + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 305: Peer is not connected.", + "- 306: Unknown peer id.", + "- 309: PSBT does not have a unique, correct output to fund the channel." + ], + "example_json_request": [ + { + "id": "example:fundchannel_complete#1", + "method": "fundchannel_complete", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "psbt": "cHNidP8BAIkCAAAAASYd4TeOHEIzrUbbELM2DK0IX09WaXqWsJFlLD455MPPAAAAAAD9////Av///wAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM1c8QUpAQAAACJRIH8AZYBKMKON4/oVmJVsVt6zy/+PkBPzziE+LtkuFvWXAAAAAAABAIMCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wJRAP////8CAPIFKgEAAAAWABQ5FIjuMd8ar9WFRV9eGNLF+3RMcAAAAAAAAAAAJmokqiGp7eL2HD9x0d79P6mZ36NpU3VcaQaJeZlitIvr2DaXToz5AAAAAAEBHwDyBSoBAAAAFgAUORSI7jHfGq/VhUVfXhjSxft0THAiBgMegIxEPDa2OseVTaV6ANtSwQuoj/j2an7X/Is2EekvWBhhFDNgVAAAgAEAAIAAAACAAAAAAAAAAAAAAAEFIEm9AFgqUlJwbPFtyt3a9dzvb+nAGZiQ3CT1CImhjBFpIQdJvQBYKlJScGzxbcrd2vXc72/pwBmYkNwk9QiJoYwRaRkAYRQzYFYAAIABAACAAAAAgAEAAAAAAAAAAA==" + } + }, + { + "id": "example:fundchannel_complete#2", + "method": "fundchannel_complete", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIQEIPAAAAAAABBCIAIDYLbE1WY1RrtlKo7EhezIdLJC0olr4k8XuWglwZdux2AAEDCAFBiQEAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQA=" + } + }, + { + "id": "example:fundchannel_complete#3", + "method": "fundchannel_complete", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfAAEDCEGDmAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" + } + }, + { + "id": "example:fundchannel_complete#4", + "method": "fundchannel_complete", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAILY28HAm6mSVLs5bdiCpM32awjIceWpJkmCZTRs3NmdQAAEDCEGDmAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" + } + }, + { + "id": "example:fundchannel_complete#5", + "method": "fundchannel_complete", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" + } + }, + { + "id": "example:fundchannel_complete#6", + "method": "fundchannel_complete", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" + } + }, + { + "id": "example:fundchannel_complete#7", + "method": "fundchannel_complete", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "psbt": "cHNidP8BAIkCAAAAAXOHZey/M2Rrmmr56KVNGAc/izVw7DBtYK2VF9bMpQfoAAAAAAD9////Av///wAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM1c8QUpAQAAACJRIKyC0QiCWan9ikIc1Ga2O19Zmw0Jfq4T/a2u2U5/zipDAAAAAAABAIMCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wJRAP////8CAPIFKgEAAAAWABRMc860rbJytujjKMd6NEnWSNexygAAAAAAAAAAJmokqiGp7eL2HD9x0d79P6mZ36NpU3VcaQaJeZlitIvr2DaXToz5AAAAAAEBHwDyBSoBAAAAFgAUTHPOtK2ycrbo4yjHejRJ1kjXscoiBgP2W2Z3c8I2mT7BYOQCTYS0Ep6de1b4oTpVCtvc4XsdPRhGer+AVAAAgAEAAIAAAACAAAAAAAAAAAAAAAEFINFEnynZTpfzOKiOAGDouU+QtCwvgCyyz8QyEIVpop2SIQfRRJ8p2U6X8ziojgBg6LlPkLQsL4Asss/EMhCFaaKdkhkARnq/gFYAAIABAACAAAAAgAEAAAAAAAAAAA==" + } + }, + { + "id": "example:fundchannel_complete#8", + "method": "fundchannel_complete", + "params": { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zAAEDCGFzAQAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" + } + }, + { + "id": "example:fundchannel_complete#9", + "method": "fundchannel_complete", + "params": { + "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZAAEDCGFzAQAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" + } + }, + { + "id": "example:fundchannel_complete#10", + "method": "fundchannel_complete", + "params": { + "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEyd+og0d6wP0S65dxwDLfftCU0RZ/13K4bUZZd+KbeYAAEDCGFzAQAAAAAAAQQiUSA+igP2eLt8oEi67MOXiFMFYOoEmBbWBPcpJeQlKIRGyAA=" + } + }, + { + "id": "example:fundchannel_complete#11", + "method": "fundchannel_complete", + "params": { + "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2AAEDCGFzAQAAAAAAAQQiUSCioBx5ZSie7la1z83bmFbHD6R2wmTSH3Ecammvd2rkAwA=" + } + }, + { + "id": "example:fundchannel_complete#12", + "method": "fundchannel_complete", + "params": { + "id": "038f7e8b965a4dffa90173f6b5088bf5ce30aca642febcb669736a780a6bf5821e", + "psbt": "cHNidP8BAgQCAAAAAQMEJwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEjaMEu1K+F+EKqz+LigdQdivKEbJ6VBO0QAvQvLnwfBAAEDCGFzAQAAAAAAAQQiUSAY7OALc2+e137TqHQmZDwkIiPj1hFqTNbZCUb3PeLOcQA=" + } + }, + { + "id": "example:fundchannel_complete#13", + "method": "fundchannel_complete", + "params": { + "id": "02fd8076993ecbd87fc9286e0fea6cb2e074191475fe0cfdba779c863e4d607f02", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIHwdq029Cz/gXLzjslO+79pYcciUAi+56uup1hAati1YAAEDCGFzAQAAAAAAAQQiUSDbLewxrJZf8q0+OS0s9qp2EozqCtmNAYsHvF3i4jRr+wA=" + } + }, + { + "id": "example:fundchannel_complete#14", + "method": "fundchannel_complete", + "params": { + "id": "03dcd7e0c98f16a74d4eeb6e717f43d5701b57fb8f85311fb3a556e5d0e588fc04", + "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGvNjTyuex4z297fMIEliEDNufUjXXo7PkTpXuRS4kx/AAEDCGFzAQAAAAAAAQQiUSAwn8BQ3ZyqMpHcvja57O028jw6vl+S6qKelm9PmLwokwA=" + } + }, + { + "id": "example:fundchannel_complete#15", + "method": "fundchannel_complete", + "params": { + "id": "03d90afbbafa9aa593e8b34f26460a3f078f2f036aca879bd9a25f79ede510e240", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIG5Li1w++b5+NszadDMuTv1rJFSSNmWAGzd2ug0j1DNOAAEDCGFzAQAAAAAAAQQiUSAxCOwIFbukU9jYixAPlhpvY9nPReEF51EWnT1i1ERVEwA=" + } + }, + { + "id": "example:fundchannel_complete#16", + "method": "fundchannel_complete", + "params": { + "id": "02f8d2e2275fa13477d9e1452e3b2b8f5de902e3f492896dffe78ccc850e210235", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAe4QLJ/v7ptYRUNjBo221LpT/D+mT5NM8x7V7gFYEy8AAEDCGFzAQAAAAAAAQQiUSDC+hs3dXh+aSwemOZOlR3JN8quWjasgkIEB+b9OF/sBAA=" + } + }, + { + "id": "example:fundchannel_complete#17", + "method": "fundchannel_complete", + "params": { + "id": "035de9e8290c145ea767748a7462230afd64f3b51fb32b3a75d2f87ad3a44166e2", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNAAEDCGFzAQAAAAAAAQQiUSDCTCjgyViTrnjcViXb+xEeNlsbpgC5RHTm0BmvOaVWDQA=" + } + }, + { + "id": "example:fundchannel_complete#18", + "method": "fundchannel_complete", + "params": { + "id": "02cea6e033525fe7704dd66c132ef2148b3ce6fcf853a4996a36096b3657749f62", + "psbt": "cHNidP8BAgQCAAAAAQMELgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIOKuOrQ9Om839fxIut0AWgxIsVKHqcad1NzrOCicsUTMAAEDCGFzAQAAAAAAAQQiUSC5AoUp8kWSutdGlw1Zi7MtmuHb2QAGRKazEqQQzShYYwA=" + } + }, + { + "id": "example:fundchannel_complete#19", + "method": "fundchannel_complete", + "params": { + "id": "03f19c10baf29a25714bae37596d0cc32e91294a74cd876153aadbd9df7c9b17fe", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12AAEDCGFzAQAAAAAAAQQiUSDdPDkfelbfkVPPNzBH/a0Lmp9VoKvY5DkTXn1OL0vJBQA=" + } + }, + { + "id": "example:fundchannel_complete#20", + "method": "fundchannel_complete", + "params": { + "id": "0314c31e9bf14aeda1bd09db66dc14bec2ab4df7b25e0feba2d65c31c56172f9fd", + "psbt": "cHNidP8BAgQCAAAAAQMEOAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAO/o9k7kNNPFvm+/IqVGOA+NYkFa8N47K8XY2O9SR89AAEDCGFzAQAAAAAAAQQiUSCWmwcerPCw2jbGXOuFAwfKJUBdKu87b3tnj5FE3Dhs1QA=" + } + }, + { + "id": "example:fundchannel_complete#21", + "method": "fundchannel_complete", + "params": { + "id": "03c896c7df8652597c6d9e188aef635d2f22ae01fa443915c59c7b4bf7f8100d64", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIK8WpFmmR9o8Zgw3CsrWK1fRGDY5nc9vxzZoVNZ71r7WAAEDCGFzAQAAAAAAAQQiUSC/bPw/GYiX+T3eaDYaNsKwwqjmb7jsqzpxxf1D9iOo0gA=" + } + }, + { + "id": "example:fundchannel_complete#22", + "method": "fundchannel_complete", + "params": { + "id": "02054da56b6b910961ad687c7cca71e8e43e2c3b897b4882c243675276e071ed1c", + "psbt": "cHNidP8BAgQCAAAAAQMEOAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIKmu3F9zZmY8/eTNKzvxe1hJHgTBOu2+0CF8U1h6QA4cAAEDCGFzAQAAAAAAAQQiUSDr3kzylI/TRkgq9GGXp0THyx+vaTTOeTXyFHJN9mvBFwA=" + } + } + ], + "example_json_response": [ + { + "channel_id": "049217e5035a4a60449c6382c445b5c105bd63588d66137ad0511c57a16db6d9", + "commitments_secured": true + }, + { + "channel_id": "d68e11a8b6daa27d4fcbb4b81b641dd44764fe656943eb2633abf0554e98f22e", + "commitments_secured": true + }, + { + "channel_id": "c35147b70ace0dc1ef7c27283c5c767f122ab2eaca50862c90842c19904eae05", + "commitments_secured": true + }, + { + "channel_id": "ce83e4aace9be2e43bb6b639c8e594518dde37faabec43bb95e0a8bda69bf5c9", + "commitments_secured": true + }, + { + "channel_id": "62a524f2ca313828d910635e41a910df832429d9b5843814999a64291701af04", + "commitments_secured": true + }, + { + "channel_id": "802ce8abc559d435b1e88e4e2b623c5e4ad927e8b2c8a2f514b45393a2db7557", + "commitments_secured": true + }, + { + "channel_id": "be1e072272fdf9e29c1dbba1998d92249c65c1235c3c09533d674ba9680b135e", + "commitments_secured": true + }, + { + "channel_id": "17751b45c580e1b20f57122a108c79d7b80800d145dcd292f0c48c76ec5f4114", + "commitments_secured": true + }, + { + "channel_id": "ee80aa50e7b7671c36aca7cf588799b27de7999f547d296f3b65c2810b07959b", + "commitments_secured": true + }, + { + "channel_id": "a61302d4587163bb0aa403f481d539431b1b131df5d86e44b77085e330f69670", + "commitments_secured": true + }, + { + "channel_id": "1c9cf55bcb25d04a81cfc741134297ce399bbdc469fc03e90376605460431df1", + "commitments_secured": true + }, + { + "channel_id": "139ad83d0f2441dd9aeab50e688400508349301450fcf2c556ff4c3bd3ffef0f", + "commitments_secured": true + }, + { + "channel_id": "69dff0d47a8fb13788e113f8fd1057a700cabb68a396da7d11e97f103950c6b9", + "commitments_secured": true + }, + { + "channel_id": "f5eaba84bcf04f0f39a1aa36fac19e78cefa647c3485f2dd4194e84966302a5e", + "commitments_secured": true + }, + { + "channel_id": "7df425c1275903745fa3680f27f8574ea6add0da2072a6cc2b3b01359c3f3be1", + "commitments_secured": true + }, + { + "channel_id": "759ee672b3d58d90d5ca04a38ac3788d67dadc44e526e67e5a97755e5261a610", + "commitments_secured": true + }, + { + "channel_id": "e2ca4f9bcbc485204cfc341c7506f76321fe7916130d9d0124f11a8e27d02b43", + "commitments_secured": true + }, + { + "channel_id": "d9d0d89947a228f7ce4f9233ca7ef1ad229f4ca4467fdc80721041a7e3be43d8", + "commitments_secured": true + }, + { + "channel_id": "f29939131bdbd68eb41accadd581ff32c545564048d1ed93353afd0d9acfc47f", + "commitments_secured": true + }, + { + "channel_id": "db699f485799e206bf5d30cab010016ebd123b0c9f0d90aacf82fa940ba9b310", + "commitments_secured": true + }, + { + "channel_id": "bbe43a4162a8d01acd0488c4b15fb0d24c5c821db7f0621797e97472329bc433", + "commitments_secured": true + }, + { + "channel_id": "acd120f9b6c4e1deb9d4de7299002db568c863eb191197577d523fd8eedbc3a2", + "commitments_secured": true + } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-fundchannel(7)", + "lightning-multifundchannel(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_cancel(7)", + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_bump(7)", + "lightning-openchannel_abort(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-fundchannel_start.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "fundchannel_start", + "title": "Command for initiating channel establishment for a lightning channel", + "description": [ + "`fundchannel_start` is a lower level RPC command. It allows a user to initiate channel establishment with a connected peer.", + "", + "Note that the funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`, as the commitment transactions for this channel are not secured until the complete command succeeds. Broadcasting transaction before that can lead to unrecoverable loss of funds." + ], + "request": { + "required": [ + "id", + "amount" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The peer id obtained from connect." + ] + }, + "amount": { + "type": "sat", + "description": [ + "Satoshi value that the channel will be funded at. This value MUST be accurate, otherwise the negotiated commitment transactions will not encompass the correct channel value." + ] + }, + "feerate": { + "type": "feerate", + "description": [ + "Feerate for subsequent commitment transactions: see **fundchannel**. Note that this is ignored for channels with *option_anchors_zero_fee_htlc_tx* (we always use a low commitment fee for these)." + ] + }, + "announce": { + "type": "boolean", + "description": [ + "Whether or not to announce this channel." + ] + }, + "close_to": { + "type": "string", + "description": [ + "Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`. Returns `close_to` set to closing script iff is negotiated." + ] + }, + "push_msat": { + "type": "msat", + "description": [ + "Amount of millisatoshis to push to the channel peer at open. Note that this is a gift to the peer -- these satoshis are added to the initial balance of the peer at channel start and are largely unrecoverable once pushed." + ] + }, + "mindepth": { + "type": "u32", + "description": [ + "Number of confirmations required before we consider the channel active." + ] + }, + "reserve": { + "type": "msat", + "description": [ + "The amount we want the peer to maintain on its side." + ] + }, + "channel_type": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } + } + }, + "pairedWith": [ + [ + "feerate", + "announce", + "close_to", + "push_msat", + "channel_type", + "mindepth", + "reserve" + ] + ] + }, + "response": { + "required": [ + "funding_address", + "scriptpubkey", + "warning_usage" + ], + "properties": { + "funding_address": { + "type": "string", + "description": [ + "The address to send funding to for the channel. DO NOT SEND COINS TO THIS ADDRESS YET." + ] + }, + "scriptpubkey": { + "type": "hex", + "description": [ + "The raw scriptPubkey for the address." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "added": "v24.02", + "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." + ], + "added": "v24.02", + "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." + ] + } + } + } + }, + "close_to": { + "type": "hex", + "description": [ + "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." + ] + }, + "warning_usage": { + "type": "string", + "description": [ + "A warning not to prematurely broadcast the funding transaction (always present!)." + ] + }, + "mindepth": { + "type": "u32", + "description": [ + "Number of confirmations before we consider the channel active." + ] + } + } + }, + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 300: The amount exceeded the maximum configured funding amount.", + "- 301: The provided `push_msat` is greater than the provided `amount`.", + "- 304: Still syncing with bitcoin network", + "- 305: Peer is not connected.", + "- 306: Unknown peer id.", + "- 312: Peer negotiated `option_dual_fund`, must use `openchannel_init` not `fundchannel_start`. (Only if ``experimental-dual-fund` is enabled)" + ], + "example_json_request": [ + { + "id": "example:fundchannel_start#1", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777216, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null + } + }, + { + "id": "example:fundchannel_start#2", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777215, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null + } + }, + { + "id": "example:fundchannel_start#3", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777216, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#4", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#5", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777216, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#6", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777216, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#7", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#8", + "method": "fundchannel_start", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#9", + "method": "fundchannel_start", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#10", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777215, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#11", + "method": "fundchannel_start", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 16777215, + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#12", + "method": "fundchannel_start", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#13", + "method": "fundchannel_start", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#14", + "method": "fundchannel_start", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#15", + "method": "fundchannel_start", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#16", + "method": "fundchannel_start", + "params": { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#17", + "method": "fundchannel_start", + "params": { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#18", + "method": "fundchannel_start", + "params": { + "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#19", + "method": "fundchannel_start", + "params": { + "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#20", + "method": "fundchannel_start", + "params": { + "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#21", + "method": "fundchannel_start", + "params": { + "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#22", + "method": "fundchannel_start", + "params": { + "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + }, + { + "id": "example:fundchannel_start#23", + "method": "fundchannel_start", + "params": { + "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db", + "amount": "100000sat", + "feerate": null, + "announce": true, + "close_to": null, + "mindepth": null, + "channel_type": null + } + } + ], + "example_json_response": [ + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qxc9kcn2kvd2xhdjj4rkyshkvsa9jgtfgj6lzfutmj6p9cxtka3mqzlqr9g", + "scriptpubkey": "0020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec76", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1q8utnpsnag7l9s5gpd0ng7jvwzdjnvt02tz8370jwr6xn3smgzr0scm0qlc", + "scriptpubkey": "00203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qkcm0qupxafjf2tkwtdmzp2fn0kdvyvsu094ynynqn9x3kdekvagq44g5t6", + "scriptpubkey": "0020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b37366750", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup", + "scriptpubkey": "0020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s", + "scriptpubkey": "002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qs6vxtzspa7cqrcwvfhm23dhn4k6xr737v7fctld2usqt6uuedveq96t4jd", + "scriptpubkey": "00208698658a01efb001e1cc4df6a8b6f3adb461fa3e679385fdaae400bd73996b32", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm", + "scriptpubkey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup", + "scriptpubkey": "0020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s", + "scriptpubkey": "002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qqfuz9aj2smn67em2ruahnz5sxlx2qjc5etmw5lxes0zqrmvhjtps7d9ra5", + "scriptpubkey": "0020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qmxjat4dgx0dzqed3kzzedgvww4y94nn5zuegctv9t6rfxh8c0hes68mc90", + "scriptpubkey": "0020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qlz0xjvuvezvyw8kpfqrvhh9ek9n5kfp24mr35d5fqpj7m0tt4q5qk2dkt7", + "scriptpubkey": "0020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1q8qhvpcezere4w23cgqfa7gfdyapdttd2hl0e59vkfq9pzsqr9pvsw358ad", + "scriptpubkey": "0020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a1140032859", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qr04a4yyd8vv7ffe72um0dg3mrk6essa09ctmh543nj5amv8jvg3s44cn70", + "scriptpubkey": "00201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f26223", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qad0tre46xxhkyztv7ec479ur4q8cvvwp6py8yjrhq0uvwhhcjqsqtff0fy", + "scriptpubkey": "0020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef89020", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qnumzyg5fsjez8ff7jcsnzjtdfzvluurr4s90u8lxpnvkeqkhde2qrdu7dv", + "scriptpubkey": "00209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e54", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qfjwl4zp5w7kql5fwh9m3cqed7lksjng3vl7hw2ux63jewl3fk7vqjk67ad", + "scriptpubkey": "00204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b798", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + }, + { + "funding_address": "bcrt1qjfgh5fdcf5eeu0dyhhxjpcszryaxrcdfmgqj7xjs7nfthfq8hrmqzjxure", + "scriptpubkey": "002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f6", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "warning_usage": "The funding transaction MUST NOT be broadcast until after channel establishment has been successfully completed by running `fundchannel_complete`" + } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-fundchannel(7)", + "lightning-multifundchannel(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel_cancel(7)", + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_bump(7)", + "lightning-openchannel_abort(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-funderupdate.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "funderupdate", + "title": "Command for adjusting node funding v2 channels", + "description": [ + "NOTE: Must have --experimental-dual-fund enabled for these settings to take effect.", + "", + "For channel open requests using dual funding.", + "", + "Note: to maximize channel leases, best policy setting is (match, 100).", + "", + "Setting any of the 5 options from *lease_fee_base_msat*, *lease_fee_basis*, *funding_weight*, *channel_fee_max_base_msat* and, *channel_fee_max_proportional_thousandths* will activate channel leases for this node, and advertise these values via the lightning gossip network. If any one is set, the other values will be the default." + ], + "request": { + "required": [], + "properties": { + "policy": { + "type": "string", + "enum": [ + "match", + "available", + "fixed" + ], + "description": [ + "Funder plugin will use to decide how much capital to commit to a v2 open channel request.", + "There are three policy options, detailed below:", + " * `match` -- Contribute *policy_mod* percent of their requested funds. Valid *policy_mod* values are 0 to 200. If this is a channel lease request, we match based on their requested funds. If it is not a channel lease request (and *lease_only* is false), then we match their funding amount. Note: any lease match less than 100 will likely fail, as clients will not accept a lease less than their request.", + " * `available` -- Contribute *policy_mod* percent of our available node wallet funds. Valid *policy_mod* values are 0 to 100.", + " * `fixed` -- Contributes a fixed *policy_mod* sats to v2 channel open requests." + ], + "default": "fixed" + }, + "policy_mod": { + "type": "sat", + "description": [ + "Number or 'modification' to apply to the policy." + ], + "default": "0sats" + }, + "leases_only": { + "type": "boolean", + "description": [ + "Only contribute funds to `option_will_fund` requests which pay to lease funds. It will fund any v2 open request using *policy* even if it's they're not seeking to lease funds. Note that `option_will_fund` commits funds for 4032 blocks (~1mo). Must also set *lease_fee_base_msat*, *lease_fee_basis*, *funding_weight*, *channel_fee_max_base_msat*, and *channel_fee_max_proportional_thousandths* to advertise available channel leases." + ], + "default": "False" + }, + "min_their_funding_msat": { + "type": "msat", + "description": [ + "Minimum funding sats that we require in order to activate our contribution policy to the v2 open." + ], + "default": "10k sats" + }, + "max_their_funding_msat": { + "type": "msat", + "description": [ + "Maximum funding sats that we will consider to activate our contribution policy to the v2 open. Any channel open above this will not be funded." + ], + "default": "no max (`UINT_MAX`)" + }, + "per_channel_min_msat": { + "type": "msat", + "description": [ + "Minimum amount that we will contribute to a channel open." + ], + "default": "10k sats" + }, + "per_channel_max_msat": { + "type": "msat", + "description": [ + "Maximum amount that we will contribute to a channel open." + ], + "default": "no max (`UINT_MAX`)" + }, + "reserve_tank_msat": { + "type": "msat", + "description": [ + "Amount of sats to leave available in the node wallet." + ], + "default": "zero sats" + }, + "fuzz_percent": { + "type": "u32", + "description": [ + "A percentage to fuzz the resulting contribution amount by. Valid values are 0 to 100. Note that turning this on with (match, 100) policy will randomly fail `option_will_fund` leases, as most clients expect an exact or greater match of their `requested_funds`." + ], + "default": "0% (no fuzz)" + }, + "fund_probability": { + "type": "u32", + "description": [ + "The percent of v2 channel open requests to apply our policy to. Valid values are integers from 0 (fund 0% of all open requests) to 100 (fund every request). Useful for randomizing opens that receive funds. Useful for randomizing opens that receive funds." + ], + "default": "100" + }, + "lease_fee_base_msat": { + "type": "msat", + "description": [ + "Flat fee for a channel lease. Node will receive this much extra added to their channel balance, paid by the opening node. Note that the minimum is 1sat." + ], + "default": "2k sats" + }, + "lease_fee_basis": { + "type": "u32", + "description": [ + "A basis fee that's calculated as 1/10k of the total requested funds the peer is asking for. Node will receive the total of *lease_fee_basis* times requested funds / 10k satoshis added to their channel balance, paid by the opening node." + ], + "default": "0.65% (65 basis points)" + }, + "funding_weight": { + "type": "u32", + "description": [ + "To calculate the fee the peer will compensate your node for its contributing inputs to the funding transaction. The total fee is calculated as the `open_channel2`.`funding_feerate_perkw` times this *funding_weight* divided by 1000. Node will have this funding fee added to their channel balance, paid by the opening node." + ], + "default": "2 inputs + 1 P2WPKH output" + }, + "channel_fee_max_base_msat": { + "type": "msat", + "description": [ + "A commitment to a maximum `channel_fee_base_msat` that your node will charge for routing payments over this leased channel during the lease duration." + ], + "default": "5k sats" + }, + "channel_fee_max_proportional_thousandths": { + "type": "u32", + "description": [ + "A commitment to a maximum `channel_fee_proportional_millionths` that your node will charge for routing payments over this leased channel during the lease duration. Note that it's denominated in 'thousandths'. A setting of `1` is equal to 1k ppm; `5` is 5k ppm, etc." + ], + "default": "100 (100k ppm)" + }, + "compact_lease": { + "type": "hex", + "description": [ + "A compact description of the channel lease params. When opening a channel, passed in to `fundchannel` to indicate the terms we expect from the peer." + ] + } + } + }, + "response": { + "required": [ + "summary", + "policy", + "policy_mod", + "leases_only", + "min_their_funding_msat", + "max_their_funding_msat", + "per_channel_min_msat", + "per_channel_max_msat", + "reserve_tank_msat", + "fuzz_percent", + "fund_probability" + ], + "properties": { + "summary": { + "type": "string", + "description": [ + "Summary of the current funding policy e.g. (match 100)." + ] + }, + "policy": { + "type": "string", + "enum": [ + "match", + "available", + "fixed" + ], + "description": [ + "Policy funder plugin will use to decide how much capital to commit to a v2 open channel request." + ] + }, + "policy_mod": { + "type": "u32", + "description": [ + "The *policy_mod* is the number or 'modification' to apply to the policy." + ] + }, + "leases_only": { + "type": "boolean", + "description": [ + "Only contribute funds to `option_will_fund` lease requests." + ] + }, + "min_their_funding_msat": { + "type": "msat", + "description": [ + "The minimum funding sats that we require from peer to activate our funding policy." + ] + }, + "max_their_funding_msat": { + "type": "msat", + "description": [ + "The maximum funding sats that we'll allow from peer to activate our funding policy." + ] + }, + "per_channel_min_msat": { + "type": "msat", + "description": [ + "The minimum amount that we will fund a channel open with." + ] + }, + "per_channel_max_msat": { + "type": "msat", + "description": [ + "The maximum amount that we will fund a channel open with." + ] + }, + "reserve_tank_msat": { + "type": "msat", + "description": [ + "Amount of sats to leave available in the node wallet." + ] + }, + "fuzz_percent": { + "type": "u32", + "description": [ + "Percentage to fuzz our funding amount by." + ] + }, + "fund_probability": { + "type": "u32", + "description": [ + "Percent of opens to consider funding. 100 means we'll consider funding every requested open channel request." + ] + }, + "lease_fee_base_msat": { + "type": "msat", + "description": [ + "Flat fee to charge for a channel lease." + ] + }, + "lease_fee_basis": { + "type": "u32", + "description": [ + "Proportional fee to charge for a channel lease, calculated as 1/10,000th of requested funds." + ] + }, + "funding_weight": { + "type": "u32", + "description": [ + "Transaction weight the channel opener will pay us for a leased funding transaction." + ] + }, + "channel_fee_max_base_msat": { + "type": "msat", + "description": [ + "Maximum channel_fee_base_msat we'll charge for routing funds leased on this channel." + ] + }, + "channel_fee_max_proportional_thousandths": { + "type": "u32", + "description": [ + "Maximum channel_fee_proportional_millitionths we'll charge for routing funds leased on this channel, in thousandths." + ] + }, + "compact_lease": { + "type": "hex", + "description": [ + "Compact description of the channel lease parameters." + ] + } + } + }, + "errors": [ + "The following error code may occur:", + "", + "- -32602: If the given parameters are invalid." + ], + "example_json_request": [ + { + "id": "example:funderupdate#1", + "method": "funderupdate", + "params": "{}" + }, + { + "id": "example:funderupdate#2", + "method": "funderupdate", + "params": { + "policy": "available", + "policy_mod": 100, + "min_their_funding_msat": 1000, + "per_channel_min_msat": 1000000, + "fund_probability": 100, + "fuzz_percent": 0, + "leases_only": false + } + }, + { + "id": "example:funderupdate#3", + "method": "funderupdate", + "params": { + "policy": "fixed", + "policy_mod": "50000sat", + "min_their_funding_msat": 1000, + "per_channel_min_msat": "1000sat", + "per_channel_max_msat": "500000sat", + "fund_probability": 100, + "fuzz_percent": 0, + "leases_only": false + } + }, + { + "id": "example:funderupdate#4", + "method": "funderupdate", + "params": "{}" + } + ], + "example_json_response": [ + { + "summary": "match (100%)", + "policy": "match", + "policy_mod": 100, + "leases_only": true, + "min_their_funding_msat": 10000000, + "max_their_funding_msat": 4294967295000, + "per_channel_min_msat": 10000000, + "per_channel_max_msat": 4294967295000, + "reserve_tank_msat": 0, + "fuzz_percent": 0, + "fund_probability": 100, + "lease_fee_base_msat": 100000, + "lease_fee_basis": 100, + "funding_weight": 666, + "channel_fee_max_base_msat": 5000000, + "channel_fee_max_proportional_thousandths": 100, + "compact_lease": "029a00640064000000644c4b40" + }, + { + "summary": "available (100%)", + "policy": "available", + "policy_mod": 100, + "leases_only": false, + "min_their_funding_msat": 1000, + "max_their_funding_msat": 4294967295000, + "per_channel_min_msat": 1000000, + "per_channel_max_msat": 4294967295000, + "reserve_tank_msat": 0, + "fuzz_percent": 0, + "fund_probability": 100 + }, + { + "summary": "fixed (50000sat)", + "policy": "fixed", + "policy_mod": 50000, + "leases_only": false, + "min_their_funding_msat": 1000, + "max_their_funding_msat": 4294967295000, + "per_channel_min_msat": 1000000, + "per_channel_max_msat": 500000000, + "reserve_tank_msat": 0, + "fuzz_percent": 0, + "fund_probability": 100 + }, + { + "summary": "match (100%)", + "policy": "match", + "policy_mod": 100, + "leases_only": true, + "min_their_funding_msat": 10000000, + "max_their_funding_msat": 4294967295000, + "per_channel_min_msat": 10000000, + "per_channel_max_msat": 4294967295000, + "reserve_tank_msat": 0, + "fuzz_percent": 0, + "fund_probability": 100, + "lease_fee_base_msat": 100000, + "lease_fee_basis": 100, + "funding_weight": 666, + "channel_fee_max_base_msat": 5000000, + "channel_fee_max_proportional_thousandths": 100, + "compact_lease": "029a00640064000000644c4b40" + } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-fundchannel(7)", + "lightning-listfunds(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-fundpsbt.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "fundpsbt", + "title": "Command to populate PSBT inputs from the wallet", + "description": [ + "`fundpsbt` is a low-level RPC command which creates a PSBT using unreserved inputs in the wallet, optionally reserving them as well." + ], + "request": { + "required": [ + "satoshi", + "feerate", + "startweight" + ], + "properties": { + "satoshi": { + "type": "msat_or_all", + "description": [ + "The minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ] + }, + "feerate": { + "type": "feerate", + "description": [ + "Used for the transaction as initial feerate." + ], + "default": "*normal*" + }, + "startweight": { + "type": "u32", + "description": [ + "The weight of the transaction before *fundpsbt* has added any inputs." + ] + }, + "minconf": { + "type": "u32", + "description": [ + "The minimum number of confirmations that used outputs should have." + ], + "default": "1" + }, + "reserve": { + "type": "u32", + "description": [ + "If not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks." + ], + "default": "72 blocks" + }, + "locktime": { + "type": "u32", + "description": [ + "The locktime of the transaction. if not set, it is set to a recent block height." + ] + }, + "min_witness_weight": { + "type": "u32", + "description": [ + "Minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used." + ] + }, + "excess_as_change": { + "type": "boolean", + "description": [ + "Flag to add a change output for the excess sats." + ] + }, + "nonwrapped": { + "added": "v23.02", + "type": "boolean", + "description": [ + "To signal to filter out any p2sh-wrapped inputs from funding this PSBT." + ] + }, + "opening_anchor_channel": { + "added": "v23.08", + "type": "boolean", + "description": [ + "To signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels." + ] + } + } + }, + "response": { + "required": [ + "psbt", + "feerate_per_kw", + "estimated_final_weight", + "excess_msat" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "Unsigned PSBT which fulfills the parameters given." + ] + }, + "feerate_per_kw": { + "type": "u32", + "description": [ + "The feerate used to create the PSBT, in satoshis-per-kiloweight." + ] + }, + "estimated_final_weight": { + "type": "u32", + "description": [ + "The estimated weight of the transaction once fully signed." + ] + }, + "excess_msat": { + "type": "msat", + "description": [ + "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned." + ] + }, + "change_outnum": { + "type": "u32", + "description": [ + "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)." + ] + }, + "reservations": { + "type": "array", + "description": [ + "If *reserve* was true or a non-zero number, just as per lightning- reserveinputs(7)." + ], + "items": { + "type": "object", + "required": [ + "txid", + "vout", + "was_reserved", + "reserved", + "reserved_to_block" + ], + "additionalProperties": false, + "properties": { + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction." + ] + }, + "vout": { + "type": "u32", + "description": [ + "The 0-based output number." + ] + }, + "was_reserved": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether this output was previously reserved." + ] + }, + "reserved": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether this output is now reserved." + ] + }, + "reserved_to_block": { + "type": "u32", + "description": [ + "The blockheight the reservation will expire." + ] + } + } + } + } + }, + "post_return_value_notes": [ + "If *excess_as_change* is true and the excess is enough to cover an additional output above the `dust_limit`, then an output is added to the PSBT for the excess amount. The *excess_msat* will be zero. A *change_outnum* will be returned with the index of the change output." + ] + }, + "example_usage": [ + "Let's assume the caller is trying to produce a 100,000 satoshi output.", + "", + "First, the caller estimates the weight of the core (typically 42) and known outputs of the transaction (typically (9 + scriptlen) * 4). For a simple P2WPKH it's a 22 byte scriptpubkey, so that's 124 weight.", + "", + "It calls \"*fundpsbt* 100000sat slow 166\", which succeeds, and returns the *psbt* and *feerate_per_kw* it used, the *estimated_final_weight* and any *excess_msat*.", + "", + "If *excess_msat* is greater than the cost of adding a change output, the caller adds a change output randomly to position 0 or 1 in the PSBT. Say *feerate_per_kw* is 253, and the change output is a P2WPKH (weight 124), the cost is around 31 sats. With the dust limit disallowing payments below 546 satoshis, we would only create a change output if *excess_msat* was greater or equal to 31 + 546." + ], + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 301: Insufficient UTXOs to meet *satoshi* value." + ], + "example_json_request": [ + { + "id": "example:fundpsbt#1", + "method": "fundpsbt", + "params": { + "satoshi": 16777216, + "feerate": "253perkw", + "startweight": 250, + "minconf": null, + "reserve": 0, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#2", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#3", + "method": "fundpsbt", + "params": { + "satoshi": "all", + "feerate": "1000perkw", + "startweight": 1000, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#4", + "method": "fundpsbt", + "params": { + "satoshi": "all", + "feerate": "1000perkw", + "startweight": 1000, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#5", + "method": "fundpsbt", + "params": { + "satoshi": 16777216, + "feerate": "253perkw", + "startweight": 250, + "minconf": null, + "reserve": 0, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#6", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#7", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#8", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#9", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#10", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#11", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#12", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#13", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#14", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#15", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#16", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#17", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#18", + "method": "fundpsbt", + "params": { + "satoshi": "109000sat", + "feerate": "slow", + "startweight": 166, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#19", + "method": "fundpsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "minconf": null, + "reserve": 0, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#20", + "method": "fundpsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 99, + "minconf": null, + "reserve": 0, + "locktime": 103, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#21", + "method": "fundpsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "minconf": null, + "reserve": 0, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:fundpsbt#22", + "method": "fundpsbt", + "params": { + "satoshi": 1000000, + "feerate": "7500perkw", + "startweight": 0, + "minconf": null, + "reserve": 0, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:fundpsbt#23", + "method": "fundpsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "minconf": null, + "reserve": null, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + } + ], + "example_json_response": [ + { + "psbt": "cHNidP8BADMCAAAAAWzmSFzhTtXBnQewytc32WaMwJSunScwsYndBNdU80JqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAU1MpIJeOOzqAYVkZaytJCmzUadBVltKar8kWtzKSVeYAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFD8W5uBNZAxN6n1jqU62dxWQbyGAAkcwRAIgUK+vMOeWiDPiJM8fpgKCjjwXog4yfWPvtKES1ZZPaM8CIB3cgouGpV6Gc7nEvAu28Mg9tkAWt/Xl5FDOseEyeZqHASECTwjR0I3gLHdSW7jRmnVXdm0+MgJ1hihnqEfXYeFWA/NlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 253, + "estimated_final_weight": 521, + "excess_msat": 9999869000 + }, + { + "psbt": "cHNidP8BAF4CAAAAAVZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "dca40330e7b7b43397d5090e6568ae05e53690907ccc6d3da224a4351c727756", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAfwbEpvpi6D14YV4VLnuVB47Y0uF41kXEyJRL4IusySSAQAAAAD9////ASICAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5nAAAAAAEA9gIAAAAAAQFEkxvLatohY6mw5gr5qG1aiArSrziFPR2YoqD21Hv+RAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNrz8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIEu1nfVRt9i+rFM219mwhMqdwJsqygWSWTFUS+cemdh6AiBG3Qo8g9J/aAMO2RHDsIBScscj6pTTIwZp7Gw8G3EOKAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK68/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 1000, + "estimated_final_weight": 1443, + "excess_msat": 997354000, + "change_outnum": 0, + "reservations": [ + { + "txid": "9224b32e822f5122131759e3854b633b1e54eeb9547885e1f5a08be99b121bfc", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 175 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAeeGC4T0M81/RxCkjRCzZM2LRlaJueZ1Y+8ztVYopbC0AQAAAAD9////ASICAAAAAAAAIlEghdcgJeeP0Iu2ERnwmHqwBB9QVhrabhMMZFND24xEwq88AAAAAAEA9gIAAAAAAQFAVuhRRWvJV1VcDaCvDqfhVzP8bnKuuU9D2e9lHQo6DAEAAAAA/f///wJAQg8AAAAAACIAIIaYZYoB77AB4cxN9qi28620Yfo+Z5OF/arkAL1zmWsyAS8PAAAAAAAiUSCKFsAYlc6Q+3szvt4c6245DRPkU4NrM0E7XWxggDdhagJHMEQCICHjERpcoKOxXu+U49RiLjtHsz3D2A4m8LmmBzOY4iqrAiBJ85YVrO6Be3y1PROsow1+Ex0YWzRrqygbXx1LnIY/zgEhAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmZgAAAAEBKwEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoAAA==", + "feerate_per_kw": 1000, + "estimated_final_weight": 1443, + "excess_msat": 993084000, + "change_outnum": 0, + "reservations": [ + { + "txid": "b4b0a52856b533ef6375e6b98956468bcd64b3108da410477fcd33f4840b86e7", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BADMCAAAAAULcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAAAAAAD9////AGYAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 253, + "estimated_final_weight": 521, + "excess_msat": 9999869000 + }, + { + "psbt": "cHNidP8BAF4CAAAAAbEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "46786d1b31872cef6da1ceb8f222b3a4256fb5ac8c14b9c4c313fc9389e31fb1", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAARG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQAAAAD9////AU58DQAAAAAAIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM95AAAAAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "c1882f3ac6982a7d94ee585f490b877f76e452052226447b3da34c3e4297b811", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 193 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAeH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQAAAAD9////AU58DQAAAAAAIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X2GAAAAAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0AAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "ecf0b2a2e9a395a7ee9113ce5b165585037ab5ce8e49083b3482fa73f60cfae1", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 206 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAf/K9YsbCxoVAiDgMpE/MI3Dp3JAIYZ13i3GIgYwiM3nAQAAAAD9////AU58DQAAAAAAIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu36TAAAAAAEA9QIAAAAAAQGE6uaap2O3s6nD36OqwOYb5sPUAE0GymVeLQfSgwmEXQAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQJGMEMCIEismeiIrCJvJPzr3KG/7vcfFMMhbb6vx9YRLwz0rNUBAh9G71jfeCkk+mJXtes4Bm8CgZoTFPpCrSGgRGw7RtcDASECZhTrOMPPls113NzCmuu111rSIVaJ2kOaRGbZsa41WZ6NAAAAAQErAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQAA", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "e7cd88300622c62dde7586214072a7c38d303f9132e02002151a0b1b8bf5caff", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 219 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAaOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQAAAAD9////AU58DQAAAAAAIlEgEGf6wTvoGuGQnB1yXXQBbve/bt8bAzh9RhtJJfg26FWgAAAAAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBKwEvDwAAAAAAIlEg8Tk0Z8cXzVDeJ2AWfUMRFBqPdQyJ9U/SyQBgGn2oQ0wAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "3526be623463fefb4340b7b5ace1b9de2ad6686921709ec07fae8677a9a588a3", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 232 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAY6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQAAAAD9////AU58DQAAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreXAAAAAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBKwEvDwAAAAAAIlEgVcDvqqdKsxN3kvoAQphndXd9tNBcLIzxU0vPlIxmVcwAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "a0c46591f3f0f4c2f975ff9787de1cca6b04e1371bb3cfaa211f44561852968e", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 245 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAexljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "78bbc42f75acf68a1f0f37b7821ae10cad5ee929c263c62db487a85d428e65ec", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAdSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "b689aff3d20e8196446edcfabbb42d29f1bc468a4033fbfbb1a483d3721aaad4", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAS72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "5ec0677ea039f4ca9c2aa7170b03c8ace69b6077fda1a8c153a54be9bb31f62e", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAWcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "4be559acd0e517cb59a9b4cc4a7f6aed8d549e7ad49d0609deb3b23ed0702667", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAVjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5OAAAAAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "d020e467bb7a8b32f8be66808758fd532f1d1061311d2f70317369887203c258", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAdxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "2bfec44dd7ea3cfa11bc71f3793213b9335371eed583f4e67f6b814953dd69dc", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BAF4CAAAAAXjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": 3750, + "estimated_final_weight": 609, + "excess_msat": 0, + "change_outnum": 0, + "reservations": [ + { + "txid": "e08cb817e88a2fbcfcfdc23101ddf76b5015ab9092ebcb495e0067f74998e778", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 180 + } + ] + }, + { + "psbt": "cHNidP8BADMCAAAAAWAQ7eVtpYrBkXpl1ssm7XhuTzWJhdQhfiuIAoyOs++gAQAAAAD9////AGYAAAAAAQDeAgAAAAABASce8ZuEk+IFArgw4ey4v518hWDP+TUobuRZV592ELMSAAAAAAD9////Apkp2CkBAAAAFgAUvPbUzq3n/poSvhTWLXVvlM4wENtAQg8AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAkcwRAIgE7MAWQo9/WVWyZTO9hvIbKNBIcR+bI0ejrt+M879KEoCIFWOscP7g6dnWYjx+Z+gNw1dy2f6AStr+2/omyk0Nt8LASEDTm/MwptzU9PIxbKOBGl0dktQl1VIunlqpx49TvXDImNlAAAAAQEfQEIPAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUAA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 271, + "excess_msat": 497968000 + }, + { + "psbt": "cHNidP8BADMCAAAAASce8ZuEk+IFArgw4ey4v518hWDP+TUobuRZV592ELMSAQAAAAD9////AGcAAAAAAQDeAgAAAAABAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAAAAAAD9////AmZs5ykBAAAAFgAUi7TwcAXbUWywvDILswkKhW3CjHJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmAkcwRAIgK4gI8e973jI0KG1zOOHSQUzlto32C36FXbqJVh1F9PACIBfXG7kUoI6tSQ+UAGjfv2+VWiCdHP2vDlKoygpHr0SLASECK8uuhf/A94wy++W7cvHcreFKVoRaBHn25VLUkPjYjB1lAAAAAQEfQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 370, + "excess_msat": 497225000 + }, + { + "psbt": "cHNidP8BAF4CAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////ASaUBwAAAAAAIlEgbCfhlWrPph5oKSyAkIiA6BNFD3VBMuiirEcahr8TJrVmAAAAAAEA3gIAAAAAAQGt4jPmt9f6xsv5is7obkXC5Twc8t+nnfEWFIVmAajeLAAAAAAA/f///wIzr/YpAQAAABYAFB9tcS3qtkDI+QytiE4PFP+M70c7QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIA29pGA9HQPqdisONVDNESxMxow7b1KaYcvPb3ITJ6pDAiALWlOKXwAO5qEMG8dRR4MiT8GIVlukm/FGOh1ZZc8VfwEhA4O/9he0yADppXjdW5W3LA6fQTllivoWvi2p0LLQ850yZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "feerate_per_kw": 7500, + "estimated_final_weight": 443, + "excess_msat": 0, + "change_outnum": 0 + }, + { + "psbt": "cHNidP8BAFwCAAAAAlUuu3RGdKg4qZvX6kH0e6rBV0WHD88ycfjMe5ZyeekMAQAAAAD9////TaHBede4Dg7OjS3e00dGIuPkDzJUA5t9eIXo6FNE9WsBAAAAAP3///8AZgAAAAABAN4CAAAAAAEBYBDt5W2lisGRemXWyybteG5PNYmF1CF+K4gCjI6z76AAAAAAAP3///8CzObIKQEAAAAWABT9M4V0dc7kdjQfIUQxRYlNCDqbW0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgCRzBEAiAkl8nSuWmTL9w+D0ewPY5Q3pdeRP2J+qzE5pZxKIECSQIgQ5GY7CVThdvhEL3LpRER5RFpTi5SyALiEiLhe7qL4FIBIQNY1lyfd3ajcYml//NTNHAaJPalVoOZ8wkMVzTneZLST2UAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEA3gIAAAAAAQGt4jPmt9f6xsv5is7obkXC5Twc8t+nnfEWFIVmAajeLAAAAAAA/f///wIzr/YpAQAAABYAFB9tcS3qtkDI+QytiE4PFP+M70c7QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIA29pGA9HQPqdisONVDNESxMxow7b1KaYcvPb3ITJ6pDAiALWlOKXwAO5qEMG8dRR4MiT8GIVlukm/FGOh1ZZc8VfwEhA4O/9he0yADppXjdW5W3LA6fQTllivoWvi2p0LLQ850yZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUA", + "feerate_per_kw": 7500, + "estimated_final_weight": 542, + "excess_msat": 995935000 + }, + { + "psbt": "cHNidP8BADMCAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////AGYAAAAAAQDeAgAAAAABAa3iM+a31/rGy/mKzuhuRcLlPBzy36ed8RYUhWYBqN4sAAAAAAD9////AjOv9ikBAAAAFgAUH21xLeq2QMj5DK2ITg8U/4zvRztAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgDb2kYD0dA+p2Kw41UM0RLEzGjDtvUpphy89vchMnqkMCIAtaU4pfAA7moQwbx1FHgyJPwYhWW6Sb8UY6HVllzxV/ASEDg7/2F7TIAOmleN1blbcsDp9BOWWK+ha+LanQstDznTJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 271, + "excess_msat": 497968000, + "reservations": [ + { + "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-utxopsbt(7)", + "lightning-reserveinputs(7)", + "lightning-unreserveinputs(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-getinfo.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "getinfo", + "title": "Command to receive all information about the Core Lightning node.", + "description": [ + "The **getinfo** gives a summary of the current running node." + ], + "request": { + "required": [], + "properties": {} + }, + "response": { + "required": [ + "id", + "alias", + "color", + "num_peers", + "num_pending_channels", + "num_active_channels", + "num_inactive_channels", + "version", + "blockheight", + "network", + "fees_collected_msat", + "lightning-dir", + "address" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The public key unique to this node." + ] + }, + "alias": { + "type": "string", + "description": [ + "The fun alias this node will advertize." + ], + "maxLength": 32 + }, + "color": { + "type": "hex", + "description": [ + "The favorite RGB color this node will advertize." + ], + "minLength": 6, + "maxLength": 6 + }, + "num_peers": { + "type": "u32", + "description": [ + "The total count of peers, connected or with channels." + ] + }, + "num_pending_channels": { + "type": "u32", + "description": [ + "The total count of channels being opened." + ] + }, + "num_active_channels": { + "type": "u32", + "description": [ + "The total count of channels in normal state." + ] + }, + "num_inactive_channels": { + "type": "u32", + "description": [ + "The total count of channels waiting for opening or closing transactions to be mined." + ] + }, + "version": { + "type": "string", + "description": [ + "Identifies what bugs you are running into." + ] + }, + "lightning-dir": { + "type": "string", + "description": [ + "Identifies where you can find the configuration and other related files." + ] + }, + "our_features": { + "type": "object", + "description": [ + "Our BOLT #9 feature bits (as hexstring) for various contexts." + ], + "additionalProperties": true, + "required": [ + "init", + "node", + "channel", + "invoice" + ], + "properties": { + "init": { + "type": "hex", + "description": [ + "Features (incl. globalfeatures) in our init message, these also restrict what we offer in open_channel or accept in accept_channel." + ] + }, + "node": { + "type": "hex", + "description": [ + "Features in our node_announcement message." + ] + }, + "channel": { + "type": "hex", + "description": [ + "Negotiated channel features we (as channel initiator) publish in the channel_announcement message." + ] + }, + "invoice": { + "type": "hex", + "description": [ + "Features in our BOLT11 invoices." + ] + } + } + }, + "blockheight": { + "type": "u32", + "description": [ + "The highest block height we've learned." + ] + }, + "network": { + "type": "string", + "description": [ + "Represents the type of network on the node are working (e.g: `bitcoin`, `testnet`, or `regtest`)." + ] + }, + "fees_collected_msat": { + "type": "msat", + "description": [ + "Total routing fees collected by this node." + ] + }, + "address": { + "type": "array", + "description": [ + "The addresses we announce to the world." + ], + "items": { + "type": "object", + "required": [ + "type", + "port" + ], + "additionalProperties": true, + "properties": { + "type": { + "type": "string", + "enum": [ + "dns", + "ipv4", + "ipv6", + "torv2", + "torv3" + ], + "description": [ + "Type of connection (until 23.08, `websocket` was also allowed)." + ] + }, + "port": { + "type": "u16", + "description": [ + "Port number." + ] + } + }, + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "dns", + "ipv4", + "ipv6", + "torv2", + "torv3" + ] + } + } + }, + "then": { + "required": [ + "type", + "address", + "port" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "port": {}, + "address": { + "type": "string", + "description": [ + "Address in expected format for **type**." + ] + } + } + }, + "else": { + "required": [ + "type", + "port" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "port": {} + } + } + } + }, + "binding": { + "type": "array", + "description": [ + "The addresses we are listening on." + ], + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "local socket", + "websocket", + "ipv4", + "ipv6", + "torv2", + "torv3" + ], + "description": [ + "Type of connection." + ] + }, + "address": { + "type": "string", + "description": [ + "Address in expected format for **type**." + ] + }, + "port": { + "type": "u16", + "description": [ + "Port number." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { "type": "string", "enum": [ - "local", - "remote" - ], - "description": [ - "Who initiated the channel." + "local socket" ] - }, - "closer": { + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "type", + "socket" + ], + "properties": { + "type": {}, + "socket": { "type": "string", - "enum": [ - "local", - "remote" - ], - "description": [ - "Who initiated the channel close (only present if closing)." - ] - }, - "features": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "option_static_remotekey", - "option_anchor_outputs", - "option_anchors_zero_fee_htlc_tx", - "option_scid_alias", - "option_zeroconf" - ], - "description": [ - "BOLT #9 features which apply to this channel." - ] - } - }, - "funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "local_funds_msat", - "remote_funds_msat" - ], - "properties": { - "pushed_msat": { - "type": "msat", - "description": [ - "Amount pushed from opener to peer." - ] - }, - "local_funds_msat": { - "type": "msat", - "description": [ - "Amount of channel we funded." - ] - }, - "remote_funds_msat": { - "type": "msat", - "description": [ - "Amount of channel they funded." - ] - }, - "fee_paid_msat": { - "type": "msat", - "description": [ - "Amount we paid peer at open." - ] - }, - "fee_rcvd_msat": { - "type": "msat", - "description": [ - "Amount we were paid by peer at open." - ] - } - } - }, - "to_us_msat": { - "type": "msat", - "description": [ - "How much of channel is owed to us." - ] - }, - "min_to_us_msat": { - "type": "msat", - "description": [ - "Least amount owed to us ever. If the peer were to successfully 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." - ] - }, - "total_msat": { - "type": "msat", - "description": [ - "Total amount in the channel." - ] - }, - "fee_base_msat": { - "type": "msat", - "description": [ - "Amount we charge to use the channel." - ] - }, - "fee_proportional_millionths": { - "type": "u32", - "description": [ - "Amount we charge to use the channel in parts-per-million." - ] - }, - "dust_limit_msat": { - "type": "msat", - "description": [ - "Minimum amount for an output on the channel transactions." - ] - }, - "max_total_htlc_in_msat": { - "type": "msat", - "description": [ - "Max amount accept in a single payment." - ] - }, - "their_reserve_msat": { - "type": "msat", - "description": [ - "Minimum we insist they keep in channel. If they have less than this in the channel, they cannot send to us on that channel." - ], - "default": "1% of the total channel capacity" - }, - "our_reserve_msat": { - "type": "msat", - "description": [ - "Minimum they insist we keep in channel. If you have less than this in the channel, you cannot send out via this channel." - ] - }, - "spendable_msat": { - "type": "msat", - "description": [ - "An estimate of the total we could send through channel (can be wrong because adding HTLCs requires an increase in fees paid to onchain miners, and onchain fees change dynamically according to onchain activity)." - ] - }, - "receivable_msat": { - "type": "msat", - "description": [ - "An estimate of the total peer could send through channel." - ] - }, - "minimum_htlc_in_msat": { - "type": "msat", - "description": [ - "The minimum amount HTLC we accept." - ] - }, - "minimum_htlc_out_msat": { - "type": "msat", - "description": [ - "The minimum amount HTLC we will send." - ] - }, - "maximum_htlc_out_msat": { - "type": "msat", - "description": [ - "The maximum amount HTLC we will send." - ] - }, - "their_to_self_delay": { - "type": "u32", - "description": [ - "The number of blocks before they can take their funds if they unilateral close." - ] - }, - "our_to_self_delay": { - "type": "u32", - "description": [ - "The number of blocks before we can take our funds if we unilateral close." - ] - }, - "max_accepted_htlcs": { - "type": "u32", - "description": [ - "Maximum number of incoming HTLC we will accept at once." - ] - }, - "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." - ] - } - } - }, - "state_changes": { - "type": "array", - "description": [ - "Prior state changes." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "timestamp", - "old_state", - "new_state", - "cause", - "message" - ], - "properties": { - "timestamp": { - "type": "string", - "description": [ - "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ." - ] - }, - "old_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE", - "CLOSED" - ], - "description": [ - "Previous state." - ] - }, - "new_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE", - "CLOSED" - ], - "description": [ - "New state." - ] - }, - "cause": { - "type": "string", - "enum": [ - "unknown", - "local", - "user", - "remote", - "protocol", - "onchain" - ], - "description": [ - "What caused the change." - ] - }, - "message": { - "type": "string", - "description": [ - "Human-readable explanation." - ] - } - } - } - }, - "status": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Billboard log of significant changes." - ] - } - }, - "in_payments_offered": { - "type": "u64", - "description": [ - "Number of incoming payment attempts." - ] - }, - "in_offered_msat": { - "type": "msat", "description": [ - "Total amount of incoming payment attempts." + "Socket filename." ] - }, - "in_payments_fulfilled": { - "type": "u64", - "description": [ - "Number of successful incoming payment attempts." + } + } + }, + "else": { + "additionalProperties": false, + "required": [ + "type", + "address", + "port" + ], + "properties": { + "type": {}, + "address": {}, + "port": {}, + "subtype": {} + } + } + }, + { + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "websocket" ] - }, - "in_fulfilled_msat": { - "type": "msat", + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "type", + "address", + "port", + "subtype" + ], + "properties": { + "type": {}, + "address": {}, + "port": {}, + "subtype": { + "type": "string", "description": [ - "Total amount of successful incoming payment attempts." + "Type of address." ] - }, - "out_payments_offered": { - "type": "u64", - "description": [ - "Number of outgoing payment attempts." + } + } + }, + "else": { + "additionalProperties": false, + "required": [ + "type" + ], + "properties": { + "type": {}, + "address": {}, + "port": {}, + "socket": {} + } + } + } + ] + } + }, + "warning_bitcoind_sync": { + "type": "string", + "description": [ + "Bitcoind is not up-to-date with network." + ] + }, + "warning_lightningd_sync": { + "type": "string", + "description": [ + "Lightningd is still loading latest blocks from bitcoind." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:getinfo#1", + "method": "getinfo", + "params": {} + }, + { + "id": "example:getinfo#2", + "method": "getinfo", + "params": "{}" + }, + { + "id": "example:getinfo#3", + "method": "getinfo", + "params": "{}" + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters or some error happened during the command process." + ], + "example_json_response": [ + { + "id": "02bf811f7571754f0b51e6d41a8885f5561041a7b14fac093e4cffb95749de1a8d", + "alias": "SLICKERGOPHER", + "color": "02bf81", + "num_peers": 0, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [ + { + "type": "torv3", + "address": "fp463inc4w3lamhhduytrwdwq6q6uzugtaeapylqfc43agrdnnqsheyd.onion", + "port": 9736 + }, + { + "type": "torv3", + "address": "ifnntp5ak4homxrti2fp6ckyllaqcike447ilqfrgdw64ayrmkyashid.onion", + "port": 9736 + } + ], + "binding": [ + { + "type": "ipv4", + "address": "127.0.0.1", + "port": 9736 + } + ], + "version": "v0.10.2", + "blockheight": 724302, + "network": "bitcoin", + "msatoshi_fees_collected": 0, + "fees_collected_msat": "0msat", + "lightning-dir": "/media/vincent/Maxtor/C-lightning/node/bitcoin", + "our_features": { + "init": "8828226aa2", + "node": "80008828226aa2", + "channel": "", + "invoice": "20024200" + } + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-102-g8dbea74-modded", + "color": "022d22", + "num_peers": 0, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ + { + "type": "ipv4", + "address": "127.0.0.1", + "port": 35443 + } + ], + "version": "v23.11-102-g8dbea74-modded", + "blockheight": 101, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-xswexi6d/test_closing_simple_1/lightning-2/regtest", + "our_features": { + "init": "08a0000a0a69a2", + "node": "88a0000a0a69a2", + "channel": "", + "invoice": "02000002024100" + } + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-1-102-g8dbea74-modded", + "color": "0266e4", + "num_peers": 0, + "num_pending_channels": 0, + "num_active_channels": 0, + "num_inactive_channels": 0, + "address": [], + "binding": [ + { + "type": "ipv4", + "address": "127.0.0.1", + "port": 40543 + } + ], + "version": "v23.11-102-g8dbea74-modded", + "blockheight": 100, + "network": "regtest", + "fees_collected_msat": 0, + "lightning-dir": "/tmp/ltests-g74s257p/test_closing_while_disconnected_1/lightning-1/regtest", + "warning_lightningd_sync": "Still loading latest blocks from bitcoind.", + "our_features": { + "init": "08a0000a0a69a2", + "node": "88a0000a0a69a2", + "channel": "", + "invoice": "02000002024100" + } + } + ], + "author": [ + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-fundchannel(7)", + "lightning-listconfigs(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-getlog.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "getlog", + "title": "Command to show logs.", + "description": [ + "The **getlog** the RPC command to show logs, with optional log *level*." + ], + "request": { + "required": [], + "properties": { + "level": { + "type": "string", + "enum": [ + "broken", + "unusual", + "info", + "debug", + "io" + ], + "description": [ + "A string that represents the log level." + ], + "default": "*info*" + } + } + }, + "response": { + "required": [ + "created_at", + "bytes_used", + "bytes_max", + "log" + ], + "properties": { + "created_at": { + "type": "string", + "description": [ + "UNIX timestamp with 9 decimal places, when logging was initialized." + ] + }, + "bytes_used": { + "type": "u32", + "description": [ + "The number of bytes used by logging records." + ] + }, + "bytes_max": { + "type": "u32", + "description": [ + "The bytes_used values at which records will be trimmed ." + ] + }, + "log": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "type": "string", + "enum": [ + "SKIPPED", + "BROKEN", + "UNUSUAL", + "INFO", + "DEBUG", + "IO_IN", + "IO_OUT" + ] + } + }, + "allOf": [ + { + "if": { + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "SKIPPED" ] - }, - "out_offered_msat": { - "type": "msat", + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "num_skipped" + ], + "properties": { + "type": {}, + "num_skipped": { + "type": "u32", "description": [ - "Total amount of outgoing payment attempts." + "Number of unprinted log entries (deleted or below *level* parameter)." ] - }, - "out_payments_fulfilled": { - "type": "u64", - "description": [ - "Number of successful outgoing payment attempts." + } + } + } + }, + { + "if": { + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "BROKEN", + "UNUSUAL", + "INFO", + "DEBUG" ] - }, - "out_fulfilled_msat": { - "type": "msat", + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "time", + "source", + "log" + ], + "properties": { + "type": {}, + "time": { + "type": "string", "description": [ - "Total amount of successful outgoing payment attempts." + "UNIX timestamp with 9 decimal places after **created_at**." ] }, - "last_stable_connection": { - "type": "u64", - "added": "v24.02", + "source": { + "type": "string", "description": [ - "Last time we reestablished the open channel and stayed connected for 1 minute." + "The particular logbook this was found in." + ] + }, + "log": { + "type": "string", + "description": [ + "The actual log message." + ] + }, + "node_id": { + "type": "pubkey", + "description": [ + "The peer this is associated with." ] - }, - "htlcs": { - "type": "array", - "description": [ - "Current HTLCs in this channel." - ], - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "direction", - "id", - "amount_msat", - "expiry", - "payment_hash", - "state" - ], - "properties": { - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": [ - "Whether it came from peer, or is going to peer." - ] - }, - "id": { - "type": "u64", - "description": [ - "Unique ID for this htlc on this channel in this direction." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount send/received for this HTLC." - ] - }, - "expiry": { - "type": "u32", - "description": [ - "Block this HTLC expires at (after which an `in` direction HTLC will be returned to the peer, an `out` returned to us). If this expiry is too close, lightningd(8) will automatically unilaterally close the channel in order to enforce the timeout onchain." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the payment_preimage which will prove payment." - ] - }, - "local_trimmed": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "If this is too small to enforce onchain; it doesn't appear in the commitment transaction and will not be enforced in a unilateral close. Generally true if the HTLC (after subtracting onchain fees) is below the `dust_limit_msat` for the channel." - ] - }, - "status": { - "type": "string", - "description": [ - "Set if this HTLC is currently waiting on a hook (and shows what plugin)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "direction": { - "enum": [ - "out" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION" - ], - "description": [ - "Status of the HTLC." - ] - } - } - } - }, - { - "if": { - "properties": { - "direction": { - "enum": [ - "in" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": [ - "Status of the HTLC." - ] - } - } - } - } - ] - } } - }, - "allOf": [ - { - "if": { - "properties": { - "peer_connected": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "properties": { - "reestablished": { - "type": "boolean", - "description": [ - "True if we have successfully exchanged reestablish messages this connection." - ] - } - } - } + } + } + }, + { + "if": { + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "IO_IN", + "IO_OUT" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "time", + "source", + "log", + "data" + ], + "properties": { + "type": {}, + "time": { + "type": "string", + "description": [ + "Seconds after **created_at**, with 9 decimal places." + ] }, - { - "if": { - "required": [ - "close_to" - ] - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "alias": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "inflight": {}, - "last_tx_fee_msat": {}, - "direction": {}, - "close_to_addr": { - "type": "string", - "description": [ - "The bitcoin address we will close to (present if close_to_addr is a standardized address)." - ] - } - } - } + "source": { + "type": "string", + "description": [ + "The particular logbook this was found in." + ] }, - { - "if": { - "required": [ - "scratch_txid" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "last_tx_fee_msat" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "alias": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": { - "type": "msat", - "description": [ - "Fee attached to this the current tx." - ] - } - } - } + "log": { + "type": "string", + "description": [ + "The associated log message." + ] }, - { - "if": { - "required": [ - "short_channel_id" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "direction" - ], - "properties": { - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "last_tx_fee_msat": {}, - "direction": { - "type": "u32", - "description": [ - "0 if we're the lesser node_id, 1 if we're the greater (as used in BOLT #7 channel_update)." - ] - } - } - } + "node_id": { + "type": "pubkey", + "description": [ + "The peer this is associated with." + ] }, - { - "if": { - "required": [ - "inflight" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "initial_feerate", - "last_feerate", - "next_feerate" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "owner": {}, - "alias": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "inflight": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": {}, - "initial_feerate": { - "type": "string", - "description": [ - "The feerate for the initial funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "last_feerate": { - "type": "string", - "description": [ - "The feerate for the latest funding transaction in per-1000-weight, with `kpw` appended." - ] - }, - "next_feerate": { - "type": "string", - "description": [ - "The minimum feerate for the next funding transaction in per-1000-weight, with `kpw` appended." - ] - } - } - } + "data": { + "type": "hex", + "description": [ + "The IO which occurred." + ] } - ] + } } } - }, - "allOf": [ - { - "if": { - "additionalProperties": true, - "properties": { - "connected": { - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "netaddr", - "features" - ], - "properties": { - "id": {}, - "channels": {}, - "connected": {}, - "num_channels": {}, - "htlcs": {}, - "log": {}, - "netaddr": { - "type": "array", - "minItems": 1, - "maxItems": 1, - "description": [ - "A single entry array." - ], - "items": { - "type": "string", - "description": [ - "Address, e.g. 1.2.3.4:1234." - ] - } - }, - "remote_addr": { - "type": "string", - "description": [ - "The public IPv4/6 address the peer sees us from, e.g. 1.2.3.4:1234." - ] - }, - "features": { - "type": "hex", - "description": [ - "Bitmap of BOLT #9 features from peer's INIT message." - ] - } - } - } + ] + } + } + } + }, + "example_json_request": [ + { + "id": "example:getlog#1", + "method": "getlog", + "params": { + "level": "debug" + } + }, + { + "id": "example:getlog#2", + "method": "getlog", + "params": { + "level": null + } + }, + { + "id": "example:getlog#3", + "method": "getlog", + "params": { + "level": "io" + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "example_json_response": [ + { + "created_at": "1598192543.820753463", + "bytes_used": 89285843, + "bytes_max": 104857600, + "log": [ + { + "type": "SKIPPED", + "num_skipped": 45 + }, + { + "type": "INFO", + "time": "0.453627568", + "source": "plugin-autopilot.py", + "log": "RPCmethod'autopilot-run-once'doesnothaveadocstring." + } + ] + }, + { + "created_at": "1708645658.185707566", + "bytes_used": 94241, + "bytes_max": 10485760, + "log": [ + { + "type": "INFO", + "time": "0.012095322", + "source": "lightningd", + "log": "v23.11-415-gd120eba" + }, + { + "type": "SKIPPED", + "num_skipped": 157 + }, + { + "type": "INFO", + "time": "0.678302604", + "source": "lightningd", + "log": "Creating database" + }, + { + "type": "SKIPPED", + "num_skipped": 10 + }, + { + "type": "INFO", + "time": "0.779010903", + "source": "plugin-bcli", + "log": "bitcoin-cli initialized and connected to bitcoind." + }, + { + "type": "SKIPPED", + "num_skipped": 199 + }, + { + "type": "INFO", + "time": "0.819915614", + "source": "plugin-bookkeeper", + "log": "Creating database" + }, + { + "type": "SKIPPED", + "num_skipped": 11 + }, + { + "type": "INFO", + "time": "0.820783154", + "source": "plugin-chanbackup", + "log": "Creating Emergency Recovery" + }, + { + "type": "SKIPPED", + "num_skipped": 5 + }, + { + "type": "INFO", + "time": "0.821438119", + "source": "lightningd", + "log": "--------------------------------------------------" + }, + { + "type": "INFO", + "time": "0.821461362", + "source": "lightningd", + "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" + }, + { + "type": "SKIPPED", + "num_skipped": 8 + }, + { + "type": "INFO", + "time": "0.837714852", + "source": "plugin-bookkeeper", + "log": "account wallet not found, adding" + }, + { + "type": "SKIPPED", + "num_skipped": 17 + } + ] + }, + { + "created_at": "1708645658.185707566", + "bytes_used": 96465, + "bytes_max": 10485760, + "log": [ + { + "type": "INFO", + "time": "0.012095322", + "source": "lightningd", + "log": "v23.11-415-gd120eba" + }, + { + "type": "DEBUG", + "time": "0.184708021", + "source": "lightningd", + "log": "Opened log file -" + }, + { + "type": "DEBUG", + "time": "0.184726903", + "source": "lightningd", + "log": "Opened log file /tmp/ltests-q4vf8c7b/test_getlog_1/lightning-1/log" + }, + { + "type": "DEBUG", + "time": "0.195336232", + "source": "plugin-manager", + "log": "started(2851064) /home/shahana/workspace/lightning/plugins/autoclean" + }, + { + "type": "IO_OUT", + "time": "0.195449022", + "source": "plugin-autoclean", + "log": "0", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.203960736", + "source": "plugin-manager", + "log": "started(2851065) /home/shahana/workspace/lightning/plugins/chanbackup" + }, + { + "type": "IO_OUT", + "time": "0.204067631", + "source": "plugin-chanbackup", + "log": "1", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.212390007", + "source": "plugin-manager", + "log": "started(2851066) /home/shahana/workspace/lightning/plugins/bcli" + }, + { + "type": "IO_OUT", + "time": "0.212498307", + "source": "plugin-bcli", + "log": "2", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.220900659", + "source": "plugin-manager", + "log": "started(2851067) /home/shahana/workspace/lightning/plugins/commando" + }, + { + "type": "IO_OUT", + "time": "0.221014666", + "source": "plugin-commando", + "log": "3", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.229779872", + "source": "plugin-manager", + "log": "started(2851068) /home/shahana/workspace/lightning/plugins/fetchinvoice" + }, + { + "type": "IO_OUT", + "time": "0.229893615", + "source": "plugin-fetchinvoice", + "log": "4", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.238642848", + "source": "plugin-manager", + "log": "started(2851070) /home/shahana/workspace/lightning/plugins/funder" + }, + { + "type": "IO_OUT", + "time": "0.238789108", + "source": "plugin-funder", + "log": "5", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.247287286", + "source": "plugin-manager", + "log": "started(2851071) /home/shahana/workspace/lightning/plugins/topology" + }, + { + "type": "IO_OUT", + "time": "0.247392518", + "source": "plugin-topology", + "log": "6", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.255730759", + "source": "plugin-manager", + "log": "started(2851072) /home/shahana/workspace/lightning/plugins/keysend" + }, + { + "type": "IO_OUT", + "time": "0.255845061", + "source": "plugin-keysend", + "log": "7", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.264311177", + "source": "plugin-manager", + "log": "started(2851073) /home/shahana/workspace/lightning/plugins/offers" + }, + { + "type": "IO_OUT", + "time": "0.264417419", + "source": "plugin-offers", + "log": "8", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.272766795", + "source": "plugin-manager", + "log": "started(2851074) /home/shahana/workspace/lightning/plugins/pay" + }, + { + "type": "IO_OUT", + "time": "0.272872865", + "source": "plugin-pay", + "log": "9", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.281192680", + "source": "plugin-manager", + "log": "started(2851075) /home/shahana/workspace/lightning/plugins/recover" + }, + { + "type": "IO_OUT", + "time": "0.281297151", + "source": "plugin-recover", + "log": "10", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.289779969", + "source": "plugin-manager", + "log": "started(2851076) /home/shahana/workspace/lightning/plugins/txprepare" + }, + { + "type": "IO_OUT", + "time": "0.289889582", + "source": "plugin-txprepare", + "log": "11", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.298296642", + "source": "plugin-manager", + "log": "started(2851077) /home/shahana/workspace/lightning/plugins/cln-renepay" + }, + { + "type": "IO_OUT", + "time": "0.298403651", + "source": "plugin-cln-renepay", + "log": "12", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.306830078", + "source": "plugin-manager", + "log": "started(2851078) /home/shahana/workspace/lightning/plugins/spenderp" + }, + { + "type": "IO_OUT", + "time": "0.306940115", + "source": "plugin-spenderp", + "log": "13", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.315169120", + "source": "plugin-manager", + "log": "started(2851079) /home/shahana/workspace/lightning/plugins/sql" + }, + { + "type": "IO_OUT", + "time": "0.315276367", + "source": "plugin-sql", + "log": "14", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.323937967", + "source": "plugin-manager", + "log": "started(2851080) /home/shahana/workspace/lightning/plugins/cln-grpc" + }, + { + "type": "IO_OUT", + "time": "0.324056040", + "source": "plugin-cln-grpc", + "log": "15", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.333568237", + "source": "plugin-manager", + "log": "started(2851081) /home/shahana/workspace/lightning/plugins/bookkeeper" + }, + { + "type": "IO_OUT", + "time": "0.333680205", + "source": "plugin-bookkeeper", + "log": "16", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.343206810", + "source": "plugin-manager", + "log": "started(2851084) /home/shahana/workspace/lightning/plugins/clnrest/clnrest.py" + }, + { + "type": "IO_OUT", + "time": "0.343314799", + "source": "plugin-clnrest.py", + "log": "17", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.362387733", + "source": "plugin-cln-grpc", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d65737361" + }, + { + "type": "IO_IN", + "time": "0.362551520", + "source": "plugin-autoclean", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a302c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226175746f636c65616e69" + }, + { + "type": "IO_IN", + "time": "0.362619498", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.362654151", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626974636f696e2d6461" + }, + { + "type": "IO_IN", + "time": "0.362688064", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.362720560", + "source": "plugin-fetchinvoice", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226665746368696e766f69" + }, + { + "type": "IO_IN", + "time": "0.362809645", + "source": "plugin-funder", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a352c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2266756e6465722d706f6c" + }, + { + "type": "IO_IN", + "time": "0.362847103", + "source": "plugin-topology", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a362c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.362882935", + "source": "plugin-keysend", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a372c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.362917685", + "source": "plugin-offers", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a382c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b226e" + }, + { + "type": "IO_IN", + "time": "0.362950859", + "source": "plugin-pay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a392c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2264697361626c652d6d70" + }, + { + "type": "IO_IN", + "time": "0.362978486", + "source": "plugin-recover", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31302c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b5d2c" + }, + { + "type": "IO_IN", + "time": "0.363011904", + "source": "plugin-txprepare", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31312c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" + }, + { + "type": "IO_IN", + "time": "0.363038203", + "source": "plugin-cln-renepay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31322c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a2272656e657061792d64" + }, + { + "type": "IO_IN", + "time": "0.363072632", + "source": "plugin-spenderp", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31332c22726573756c74223a7b226f7074696f6e73223a5b5d2c227270636d6574686f6473223a5b7b22" + }, + { + "type": "IO_IN", + "time": "0.363097470", + "source": "plugin-sql", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31342c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a226465762d73716c6669" + }, + { + "type": "IO_IN", + "time": "0.363119187", + "source": "plugin-cln-grpc", + "log": "", + "data": "6765223a22506c7567696e206c6f6767696e6720696e697469616c697a6564227d7d0a0a7b226964223a31352c226a736f6e727063223a22322e30222c227265" + }, + { + "type": "DEBUG", + "time": "0.363152490", + "source": "plugin-cln-grpc", + "log": "Plugin logging initialized" + }, + { + "type": "IO_IN", + "time": "0.363175790", + "source": "plugin-autoclean", + "log": "", + "data": "6e766f6963652d6379636c65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506572666f726d20636c65616e7570206f6620" + }, + { + "type": "IO_IN", + "time": "0.363197370", + "source": "plugin-chanbackup", + "log": "", + "data": "616d65223a22656d657267656e63797265636f766572222c227573616765223a22222c226465736372697074696f6e223a22506f70756c617465732074686520" + }, + { + "type": "IO_IN", + "time": "0.363231169", + "source": "plugin-bcli", + "log": "", + "data": "7461646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a222d646174616469722061726720666f7220626974636f696e2d63" + }, + { + "type": "IO_IN", + "time": "0.363253410", + "source": "plugin-commando", + "log": "", + "data": "616d65223a22636f6d6d616e646f222c227573616765223a22706565725f6964206d6574686f64205b706172616d735d205b72756e655d205b66696c7465725d" + }, + { + "type": "IO_IN", + "time": "0.363275325", + "source": "plugin-fetchinvoice", + "log": "", + "data": "63652d6e6f636f6e6e656374222c2274797065223a22666c6167222c226465736372697074696f6e223a22446f6e27742074727920746f20636f6e6e65637420" + }, + { + "type": "IO_IN", + "time": "0.363297475", + "source": "plugin-funder", + "log": "", + "data": "696379222c2274797065223a22737472696e67222c226465736372697074696f6e223a22506f6c69637920746f2075736520666f72206475616c2d66756e6469" + }, + { + "type": "IO_IN", + "time": "0.363321878", + "source": "plugin-topology", + "log": "", + "data": "616d65223a22676574726f757465222c227573616765223a22696420616d6f756e745f6d736174207269736b666163746f72205b636c74765d205b66726f6d69" + }, + { + "type": "IO_IN", + "time": "0.363353131", + "source": "plugin-keysend", + "log": "", + "data": "616d65223a226b657973656e64222c227573616765223a2264657374696e6174696f6e20616d6f756e745f6d736174205b6c6162656c5d205b6d617866656570" + }, + { + "type": "IO_IN", + "time": "0.363377908", + "source": "plugin-offers", + "log": "", + "data": "616d65223a226f66666572222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b7175616e74" + }, + { + "type": "IO_IN", + "time": "0.363399832", + "source": "plugin-pay", + "log": "", + "data": "70222c2274797065223a22666c6167222c226465736372697074696f6e223a2244697361626c65206d756c74692d70617274207061796d656e74732e222c2264" + }, + { + "type": "IO_IN", + "time": "0.363421852", + "source": "plugin-recover", + "log": "", + "data": "22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c226479" + }, + { + "type": "IO_IN", + "time": "0.363443688", + "source": "plugin-txprepare", + "log": "", + "data": "6e616d65223a22747870726570617265222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c" + }, + { + "type": "IO_IN", + "time": "0.363466390", + "source": "plugin-cln-renepay", + "log": "", + "data": "656275672d6d6366222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179204d434620646562756720" + }, + { + "type": "IO_IN", + "time": "0.363488476", + "source": "plugin-spenderp", + "log": "", + "data": "6e616d65223a226d756c74697769746864726177222c227573616765223a226f757470757473205b666565726174655d205b6d696e636f6e665d205b7574786f" + }, + { + "type": "IO_IN", + "time": "0.363510863", + "source": "plugin-sql", + "log": "", + "data": "6c656e616d65222c2274797065223a22737472696e67222c226465736372697074696f6e223a22557365206f6e2d6469736b2073716c697465332066696c6520" + }, + { + "type": "IO_IN", + "time": "0.363533062", + "source": "plugin-cln-grpc", + "log": "", + "data": "73756c74223a7b2264796e616d6963223a66616c73652c226665617475726562697473223a7b7d2c22686f6f6b73223a5b5d2c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d2c226f7074696f6e73223a5b7b226465736372697074696f6e223a22576869636820706f72742073686f756c6420746865206772706320706c7567696e206c697374656e20666f7220696e636f6d696e6720636f6e6e656374696f6e733f222c226e616d65223a22677270632d706f7274222c2274797065223a22696e74227d5d2c227270636d65" + }, + { + "type": "IO_IN", + "time": "0.363562394", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a31362c22726573756c74223a7b226f7074696f6e73223a5b7b226e616d65223a22626f6f6b6b65657065" + }, + { + "type": "IO_IN", + "time": "0.363591128", + "source": "plugin-autoclean", + "log": "", + "data": "6578706972656420696e766f6963657320657665727920676976656e207365636f6e64732c206f7220646f206e6f74206175746f636c65616e2069662030222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f63" + }, + { + "type": "IO_IN", + "time": "0.363617319", + "source": "plugin-chanbackup", + "log": "", + "data": "444220776974682073747562206368616e6e656c73222c226c6f6e675f6465736372697074696f6e223a2272657475726e732073747562206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d2c7b226e616d65223a22726573746f726566726f6d70656572222c227573616765223a22222c226465736372" + }, + { + "type": "IO_IN", + "time": "0.363646373", + "source": "plugin-bcli", + "log": "", + "data": "6c69222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d636c69222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e2d636c6920706174686e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f69" + }, + { + "type": "IO_IN", + "time": "0.363671462", + "source": "plugin-commando", + "log": "", + "data": "222c226465736372697074696f6e223a2253656e64206120636f6d6d616e646f206d65737361676520746f20612064697265637420706565722c207761697420666f7220726573706f6e7365222c226c6f6e675f6465736372697074696f6e223a2253656e6473207b706565725f69647d207b6d6574686f647d207769746820" + }, + { + "type": "IO_IN", + "time": "0.363697818", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6469726563746c7920746f20666574636820616e20696e766f6963652e222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226665746368696e766f696365222c227573616765223a226f66666572205b616d6f756e745f6d7361745d205b7175616e746974795d205b72" + }, + { + "type": "IO_IN", + "time": "0.363723521", + "source": "plugin-funder", + "log": "", + "data": "6e672072657175657374732e205b6d617463682c20617661696c61626c652c2066697865645d222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d706f6c6963792d6d6f64222c2274797065223a22737472696e67222c226465736372697074696f6e223a2250657263656e7420746f2061" + }, + { + "type": "IO_IN", + "time": "0.363755407", + "source": "plugin-topology", + "log": "", + "data": "645d205b66757a7a70657263656e745d205b6578636c7564655d205b6d6178686f70735d222c226465736372697074696f6e223a225072696d697469766520726f75746520636f6d6d616e64222c226c6f6e675f6465736372697074696f6e223a2253686f7720726f75746520746f207b69647d20666f72207b6d7361746f73" + }, + { + "type": "IO_IN", + "time": "0.363783132", + "source": "plugin-keysend", + "log": "", + "data": "657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6578747261746c76735d205b726f75746568696e74735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e642061207061796d656e7420776974686f757420616e2069" + }, + { + "type": "IO_IN", + "time": "0.363806803", + "source": "plugin-offers", + "log": "", + "data": "6974795f6d61785d205b6162736f6c7574655f6578706972795d205b726563757272656e63655d205b726563757272656e63655f626173655d205b726563757272656e63655f70617977696e646f775d205b726563757272656e63655f6c696d69745d205b73696e676c655f7573655d205b726563757272656e63655f737461" + }, + { + "type": "IO_IN", + "time": "0.363830048", + "source": "plugin-pay", + "log": "", + "data": "796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22706179737461747573222c227573616765223a225b626f6c7431315d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f" + }, + { + "type": "IO_IN", + "time": "0.363905454", + "source": "plugin-recover", + "log": "", + "data": "6e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.363967771", + "source": "plugin-txprepare", + "log": "", + "data": "226465736372697074696f6e223a224372656174652061207472616e73616374696f6e2c2077697468206f7074696f6e20746f207370656e6420696e20667574757265202865697468657220747873656e6420616e642074786469736361726429222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e" + }, + { + "type": "IO_IN", + "time": "0.363992342", + "source": "plugin-cln-renepay", + "log": "", + "data": "696e666f2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2272656e657061792d64656275672d706179666c6f77222c2274797065223a22666c6167222c226465736372697074696f6e223a22456e61626c652072656e65706179207061796d656e7420666c6f777320646562756720696e666f2e222c22" + }, + { + "type": "IO_IN", + "time": "0.364019696", + "source": "plugin-spenderp", + "log": "", + "data": "735d222c226465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d2076696120612073696e676c6520426974636f696e207472616e73616374696f6e2e222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f206d756c7469706c65207b6f7574707574737d20" + }, + { + "type": "IO_IN", + "time": "0.364044538", + "source": "plugin-sql", + "log": "", + "data": "696e7374656164206f6620696e206d656d6f72792028652e672e20646562756767696e6729222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2273716c222c227573616765223a227175657279222c226465736372697074696f6e223a2252756e207b71756572797d20" + }, + { + "type": "IO_IN", + "time": "0.364069485", + "source": "plugin-cln-grpc", + "log": "", + "data": "74686f6473223a5b5d2c22737562736372697074696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.364151935", + "source": "plugin-bookkeeper", + "log": "", + "data": "722d646972222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e20666f7220626f6f6b6b6565706572207265" + }, + { + "type": "IO_IN", + "time": "0.364182166", + "source": "plugin-autoclean", + "log": "", + "data": "6c65616e696e766f6963652d657870697265642d6279222c2274797065223a22737472696e67222c226465736372697074696f6e223a224966206578706972656420696e766f696365206175746f636c65616e20656e61626c65642c20696e766f6963657320746861742068617665206578706972656420666f72206174206c65617374207468697320676976656e207365636f6e64732061726520636c65616e6564222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d2c2264796e616d6963223a66616c73657d2c7b226e616d65223a226175746f636c65616e2d6379636c65222c2274797065223a22696e74222c2264" + }, + { + "type": "IO_IN", + "time": "0.364213553", + "source": "plugin-chanbackup", + "log": "", + "data": "697074696f6e223a22436865636b732069662069206861766520676f742061206261636b75702066726f6d206120706565722c20616e6420696620736f2c2077696c6c20737475622074686f7365206368616e6e656c7320696e2074686520646174616261736520616e64206966206973207375636365737366756c2c2077696c6c2072657475726e206c697374206f66206368616e6e656c7320746861742068617665206265656e207375636365737366756c6c792073747562626564222c226c6f6e675f6465736372697074696f6e223a2272657475726e206368616e6e656c2d69642773206f6e20636f6d706c6574696f6e227d5d2c22737562736372" + }, + { + "type": "IO_IN", + "time": "0.364262136", + "source": "plugin-bcli", + "log": "", + "data": "6e2d72706375736572222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320757365726e616d65222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72706370617373776f7264222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e64205250432070617373776f7264222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063636f6e6e656374222c2274797065223a22737472696e67222c226465736372697074696f6e223a22626974636f696e642052504320" + }, + { + "type": "IO_IN", + "time": "0.364289819", + "source": "plugin-commando", + "log": "", + "data": "6f7074696f6e616c207b706172616d737d20616e64207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d72756e65222c227573616765223a225b72756e655d205b7265737472696374696f6e735d222c226465736372697074696f6e223a22437265617465206f7220726573747269637420612072756e65222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d2077697468206f7074696f6e616c207b7265737472696374696f6e737d20616e642072657475726e73207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d6c69737472756e6573222c227573" + }, + { + "type": "IO_IN", + "time": "0.364317052", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6563757272656e63655f636f756e7465725d205b726563757272656e63655f73746172745d205b726563757272656e63655f6c6162656c5d205b74696d656f75745d205b70617965725f6e6f74655d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220616e20696e766f69636520666f722074686973207b6f666665727d2c2077697468207b616d6f756e747d2c207b7175616e69746974797d2c207b726563757272656e63655f636f756e7465727d2c207b726563757272656e63655f73746172747d20616e64207b726563757272656e63655f6c6162656c7d206966662072657175697265642e227d" + }, + { + "type": "IO_IN", + "time": "0.364343602", + "source": "plugin-funder", + "log": "", + "data": "70706c7920706f6c69637920617420286d617463682f617661696c61626c65293b206f7220616d6f756e7420746f2066756e642028666978656429222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d696e2d74686569722d66756e64696e67222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e672070656572206d757374206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6d61782d74686569722d66756e64696e67222c" + }, + { + "type": "IO_IN", + "time": "0.364369671", + "source": "plugin-topology", + "log": "", + "data": "68697d2c207573696e67207b7269736b666163746f727d20616e64206f7074696f6e616c207b636c74767d202864656661756c742039292e20496620737065636966696564207365617263682066726f6d207b66726f6d69647d206f7468657277697365207573652074686973206e6f646520617320736f757263652e2052616e646f6d697a652074686520726f757465207769746820757020746f207b66757a7a70657263656e747d202869676e6f72656429292e207b6578636c7564657d20616e206172726179206f662073686f72742d6368616e6e656c2d69642f646972656374696f6e2028652e672e205b20273536343333347838373778312f3027" + }, + { + "type": "IO_IN", + "time": "0.364395687", + "source": "plugin-keysend", + "log": "", + "data": "6e766f69636520746f2061206e6f6465222c226c6f6e675f6465736372697074696f6e223a2253656e6420616e20756e736f6c696369746564207061796d656e74206f66207b616d6f756e747d20746f207b64657374696e6174696f6e7d2c2062792070726f766964696e672074686520726563697069656e7420746865206e656365737361727920696e666f726d6174696f6e20746f20636c61696d20746865207061796d656e74227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a2268746c635f6163636570746564227d" + }, + { + "type": "IO_IN", + "time": "0.364423440", + "source": "plugin-offers", + "log": "", + "data": "72745f616e795f706572696f645d222c226465736372697074696f6e223a2243726561746520616e206f6666657220746f20616363657074206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e206f6666657220666f7220696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c207b7175616e746974795f6d696e7d2c207b7175616e746974795f6d61787d2c207b6162736f6c7574655f6578706972797d2c207b726563757272656e63657d2c207b726563757272656e" + }, + { + "type": "IO_IN", + "time": "0.364456309", + "source": "plugin-pay", + "log": "", + "data": "7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a226c69737470617973222c227573616765223a225b626f6c7431315d205b7061796d656e745f686173685d205b7374617475735d222c226465736372697074696f6e223a224c69737420726573756c74206f66207061796d656e74207b626f6c7431317d206f72207b7061796d656e745f686173687d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f76657273206f6c64207061796d656e747320286661696c656420" + }, + { + "type": "IO_IN", + "time": "0.364482928", + "source": "plugin-txprepare", + "log": "", + "data": "20756e7369676e6564207472616e73616374696f6e20706179696e67207b6f7574707574737d2077697468206f7074696f6e616c207b666565726174657d2c207b6d696e636f6e667d20616e64207b7574786f737d227d2c7b226e616d65223a22747864697363617264222c227573616765223a2274786964222c226465736372697074696f6e223a22446973636172642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a22446973636172642061207472616e73636174696f6e206279207b747869647d227d2c7b226e616d65223a22747873656e64222c227573" + }, + { + "type": "IO_IN", + "time": "0.364510439", + "source": "plugin-cln-renepay", + "log": "", + "data": "64796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2272656e65706179737461747573222c227573616765223a225b696e76737472696e675d222c226465736372697074696f6e223a2244657461696c20737461747573206f6620617474656d70747320746f20706179207b626f6c7431317d2c206f7220616c6c222c226c6f6e675f6465736372697074696f6e223a22436f7665727320626f7468206f6c64207061796d656e747320616e642063757272656e74206f6e65732e227d2c7b226e616d65223a2272656e65706179222c227573616765223a22696e76737472696e67205b616d6f756e745f6d7361" + }, + { + "type": "IO_IN", + "time": "0.364538881", + "source": "plugin-spenderp", + "log": "", + "data": "6174206f7074696f6e61207b666565726174657d2c207370656e64696e6720636f696e73206174206c65617374207b6d696e636f6e667d2064657074682c206f722074686520737065636966696564207b7574786f737d2e227d2c7b226e616d65223a2266756e646368616e6e656c222c227573616765223a22696420616d6f756e74205b666565726174655d205b616e6e6f756e63655d205b6d696e636f6e665d205b7574786f735d205b707573685f6d7361745d205b636c6f73655f746f5d205b726571756573745f616d745d205b636f6d706163745f6c656173655d205b6d696e64657074685d205b726573657276655d205b6368616e6e656c5f7479" + }, + { + "type": "IO_IN", + "time": "0.364565445", + "source": "plugin-sql", + "log": "", + "data": "616e642072657475726e20726573756c74222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e64206576657221227d2c7b226e616d65223a226c69737473716c736368656d6173222c227573616765223a225b7461626c655d222c226465736372697074696f6e223a22446973706c617920736368656d617320666f7220696e7465726e616c2073716c207461626c65732c206f72206a757374207b7461626c657d222c226c6f6e675f6465736372697074696f6e223a22546869732069732074686520677265617465737420706c7567696e20636f6d6d616e642065" + }, + { + "type": "IO_IN", + "time": "0.364591128", + "source": "plugin-bookkeeper", + "log": "", + "data": "636f7264732e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626f6f6b6b65657065722d6462222c2274797065223a22737472696e67222c226465736372697074696f6e223a224c6f636174696f6e206f662074686520626f6f6b6b6565706572206461746162617365222c2264796e616d6963223a66" + }, + { + "type": "IO_IN", + "time": "0.364620270", + "source": "plugin-autoclean", + "log": "", + "data": "65736372697074696f6e223a22506572666f726d20636c65616e757020657665727920676976656e207365636f6e6473222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c20666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564666f7277617264732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c656420666f727761726473206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d737563636565646564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207375636365737366756c2070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d" + }, + { + "type": "IO_IN", + "time": "0.364664187", + "source": "plugin-chanbackup", + "log": "", + "data": "697074696f6e73223a5b226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d2c7b226e616d65223a22706565725f636f6e6e6563746564227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.364877068", + "source": "plugin-bcli", + "log": "", + "data": "686f737420746f20636f6e6e65637420746f222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d727063706f7274222c2274797065223a22696e74222c226465736372697074696f6e223a22626974636f696e642052504320686f7374277320706f7274222c2264796e616d6963223a66616c73657d2c7b226e616d65223a22626974636f696e2d72657472792d74696d656f7574222c2274797065223a22737472696e67222c226465736372697074696f6e223a22686f77206c6f6e6720746f206b656570207265747279696e6720746f20636f6e7461637420626974636f696e64206265666f726520666174616c6c792065786974696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226465762d6e6f2d66616b652d66656573222c2274797065223a22626f6f6c222c226465736372697074696f6e223a225375707072657373206665652066616b696e6720666f722072656774657374222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22676574726177626c6f636b6279686569676874222c227573616765223a22686569676874222c226465736372697074696f6e223a224765742074686520626974636f696e20626c6f636b206174206120676976656e20686569676874222c226c6f6e" + }, + { + "type": "IO_IN", + "time": "0.364914640", + "source": "plugin-commando", + "log": "", + "data": "616765223a225b72756e655d222c226465736372697074696f6e223a224c6973742072756e657320776520686176652063726561746564206561726c696572222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b72756e657d20616e642072657475726e73206c697374206f66207b72756e657d227d2c7b226e616d65223a22636f6d6d616e646f2d626c61636b6c697374222c227573616765223a225b73746172745d205b656e645d222c226465736372697074696f6e223a22426c61636b6c69737420612072756e65206f722072616e6765206f662072756e657320627920756e69717565206964222c226c6f6e675f6465736372697074696f6e223a2254616b657320616e206f7074696f6e616c207b73746172747d20616e6420616e206f7074696f6e616c207b656e647d20616e642072657475726e73207b626c61636b6c6973747d20617272617920636f6e7461696e696e67207b73746172747d2c207b656e647d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a22637573746f6d6d7367227d5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f7469666963617469" + }, + { + "type": "IO_IN", + "time": "0.364949332", + "source": "plugin-fetchinvoice", + "log": "", + "data": "2c7b226e616d65223a2273656e64696e766f696365222c227573616765223a22696e76726571206c6162656c205b616d6f756e745f6d7361745d205b74696d656f75745d222c226465736372697074696f6e223a22526571756573742072656d6f7465206e6f646520666f7220746f207061792074686973207b696e767265717d2c2077697468207b6c6162656c7d2c206f7074696f6e616c207b616d6f756e745f6d7361747d2c20616e64207b74696d656f75747d202864656661756c74203930207365636f6e6473292e227d2c7b226e616d65223a226465762d72617772657175657374222c227573616765223a22696e76726571206e6f64656964205b74696d656f75745d222c226465736372697074696f6e223a2253656e64207b696e767265717d20746f207b6e6f646569647d2c2077616974207b74696d656f75747d20283630207365636f6e64732062792064656661756c7429227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f726563765f736563726574227d2c7b226e616d65223a22696e766f6963655f7061796d656e74227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e" + }, + { + "type": "IO_IN", + "time": "0.364984289", + "source": "plugin-funder", + "log": "", + "data": "2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e672070656572206d6179206f70656e207769746820746f206163746976617465206f757220706f6c696379222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d696e222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d696e696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2049662077652063616e2774206d65657420746869732c20776520646f6e27742066756e64222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d7065722d6368616e6e656c2d6d6178222c2274797065223a22737472696e67222c226465736372697074696f6e223a224d6178696d756d2066756e64696e67207765276c6c2061646420746f2061206368616e6e656c2e2057652063617020616c6c20636f6e747269627574696f6e7320746f2074686973222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d726573657276652d74616e6b222c2274797065223a22737472696e67222c226465736372697074696f6e223a22416d6f756e74206f662066756e6473207765276c6c20616c77617973206c" + }, + { + "type": "IO_IN", + "time": "0.365025842", + "source": "plugin-topology", + "log": "", + "data": "2c2027353634313935783132393278302f3127205d29206f72206e6f64652d69642066726f6d20636f6e73696465726174696f6e2e2053657420746865207b6d6178686f70737d2074686520726f7574652063616e2074616b65202864656661756c74203230292e227d2c7b226e616d65223a226c6973746368616e6e656c73222c227573616765223a225b73686f72745f6368616e6e656c5f69645d205b736f757263655d205b64657374696e6174696f6e5d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206368616e6e656c7320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206368616e6e656c7320666f72207b73686f72745f6368616e6e656c5f69647d2c207b736f757263657d206f72207b64657374696e6174696f6e7d20286f7220616c6c206b6e6f776e206368616e6e656c732c206966206e6f742073706563696669656429227d2c7b226e616d65223a226c6973746e6f646573222c227573616765223a225b69645d222c226465736372697074696f6e223a224c69737420616c6c206b6e6f776e206e6f64657320696e20746865206e6574776f726b222c226c6f6e675f6465736372697074696f6e223a2253686f77206e6f6465207b69647d20286f7220616c6c206b6e6f776e206e6f64732c206966206e6f" + }, + { + "type": "IO_IN", + "time": "0.365063477", + "source": "plugin-keysend", + "log": "", + "data": "5d2c226665617475726562697473223a7b22696e6974223a22222c226e6f6465223a223830303030303030303030303030222c226368616e6e656c223a22222c22696e766f696365223a22227d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.365238159", + "source": "plugin-offers", + "log": "", + "data": "63655f626173657d2c207b726563757272656e63655f70617977696e646f777d2c207b726563757272656e63655f6c696d69747d20616e64207b73696e676c655f7573657d227d2c7b226e616d65223a22696e766f69636572657175657374222c227573616765223a22616d6f756e74206465736372697074696f6e205b6973737565725d205b6c6162656c5d205b6162736f6c7574655f6578706972795d205b73696e676c655f7573655d222c226465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2073656e64206d6f6e6579222c226c6f6e675f6465736372697074696f6e223a2243726561746520616e20696e766f6963655f7265717565737420746f2070617920696e766f69636573206f66207b616d6f756e747d2077697468207b6465736372697074696f6e7d2c206f7074696f6e616c207b6973737565727d2c20696e7465726e616c207b6c6162656c7d2c20616e64207b6162736f6c7574655f6578706972797d227d2c7b226e616d65223a226465636f6465222c227573616765223a22737472696e67222c226465736372697074696f6e223a224465636f6465207b737472696e677d206d6573736167652c2072657475726e696e67207b747970657d20616e6420696e666f726d6174696f6e2e227d5d2c22737562736372697074696f6e73223a" + }, + { + "type": "IO_IN", + "time": "0.365288172", + "source": "plugin-pay", + "log": "", + "data": "616e64207375636365656465642920616e642063757272656e74206f6e65732e227d2c7b226e616d65223a22706179222c227573616765223a22626f6c743131205b616d6f756e745f6d7361745d205b6c6162656c5d205b7269736b666163746f725d205b6d617866656570657263656e745d205b72657472795f666f725d205b6d617864656c61795d205b6578656d70746665655d205b6c6f63616c696e7672657169645d205b6578636c7564655d205b6d61786665655d205b6465736372697074696f6e5d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b626f6c7431317d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920746865207b626f6c7431317d20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b7b226d6574686f64223a227061795f73756363657373227d2c7b226d6574686f64223a227061795f6661696c757265227d5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.365522921", + "source": "plugin-txprepare", + "log": "", + "data": "616765223a2274786964222c226465736372697074696f6e223a2253656e642061207472616e73616374696f6e206372656174656420627920747870726570617265222c226c6f6e675f6465736372697074696f6e223a2253656e642061207472616e7361636174696f6e206279207b747869647d227d2c7b226e616d65223a227769746864726177222c227573616765223a2264657374696e6174696f6e207361746f736869205b666565726174655d205b6d696e636f6e665d205b7574786f735d222c226465736372697074696f6e223a2253656e642066756e647320746f207b64657374696e6174696f6e7d2061646472657373222c226c6f6e675f6465736372697074696f6e223a2253656e6420746f207b64657374696e6174696f6e7d207b7361746f7368697d20286f722027616c6c2729206174206f7074696f6e616c207b666565726174657d207573696e67207574786f732066726f6d207b6d696e636f6e667d206f72207b7574786f737d2e227d2c7b226e616d65223a227570677261646577616c6c6574222c227573616765223a225b666565726174655d205b72657365727665646f6b5d222c226465736372697074696f6e223a225370656e6420703273682077726170706564206f75747075747320696e746f2061206e617469766520736567776974206f7574707574222c226c6f6e675f646573" + }, + { + "type": "IO_IN", + "time": "0.365560810", + "source": "plugin-cln-renepay", + "log": "", + "data": "745d205b6d61786665655d205b6d617864656c61795d205b72657472795f666f725d205b6c6f63616c6f6666657269645d205b6465736372697074696f6e5d205b6c6162656c5d205b6465765f626173655f6665655f70656e616c74795d205b6465765f70726f625f636f73745f666163746f725d205b6465765f7269736b666163746f725d205b6465765f6d696e5f70726f625f737563636573735d205b6465765f7573655f736861646f775d222c226465736372697074696f6e223a2253656e64207061796d656e7420737065636966696564206279207b696e76737472696e677d222c226c6f6e675f6465736372697074696f6e223a22417474656d707420746f2070617920616e20696e766f6963652e227d5d2c22737562736372697074696f6e73223a5b2273656e647061795f73756363657373222c2273656e647061795f6661696c757265222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.365765442", + "source": "plugin-spenderp", + "log": "", + "data": "70655d222c226465736372697074696f6e223a2246756e64206368616e6e656c2077697468207b69647d207573696e67207b616d6f756e747d20286f722027616c6c27292c206174206f7074696f6e616c207b666565726174657d2e204f6e6c7920757365206f75747075747320746861742068617665207b6d696e636f6e667d20636f6e6669726d6174696f6e732e222c226c6f6e675f6465736372697074696f6e223a22496e69746961746965732061206368616e6e656c206f70656e2077697468206e6f646520276964272e204d75737420626520636f6e6e656374656420746f20746865206e6f646520616e64206861766520656e6f7567682066756e647320617661696c61626c652061742074686520726571756573746564206d696e696d756d20636f6e6669726d6174696f6e20646570746820286d696e636f6e6629227d2c7b226e616d65223a226d756c746966756e646368616e6e656c222c227573616765223a2264657374696e6174696f6e73205b666565726174655d205b6d696e636f6e665d205b7574786f735d205b6d696e6368616e6e656c735d205b636f6d6d69746d656e745f666565726174655d222c226465736372697074696f6e223a2246756e64206368616e6e656c7320746f207b64657374696e6174696f6e737d2c20776869636820697320616e206172726179206f66206f626a65" + }, + { + "type": "IO_IN", + "time": "0.365808441", + "source": "plugin-sql", + "log": "", + "data": "76657221227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.366017120", + "source": "plugin-bookkeeper", + "log": "", + "data": "616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a22626b70722d6c69737462616c616e636573222c227573616765223a22222c226465736372697074696f6e223a224c6973742063757272656e74206163636f756e742062616c616e636573222c226c6f6e675f6465736372697074696f6e223a224c697374206f662063757272656e74206163636f756e747320616e642074686569722062616c616e636573227d2c7b226e616d65223a22626b70722d6c6973746163636f756e746576656e7473222c227573616765223a225b6163636f756e745d222c226465736372697074696f6e223a224c69737420616c6c206576656e747320" + }, + { + "type": "IO_IN", + "time": "0.366064302", + "source": "plugin-autoclean", + "log": "", + "data": "6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d6661696c6564706179732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206661696c65642070617973206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d70616964696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f207061696420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d2c7b226e616d65223a226175746f636c65616e2d65787069726564696e766f696365732d616765222c2274797065223a22696e74222c226465736372697074696f6e223a22486f77206f6c6420646f206578706972656420696e766f69636573206861766520746f206265206265666f72652064656c6574696f6e202830203d206e6576657229222c2264796e616d6963223a747275657d5d2c227270636d6574686f6473223a5b7b226e616d65223a226175746f636c65616e696e766f696365222c227573616765223a225b6379636c655f7365636f6e64735d205b657870697265645f62795d222c226465736372697074696f6e223a22536574207570206175746f636c65616e206f66206578706972656420696e766f696365732e20222c226c6f6e675f6465736372697074696f6e223a22506572666f726d20636c65616e7570206576657279207b6379636c655f7365636f6e64737d202864656661756c742033363030292c206f722064697361626c65206175746f636c65616e20696620302e20436c65616e207570206578706972656420696e766f6963657320746861742068617665206578706972656420666f72207b657870697265645f62797d207365636f6e6473202864656661756c74203836343030292e20222c2264657072656361746564223a5b227632322e3131222c227632342e3032225d7d2c7b226e616d65223a226175746f636c65616e2d737461747573222c227573616765223a225b73756273797374656d5d222c226465736372697074696f6e223a2253686f7720737461747573206f66206175746f636c65616e696e67222c226c6f6e675f6465736372697074696f6e223a2254616b6573206f7074696f6e616c207b73756273797374656d7d227d2c7b226e616d65223a226175746f636c65616e2d6f6e6365222c227573616765223a2273756273797374656d20616765222c226465736372697074696f6e223a22506572666f726d2061" + }, + { + "type": "IO_IN", + "time": "0.366122868", + "source": "plugin-bcli", + "log": "", + "data": "675f6465736372697074696f6e223a22227d2c7b226e616d65223a22676574636861696e696e666f222c227573616765223a226c6173745f686569676874222c226465736372697074696f6e223a224765742074686520636861696e2069642c207468652068656164657220636f756e742c2074686520626c6f636b20636f756e742c20616e6420776865746865722074686973206973204942442e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a22657374696d61746566656573222c227573616765223a22222c226465736372697074696f6e223a224765742074686520757267656e742c206e6f726d616c20616e6420736c6f7720426974636f696e206665657261746573206173207361742f6b56422e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a2273656e647261777472616e73616374696f6e222c227573616765223a22747820616c6c6f776869676866656573222c226465736372697074696f6e223a2253656e64206120726177207472616e73616374696f6e20746f2074686520426974636f696e206e6574776f726b2e222c226c6f6e675f6465736372697074696f6e223a22227d2c7b226e616d65223a226765747574786f7574222c227573616765223a227478696420766f7574222c226465736372697074696f6e223a2247657420696e666f726d6174696f6e2061626f757420616e206f75747075742c206964656e7469666965642062792061207b747869647d20616e2061207b766f75747d222c226c6f6e675f6465736372697074696f6e223a22227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.366596225", + "source": "plugin-commando", + "log": "", + "data": "6f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.366844617", + "source": "plugin-fetchinvoice", + "log": "", + "data": "6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.367089969", + "source": "plugin-funder", + "log": "", + "data": "6561766520617661696c61626c652e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66757a7a2d70657263656e74222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e7420746f2066757a7a2074686520706f6c69637920636f6e747269627574696f6e2062792e2044656661756c747320746f2030252e204d61782069732031303025222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d66756e642d70726f626162696c697479222c2274797065223a22696e74222c226465736372697074696f6e223a2250657263656e74206f6620726571756573747320746f20636f6e73696465722e2044656661756c747320746f20313030252e2053657474696e6720746f2030252077696c6c2064697361626c65206475616c2d66756e64696e67222c2264796e616d6963223a66616c73657d2c7b226e616d65223a2266756e6465722d6c656173652d72657175657374732d6f6e6c79222c2274797065223a22626f6f6c222c226465736372697074696f6e223a224f6e6c792066756e64206c656173652072657175657374732e2044656661756c747320746f2074727565206966206368616e6e656c206c6561736520726174657320617265206265696e672061647665727469736564222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d626173652d736174222c2274797065223a22737472696e67222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20626173652066656520666f72206c65617365642066756e64732c20696e207361746f7368692e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d6665652d6261736973222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206261736973206368617267656420666f72206c65617365642066756e647320287065722031302c303030207361746f7368692e29222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226c656173652d66756e64696e672d776569676874222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c20776569676874207765276c6c2061736b206f70656e696e67207065657220746f2070617920666f7220696e2066756e64696e67207472616e73616374696f6e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d626173652d6d736174222c2274797065223a22737472696e67222c2264" + }, + { + "type": "IO_IN", + "time": "0.367144342", + "source": "plugin-topology", + "log": "", + "data": "742073706563696669656429227d2c7b226e616d65223a226c697374696e636f6d696e67222c227573616765223a22222c226465736372697074696f6e223a224c69737420746865206368616e6e656c7320696e636f6d696e672066726f6d206f757220646972656374207065657273222c226c6f6e675f6465736372697074696f6e223a225573656420627920696e766f69636520636f646520746f2073656c65637420706565727320666f7220726f75746568696e7473227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.367367134", + "source": "plugin-offers", + "log": "", + "data": "5b22626c6f636b5f6164646564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f6e696f6e5f6d6573736167655f72656376227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.367580058", + "source": "plugin-txprepare", + "log": "", + "data": "6372697074696f6e223a2253656e6420616c6c20703273682d77726170706564206f75747075747320746f206120626563683332206e6174697665207365677769742061646472657373227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.367863012", + "source": "plugin-spenderp", + "log": "", + "data": "63747320636f6e7461696e696e672070656572207b69647d2c207b616d6f756e747d2c20616e64206f7074696f6e616c207b616e6e6f756e63657d20616e64207b707573685f6d7361747d2e2020412073696e676c65207472616e73616374696f6e2077696c6c206265207573656420746f2066756e6420616c6c20746865206368616e6e656c732e2020557365207b666565726174657d20666f7220746865207472616e73616374696f6e2c2073656c656374206f75747075747320746861742061726520627572696564207b6d696e636f6e667d20626c6f636b7320646565702c206f722073706563696679206120736574206f66207b7574786f737d2e222c226c6f6e675f6465736372697074696f6e223a2246756e64206d756c7469706c65206368616e6e656c73206174206f6e63652e227d5d2c22737562736372697074696f6e73223a5b226f70656e6368616e6e656c5f706565725f73696773222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.368072258", + "source": "plugin-bookkeeper", + "log": "", + "data": "666f7220616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f7220616e207b6163636f756e747d20286f7220616c6c206163636f756e74732c206966206e6f206163636f756e74207370656369666965642920696e207b666f726d61747d2e20536f727465642062792074696d657374616d70227d2c7b226e616d65223a22626b70722d696e7370656374222c227573616765223a226163636f756e74222c226465736372697074696f6e223a22536565207468652063757272656e74206f6e2d636861696e206772617068206f6620616e207b6163636f756e747d222c226c6f6e675f6465736372697074696f6e223a225072696e7473206f757420746865206f6e2d636861696e20666f6f747072696e74206f66206120676976656e207b6163636f756e747d2e227d2c7b226e616d65223a22626b70722d6c697374696e636f6d65222c227573616765223a225b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a224c69737420616c6c20696e636f6d6520696d70616374696e67206576656e7473222c226c6f6e675f6465736372697074696f6e223a224c69737420616c6c206576656e747320666f722074686973206e6f646520746861" + }, + { + "type": "IO_IN", + "time": "0.368128816", + "source": "plugin-autoclean", + "log": "", + "data": "2073696e676c652072756e206f66206175746f636c65616e696e67206f6e206f6e652073756273797374656d222c226c6f6e675f6465736372697074696f6e223a225265717569726573207b73756273797374656d7d20616e64207b6167657d227d5d2c22737562736372697074696f6e73223a5b2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.368592371", + "source": "plugin-funder", + "log": "", + "data": "65736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d206368616e6e656c206665652062617365207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e222c2264796e616d6963223a66616c73657d2c7b226e616d65223a226368616e6e656c2d6665652d6d61782d70726f706f7274696f6e616c2d74686f7573616e64746873222c2274797065223a22696e74222c226465736372697074696f6e223a224368616e6e656c206c656173652072617465732c206d6178696d756d2070726f706f7274696f6e616c206665652028696e2074686f7573616e647468732c206f722070707429207765276c6c2063686172676520666f722066756e647320726f75746564207468726f7567682061206c6561736564206368616e6e656c2e204e6f74653a2031707074203d20312c30303070706d222c2264796e616d6963223a66616c73657d5d2c227270636d6574686f6473223a5b7b226e616d65223a2266756e646572757064617465222c227573616765223a225b706f6c6963795d205b706f6c6963795f6d6f645d205b6c65617365735f6f6e6c795d205b6d696e5f74686569725f66756e64696e675f6d7361745d205b6d61785f74686569725f66756e64696e675f6d7361745d205b7065725f6368616e6e656c5f6d696e5f6d7361745d205b7065725f6368616e6e656c5f6d61785f6d7361745d205b726573657276655f74616e6b5f6d7361745d205b66757a7a5f70657263656e745d205b66756e645f70726f626162696c6974795d205b6c656173655f6665655f626173655f6d7361745d205b6c656173655f6665655f62617369735d205b66756e64696e675f7765696768745d205b6368616e6e656c5f6665655f6d61785f626173655f6d7361745d205b6368616e6e656c5f6665655f6d61785f70726f706f7274696f6e616c5f74686f7573616e647468735d222c226465736372697074696f6e223a22436f6e66696775726174696f6e20666f72206475616c2d66756e64696e672073657474696e67732e222c226c6f6e675f6465736372697074696f6e223a225570646174652063757272656e742073657474696e67732e204d6f64696669657320686f77206e6f64652072656163747320746f20696e636f6d696e67206368616e6e656c206f70656e2072657175657374732e20526573706f6e64732077697468206c697374206f662063757272656e7420636f6e666967732e227d5d2c22737562736372697074696f6e73223a5b226368616e6e656c5f6f70656e5f6661696c6564222c22646973636f6e6e656374222c226368616e6e656c5f73746174655f6368616e676564222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b7b226e616d65223a226f70656e6368616e6e656c32227d2c7b226e616d65223a226f70656e6368616e6e656c325f6368616e676564227d2c7b226e616d65223a226f70656e6368616e6e656c325f7369676e227d2c7b226e616d65223a227262665f6368616e6e656c227d5d2c2264796e616d6963223a747275652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.369269284", + "source": "plugin-bookkeeper", + "log": "", + "data": "7420696d70616374656420696e636f6d65227d2c7b226e616d65223a22626b70722d64756d70696e636f6d65637376222c227573616765223a226373765f666f726d6174205b6373765f66696c655d205b636f6e736f6c69646174655f666565735d205b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225072696e74206f757420616c6c2074686520696e636f6d65206576656e747320746f2061206373762066696c6520696e20207b6373765f666f726d6174222c226c6f6e675f6465736372697074696f6e223a2244756d7020696e636f6d6520737461746d656e74206461746120746f207b6373765f66696c657d20696e207b6373765f666f726d61747d2e204f7074696f6e616c6c792c207b636f6e736f6c69646174655f6665657d7320696e746f2073696e676c6520656e7472696573202864656661756c743a207472756529227d2c7b226e616d65223a22626b70722d6368616e6e656c73617079222c227573616765223a225b73746172745f74696d655d205b656e645f74696d655d222c226465736372697074696f6e223a225374617473206f6e206368616e6e656c2066756e64207573616765222c226c6f6e675f6465736372697074696f6e223a225072696e74206f7574207374617473206f6e206368616e656e6c2066756e64207573616765227d5d2c22737562736372697074696f6e73223a5b22636f696e5f6d6f76656d656e74222c2262616c616e63655f736e617073686f74222c2273687574646f776e222c22646570726563617465645f6f6e6573686f74225d2c22686f6f6b73223a5b5d2c2264796e616d6963223a66616c73652c226e6f6e6e756d65726963696473223a747275652c226e6f74696669636174696f6e73223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.667814369", + "source": "plugin-clnrest.py", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226964223a2031372c2022726573756c74223a207b226f7074696f6e73223a205b7b226e616d65223a2022636c" + }, + { + "type": "IO_IN", + "time": "0.667890970", + "source": "plugin-clnrest.py", + "log": "", + "data": "6e726573742d6365727473222c202264656661756c74223a20222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c6967" + }, + { + "type": "IO_IN", + "time": "0.667920477", + "source": "plugin-clnrest.py", + "log": "", + "data": "68746e696e672d312f72656774657374222c20226465736372697074696f6e223a20225061746820666f72206365727469666963617465732028666f7220687474707329222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264" + }, + { + "type": "IO_IN", + "time": "0.667949951", + "source": "plugin-clnrest.py", + "log": "", + "data": "796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d70726f746f636f6c222c202264656661756c74223a20226874747073222c20226465736372697074696f6e223a202252455354207365727665722070726f746f636f6c222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d686f7374222c202264656661756c74223a20223132372e302e302e31222c20226465736372697074696f6e223a2022524553542073657276657220" + }, + { + "type": "IO_IN", + "time": "0.667999366", + "source": "plugin-clnrest.py", + "log": "", + "data": "686f7374222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d706f7274222c20226465736372697074696f6e223a2022524553542073657276657220706f727420746f206c697374656e222c202274797065223a2022696e74222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d636f72732d6f726967696e73222c202264656661756c74223a20222a222c20226465736372697074696f6e223a202243726f7373206f726967696e207265736f757263652073686172696e67206f726967696e73222c202274797065223a2022737472696e67222c20226d756c7469223a20747275652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d2c207b226e616d65223a2022636c6e726573742d637370222c202264656661756c74223a202264656661756c742d737263202773656c66273b20666f6e742d737263202773656c66273b20696d672d737263202773656c662720646174613a3b206672616d652d737263202773656c66273b" + }, + { + "type": "IO_IN", + "time": "0.668052473", + "source": "plugin-clnrest.py", + "log": "", + "data": "207374796c652d737263202773656c66272027756e736166652d696e6c696e65273b207363726970742d737263202773656c66272027756e736166652d696e6c696e65273b222c20226465736372697074696f6e223a2022436f6e74656e7420736563757269747920706f6c69637920284353502920666f722074686520736572766572222c202274797065223a2022737472696e67222c20226d756c7469223a2066616c73652c202264657072656361746564223a2066616c73652c202264796e616d6963223a2066616c73657d5d2c20227270636d6574686f6473223a205b5d2c2022737562736372697074696f6e73223a205b222a225d2c2022686f6f6b73223a205b5d2c202264796e616d6963223a20747275652c20226e6f6e6e756d65726963696473223a20747275652c20226e6f74696669636174696f6e73223a205b5d2c20226665617475726562697473223a207b7d7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.668566307", + "source": "lightningd", + "log": "io_break: check_plugins_manifests" + }, + { + "type": "DEBUG", + "time": "0.668584117", + "source": "lightningd", + "log": "io_loop_with_timers: plugins_init" + }, + { + "type": "DEBUG", + "time": "0.669533802", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_channeld" + }, + { + "type": "DEBUG", + "time": "0.670631667", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_closingd" + }, + { + "type": "DEBUG", + "time": "0.671680609", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_connectd" + }, + { + "type": "DEBUG", + "time": "0.672683497", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_gossipd" + }, + { + "type": "DEBUG", + "time": "0.673731812", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_hsmd" + }, + { + "type": "DEBUG", + "time": "0.674729216", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_onchaind" + }, + { + "type": "DEBUG", + "time": "0.675753837", + "source": "lightningd", + "log": "testing /home/shahana/workspace/lightning/lightningd/lightning_openingd" + }, + { + "type": "DEBUG", + "time": "0.676911994", + "source": "hsmd", + "log": "pid 2851101, msgfd 54" + }, + { + "type": "DEBUG", + "time": "0.677546872", + "source": "hsmd", + "log": "capability +WIRE_HSMD_CHECK_PUBKEY" + }, + { + "type": "DEBUG", + "time": "0.677565763", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_ANY_DELAYED_PAYMENT_TO_US" + }, + { + "type": "DEBUG", + "time": "0.677576808", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_ANCHORSPEND" + }, + { + "type": "DEBUG", + "time": "0.677586668", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_HTLC_TX_MINGLE" + }, + { + "type": "DEBUG", + "time": "0.677596177", + "source": "hsmd", + "log": "capability +WIRE_HSMD_SIGN_SPLICE_TX" + }, + { + "type": "DEBUG", + "time": "0.677605708", + "source": "hsmd", + "log": "capability +WIRE_HSMD_CHECK_OUTPOINT" + }, + { + "type": "DEBUG", + "time": "0.677617970", + "source": "hsmd", + "log": "capability +WIRE_HSMD_FORGET_CHANNEL" + }, + { + "type": "DEBUG", + "time": "0.677627330", + "source": "hsmd", + "log": "capability +WIRE_HSMD_REVOKE_COMMITMENT_TX" + }, + { + "type": "INFO", + "time": "0.678302604", + "source": "lightningd", + "log": "Creating database" + }, + { + "type": "DEBUG", + "time": "0.766179671", + "source": "connectd", + "log": "pid 2851102, msgfd 58" + }, + { + "type": "DEBUG", + "time": "0.766630742", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "DEBUG", + "time": "0.766687023", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "DEBUG", + "time": "0.766747270", + "source": "hsmd", + "log": "new_client: 0" + }, + { + "type": "DEBUG", + "time": "0.767152125", + "source": "connectd", + "log": "Created listener on 127.0.0.1:37343" + }, + { + "type": "DEBUG", + "time": "0.767207275", + "source": "connectd", + "log": "REPLY WIRE_CONNECTD_INIT_REPLY with 0 fds" + }, + { + "type": "DEBUG", + "time": "0.767240799", + "source": "lightningd", + "log": "io_break: connect_init_done" + }, + { + "type": "DEBUG", + "time": "0.767278983", + "source": "lightningd", + "log": "io_loop: connectd_init" + }, + { + "type": "IO_OUT", + "time": "0.774706160", + "source": "plugin-bcli", + "log": "\"cln:init#18\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.778891922", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233138222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "INFO", + "time": "0.779010903", + "source": "plugin-bcli", + "log": "bitcoin-cli initialized and connected to bitcoind." + }, + { + "type": "DEBUG", + "time": "0.779054874", + "source": "lightningd", + "log": "io_break: plugin_config_cb" + }, + { + "type": "DEBUG", + "time": "0.779072642", + "source": "lightningd", + "log": "io_loop_with_timers: config_plugin" + }, + { + "type": "DEBUG", + "time": "0.779086807", + "source": "lightningd", + "log": "All Bitcoin plugin commands registered" + }, + { + "type": "IO_OUT", + "time": "0.779118540", + "source": "lightningd", + "log": "\"cln:getchaininfo#19\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.779162012", + "source": "lightningd", + "log": "\"cln:estimatefees#20\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.782777545", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574636861696e696e666f233139222c22726573756c74223a7b22636861696e223a2272656774657374222c22686561646572636f756e74223a3130312c22626c6f636b636f756e74223a3130312c22696264223a66616c73657d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.783246311", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#21\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.791685905", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233231222c22726573756c74223a7b22626c6f636b68617368223a2233346537326564386332316462333134613337666465653034643835393131343661383333356334353130393039306164383133663061303662663564303261222c22626c6f636b223a22303030303030323036646264303161363134303066396130333437353839643563626465653366633136373935386531383135306234353466323734326334316631376564323331656338313963393963626535356431663162386438393363653866303532616531373664303631336334393366386365333766653734323866386462646366643262646464373635666666663766323030303030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363430306666666666666666303230306632303532613031303030303030313630303134356265613930316666616564326166306363356666323930363239336134396566313336323062343030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.791978380", + "source": "lightningd", + "log": "Adding block 100: 34e72ed8c21db314a37fdee04d8591146a8335c45109090ad813f0a06bf5d02a" + }, + { + "type": "IO_IN", + "time": "0.793435123", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a657374696d61746566656573233230222c22726573756c74223a7b226665657261746573223a5b7b22626c6f636b73223a322c2266656572617465223a36303030307d2c7b22626c6f636b73223a362c2266656572617465223a34343030307d2c7b22626c6f636b73223a31322c2266656572617465223a33303030307d2c7b22626c6f636b73223a3130302c2266656572617465223a31353030307d5d2c22666565726174655f666c6f6f72223a313030307d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.793522965", + "source": "lightningd", + "log": "io_break: maybe_completed_init" + }, + { + "type": "DEBUG", + "time": "0.793551436", + "source": "lightningd", + "log": "io_loop_with_timers: setup_topology" + }, + { + "type": "DEBUG", + "time": "0.793713248", + "source": "wallet", + "log": "Loaded 0 channels from DB" + }, + { + "type": "DEBUG", + "time": "0.794985275", + "source": "gossipd", + "log": "pid 2851112, msgfd 57" + }, + { + "type": "DEBUG", + "time": "0.795158530", + "source": "hsmd", + "log": "new_client: 0" + }, + { + "type": "DEBUG", + "time": "0.795911704", + "source": "gossipd", + "log": "Store compact time: 0 msec" + }, + { + "type": "DEBUG", + "time": "0.795966030", + "source": "gossipd", + "log": "gossip_store: Read 0/0/0/0 cannounce/cupdate/nannounce/delete from store in 0 bytes, now 1 bytes (populated=false)" + }, + { + "type": "DEBUG", + "time": "0.796011843", + "source": "gossipd", + "log": "seeker: state = STARTING_UP New seeker" + }, + { + "type": "DEBUG", + "time": "0.796045468", + "source": "gossipd", + "log": "REPLY WIRE_GOSSIPD_INIT_REPLY with 0 fds" + }, + { + "type": "DEBUG", + "time": "0.796067660", + "source": "lightningd", + "log": "io_break: gossipd_init_done" + }, + { + "type": "DEBUG", + "time": "0.796086934", + "source": "lightningd", + "log": "io_loop: gossip_init" + }, + { + "type": "IO_OUT", + "time": "0.796159874", + "source": "plugin-autoclean", + "log": "\"cln:init#22\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796255145", + "source": "plugin-chanbackup", + "log": "\"cln:init#23\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796320067", + "source": "plugin-commando", + "log": "\"cln:init#24\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796379349", + "source": "plugin-fetchinvoice", + "log": "\"cln:init#25\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796437283", + "source": "plugin-funder", + "log": "\"cln:init#26\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796518446", + "source": "plugin-topology", + "log": "\"cln:init#27\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796568118", + "source": "plugin-keysend", + "log": "\"cln:init#28\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796625970", + "source": "plugin-offers", + "log": "\"cln:init#29\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796673796", + "source": "plugin-pay", + "log": "\"cln:init#30\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796726481", + "source": "plugin-recover", + "log": "\"cln:init#31\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796775261", + "source": "plugin-txprepare", + "log": "\"cln:init#32\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796824332", + "source": "plugin-cln-renepay", + "log": "\"cln:init#33\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796879127", + "source": "plugin-spenderp", + "log": "\"cln:init#34\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796926464", + "source": "plugin-sql", + "log": "\"cln:init#35\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.796978579", + "source": "plugin-cln-grpc", + "log": "\"cln:init#36\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.797031262", + "source": "plugin-bookkeeper", + "log": "\"cln:init#37\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.797085140", + "source": "plugin-clnrest.py", + "log": "\"cln:init#38\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.797826225", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c226d6574686f64223a226c" + }, + { + "type": "IO_IN", + "time": "0.797933671", + "source": "jsonrpc#56", + "log": "", + "data": "697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" + }, + { + "type": "IO_IN", + "time": "0.797977772", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c226d6574686f64223a22676574" + }, + { + "type": "IO_IN", + "time": "0.798038783", + "source": "plugin-cln-grpc", + "log": "", + "data": "7b226964223a22636c6e3a696e6974233336222c226a736f6e727063223a22322e30222c22726573756c74223a7b2264697361626c65223a224d697373696e672027677270632d706f727427206f7074696f6e227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.798112627", + "source": "plugin-cln-grpc", + "log": "Killing plugin: disabled itself at init: Missing 'grpc-port' option" + }, + { + "type": "IO_IN", + "time": "0.798190854", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c226d6574686f64223a22676574696e666f22" + }, + { + "type": "IO_IN", + "time": "0.798303482", + "source": "jsonrpc#56", + "log": "", + "data": "227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.798348420", + "source": "jsonrpc#56", + "log": "\"init/txprepare:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.798499784", + "source": "jsonrpc#56", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7478707265706172653a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.798544245", + "source": "jsonrpc#59", + "log": "", + "data": "696e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.798649043", + "source": "jsonrpc#59", + "log": "\"init/cln-renepay:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.798961500", + "source": "jsonrpc#60", + "log": "", + "data": "2c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.799011378", + "source": "jsonrpc#60", + "log": "\"init/offers:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.799208031", + "source": "plugin-clnrest.py", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226964223a2022636c6e3a696e6974233338222c2022726573756c74223a207b2264697361626c65223a202260636c6e726573742d706f727460206f7074696f6e206973206e6f7420636f6e66696775726564227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.799290896", + "source": "plugin-clnrest.py", + "log": "Killing plugin: disabled itself at init: `clnrest-port` option is not configured" + }, + { + "type": "IO_IN", + "time": "0.799375808", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c226d6574686f64223a" + }, + { + "type": "IO_OUT", + "time": "0.799451736", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.799500749", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.799566514", + "source": "jsonrpc#39", + "log": "", + "data": "226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c22737563636565646564666f72776172647322" + }, + { + "type": "IO_IN", + "time": "0.799697848", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c226d6574686f64223a22676574696e666f222c2270" + }, + { + "type": "IO_IN", + "time": "0.799731308", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.799777163", + "source": "jsonrpc#59", + "log": "\"init/cln-renepay:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.801748629", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.801823586", + "source": "jsonrpc#60", + "log": "\"init/offers:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.803847847", + "source": "jsonrpc#39", + "log": "", + "data": "2c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.803890034", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#0\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.803981141", + "source": "lightningd", + "log": "Looking for [autoclean,succeededforwards,num]" + }, + { + "type": "IO_IN", + "time": "0.804177162", + "source": "jsonrpc#40", + "log": "", + "data": "6172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.804238277", + "source": "jsonrpc#40", + "log": "\"init/pay:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.804423744", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c226d6574686f64223a22676574696e666f" + }, + { + "type": "IO_OUT", + "time": "0.804457736", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.804497557", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652330222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.804518065", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.804744080", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.805081512", + "source": "plugin-txprepare", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233332222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.805319213", + "source": "jsonrpc#43", + "log": "", + "data": "222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.805401434", + "source": "jsonrpc#43", + "log": "\"init/recover:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.805712204", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c226d6574686f64223a226765" + }, + { + "type": "IO_OUT", + "time": "0.805739677", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.805790755", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d" + }, + { + "type": "IO_IN", + "time": "0.805818586", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22737472696e67223a22626f6c7431322d696e766f6963652d62617365227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.805858136", + "source": "jsonrpc#60", + "log": "\"init/offers:makesecret#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.806161961", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c6564666f727761726473222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.806219027", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#1\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.806313420", + "source": "lightningd", + "log": "Looking for [autoclean,failedforwards,num]" + }, + { + "type": "IO_IN", + "time": "0.806470379", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.806511829", + "source": "jsonrpc#40", + "log": "\"init/pay:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.808410307", + "source": "jsonrpc#44", + "log": "", + "data": "74696e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.808454388", + "source": "jsonrpc#44", + "log": "\"init/fetchinvoice:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.808621985", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c226d6574686f64223a2267657469" + }, + { + "type": "IO_OUT", + "time": "0.808647442", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.808685939", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c226665746368696e766f6963652d6e6f636f6e6e656374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f6665746368696e766f696365227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.808912986", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652331222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.808934484", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2262633033373064343038643361643934353233643566396463363964653633323365303962373665633165393064356338613032323631393234346365316565227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.809010463", + "source": "jsonrpc#59", + "log": "", + "data": "75736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.809070150", + "source": "jsonrpc#59", + "log": "\"init/cln-renepay:listconfigs#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.809257098", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" + }, + { + "type": "IO_IN", + "time": "0.809289102", + "source": "jsonrpc#61", + "log": "", + "data": "6e666f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.809324700", + "source": "jsonrpc#61", + "log": "\"init/chanbackup:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.809487956", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c226d6574686f64223a22676574696e666f" + }, + { + "type": "IO_OUT", + "time": "0.809513583", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.809552275", + "source": "jsonrpc#59", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636c6e2d72656e657061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.809591928", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_IN", + "time": "0.809637864", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2273756363656564656470617973222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.809711673", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#2\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.809839896", + "source": "lightningd", + "log": "Looking for [autoclean,succeededpays,num]" + }, + { + "type": "DEBUG", + "time": "0.809951337", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "IO_IN", + "time": "0.810028323", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a" + }, + { + "type": "IO_IN", + "time": "0.810069442", + "source": "jsonrpc#40", + "log": "\"init/pay:listconfigs#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.810188333", + "source": "jsonrpc#43", + "log": "", + "data": "227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.810224598", + "source": "jsonrpc#43", + "log": "\"init/recover:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.810340170", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a226578706572696d656e74616c2d6f6666657273227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.810379122", + "source": "jsonrpc#44", + "log": "\"init/fetchinvoice:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.810496441", + "source": "jsonrpc#62", + "log": "", + "data": "222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.810532387", + "source": "jsonrpc#62", + "log": "\"init/keysend:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.810691706", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c226d6574686f64223a226c69" + }, + { + "type": "IO_OUT", + "time": "0.810716934", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.810792247", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6665746368696e766f6963653a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.810839274", + "source": "jsonrpc#43", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7265636f7665723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.810860620", + "source": "jsonrpc#40", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7061793a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.810881411", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652332222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.810928560", + "source": "plugin-cln-renepay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233333222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.810997774", + "source": "jsonrpc#60", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.811032670", + "source": "jsonrpc#60", + "log": "\"init/offers:listconfigs#3\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.811209507", + "source": "jsonrpc#40", + "log": "", + "data": "0a" + }, + { + "type": "IO_IN", + "time": "0.811241493", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c226d6574686f64223a227374617469636261636b7570222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.811306746", + "source": "jsonrpc#61", + "log": "\"init/chanbackup:staticbackup#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.811405240", + "source": "jsonrpc#63", + "log": "", + "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_IN", + "time": "0.811429744", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c226d6574686f64223a22676574696e66" + }, + { + "type": "IO_OUT", + "time": "0.811449897", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a7374617469636261636b75702331222c22726573756c74223a7b22736362223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.811469926", + "source": "jsonrpc#60", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6f66666572733a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.811503319", + "source": "plugin-fetchinvoice", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233235222c22726573756c74223a7b2264697361626c65223a226f6666657273206e6f7420656e61626c656420696e20636f6e666967227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.811560572", + "source": "plugin-fetchinvoice", + "log": "Killing plugin: disabled itself at init: offers not enabled in config" + }, + { + "type": "IO_IN", + "time": "0.811630867", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c226d6574686f64223a226c697374" + }, + { + "type": "IO_IN", + "time": "0.811654515", + "source": "plugin-pay", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233330222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.811710928", + "source": "plugin-recover", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a225265636f76657220506c7567696e20496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22476f73736d6170206c6f6164656421227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233331222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.811755114", + "source": "plugin-recover", + "log": "Recover Plugin Initialised!" + }, + { + "type": "DEBUG", + "time": "0.811781424", + "source": "plugin-recover", + "log": "Gossmap loaded!" + }, + { + "type": "IO_IN", + "time": "0.811835201", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c226661696c656470617973222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.811874335", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#3\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.811964853", + "source": "lightningd", + "log": "Looking for [autoclean,failedpays,num]" + }, + { + "type": "IO_IN", + "time": "0.812114069", + "source": "jsonrpc#63", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.812152261", + "source": "jsonrpc#63", + "log": "\"init/commando:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.812267772", + "source": "jsonrpc#63", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f636f6d6d616e646f3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.812299357", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652333222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.812334677", + "source": "jsonrpc#64", + "log": "", + "data": "6f222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.812372829", + "source": "jsonrpc#64", + "log": "\"init/topology:getinfo#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.812535146", + "source": "jsonrpc#65", + "log": "", + "data": "636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.812605052", + "source": "jsonrpc#65", + "log": "\"init/funder:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.814387754", + "source": "plugin-offers", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233239222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.814517117", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c226d6574686f64223a226d616b65736563726574222c22706172616d73223a7b22686578223a223733363336323230373336353633373236353734227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.814558686", + "source": "jsonrpc#61", + "log": "\"init/chanbackup:makesecret#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.814877653", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.814925450", + "source": "jsonrpc#62", + "log": "\"init/keysend:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.816721526", + "source": "jsonrpc#17", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c226d6574686f64223a226c697374636f6e" + }, + { + "type": "IO_OUT", + "time": "0.816748618", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.816977002", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6d616b657365637265742332222c22726573756c74223a7b22736563726574223a2261396132653734323430356332386630353933343931333239323361393933333761653766373131363862373438353439366533333635663562633636346564227d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.817000751", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22646576656c6f706572223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226c696768746e696e672d646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65227d2c226e6574776f726b223a7b2276616c75655f737472223a2272656774657374222c22736f75726365223a22636d646c696e65227d2c22746573746e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227369676e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226d61696e6e6574223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2272656774657374223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c65223a7b2276616c75655f737472223a226c696768746e696e672d727063222c22736f75726365223a2264656661756c74227d2c22616c6c6f772d646570726563617465642d61706973223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22706c7567696e2d646972223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22636c6561722d706c7567696e73223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c2264697361626c652d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22696d706f7274616e742d706c7567696e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616c776179732d7573652d70726f7879223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226461656d6f6e223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6475616c2d66756e64223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73706c6963696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6e696f6e2d6d65737361676573223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d6f6666657273223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d73687574646f776e2d77726f6e672d66756e64696e67223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d706565722d73746f72616765223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226578706572696d656e74616c2d71756965736365223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22726762223a7b2276616c75655f737472223a22303236366534222c22736f75726365223a2264656661756c74227d2c22616c696173223a7b2276616c75655f737472223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22736f75726365223a2264656661756c74227d2c227069642d66696c65223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c696768746e696e67642d726567746573742e706964222c22736f75726365223a2264656661756c74227d2c2269676e6f72652d6665652d6c696d697473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a22636d646c696e65227d2c22776174636874696d652d626c6f636b73223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c226d61782d6c6f636b74696d652d626c6f636b73223a7b2276616c75655f696e74223a323031362c22736f75726365223a2264656661756c74227d2c2266756e64696e672d636f6e6669726d73223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c22726571756972652d636f6e6669726d65642d696e70757473223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c22636c74762d64656c7461223a7b2276616c75655f696e74223a362c22736f75726365223a22636d646c696e65227d2c22636c74762d66696e616c223a7b2276616c75655f696e74223a352c22736f75726365223a22636d646c696e65227d2c22636f6d6d69742d74696d65223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c226665652d62617365223a7b2276616c75655f696e74223a312c22736f75726365223a2264656661756c74227d2c2272657363616e223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226665652d7065722d7361746f736869223a7b2276616c75655f696e74223a31302c22736f75726365223a2264656661756c74227d2c2268746c632d6d696e696d756d2d6d736174223a7b2276616c75655f6d736174223a302c22736f75726365223a2264656661756c74227d2c2268746c632d6d6178696d756d2d6d736174223a7b2276616c75655f6d736174223a31383434363734343037333730393535313631352c22736f75726365223a2264656661756c74227d2c226d61782d636f6e63757272656e742d68746c6373223a7b2276616c75655f696e74223a3438332c22736f75726365223a2264656661756c74227d2c226d61782d647573742d68746c632d6578706f737572652d6d736174223a7b2276616c75655f6d736174223a35303030303030302c22736f75726365223a2264656661756c74227d2c226d696e2d63617061636974792d736174223a7b2276616c75655f696e74223a31303030302c22736f75726365223a2264656661756c74222c2264796e616d6963223a747275657d2c2261646472223a7b2276616c7565735f737472223a5b223132372e302e302e313a3337333433225d2c22736f7572636573223a5b22636d646c696e65225d7d2c2262696e642d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d61646472223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c22616e6e6f756e63652d616464722d646973636f7665726564223a7b2276616c75655f737472223a226175746f222c22736f75726365223a2264656661756c74227d2c22616e6e6f756e63652d616464722d646973636f76657265642d706f7274223a7b2276616c75655f696e74223a31393834362c22736f75726365223a2264656661756c74227d2c226f66666c696e65223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c226175746f6c697374656e223a7b2276616c75655f626f6f6c223a66616c73652c22736f75726365223a2264656661756c74227d2c226163636570742d68746c632d746c762d74797065223a7b2276616c7565735f696e74223a5b5d2c22736f7572636573223a5b5d7d2c2264697361626c652d646e73223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c22656e637279707465642d68736d223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c227270632d66696c652d6d6f6465223a7b2276616c75655f737472223a2230363030222c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565223a7b2276616c75655f696e74223a3130302c22736f75726365223a2264656661756c74227d2c22636f6d6d69742d666565726174652d6f6666736574223a7b2276616c75655f696e74223a352c22736f75726365223a2264656661756c74227d2c226d696e2d656d657267656e63792d6d736174223a7b2276616c75655f6d736174223a32353030303030302c22736f75726365223a2264656661756c74227d2c227375626461656d6f6e223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226578706572696d656e74616c2d757067726164652d70726f746f636f6c223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22696e766f696365732d6f6e636861696e2d66616c6c6261636b223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74227d2c22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d2c226c6f672d6c6576656c223a7b2276616c75655f737472223a22696f222c22736f75726365223a22636d646c696e65227d2c226c6f672d74696d657374616d7073223a7b2276616c75655f626f6f6c223a747275652c22736f75726365223a2264656661756c74227d2c226c6f672d707265666978223a7b2276616c75655f737472223a226c696768746e696e67642d3120222c22736f75726365223a22636d646c696e65227d2c226c6f672d66696c65223a7b2276616c7565735f737472223a5b222d222c222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f6c6f67225d2c22736f7572636573223a5b22636d646c696e65222c22636d646c696e65225d7d2c226465762d6e6f2d7265636f6e6e656374223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d6661696c2d6f6e2d7375626461656d6f6e2d6661696c223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c226465762d626974636f696e642d706f6c6c223a7b2276616c75655f696e74223a312c22736f75726365223a22636d646c696e65227d2c226465762d666173742d676f73736970223a7b22736574223a747275652c22736f75726365223a22636d646c696e65227d2c2264697361626c652d6d7070223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f706179227d2c2272656e657061792d64656275672d6d6366223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c2272656e657061792d64656275672d706179666c6f77223a7b22736574223a66616c73652c22736f75726365223a2264656661756c74222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f636c6e2d72656e65706179227d2c22626974636f696e2d64617461646972223a7b2276616c75655f737472223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706375736572223a7b2276616c75655f737472223a2272706375736572222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d72706370617373776f7264223a7b2276616c75655f737472223a2272706370617373222c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d2c22626974636f696e2d727063706f7274223a7b2276616c75655f696e74223a34383336352c22736f75726365223a22636d646c696e65222c22706c7567696e223a222f686f6d652f73686168616e612f776f726b73706163652f6c696768746e696e672f706c7567696e732f62636c69227d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.817234724", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a676574696e666f2330222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130302c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c227761726e696e675f6c696768746e696e67645f73796e63223a225374696c6c206c6f6164696e67206c617465737420626c6f636b732066726f6d20626974636f696e642e222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.817372823", + "source": "plugin-commando", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233234222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.817490128", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2270616964696e766f69636573222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.817534357", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#4\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.817628898", + "source": "lightningd", + "log": "Looking for [autoclean,paidinvoices,num]" + }, + { + "type": "IO_IN", + "time": "0.817803464", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c226d6574686f64223a22" + }, + { + "type": "IO_IN", + "time": "0.817842269", + "source": "jsonrpc#17", + "log": "", + "data": "66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.817883114", + "source": "jsonrpc#17", + "log": "\"init/sql:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.818007372", + "source": "jsonrpc#17", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f73716c3a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.818032025", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652334222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.818076124", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" + }, + { + "type": "IO_IN", + "time": "0.818104530", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "DEBUG", + "time": "0.818150827", + "source": "hsmd", + "log": "Client: Received message 27 from client" + }, + { + "type": "IO_IN", + "time": "0.818196892", + "source": "jsonrpc#18", + "log": "", + "data": "6c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d757365" + }, + { + "type": "IO_IN", + "time": "0.818222089", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572" + }, + { + "type": "IO_IN", + "time": "0.818250835", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c226d6574686f64223a226c69" + }, + { + "type": "IO_IN", + "time": "0.818284245", + "source": "jsonrpc#64", + "log": "", + "data": "72227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.818321830", + "source": "jsonrpc#64", + "log": "\"init/topology:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.818447858", + "source": "jsonrpc#65", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.818484846", + "source": "jsonrpc#65", + "log": "\"init/funder:listconfigs#1\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.818606600", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c226d6574686f64223a226c6973746461746173746f7265222c22706172616d73223a7b226b6579223a5b226175746f636c65616e222c2265787069726564696e766f69636573222c226e756d225d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.818647154", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listdatastore#5\"", + "data": "" + }, + { + "type": "DEBUG", + "time": "0.818754481", + "source": "lightningd", + "log": "Looking for [autoclean,expiredinvoices,num]" + }, + { + "type": "IO_IN", + "time": "0.818857760", + "source": "jsonrpc#18", + "log": "", + "data": "72227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.818898499", + "source": "jsonrpc#18", + "log": "\"init/bookkeeper:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.819022829", + "source": "jsonrpc#62", + "log": "", + "data": "227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819060488", + "source": "jsonrpc#62", + "log": "\"init/keysend:listconfigs#2\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.819179998", + "source": "jsonrpc#44", + "log": "", + "data": "7374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d7573657222" + }, + { + "type": "IO_OUT", + "time": "0.819204063", + "source": "jsonrpc#62", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6b657973656e643a6c697374636f6e666967732332222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.819226992", + "source": "jsonrpc#18", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f626f6f6b6b65657065723a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.819249090", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c6973746461746173746f72652335222c22726573756c74223a7b226461746173746f7265223a5b5d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.819269566", + "source": "jsonrpc#65", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f66756e6465723a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.819291484", + "source": "jsonrpc#64", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f746f706f6c6f67793a6c697374636f6e666967732331222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819347656", + "source": "plugin-sql", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233335222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819424936", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75" + }, + { + "type": "IO_IN", + "time": "0.819457318", + "source": "jsonrpc#44", + "log": "", + "data": "7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819503180", + "source": "jsonrpc#44", + "log": "\"init/spenderp:listconfigs#0\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.819624909", + "source": "jsonrpc#44", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f7370656e646572703a6c697374636f6e666967732330222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819659781", + "source": "plugin-funder", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233236222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819724833", + "source": "plugin-topology", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233237222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819786314", + "source": "plugin-keysend", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233238222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.819847018", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a2253657474696e672075702064617461626173652061742073716c697465333a2f2f6163636f756e74732e73716c69746533227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e67206461746162617365227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233337222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.819888322", + "source": "plugin-bookkeeper", + "log": "Setting up database at sqlite3://accounts.sqlite3" + }, + { + "type": "INFO", + "time": "0.819915614", + "source": "plugin-bookkeeper", + "log": "Creating database" + }, + { + "type": "IO_IN", + "time": "0.819967431", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c226d6574686f64223a226261746368696e67222c22706172616d73223a7b22656e61626c65223a747275657d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.820005674", + "source": "jsonrpc#39", + "log": "\"init/autoclean:batching#6\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.820103023", + "source": "jsonrpc#61", + "log": "", + "data": "736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.820140387", + "source": "jsonrpc#61", + "log": "\"init/chanbackup:listconfigs#3\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.820265776", + "source": "jsonrpc#61", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6368616e6261636b75703a6c697374636f6e666967732333222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_OUT", + "time": "0.820310094", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6261746368696e672336222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.820478143", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c226d6574686f64223a226c697374636f6e66696773222c22706172616d73223a7b22636f6e666967223a22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.820532782", + "source": "jsonrpc#39", + "log": "\"init/autoclean:listconfigs#7\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.820656127", + "source": "jsonrpc#39", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22696e69742f6175746f636c65616e3a6c697374636f6e666967732337222c22726573756c74223a7b22636f6e66696773223a7b22692d70726f6d6973652d746f2d6669782d62726f6b656e2d6170692d75736572223a7b2276616c7565735f737472223a5b5d2c22736f7572636573223a5b5d7d7d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.820711735", + "source": "plugin-chanbackup", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a224368616e6261636b757020496e697469616c6973656421227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a224372656174696e6720456d657267656e6379205265636f76657279227d7d0a0a7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233233222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.820753805", + "source": "plugin-chanbackup", + "log": "Chanbackup Initialised!" + }, + { + "type": "INFO", + "time": "0.820783154", + "source": "plugin-chanbackup", + "log": "Creating Emergency Recovery" + }, + { + "type": "IO_IN", + "time": "0.820835123", + "source": "plugin-spenderp", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233334222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.821055588", + "source": "plugin-autoclean", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a696e6974233232222c22726573756c74223a7b7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.821288690", + "source": "connectd", + "log": "REPLY WIRE_CONNECTD_ACTIVATE_REPLY with 0 fds" + }, + { + "type": "DEBUG", + "time": "0.821314642", + "source": "lightningd", + "log": "io_break: connect_activate_done" + }, + { + "type": "DEBUG", + "time": "0.821333146", + "source": "lightningd", + "log": "io_loop: connectd_activate" + }, + { + "type": "INFO", + "time": "0.821438119", + "source": "lightningd", + "log": "--------------------------------------------------" + }, + { + "type": "INFO", + "time": "0.821461362", + "source": "lightningd", + "log": "Server started with public key 0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518, alias JUNIORBEAM-v23.11-415-gd120eba (color #0266e4) and lightningd v23.11-415-gd120eba" + }, + { + "type": "IO_OUT", + "time": "0.821512250", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#39\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.828094811", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233339222c22726573756c74223a7b22626c6f636b68617368223a2231666134643063303866333435343139656631323136333836316239386235383630666339353737383764373463636564633930363134326138626439646531222c22626c6f636b223a22303030303030323032616430663536626130663031336438306130393039353163343335383336613134393138353464653064653766613331346233316463326438326565373334383534323663636232333439383133383036323938313733366433623863613865393332313931646532613736353961616362656438626338643136333066363262646464373635666666663766323030353030303030303031303230303030303030303031303130303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030666666666666666630333031363530306666666666666666303230306632303532613031303030303030313630303134356265613930316666616564326166306363356666323930363239336134396566313336323062343030303030303030303030303030303032363661323461613231613965646532663631633366373164316465666433666139393964666133363935333735356336393036383937393939363262343862656264383336393734653863663930313230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.828382709", + "source": "lightningd", + "log": "Adding block 101: 1fa4d0c08f345419ef12163861b98b5860fc957787d74ccedc906142a8bd9de1" + }, + { + "type": "IO_OUT", + "time": "0.828793857", + "source": "lightningd", + "log": "\"cln:getrawblockbyheight#40\"", + "data": "" + }, + { + "type": "IO_IN", + "time": "0.833772728", + "source": "plugin-bcli", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a22636c6e3a676574726177626c6f636b6279686569676874233430222c22726573756c74223a7b22626c6f636b68617368223a6e756c6c2c22626c6f636b223a6e756c6c7d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.835789616", + "source": "gossipd", + "log": "REPLY WIRE_GOSSIPD_NEW_BLOCKHEIGHT_REPLY with 0 fds" + }, + { + "type": "IO_IN", + "time": "0.837611632", + "source": "plugin-bookkeeper", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a226163636f756e742077616c6c6574206861732062616c616e636520306d736174227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a22696e666f222c226d657373616765223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d7d0a0a7b226a736f6e727063223a22322e30222c226d6574686f64223a226c6f67222c22706172616d73223a7b226c6576656c223a226465627567222c226d657373616765223a22536e617073686f742062616c616e6365732075706461746564227d7d0a0a" + }, + { + "type": "DEBUG", + "time": "0.837682337", + "source": "plugin-bookkeeper", + "log": "account wallet has balance 0msat" + }, + { + "type": "INFO", + "time": "0.837714852", + "source": "plugin-bookkeeper", + "log": "account wallet not found, adding" + }, + { + "type": "DEBUG", + "time": "0.837740359", + "source": "plugin-bookkeeper", + "log": "Snapshot balances updated" + }, + { + "type": "IO_IN", + "time": "0.990297547", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a205b22676574696e666f225d2c20226964" + }, + { + "type": "IO_IN", + "time": "0.990512698", + "source": "jsonrpc#66", + "log": "", + "data": "223a20227079746573743a636865636b2331227d" + }, + { + "type": "IO_IN", + "time": "0.990883290", + "source": "jsonrpc#66", + "log": "\"pytest:check#1\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.991384456", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2331222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a22676574696e666f227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.992281568", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022676574696e666f222c2022706172616d73223a207b7d2c20226964223a2022707974" + }, + { + "type": "IO_IN", + "time": "0.992462146", + "source": "jsonrpc#66", + "log": "", + "data": "6573743a676574696e666f2332227d" + }, + { + "type": "IO_IN", + "time": "0.992679235", + "source": "jsonrpc#66", + "log": "\"pytest:getinfo#2\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.993571405", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a676574696e666f2332222c22726573756c74223a7b226964223a22303236366534353938643164336334313566353732613834383838333062363066376537343465643932333565623062316261393332383362333135633033353138222c22616c696173223a224a554e494f524245414d2d7632332e31312d3431352d6764313230656261222c22636f6c6f72223a22303236366534222c226e756d5f7065657273223a302c226e756d5f70656e64696e675f6368616e6e656c73223a302c226e756d5f6163746976655f6368616e6e656c73223a302c226e756d5f696e6163746976655f6368616e6e656c73223a302c2261646472657373223a5b5d2c2262696e64696e67223a5b7b2274797065223a2269707634222c2261646472657373223a223132372e302e302e31222c22706f7274223a33373334337d5d2c2276657273696f6e223a227632332e31312d3431352d6764313230656261222c22626c6f636b686569676874223a3130312c226e6574776f726b223a2272656774657374222c22666565735f636f6c6c65637465645f6d736174223a302c226c696768746e696e672d646972223a222f746d702f6c74657374732d71347666386337622f746573745f6765746c6f675f312f6c696768746e696e672d312f72656774657374222c226f75725f6665617475726573223a7b22696e6974223a223038613030303061386135393631222c226e6f6465223a223838613030303061386135393631222c226368616e6e656c223a22222c22696e766f696365223a223032303030303032303234313030227d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.996717909", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b22636f6d6d616e645f746f5f636865" + }, + { + "type": "IO_IN", + "time": "0.996914835", + "source": "jsonrpc#66", + "log": "", + "data": "636b223a20226765746c6f67227d2c20226964223a20227079746573743a636865636b2333227d" + }, + { + "type": "IO_IN", + "time": "0.997144154", + "source": "jsonrpc#66", + "log": "\"pytest:check#3\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.997671729", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2333222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a226765746c6f67227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "0.998536775", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a20226765746c6f67222c2022706172616d73223a207b7d2c20226964223a202270797465" + }, + { + "type": "IO_IN", + "time": "0.998716344", + "source": "jsonrpc#66", + "log": "", + "data": "73743a6765746c6f672334227d" + }, + { + "type": "IO_IN", + "time": "0.999081316", + "source": "jsonrpc#66", + "log": "\"pytest:getlog#4\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.999484044", + "source": "jsonrpc#66", + "log": "Suppressing logging of getlog command", + "data": "" + }, + { + "type": "IO_OUT", + "time": "0.999707821", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a6765746c6f672334222c22726573756c74223a7b22637265617465645f6174223a22313730383634353635382e313835373037353636222c2262797465735f75736564223a39343234312c2262797465735f6d6178223a31303438353736302c226c6f67223a5b7b2274797065223a22494e464f222c2274696d65223a22302e303132303935333232222c22736f75726365223a226c696768746e696e6764222c226c6f67223a227632332e31312d3431352d6764313230656261227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a3135377d2c7b2274797065223a22494e464f222c2274696d65223a22302e363738333032363034222c22736f75726365223a226c696768746e696e6764222c226c6f67223a224372656174696e67206461746162617365227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31307d2c7b2274797065223a22494e464f222c2274696d65223a22302e373739303130393033222c22736f75726365223a22706c7567696e2d62636c69222c226c6f67223a22626974636f696e2d636c6920696e697469616c697a656420616e6420636f6e6e656374656420746f20626974636f696e642e227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a3139397d2c7b2274797065223a22494e464f222c2274696d65223a22302e383139393135363134222c22736f75726365223a22706c7567696e2d626f6f6b6b6565706572222c226c6f67223a224372656174696e67206461746162617365227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31317d2c7b2274797065223a22494e464f222c2274696d65223a22302e383230373833313534222c22736f75726365223a22706c7567696e2d6368616e6261636b7570222c226c6f67223a224372656174696e6720456d657267656e6379205265636f76657279227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a357d2c7b2274797065223a22494e464f222c2274696d65223a22302e383231343338313139222c22736f75726365223a226c696768746e696e6764222c226c6f67223a222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d227d2c7b2274797065223a22494e464f222c2274696d65223a22302e383231343631333632222c22736f75726365223a226c696768746e696e6764222c226c6f67223a2253657276657220737461727465642077697468207075626c6963206b6579203032363665343539386431643363343135663537326138343838383330623630663765373434656439323335656230623162613933323833623331356330333531382c20616c696173204a554e494f524245414d2d7632332e31312d3431352d67643132306562612028636f6c6f7220233032363665342920616e64206c696768746e696e6764207632332e31312d3431352d6764313230656261227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a387d2c7b2274797065223a22494e464f222c2274696d65223a22302e383337373134383532222c22736f75726365223a22706c7567696e2d626f6f6b6b6565706572222c226c6f67223a226163636f756e742077616c6c6574206e6f7420666f756e642c20616464696e67227d2c7b2274797065223a22534b4950504544222c226e756d5f736b6970706564223a31377d5d7d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.010151855", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a2022636865636b222c2022706172616d73223a207b226c6576656c223a2022696f222c20" + }, + { + "type": "IO_IN", + "time": "1.010349120", + "source": "jsonrpc#66", + "log": "", + "data": "22636f6d6d616e645f746f5f636865636b223a20226765746c6f67227d2c20226964223a20227079746573743a636865636b2335227d" + }, + { + "type": "IO_IN", + "time": "1.010586771", + "source": "jsonrpc#66", + "log": "\"pytest:check#5\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.011299257", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a22322e30222c226964223a227079746573743a636865636b2335222c22726573756c74223a7b22636f6d6d616e645f746f5f636865636b223a226765746c6f67227d7d0a0a" + }, + { + "type": "IO_IN", + "time": "1.012109511", + "source": "jsonrpc#66", + "log": "", + "data": "7b226a736f6e727063223a2022322e30222c20226d6574686f64223a20226765746c6f67222c2022706172616d73223a207b226c6576656c223a2022696f227d" + }, + { + "type": "IO_IN", + "time": "1.012276818", + "source": "jsonrpc#66", + "log": "", + "data": "2c20226964223a20227079746573743a6765746c6f672336227d" + }, + { + "type": "IO_IN", + "time": "1.012462969", + "source": "jsonrpc#66", + "log": "\"pytest:getlog#6\"", + "data": "" + }, + { + "type": "IO_OUT", + "time": "1.012963236", + "source": "jsonrpc#66", + "log": "Suppressing logging of getlog command", + "data": "" + } + ] + } + ], + "author": [ + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-getroute.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "getroute", + "title": "Command for routing a payment (low-level)", + "description": [ + "The **getroute** RPC command attempts to find the best route for the payment of *amount_msat* to lightning node *id*, such that the payment will arrive at *id* with *cltv*.", + "", + "There are two considerations for how good a route is: how low the fees are, and how long your payment will get stuck in a delayed output if a node goes down during the process. ." + ], + "request": { + "required": [ + "id", + "amount_msat", + "riskfactor" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "Node pubkey to find the best route for the payment." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount to send. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. The 0 value is special: it ignores any *htlc_minimum_msat* setting on channels, and simply returns a possible route (if any) which is useful for simple probing." + ] + }, + "riskfactor": { + "type": "u64", + "description": [ + "A non-negative floating-point field controls this tradeoff; it is the annual cost of your funds being stuck (as a percentage). For example, if you thought the convenience of keeping your funds liquid (not stuck) was worth 20% per annum interest, *riskfactor* would be 20. If you didn't care about risk, *riskfactor* would be zero." + ] + }, + "cltv": { + "type": "u32", + "description": [ + "Cltv-blocks to spare." + ], + "default": "9" + }, + "fromid": { + "type": "pubkey", + "description": [ + "The node to start the route from." + ], + "default": "this node" + }, + "fuzzpercent": { + "type": "u32", + "description": [ + "Used to distort fees to provide some randomization to the route generated, but it was not properly implemented and is ignored." + ] + }, + "exclude": { + "type": "array", + "description": [ + "A JSON array of short-channel-id/direction (e.g. ['564334x877x1/0', '564195x1292x0/1' ]) or node-id which should be excluded from consideration for routing. Note if the source or destination is excluded, the command result is undefined." + ], + "default": "not to exclude any channels or nodes", + "items": { + "type": "string" + } + }, + "maxhops": { + "type": "u32", + "description": [ + "The maximum number of channels to return." + ], + "default": "20" + } + } + }, + "response": { + "required": [ + "route" + ], + "properties": { + "route": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "direction", + "channel", + "amount_msat", + "delay", + "style" + ], + "additionalProperties": false, + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The node at the end of this hop." + ] + }, + "channel": { + "type": "short_channel_id", + "description": [ + "The channel joining these nodes." + ] + }, + "direction": { + "type": "u32", + "description": [ + "0 if this channel is traversed from lesser to greater **id**, otherwise 1." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount expected by the node at the end of this hop." + ] + }, + "delay": { + "type": "u32", + "description": [ + "The total CLTV expected by the node at the end of this hop." + ] + }, + "style": { + "type": "string", + "description": [ + "The features understood by the destination node." + ], + "enum": [ + "tlv" + ] + } + } + } + } + }, + "post_return_value_notes": [ + "The final *id* will be the destination *id* given in the input. The difference between the first *amount_msat* minus the *amount_msat* given in the input is the fee (assuming the first hop is free). The first *delay* is the very worst case timeout for the payment failure, in blocks." + ] + }, + "riskfactor_effect_on_routing": [ + "The risk factor is treated as if it were an additional fee on the route, for the purposes of comparing routes.", + "", + "The formula used is the following approximation:", + "", + " risk-fee = amount x blocks-timeout x per-block-cost", + "", + "We are given a *riskfactor* expressed as a percentage. There are 52596 blocks per year, thus *per-block-cost* is *riskfactor* divided by 5,259,600.", + "", + "The final result is:", + "", + " risk-fee = amount x blocks-timeout x riskfactor / 5259600", + "", + "Here are the risk fees in millisatoshis, using various parameters. I assume a channel charges the default of 1000 millisatoshis plus 1 part-per-million. Common to_self_delay values on the network at 14 and 144 blocks.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "
Amount (msat)RiskfactorDelayRisk FeeRoute fee

10,000

1

14

0

1001

10,000

10

14

0

1001

10,000

100

14

2

1001

10,000

1000

14

26

1001

1,000,000

1

14

2

1001

1,000,000

10

14

26

1001

1,000,000

100

14

266

1001

1,000,000

1000

14

2661

1001

100,000,000

1

14

266

1100

100,000,000

10

14

2661

1100

100,000,000

100

14

26617

1100

100,000,000

1000

14

266179

1100

10,000

1

144

0

1001

10,000

10

144

2

1001

10,000

100

144

27

1001

10,000

1000

144

273

1001

1,000,000

1

144

27

1001

1,000,000

10

144

273

1001

1,000,000

100

144

2737

1001

1,000,000

1000

144

27378

1001

100,000,000

1

144

2737

1100

100,000,000

10

144

27378

1100

100,000,000

100

144

273785

1100

100,000,000

1000

144

2737850

1100

" + ], + "recommended_riskfactor_values": [ + "The default *fuzz* factor is 5%, so as you can see from the table above, that tends to overwhelm the effect of *riskfactor* less than about 5.", + "", + "1 is a conservative value for a stable lightning network with very few failures.", + "", + "1000 is an aggressive value for trying to minimize timeouts at all costs.", + "", + "The default for lightning-pay(7) is 10, which starts to become a major factor for larger amounts, and is basically ignored for tiny ones." + ], + "example_json_request": [ + { + "id": "example:getroute#1", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#2", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#3", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#4", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#5", + "method": "getroute", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#6", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#7", + "method": "getroute", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#8", + "method": "getroute", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 50000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#9", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#10", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#11", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#12", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#13", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#14", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#15", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 1, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#16", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#17", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": "50000sat", + "riskfactor": 10 + } + }, + { + "id": "example:getroute#18", + "method": "getroute", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": "50000sat", + "riskfactor": 10 + } + }, + { + "id": "example:getroute#19", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#20", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 1, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#21", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 1, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#22", + "method": "getroute", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 1, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + }, + { + "id": "example:getroute#23", + "method": "getroute", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount_msat": 1, + "riskfactor": 1, + "cltv": 9, + "fromid": null, + "fuzzpercent": null, + "exclude": null, + "maxhops": null + } + } + ], + "example_json_response": [ + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x3x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "channel": "110x1x0", + "direction": 1, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x3x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "channel": "110x1x0", + "direction": 1, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 50001002, + "delay": 21, + "style": "tlv" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50000501, + "delay": 15, + "style": "tlv" + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100001001, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "105x1x0", + "direction": 0, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100001001, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "105x1x0", + "direction": 0, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100001001, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "105x1x0", + "direction": 0, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100001001, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "105x1x0", + "direction": 0, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 2, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 1, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100001001, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 100000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50051000, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 50051000, + "delay": 15, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 50000000, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 100, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 1, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 1, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 1, + "delay": 9, + "style": "tlv" + } + ] + }, + { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 3, + "delay": 21, + "style": "tlv" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "103x1x0", + "direction": 0, + "amount_msat": 2, + "delay": 15, + "style": "tlv" + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel": "103x2x0", + "direction": 0, + "amount_msat": 1, + "delay": 9, + "style": "tlv" + } + ] + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-pay(7)", + "lightning-sendpay(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-help.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "help", + "title": "Command to return all information about RPC commands.", + "description": [ + "The **help** is a RPC command which is possible consult all information about the RPC commands, or a specific command if *command* is given.", + "", + "Note that the lightning-cli(1) tool will prefer to list a man page when a specific *command* is specified, and will only return the JSON if the man page is not found." + ], + "request": { + "required": [], + "properties": { + "command": { + "type": "string", + "description": [ + "Command to get information about." + ] + } + } + }, + "response": { + "required": [ + "help" + ], + "properties": { + "help": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "command", + "category", + "description", + "verbose" + ], + "properties": { + "command": { + "type": "string", + "description": [ + "The command." + ] + }, + "category": { + "type": "string", + "description": [ + "The category for this command (useful for grouping)." + ] + }, + "description": { + "type": "string", + "description": [ + "A one-line description of the purpose of this command." + ] + }, + "verbose": { + "type": "string", + "description": [ + "A full description of this command (including whether it's deprecated)." + ] } - ] + } + } + }, + "format-hint": {} + } + }, + "example_json_request": [ + { + "id": "example:help#1", + "method": "help", + "params": {} + }, + { + "id": "example:help#2", + "method": "help", + "params": { + "command": "testmethod" + } + }, + { + "id": "example:help#3", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#4", + "method": "help", + "params": { + "command": "testmethod" + } + }, + { + "id": "example:help#5", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#6", + "method": "help", + "params": { + "command": "hello" + } + }, + { + "id": "example:help#7", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#8", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#9", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#10", + "method": "help", + "params": { + "command": "pay" + } + }, + { + "id": "example:help#11", + "method": "help", + "params": [ + "developer" + ] + }, + { + "id": "example:help#12", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#13", + "method": "help", + "params": { + "command": "testrpc-deprecated" + } + }, + { + "id": "example:help#14", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#15", + "method": "help", + "params": { + "command": null + } + }, + { + "id": "example:help#16", + "method": "help", + "params": { + "command": "dev" + } + }, + { + "id": "example:help#17", + "method": "help", + "params": { + "command": "dev" + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "example_json_response": [ + { + "help": [ + { + "command": "autocleaninvoice [cycle_seconds] [expired_by]", + "category": "plugin", + "description": [ + "Set up autoclean of expired invoices. ." + ], + "verbose": "Perform cleanup every {cycle_seconds} (default 3600), or disable autoclean if 0. Clean up expired invoices that have expired for {expired_by} seconds (default 86400). " + } + ] + }, + { + "help": [ + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": [ + "Verify a digital signature {zbase} of {message} signed with {pubkey} ." + ], + "verbose": "HELP! Please contribute a description for this json_command! " + } + ] + }, + { + "help": [ + { + "command": "testmethod ", + "category": "plugin", + "description": "This is a test", + "verbose": "This is a test" + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bye name", + "category": "plugin", + "description": "This methods requires {name} to be set by the caller !", + "verbose": "This methods requires {name} to be set by the caller !" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "hello [name]", + "category": "plugin", + "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", + "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "hello [name]", + "category": "plugin", + "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", + "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bye name", + "category": "plugin", + "description": "This methods requires {name} to be set by the caller !", + "verbose": "This methods requires {name} to be set by the caller !" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "cowsay ", + "category": "plugin", + "description": "Have a cow, man!", + "verbose": "Have a cow, man!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "hello [name]", + "category": "plugin", + "description": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`.", + "verbose": "This is the documentation string for the hello-function. It gets reported as the description when registering the function as a method with `lightningd`." + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "cowsay ", + "category": "plugin", + "description": "Have a cow, man!", + "verbose": "Have a cow, man!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + } + ], + "format-hint": "simple" + }, + { + "configs": { + "developer": { + "set": true, + "source": "cmdline" + } + } + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "helloworld [name]", + "category": "plugin", + "description": "Say hello to the world.", + "verbose": "Returns 'hello world' by default, 'hello {name}' if the name option was set, and 'hello {name}' if the name parameter was passed (takes over the option)" + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "testrpc ", + "category": "plugin", + "description": "Makes a simple getinfo call, to test rpc socket.", + "verbose": "" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "testrpc-deprecated (DEPRECATED!) ", + "category": "plugin", + "description": "Makes a simple getinfo call, to test rpc socket.", + "verbose": "" + } + ], + "format-hint": "simple" + }, + { + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, + { + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, + { + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, + { + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, + { + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, + { + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, + { + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, + { + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." } - } - } - }, - "errors": [ - "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." - ], - "example_json_request": [ - { - "id": "example:listpeers#1", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#2", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#3", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#4", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#5", - "method": "listpeers", - "params": { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "level": null - } - }, - { - "id": "example:listpeers#6", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#7", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#8", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#9", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#10", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#11", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#12", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#13", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#14", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#15", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#16", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#17", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#18", - "method": "listpeers", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "level": null - } - }, - { - "id": "example:listpeers#19", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#20", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#21", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - }, - { - "id": "example:listpeers#22", - "method": "listpeers", - "params": { - "id": null, - "level": null - } + ], + "format-hint": "simple" }, { - "id": "example:listpeers#23", - "method": "listpeers", - "params": { - "id": null, - "level": null - } - } - ], - "example_json_response": [ - { - "peers": [ + "help": [ + { + "command": "addgossip message", + "category": "utility", + "description": "Inject gossip {message} into gossipd", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "addpsbtoutput satoshi [initialpsbt] [locktime] [destination]", + "category": "bitcoin", + "description": "Create a PSBT (or modify existing {initialpsbt}) with an output receiving {satoshi} amount.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "autoclean-once subsystem age", + "category": "plugin", + "description": "Perform a single run of autocleaning on one subsystem", + "verbose": "Requires {subsystem} and {age}" + }, + { + "command": "autoclean-status [subsystem]", + "category": "plugin", + "description": "Show status of autocleaning", + "verbose": "Takes optional {subsystem}" + }, + { + "command": "batching enable", + "category": "utility", + "description": "Database transaction batching {enable}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "bkpr-channelsapy [start_time] [end_time]", + "category": "plugin", + "description": "Stats on channel fund usage", + "verbose": "Print out stats on chanenl fund usage" + }, + { + "command": "bkpr-dumpincomecsv csv_format [csv_file] [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "Print out all the income events to a csv file in {csv_format", + "verbose": "Dump income statment data to {csv_file} in {csv_format}. Optionally, {consolidate_fee}s into single entries (default: true)" + }, + { + "command": "bkpr-inspect account", + "category": "plugin", + "description": "See the current on-chain graph of an {account}", + "verbose": "Prints out the on-chain footprint of a given {account}." + }, + { + "command": "bkpr-listaccountevents [account]", + "category": "plugin", + "description": "List all events for an {account}", + "verbose": "List all events for an {account} (or all accounts, if no account specified) in {format}. Sorted by timestamp" + }, + { + "command": "bkpr-listbalances ", + "category": "plugin", + "description": "List current account balances", + "verbose": "List of current accounts and their balances" + }, + { + "command": "bkpr-listincome [consolidate_fees] [start_time] [end_time]", + "category": "plugin", + "description": "List all income impacting events", + "verbose": "List all events for this node that impacted income" + }, + { + "command": "blacklistrune [start] [end]", + "category": "utility", + "description": "Blacklist a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "blindedpath ids pathsecret", + "category": "utility", + "description": "Create blinded path to us along {ids} (pubkey array ending in our id)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "check command_to_check", + "category": "utility", + "description": "Don't run {command_to_check}, just verify parameters.", + "verbose": "check command_to_check [parameters...]\n" + }, + { + "command": "checkmessage message zbase [pubkey]", + "category": "utility", + "description": "Verify a digital signature {zbase} of {message} signed with {pubkey}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "checkrune rune [nodeid] [method] [params]", + "category": "utility", + "description": "Checks rune for validity with required {rune} and optional {nodeid}, {method}, {params} and returns {valid: true} or error message", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "close id [unilateraltimeout] [destination] [fee_negotiation_step] [wrong_funding] [force_lease_closed] [feerange]", + "category": "channels", + "description": "Close the channel with {id} (either peer ID, channel ID, or short channel ID). Force a unilateral close after {unilateraltimeout} seconds (default 48h). If {destination} address is provided, will be used as output address.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "commando peer_id method [params] [rune] [filter]", + "category": "plugin", + "description": "Send a commando message to a direct peer, wait for response", + "verbose": "Sends {peer_id} {method} with optional {params} and {rune}" + }, + { + "command": "commando-blacklist [start] [end]", + "category": "plugin", + "description": "Blacklist a rune or range of runes by unique id", + "verbose": "Takes an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}" + }, + { + "command": "commando-listrunes [rune]", + "category": "plugin", + "description": "List runes we have created earlier", + "verbose": "Takes an optional {rune} and returns list of {rune}" + }, + { + "command": "commando-rune [rune] [restrictions]", + "category": "plugin", + "description": "Create or restrict a rune", + "verbose": "Takes an optional {rune} with optional {restrictions} and returns {rune}" + }, + { + "command": "connect id [host] [port]", + "category": "network", + "description": "Connect to {id} at {host} (which can end in ':port' if not default). {id} can also be of the form id@host", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoice invstring label preimage", + "category": "payment", + "description": "Lowlevel command to sign and create invoice {invstring}, resolved with {preimage}, using unique {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createinvoicerequest bolt12 savetodb [exposeid] [recurrence_label] [single_use]", + "category": "payment", + "description": "Create and sign an invoice_request {bolt12}, with {recurrence_label} if recurring, filling in payer_info and payer_key.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createoffer bolt12 [label] [single_use]", + "category": "payment", + "description": "Create and sign an offer {bolt12} with and optional {label}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createonion hops assocdata [session_key] [onion_size]", + "category": "payment", + "description": "Create an onion going through the provided nodes, each with its own payload", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "createrune [rune] [restrictions]", + "category": "utility", + "description": "Create or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastore key [string] [hex] [mode] [generation]", + "category": "utility", + "description": "Add a {key} and {hex}/{string} data to the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "datastoreusage [key]", + "category": "utility", + "description": "List the datastore usage, starting from an optional {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "decode string", + "category": "plugin", + "description": "Decode {string} message, returning {type} and information.", + "verbose": "Decode {string} message, returning {type} and information." + }, + { + "command": "decodepay bolt11 [description]", + "category": "payment", + "description": "Decode {bolt11}, using {description} if necessary", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deldatastore key [generation]", + "category": "utility", + "description": "Remove a {key} from the data store", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delforward in_channel in_htlc_id status", + "category": "channels", + "description": "Delete a forwarded payment by [in_channel], [in_htlc_id] and [status]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delinvoice label status [desconly]", + "category": "payment", + "description": "Delete unpaid invoice {label} with {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "delpay payment_hash status [partid] [groupid]", + "category": "payment", + "description": "Delete payment with {payment_hash} and {status}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "deprecations enable", + "category": "utility", + "description": "Set/unset deprecated APIs on this JSON connection (for developer testing)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "destroyrune [start] [end]", + "category": "utility", + "description": "Destroy a rune or range of runes by taking an optional {start} and an optional {end} and returns {blacklist} array containing {start}, {end}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" + }, + { + "command": "dev-fail id", + "category": "developer", + "description": "Fail with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-feerate id feerate", + "category": "developer", + "description": "Set feerate for {id} to {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-forget-channel id [short_channel_id] [channel_id] [force]", + "category": "developer", + "description": "Forget the channel with peer {id}, ignore UTXO check with {force}='true'.", + "verbose": "Forget the channel with peer {id}. Checks if the channel is still active by checking its funding transaction. Check can be ignored by setting {force} to 'true'" + }, + { + "command": "dev-gossip-set-time time", + "category": "developer", + "description": "Ask gossipd to update the current time.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-ignore-htlcs id ignore", + "category": "developer", + "description": "Set ignoring incoming HTLCs for peer {id} to {ignore}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-listaddrs [bip32_max_index]", + "category": "developer", + "description": "Show addresses list up to derivation {index} (default is the last bip32 index)", + "verbose": "Show addresses of your internal wallet. Use `newaddr` to generate a new address." + }, + { + "command": "dev-memdump ", + "category": "developer", + "description": "Show memory objects currently in use", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-memleak ", + "category": "developer", + "description": "Show unreferenced memory objects", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-queryrates id amount request_amt [commitment_feerate] [funding_feerate]", + "category": "channels", + "description": "Ask a peer what their contribution and liquidity rates are for the given {amount} and {requested_amt}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-quiesce id", + "category": "developer", + "description": "Initiate quiscence protocol with peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-reenable-commit id", + "category": "developer", + "description": "Re-enable the commit timer on peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-report-fds ", + "category": "developer", + "description": "Ask connectd to report status of all its open files.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-rescan-outputs ", + "category": "developer", + "description": "Synchronize the state of our funds with bitcoind", + "verbose": "For each output stored in the internal wallet ask `bitcoind` whether we are in sync with its state (spent vs. unspent)" + }, + { + "command": "dev-set-max-scids-encode-size max", + "category": "developer", + "description": "Set {max} bytes of short_channel_ids per reply_channel_range", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-sign-last-tx id", + "category": "developer", + "description": "Sign and show the last commitment transaction with peer {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "dev-suppress-gossip ", + "category": "developer", + "description": "Stop this node from sending any more gossip.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableinvoicerequest invreq_id", + "category": "payment", + "description": "Disable invoice_request {invreq_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disableoffer offer_id", + "category": "payment", + "description": "Disable offer {offer_id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "disconnect id [force]", + "category": "network", + "description": "Disconnect from {id} that has previously been connected to using connect; with {force} set, even if it has a current channel", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "emergencyrecover ", + "category": "plugin", + "description": "Populates the DB with stub channels", + "verbose": "returns stub channel-id's on completion" + }, + { + "command": "estimatefees ", + "category": "plugin", + "description": "Get the urgent, normal and slow Bitcoin feerates as sat/kVB.", + "verbose": "" + }, + { + "command": "feerates style", + "category": "bitcoin", + "description": "Return feerate estimates, either satoshi-per-kw ({style} perkw) or satoshi-per-kb ({style} perkb).", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel id amount [feerate] [announce] [minconf] [utxos] [push_msat] [close_to] [request_amt] [compact_lease] [mindepth] [reserve] [channel_type]", + "category": "plugin", + "description": "Fund channel with {id} using {amount} (or 'all'), at optional {feerate}. Only use outputs that have {minconf} confirmations.", + "verbose": "Initiaties a channel open with node 'id'. Must be connected to the node and have enough funds available at the requested minimum confirmation depth (minconf)" + }, + { + "command": "fundchannel_cancel id", + "category": "channels", + "description": "Cancel inflight channel establishment with peer {id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_complete id psbt", + "category": "channels", + "description": "Complete channel establishment with peer {id} for funding transactionwith {psbt}. Returns true on success, false otherwise.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "fundchannel_start id amount [feerate] [announce] [close_to] [push_msat] [mindepth] [reserve] [channel_type]", + "category": "channels", + "description": "Start fund channel with {id} using {amount} satoshis. Returns a bech32 address to use as an output for a funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "funderupdate [policy] [policy_mod] [leases_only] [min_their_funding_msat] [max_their_funding_msat] [per_channel_min_msat] [per_channel_max_msat] [reserve_tank_msat] [fuzz_percent] [fund_probability] [lease_fee_base_msat] [lease_fee_basis] [funding_weight] [channel_fee_max_base_msat] [channel_fee_max_proportional_thousandths]", + "category": "plugin", + "description": "Configuration for dual-funding settings.", + "verbose": "Update current settings. Modifies how node reacts to incoming channel open requests. Responds with list of current configs." + }, + { + "command": "fundpsbt satoshi feerate startweight [minconf] [reserve] [locktime] [min_witness_weight] [excess_as_change] [nonwrapped] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using enough utxos to allow an output of {satoshi} at {feerate}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getchaininfo last_height", + "category": "plugin", + "description": "Get the chain id, the header count, the block count, and whether this is IBD.", + "verbose": "" + }, + { + "command": "getinfo ", + "category": "utility", + "description": "Show information about this node", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getlog [level]", + "category": "utility", + "description": "Show logs, with optional log {level} (info|unusual|debug|io)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "getrawblockbyheight height", + "category": "plugin", + "description": "Get the bitcoin block at a given height", + "verbose": "" + }, + { + "command": "getroute id amount_msat riskfactor [cltv] [fromid] [fuzzpercent] [exclude] [maxhops]", + "category": "plugin", + "description": "Primitive route command", + "verbose": "Show route to {id} for {msatoshi}, using {riskfactor} and optional {cltv} (default 9). If specified search from {fromid} otherwise use this node as source. Randomize the route with up to {fuzzpercent} (ignored)). {exclude} an array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or node-id from consideration. Set the {maxhops} the route can take (default 20)." + }, + { + "command": "getutxout txid vout", + "category": "plugin", + "description": "Get information about an output, identified by a {txid} an a {vout}", + "verbose": "" + }, + { + "command": "help [command]", + "category": "utility", + "description": "List available commands, or give verbose help on one {command}.", + "verbose": "help [command]\nWithout [command]:\n Outputs an array of objects with 'command' and 'description'\nWith [command]:\n Give a single object containing 'verbose', which completely describes\n the command inputs and outputs." + }, + { + "command": "invoice amount_msat label description [expiry] [fallbacks] [preimage] [exposeprivatechannels] [cltv] [deschashonly] [dev-routes]", + "category": "payment", + "description": "Create an invoice for {msatoshi} with {label} and {description} with optional {expiry} seconds (default 1 week), optional {fallbacks} address list(default empty list) and optional {preimage} (default autogenerated)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "invoicerequest amount description [issuer] [label] [absolute_expiry] [single_use]", + "category": "plugin", + "description": "Create an invoice_request to send money", + "verbose": "Create an invoice_request to pay invoices of {amount} with {description}, optional {issuer}, internal {label}, and {absolute_expiry}" + }, + { + "command": "invokerune [rune] [restrictions]", + "category": "utility", + "description": "Invoke or restrict an optional {rune} with optional {restrictions} and returns {rune}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "keysend destination amount_msat [label] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [extratlvs] [routehints] [dev_use_shadow]", + "category": "plugin", + "description": "Send a payment without an invoice to a node", + "verbose": "Send an unsolicited payment of {amount} to {destination}, by providing the recipient the necessary information to claim the payment" + }, + { + "command": "listchannels [short_channel_id] [source] [destination]", + "category": "plugin", + "description": "List all known channels in the network", + "verbose": "Show channels for {short_channel_id}, {source} or {destination} (or all known channels, if not specified)" + }, + { + "command": "listclosedchannels [id]", + "category": "network", + "description": "Show historical (dead) channels.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listconfigs [config]", + "category": "utility", + "description": "List all configuration options, or with [config], just that one.", + "verbose": "listconfigs [config]\nOutputs an object, with each field a config options\n(Option names which start with # are comments)\nWith [config], object only has that field" + }, + { + "command": "listdatastore [key]", + "category": "utility", + "description": "List the datastore, optionally only {key}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listforwards [status] [in_channel] [out_channel] [index] [start] [limit]", + "category": "channels", + "description": "List all forwarded payments and their information optionally filtering by [status], [in_channel] and [out_channel]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listfunds [spent]", + "category": "utility", + "description": "Show available funds from the internal wallet", + "verbose": "Returns a list of funds (outputs) that can be used by the internal wallet to open new channels or can be withdrawn, using the `withdraw` command, to another wallet. Includes spent outputs if {spent} is set to true." + }, + { + "command": "listhtlcs [id]", + "category": "channels", + "description": "List all known HTLCS (optionally, just for [id] (scid or channel id))", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listincoming ", + "category": "plugin", + "description": "List the channels incoming from our direct peers", + "verbose": "Used by invoice code to select peers for routehints" + }, + { + "command": "listinvoicerequests [invreq_id] [active_only]", + "category": "payment", + "description": "If {invreq_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listinvoices [label] [invstring] [payment_hash] [offer_id] [index] [start] [limit]", + "category": "payment", + "description": "Show invoice matching {label}, {invstring}, {payment_hash} or {offerid} (or all, if no query parameter specified)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "listnodes [id]", + "category": "plugin", + "description": "List all known nodes in the network", + "verbose": "Show node {id} (or all known nods, if not specified)" + }, + { + "command": "listoffers [offer_id] [active_only]", + "category": "payment", + "description": "If {offer_id} is set, show that. Otherwise, if {showdisabled} is true, list all, otherwise just non-disabled ones.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:44619" - ], - "features": "08a0000a0a69a2" - } - ] - }, - { - "peers": [ + "command": "listpays [bolt11] [payment_hash] [status]", + "category": "plugin", + "description": "List result of payment {bolt11} or {payment_hash}, or all", + "verbose": "Covers old payments (failed and succeeded) and current ones." + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:48862" - ], - "features": "08a0000a0a69a2" - } - ] - }, - { - "peers": [ + "command": "listpeerchannels [id]", + "category": "network", + "description": "Show channels with direct peers.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:46563" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "listpeers [id] [level]", + "category": "network", + "description": "Show current peers, if {level} is set, include logs for {id}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:36310" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "listsendpays [bolt11] [payment_hash] [status] [index] [start] [limit]", + "category": "payment", + "description": "Show sendpay, old and current, optionally limiting to {bolt11} or {payment_hash}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:36310" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "listsqlschemas [table]", + "category": "plugin", + "description": "Display schemas for internal sql tables, or just {table}", + "verbose": "This is the greatest plugin command ever!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:32945" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "listtransactions ", + "category": "payment", + "description": "List transactions that we stored in the wallet", + "verbose": "Returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:37844" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "makesecret [hex] [string]", + "category": "utility", + "description": "Get a pseudorandom secret key, using some {hex} data.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:32945" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "multifundchannel destinations [feerate] [minconf] [utxos] [minchannels] [commitment_feerate]", + "category": "plugin", + "description": "Fund channels to {destinations}, which is an array of objects containing peer {id}, {amount}, and optional {announce} and {push_msat}. A single transaction will be used to fund all the channels. Use {feerate} for the transaction, select outputs that are buried {minconf} blocks deep, or specify a set of {utxos}.", + "verbose": "Fund multiple channels at once." + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:37844" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "multiwithdraw outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send to multiple {outputs} via a single Bitcoin transaction.", + "verbose": "Send to multiple {outputs} at optiona {feerate}, spending coins at least {minconf} depth, or the specified {utxos}." + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:32945" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "newaddr [addresstype]", + "category": "bitcoin", + "description": "Get a new {bech32} (or all) address to fund a channel", + "verbose": "Generates a new address that belongs to the internal wallet. Funds sent to these addresses will be managed by lightningd. Use `withdraw` to withdraw funds to an external wallet." + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:37844" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "notifications enable", + "category": "utility", + "description": "{enable} notifications", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:37031" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "offer amount description [issuer] [label] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use] [recurrence_start_any_period]", + "category": "plugin", + "description": "Create an offer to accept money", + "verbose": "Create an offer for invoices of {amount} with {description}, optional {issuer}, internal {label}, {quantity_min}, {quantity_max}, {absolute_expiry}, {recurrence}, {recurrence_base}, {recurrence_paywindow}, {recurrence_limit} and {single_use}" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:48236" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "openchannel_abort channel_id", + "category": "channels", + "description": "Abort {channel_id}'s open. Usable while `commitment_signed=false`.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:45661" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "openchannel_bump channel_id amount initialpsbt [funding_feerate]", + "category": "channels", + "description": "Attempt to bump the fee on {channel_id}'s funding transaction.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:34558" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "openchannel_init id amount initialpsbt [commitment_feerate] [funding_feerate] [announce] [close_to] [request_amt] [compact_lease] [channel_type]", + "category": "channels", + "description": "Init an open channel to {id} with {initialpsbt} for {amount} satoshis. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:38595" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "openchannel_signed channel_id signed_psbt", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "openchannel_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call should be to openchannel_signed", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "parsefeerate feerate", + "category": "bitcoin", + "description": "Return current feerate in perkw + perkb for given feerate string.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "pay bolt11 [amount_msat] [label] [riskfactor] [maxfeepercent] [retry_for] [maxdelay] [exemptfee] [localinvreqid] [exclude] [maxfee] [description] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {bolt11}", + "verbose": "Attempt to pay the {bolt11} invoice." + }, + { + "command": "payersign messagename fieldname merkle tweak", + "category": "payment", + "description": "Sign {messagename} {fieldname} {merkle} (a 32-byte hex string) using public {tweak}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "paystatus [bolt11]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "ping id [len] [pongbytes]", + "category": "network", + "description": "Send peer {id} a ping of length {len} (default 128) asking for {pongbytes} (default 128)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "plugin subcommand=start|stop|startdir|rescan|list", + "category": "plugin", + "description": "Control plugins (start, stop, startdir, rescan, list)", + "verbose": "Usage :\nplugin start /path/to/a/plugin\n\tadds a new plugin to Core Lightning\nplugin stop plugin_name\n\tstops an already registered plugin\nplugin startdir /path/to/a/plugin_dir/\n\tadds a new plugin directory\nplugin rescan\n\tloads not-already-loaded plugins from the default plugins dir\nplugin list\n\tlists all active plugins\n\n" + }, + { + "command": "preapproveinvoice bolt11", + "category": "payment", + "description": "Ask the HSM to preapprove an invoice.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "preapprovekeysend destination payment_hash amount_msat", + "category": "payment", + "description": "Ask the HSM to preapprove a keysend payment.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recover hsmsecret", + "category": "utility", + "description": "Restart an unused lightning node with --recover", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "recoverchannel scb", + "category": "channels", + "description": "Populate the DB with a channel and peerUsed for recovering the channel using DLP.This needs param in the form of an array [scb1,scb2,...]", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "renepay invstring [amount_msat] [maxfee] [maxdelay] [retry_for] [localofferid] [description] [label] [dev_base_fee_penalty] [dev_prob_cost_factor] [dev_riskfactor] [dev_min_prob_success] [dev_use_shadow]", + "category": "plugin", + "description": "Send payment specified by {invstring}", + "verbose": "Attempt to pay an invoice." + }, + { + "command": "renepaystatus [invstring]", + "category": "plugin", + "description": "Detail status of attempts to pay {bolt11}, or all", + "verbose": "Covers both old payments and current ones." + }, + { + "command": "reserveinputs psbt [exclusive] [reserve]", + "category": "bitcoin", + "description": "Reserve utxos (or increase their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "restorefrompeer ", + "category": "plugin", + "description": "Checks if i have got a backup from a peer, and if so, will stub those channels in the database and if is successful, will return list of channels that have been successfully stubbed", + "verbose": "return channel-id's on completion" + }, + { + "command": "sendcustommsg node_id msg", + "category": "utility", + "description": "Send a custom message to the peer with the given {node_id}", + "verbose": "sendcustommsg node_id hexcustommsg" + }, + { + "command": "sendonion onion first_hop payment_hash [label] [shared_secrets] [partid] [bolt11] [amount_msat] [destination] [localinvreqid] [groupid] [description]", + "category": "payment", + "description": "Send a payment with a pre-computed onion.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendonionmessage first_id blinding hops", + "category": "utility", + "description": "Send message to {first_id}, using {blinding}, encoded over {hops} (id, tlv)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpay route payment_hash [label] [amount_msat] [bolt11] [payment_secret] [partid] [localinvreqid] [groupid] [payment_metadata] [description]", + "category": "payment", + "description": "Send along {route} in return for preimage of {payment_hash}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendpsbt psbt [reserve]", + "category": "bitcoin", + "description": "Finalize, extract and send a PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sendrawtransaction tx allowhighfees", + "category": "plugin", + "description": "Send a raw transaction to the Bitcoin network.", + "verbose": "" + }, + { + "command": "setchannel id [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]", + "category": "channels", + "description": "Sets fees and/or htlc_max for channel with {id} (either peer ID, channel ID, short channel ID or 'all'). If {feebase}, {feeppm} or {htlcmax} is missing, it is unchanged.{base} can also be defined in other units, for example '1sat'. If {id} is 'all', the fees will be applied for all channels. ", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setconfig config [val]", + "category": "utility", + "description": "Set a dynamically-adjustable config.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setleaserates lease_fee_base_msat lease_fee_basis funding_weight channel_fee_max_base_msat channel_fee_max_proportional_thousandths", + "category": "channels", + "description": "Called by plugin to set the node's present channel lease rates. Not to be set without having a plugin which can handle `openchannel2` hooks.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "setpsbtversion psbt version", + "category": "bitcoin", + "description": "Convert a given PSBT to the {version} requested (v0 or v2)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "showrunes [rune]", + "category": "utility", + "description": "Show the list of runes or decode an optional {rune}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signinvoice invstring", + "category": "payment", + "description": "Lowlevel command to sign invoice {invstring}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signmessage message", + "category": "utility", + "description": "Create a digital signature of {message}", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "signpsbt psbt [signonly]", + "category": "bitcoin", + "description": "Sign this wallet's inputs on a provided PSBT.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_init channel_id relative_amount [initialpsbt] [feerate_per_kw] [force_feerate]", + "category": "channels", + "description": "Init a channel splice to {channel_id} for {relative_amount} satoshis with {initialpsbt}. Returns updated {psbt} with (partial) contributions from peer", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_signed channel_id psbt [sign_first]", + "category": "channels", + "description": "Send our {signed_psbt}'s tx sigs for {channel_id}.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "splice_update channel_id psbt", + "category": "channels", + "description": "Update {channel_id} currently active negotiated splice with {psbt}. Returns updated {psbt} with (partial) contributions from peer. If {commitments_secured} is true, next call may be to splicechannel_finalize, otherwise keep calling splice_update passing back in the returned PSBT until {commitments_secured} is true.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "sql query", + "category": "plugin", + "description": "Run {query} and return result", + "verbose": "This is the greatest plugin command ever!" + }, + { + "command": "staticbackup ", + "category": "backup", + "description": "Returns SCB of all the channels currently present in the DB", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "stop ", + "category": "utility", + "description": "Shut down the lightningd process", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "txdiscard txid", + "category": "plugin", + "description": "Discard a transaction created by txprepare", + "verbose": "Discard a transcation by {txid}" + }, + { + "command": "txprepare outputs [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Create a transaction, with option to spend in future (either txsend and txdiscard)", + "verbose": "Create an unsigned transaction paying {outputs} with optional {feerate}, {minconf} and {utxos}" + }, + { + "command": "txsend txid", + "category": "plugin", + "description": "Send a transaction created by txprepare", + "verbose": "Send a transacation by {txid}" + }, + { + "command": "unreserveinputs psbt [reserve]", + "category": "bitcoin", + "description": "Unreserve utxos (or at least, reduce their reservation)", + "verbose": "HELP! Please contribute a description for this json_command!" + }, + { + "command": "upgradewallet [feerate] [reservedok]", + "category": "plugin", + "description": "Spend p2sh wrapped outputs into a native segwit output", + "verbose": "Send all p2sh-wrapped outputs to a bech32 native segwit address" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:55376" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "utxopsbt satoshi feerate startweight utxos [reserve] [reservedok] [locktime] [min_witness_weight] [excess_as_change] [opening_anchor_channel]", + "category": "bitcoin", + "description": "Create PSBT using these utxos", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:38851" - ], - "features": "08a0800a8a5961" - } - ] - }, - { - "peers": [ + "command": "wait subsystem indexname nextvalue", + "category": "utility", + "description": "Wait for {subsystem} {indexname} to reach or exceed {value})", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:54278" - ], - "features": "08a0800a8a5961" - } - ] - }, - { - "peers": [ + "command": "waitanyinvoice [lastpay_index] [timeout]", + "category": "payment", + "description": "Wait for the next invoice to be paid, after {lastpay_index} (if supplied). If {timeout} seconds is reached while waiting, fail with an error.", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:35191" - ], - "features": "08a0000a8a5961" + "command": "waitblockheight blockheight [timeout]", + "category": "utility", + "description": "Wait for the blockchain to reach {blockheight}, up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" }, { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:59792" - ], - "features": "08a0000a8a5961" - } - ] - }, - { - "peers": [ + "command": "waitinvoice label", + "category": "payment", + "description": "Wait for an incoming payment matching the invoice with {label}, or if the invoice expires", + "verbose": "HELP! Please contribute a description for this json_command!" + }, { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:41064" - ], - "features": "08a0000a8a5961" + "command": "waitsendpay payment_hash [timeout] [partid] [groupid]", + "category": "payment", + "description": "Wait for payment attempt on {payment_hash} to succeed or fail, but only up to {timeout} seconds.", + "verbose": "HELP! Please contribute a description for this json_command!" }, { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:33379" - ], - "features": "08a0000a8a5961" + "command": "withdraw destination satoshi [feerate] [minconf] [utxos]", + "category": "plugin", + "description": "Send funds to {destination} address", + "verbose": "Send to {destination} {satoshi} (or 'all') at optional {feerate} using utxos from {minconf} or {utxos}." } - ] + ], + "format-hint": "simple" }, { - "peers": [ - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:33173" - ], - "features": "08a0000a8a5961" - }, + "help": [ { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "connected": true, - "num_channels": 1, - "netaddr": [ - "127.0.0.1:50002" - ], - "features": "08a0000a8a5961" + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" } - ] + ], + "format-hint": "simple" }, { - "peers": [ + "help": [ { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "connected": true, - "num_channels": 0, - "netaddr": [ - "127.0.0.1:34365" - ], - "features": "08a0000a8a5961" + "command": "dev subcommand=crash|rhash|slowcmd", + "category": "developer", + "description": "Developer command test multiplexer", + "verbose": "dev rhash {secret}\n\tShow SHA256 of {secret}\ndev crash\n\tCrash lightningd by calling fatal()\ndev slowcmd {msec}\n\tTorture test for slow commands, optional {msec}\n" } - ] + ], + "format-hint": "simple" } ], "author": [ - "Michael Hawkins <>." - ], - "see_also": [ - "lightning-connect(7)", - "lightning-fundchannel_start(7)", - "lightning-setchannel(7)" + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." ], "resources": [ - "Main web site: ", - "Lightning RFC site (BOLT #9):", - "" + "Main web site: " ] }, - "lightning-listsendpays.json": { + "lightning-invoice.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listsendpays", - "title": "Low-level command for querying sendpay status", + "rpc": "invoice", + "title": "Command for accepting payments", "description": [ - "The **listsendpays** RPC command gets the status of all *sendpay* commands (which is also used by the *pay* command), or with *bolt11* or *payment_hash* limits results to that specific payment. You cannot specify both. It is possible to filter the payments also by *status*.", - "", - "Note that there may be more than one concurrent *sendpay* command per *pay*, so this command should be used with caution." + "The **invoice** RPC command creates the expectation of a payment of a given amount of milli-satoshi: it returns a unique token which another lightning daemon can use to pay this invoice. This token includes a *route hint* description of an incoming channel with capacity to pay the invoice, if any exists." ], "request": { - "required": [], + "required": [ + "amount_msat", + "label", + "description" + ], "properties": { - "bolt11": { - "type": "string", + "amount_msat": { + "type": "msat_or_any", "description": [ - "Bolt11 invoice." + "The string `any`, which creates an invoice that can be paid with any amount. Otherwise it is a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." ] }, - "payment_hash": { - "type": "hash", + "label": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], "description": [ - "The hash of the payment_preimage." + "A unique string or number (which is treated as a string, so `01` is different from `1`); it is never revealed to other nodes on the lightning network, but it can be used to query the status of this invoice." ] }, - "status": { + "description": { "type": "string", - "enum": [ - "pending", - "complete", - "failed" - ], "description": [ - "Whether the invoice has been paid, pending, or failed." + "A short description of purpose of payment, e.g. *1 cup of coffee*. This value is encoded into the BOLT11 invoice and is viewable by any node you send this invoice to (unless *deschashonly* is true as described below). It must be UTF-8, and cannot use *\\u* JSON escape codes." ] }, - "index": { - "type": "string", - "added": "v23.11", - "enum": [ - "created", - "updated" + "expiry": { + "type": "u64", + "description": [ + "The time the invoice is valid for, in seconds. If no value is provided the default of 604800 (1 week) is used." + ] + }, + "fallbacks": { + "type": "array", + "description": [ + "One or more fallback addresses to include in the invoice (in order from most- preferred to least): note that these arrays are not currently tracked to fulfill the invoice." ], + "items": { + "type": "string" + } + }, + "preimage": { + "type": "hex", "description": [ - "If neither bolt11 or payment_hash is specified, `index` controls ordering, by `created` (default) or `updated`." + "A 64-digit hex string to be used as payment preimage for the created invoice. By default, if unspecified, lightningd will generate a secure pseudorandom preimage seeded from an appropriate entropy source on your system. **IMPORTANT**: if you specify the *preimage*, you are responsible, to ensure appropriate care for generating using a secure pseudorandom generator seeded with sufficient entropy, and keeping the preimage secret. This parameter is an advanced feature intended for use with cutting-edge cryptographic protocols and should not be used unless explicitly needed." ] }, - "start": { - "type": "u64", - "added": "v23.11", + "exposeprivatechannels": { "description": [ - "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." + "If specified, it overrides the default route hint logic, which will use unpublished channels only if there are no published channels." + ], + "oneOf": [ + { + "type": "boolean", + "description": [ + "If *True* unpublished channels are always considered as a route hint candidate; if *False*, never." + ] + }, + { + "type": "array", + "description": [ + "Array of short channel ids (or a remote alias), only those specific channels will be considered candidates, even if they are public or dead-ends." + ], + "items": { + "type": "short_channel_id" + } + }, + { + "type": "short_channel_id", + "description": [ + "If it is a short channel id (e.g. *1x1x3*), only this specific channel will be considered candidate, even if it is public or dead-end." + ] + } ] }, - "limit": { + "cltv": { "type": "u32", - "added": "v23.11", "description": [ - "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." + "If specified, sets the *min_final_cltv_expiry* for the invoice. Otherwise, it's set to the parameter **cltv-final**." ] + }, + "deschashonly": { + "type": "boolean", + "description": [ + "If True, then the bolt11 returned contains a hash of the *description*, rather than the *description* itself: this allows much longer descriptions, but they must be communicated via some other mechanism." + ], + "default": "False" } - }, - "dependentUpon": { - "index": [ - "start", - "limit" - ] - } - }, - "response": { - "required": [ - "payments" - ], - "properties": { - "payments": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "created_index", - "payment_hash", - "status", - "groupid", - "created_at", - "amount_sent_msat" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was created in." - ] - }, - "id": { - "type": "u64", - "description": [ - "Old synonym for created_index." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." - ] - }, - "partid": { - "type": "u64", - "description": [ - "Part number (for multiple parts to a single payment)." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was changed (only present if it has changed since creation)." - ] - }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": [ - "Status of the payment." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount delivered to destination (if known)." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment if known." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "The amount sent." - ] - }, - "label": { - "type": "string", - "description": [ - "The label, if given to sendpay." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string (if pay supplied one)." - ] - }, - "description": { - "type": "string", - "description": [ - "The description matching the bolt11 description hash (if pay supplied one)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string (if supplied for pay: **experimental-offers** only)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - } - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "erroronion": { - "type": "hex", - "description": [ - "The onion message returned." - ] - } - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "pending" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {} - } - } - } - ] - } - } - }, - "pre_return_value_notes": [ - "Note that the returned array is ordered by increasing *id*." - ] + } + }, + "response": { + "required": [ + "payment_hash", + "expires_at", + "created_index", + "bolt11", + "payment_secret" + ], + "properties": { + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "payment_secret": { + "type": "secret", + "description": [ + "The *payment_secret* to place in the onion." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when invoice expires." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "warning_capacity": { + "type": "string", + "description": [ + "Even using all possible channels, there's not enough incoming capacity to pay this invoice." + ] + }, + "warning_offline": { + "type": "string", + "description": [ + "There would be enough incoming capacity, but some channels are offline, so there isn't." + ] + }, + "warning_deadends": { + "type": "string", + "description": [ + "There would be enough incoming capacity, but some channels are dead-ends (no other public channels from those peers), so there isn't." + ] + }, + "warning_private_unused": { + "type": "string", + "description": [ + "There would be enough incoming capacity, but some channels are unannounced and *exposeprivatechannels* is *false*, so there isn't." + ] + }, + "warning_mpp": { + "type": "string", + "description": [ + "There is sufficient capacity, but not in a single channel, so the payer will have to use multi-part payments." + ] + } + } }, + "errors": [ + "On failure, an error is returned and no invoice is created. If the", + "lightning process fails before responding, the caller should use", + "lightning-listinvoices(7) to query whether this invoice was created or", + "not.", + "", + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 900: An invoice with the given *label* already exists.", + "- 901: An invoice with the given *preimage* already exists.", + "- 902: None of the specified *exposeprivatechannels* were usable." + ], "example_json_request": [ { - "id": "example:listsendpays#1", - "method": "listsendpays", + "id": "example:invoice#1", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "xEoCR94SIz6UIRUEkxum", + "description": [ + "XEoCR94SIz6UIRUEkxum." + ], + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#2", - "method": "listsendpays", + "id": "example:invoice#2", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 40000000, + "label": "xFogt94xiz6tsRHKMzat", + "description": [ + "Invoice description." + ], + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#3", - "method": "listsendpays", + "id": "example:invoice#3", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "W7PjXOrD1V9QzqlXde6S", + "description": "W7PjXOrD1V9QzqlXde6S", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#4", - "method": "listsendpays", + "id": "example:invoice#4", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100001, + "label": "kQ3N0jwwJABOkKbMq7I4", + "description": "kQ3N0jwwJABOkKbMq7I4", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#5", - "method": "listsendpays", + "id": "example:invoice#5", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 111, + "label": "npVAv3iWbQBCHjsDK1YS", + "description": "npVAv3iWbQBCHjsDK1YS", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#6", - "method": "listsendpays", + "id": "example:invoice#6", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 222, + "label": "gjXz22eJleM5SNBasEOV", + "description": "gjXz22eJleM5SNBasEOV", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#7", - "method": "listsendpays", + "id": "example:invoice#7", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 4000000, + "label": "WZcOtfF564NiUQ5vlwRU", + "description": "WZcOtfF564NiUQ5vlwRU", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#8", - "method": "listsendpays", + "id": "example:invoice#8", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "7mCJoNSFtlzLA9hEIzX1", + "description": "7mCJoNSFtlzLA9hEIzX1", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#9", - "method": "listsendpays", + "id": "example:invoice#9", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "sK54KAL3qX01yNt76y0B", + "description": "sK54KAL3qX01yNt76y0B", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#10", - "method": "listsendpays", + "id": "example:invoice#10", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "n3jx9JMqg936KMwVWRzM", + "description": "n3jx9JMqg936KMwVWRzM", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#11", - "method": "listsendpays", + "id": "example:invoice#11", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 11000000, + "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#12", - "method": "listsendpays", + "id": "example:invoice#12", + "method": "invoice", "params": { - "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 3210, + "label": "to_self", + "description": "to_self", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#13", - "method": "listsendpays", + "id": "example:invoice#13", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": "42sat", + "label": "lbl1", + "description": "desc", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#14", - "method": "listsendpays", + "id": "example:invoice#14", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": "31337sat", + "label": "lbl2", + "description": "desc", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#15", - "method": "listsendpays", + "id": "example:invoice#15", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "0", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#16", - "method": "listsendpays", + "id": "example:invoice#16", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "1", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#17", - "method": "listsendpays", + "id": "example:invoice#17", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "2", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#18", - "method": "listsendpays", + "id": "example:invoice#18", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "3", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#19", - "method": "listsendpays", + "id": "example:invoice#19", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "4", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#20", - "method": "listsendpays", + "id": "example:invoice#20", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "5", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#21", - "method": "listsendpays", + "id": "example:invoice#21", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "6", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#22", - "method": "listsendpays", + "id": "example:invoice#22", + "method": "invoice", "params": { - "bolt11": null, - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "7", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } }, { - "id": "example:listsendpays#23", - "method": "listsendpays", + "id": "example:invoice#23", + "method": "invoice", "params": { - "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9", - "payment_hash": null, - "status": null, - "index": null, - "start": null, - "limit": null + "amount_msat": 100, + "label": "8", + "description": "inv", + "expiry": null, + "fallbacks": null, + "preimage": null, + "exposeprivatechannels": null, + "cltv": null, + "deschashonly": null } } ], "example_json_response": [ { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "e3b43574acd074b0c4ba1b13b5155ff5f9c76742e643ed003e17301c5a2db149", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1706225269, - "status": "pending", - "bolt11": "lnbcrt200n1pjm9mn5sp5gq84lgga959m6gg4g0kj29ypwjaxxnm4cu5csymq8p6nqxv800mspp5uw6r2a9v6p6tp396rvfm292l7huuwe6zuep76qp7zucpck3dk9ysdpqf9grgmt62fmk5stswefh23n2tpykvcmzxqyjw5qcqp99qxpqysgqz8s496zmwed278jvp075zlhrnj0ncg45kcfw5s2lkhtxd3wc39f8wflp5gmd827dk470xpasfpx0azsfu0k8ttwae7620h8d050w28cqan776g" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "f55d92cfe019b5a015f5e5956e9255053cda14786171d5002feb12ae5254e5a5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1706225269, - "status": "pending", - "bolt11": "lnbcrt300n1pjm9mn5sp5zqfkr93rp92mdyj6m8lzpcu90rfefcaqff8fxdd2sc5mace23ujspp574we9nlqrx66q904uk2kayj4q57d59rcv9ca2qp0avf2u5j5ukjsdpq29j55nfcgfcnsvzw2er57knhwcmhzwt0xqyjw5qcqp99qxpqysgq76p2jpnegtzlxmn0aqt6d3f89q4p6y5v3v2qz7t2mm6xt90nt324cq400tl82k28562aux8jxs57d603g7s0q4g3dapu9a7vln94j7spsut799" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "e3b43574acd074b0c4ba1b13b5155ff5f9c76742e643ed003e17301c5a2db149", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1706225269, - "status": "pending", - "bolt11": "lnbcrt200n1pjm9mn5sp5gq84lgga959m6gg4g0kj29ypwjaxxnm4cu5csymq8p6nqxv800mspp5uw6r2a9v6p6tp396rvfm292l7huuwe6zuep76qp7zucpck3dk9ysdpqf9grgmt62fmk5stswefh23n2tpykvcmzxqyjw5qcqp99qxpqysgqz8s496zmwed278jvp075zlhrnj0ncg45kcfw5s2lkhtxd3wc39f8wflp5gmd827dk470xpasfpx0azsfu0k8ttwae7620h8d050w28cqan776g" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "f55d92cfe019b5a015f5e5956e9255053cda14786171d5002feb12ae5254e5a5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1706225269, - "status": "pending", - "bolt11": "lnbcrt300n1pjm9mn5sp5zqfkr93rp92mdyj6m8lzpcu90rfefcaqff8fxdd2sc5mace23ujspp574we9nlqrx66q904uk2kayj4q57d59rcv9ca2qp0avf2u5j5ukjsdpq29j55nfcgfcnsvzw2er57knhwcmhzwt0xqyjw5qcqp99qxpqysgq76p2jpnegtzlxmn0aqt6d3f89q4p6y5v3v2qz7t2mm6xt90nt324cq400tl82k28562aux8jxs57d603g7s0q4g3dapu9a7vln94j7spsut799" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] - }, - { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "expires_at": 1706757730, + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", + "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "51127e4a40186a1f9e2fa8495d521473d1be347a39e583cbe96a23d3cbbe93f6", + "expires_at": 1706765461, + "bolt11": "lnbcrt1m1pjmrus4sp53ls0wjm69hpu8gp8lhuuxkxsxhq2kr5lu2nr0766x27l5cruwapqpp52yf8ujjqrp4pl8304py465s5w0gmudr688jc8jlfdg3a8ja7j0mqdpqdcuh5vt0dpe5yanfx45x2n6vwveyg6zxxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqpdrrch5ty8c870u39znf6p5vt8new7y7n9j74xwc8nz6w637cvk4f763ux8cvd579720z3sgkzshumvnce9qs70p0px98t6s4a5lqzcqashdmd", + "payment_secret": "8fe0f74b7a2dc3c3a027fdf9c358d035c0ab0e9fe2a637fb5a32bdfa607c7742", + "created_index": 2 }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "expires_at": 1709228937, + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", + "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "expires_at": 1709228938, + "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", + "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", + "created_index": 1, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "status": "pending", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "expires_at": 1709228950, + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", + "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708627901, - "completed_at": 1708627907, - "status": "complete", - "payment_preimage": "0433e11876dde2a7d8e4151c5c315b701a62ce7d96659e5ca793c5a8b681cff3", - "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", - "groupid": 1, - "updated_index": 2, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708627901, - "completed_at": 1708627907, - "status": "complete", - "payment_preimage": "722e4e616283745f7539e1e8d80d6c7dce9523f2bacb29e88236a056c38e9bb5", - "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" - } - ] + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "expires_at": 1709228952, + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", + "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", + "created_index": 2, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "809962873fad2f6c29060ca10487f9c0312b9d2bb879d89bed42cc16d65db1cf", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 16777216000, - "amount_sent_msat": 16777216000, - "created_at": 1708628092, - "completed_at": 1708628093, - "status": "complete", - "payment_preimage": "5f65e8c6894170e36134cba067c21cea6d65fdec98ed5448d511208ddb868ac6", - "bolt11": "lnbcrt167772160n1pja0xrusp5smclhdup35jqwup67vn27n73dwj68vpy7dn6m49nn9070z36c7mqpp5szvk9pel45hkc2gxpjssfplecqcjh8fthpua3xldgtxpd4jak88sdq4wa6k6cn0ypcxz7tdv4h8gxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqwsqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgqempkwr9ejk40f0n4zvaamklzy25y5zed2u5c98mupn7wpqvv25jynssln27rrfewgw40l5rq5lpensd28ams5r2jr4c4ylm5hkl53ucqpp0aw5" - } - ] + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "expires_at": 1709228953, + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", + "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", + "created_index": 3, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", - "groupid": 1, - "updated_index": 1, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 123000, - "amount_sent_msat": 123000, - "created_at": 1708631223, - "completed_at": 1708631224, - "status": "complete", - "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", - "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "031c31b32be542e5e267ed9abe59b8bd7fc2ce691ae7402955fde3610e0df30d", - "groupid": 1, - "updated_index": 2, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 655794, - "amount_sent_msat": 655794, - "created_at": 1708631224, - "completed_at": 1708631225, - "status": "complete", - "payment_preimage": "28d4185e0acf3b796e02237c9943d551ea0e61da15661ab611935809ba9a957a", - "bolt11": "lnbcrt1pja0f9csp5k9q85nedenk8gqwladdzc05ejxwrc02gxsyjejy4yvx3guj4xypqpp5qvwrrvetu4pwtcn8akdtukdch4lu9nnfrtn5q224lh3kzrsd7vxsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqsfxza53ys64slu08h2fpy3jr025ye6av8ngu5809azwuvu9pm0ts33t2rd2xupq3xwhstzlftww8w6re8dr7gxqaaxm8x6jjq4p9jrqpu5768c" - }, - { - "created_index": 3, - "id": 3, - "payment_hash": "b4dfeef62bd3fcc4da0ce92a6ad9c200ff890ea498274df0fe0676c2b546d4c9", - "groupid": 1, - "updated_index": 3, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 40947, - "amount_sent_msat": 40947, - "created_at": 1708631225, - "completed_at": 1708631227, - "status": "complete", - "payment_preimage": "808b2f49552445346ef6fe923cb6b21ff22cdaf7eb56da62ab65f0e464628945", - "bolt11": "lnbcrt1pja0f9esp5yf32alzff9nf0vehepp2uhf8e5cg6knck2glgwt4eg9w003ca55spp5kn07aa3t607vfksvay4x4kwzqrlcjr4ynqn5mu87qemv9d2x6nysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq8l7armfugjlzmhldvw4c64tpuggr5v0lyld8da62elkacz4mn76xll3ampfrvhddt2grc4vjym0efxcf3fm7trrm9dx6kwpm2jdp9wqqdlj8dq" - }, - { - "created_index": 4, - "id": 4, - "payment_hash": "f0f57d68548ef99a92a01c6f848ecff2e450e6afb28b372ae828fa58ae613d8b", - "groupid": 1, - "updated_index": 4, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 305589, - "amount_sent_msat": 305589, - "created_at": 1708631227, - "completed_at": 1708631228, - "status": "complete", - "payment_preimage": "c987de46e2a821efc4790db09f3cba01c7073ce8b65e154138df84ad6e0e414e", - "bolt11": "lnbcrt1pja0f9msp57kent27ketj64y6pwuaqqs2hddknfv8ca5ws9uerah2973td2pzspp57r6h66z53mue4y4qr3hcfrk07tj9pe40k29nw2hg9ra93tnp8k9sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqk3euqmn47lnt694e76cu6dr4vmtmag0slwe4ffawduyhf03kx3xp85myz83xqwheuzdjfza9t9laqxe7n8t55dxzk5j59wvvc6kg5ecp6pl6y0" - }, - { - "created_index": 5, - "id": 5, - "payment_hash": "6811e74459bd408cb1515afd3073494e3889c744f4b04e6e603e25dfee4ff855", - "groupid": 1, - "updated_index": 5, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 268401, - "amount_sent_msat": 268401, - "created_at": 1708631228, - "completed_at": 1708631229, - "status": "complete", - "payment_preimage": "274129553d5f8b513be557986c014d917c68624ae912a16daf79bb0db1240b31", - "bolt11": "lnbcrt1pja0f9usp54kn5x3prhltcw9sz49mjnurcsm9ynezc8708uz4fnjq8je2lelqqpp5dqg7w3zeh4qgev23tt7nqu6ffcugn36y7jcyumnq8cjalmj0lp2sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqw89judp88yp4ej9d7hjvdrlzhpy9hts43pngm7sf6r0u4t7zc3s44gf5964zarc8xmf3h2xuddwkt4v35j3d4yl6ngu740f0dslqrvsqe35hu3" - }, - { - "created_index": 6, - "id": 6, - "payment_hash": "c0e1c5b4b743e9f312e20ddb8e1268d0a3698e0dee4f1d99dd774f55205164a3", - "groupid": 1, - "updated_index": 6, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 548925, - "amount_sent_msat": 548925, - "created_at": 1708631229, - "completed_at": 1708631230, - "status": "complete", - "payment_preimage": "a635e92d024beebfc58519e6544888aa560ba3bcaba7e74924e4b8432eaa56f5", - "bolt11": "lnbcrt1pja0f9asp50kzadmeyy78eymjvhnlk5dznl3g5k5x8agh52ewjtg0jclas4ylspp5crsutd9hg05lxyhzphdcuyng6z3knrsdae83mxwawa842gz3vj3sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqr5yzhxmup4muyaz6x8u2dy4qyu9t5qzuf5k9xayvj5kg7tve60gjk4jrv2l76exnj2xkuzhtwky23pkkxedzy6p9yrsgyqdwj7dv5gsp4zcw6v" - } - ] + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "expires_at": 1709228989, + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", + "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", - "groupid": 1, - "updated_index": 1, - "partid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 123000, - "amount_sent_msat": 123000, - "created_at": 1708631223, - "completed_at": 1708631224, - "status": "complete", - "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", - "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5" - } - ] + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "expires_at": 1709229012, + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", + "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 42, - "amount_sent_msat": 42, - "created_at": 1708633906, - "completed_at": 1708633907, - "status": "complete", - "payment_preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", - "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", - "description": "One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon" - } - ] + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "expires_at": 1709229023, + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", + "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "expires_at": 1709229041, + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", + "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", + "expires_at": 1709229060, + "bolt11": "lnbcrt32100p1pja0zvysp5cd4zl6dva4uvq6tqutepkd576qlsfykf0efm5wmxy93mekh36laqpp5h368q5ejjspxyz3xhhqc0ngnfndknyfsmpd7fx0v6fqkptlsf3wqdqvw3h47um9d3nqxqyjw5qcqp99qxpqysgqtl8yj2fzqy36dmtprqg5gu0dd6kvj5d72fe5nnddj6xfa0axscs4rq37ttm4vgcq3r0x53ytry3h4l4szv30r9d0pd0tcr0z4xdrdncpca5q50", + "payment_secret": "c36a2fe9aced78c06960e2f21b369ed03f0492c97e53ba3b662163bcdaf1d7fa", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "df16b7c859f1d49aec53a832528b2ff6330556e3ff008706c4874a6fbae82e9b", + "expires_at": 1709229113, + "bolt11": "lnbcrt420n1pja0zdesp5mkugxsngced79svtrnzmdepqqrap8v50ryrt08ta3efg3c3pye8qpp5mutt0jze782f4mzn4qe99ze07ces24hrluqgwpkysa9xlwhg96dsdq8v3jhxccxqyjw5qcqp99qxpqysgqv4v9w0h34lhsh5w5ccxc2765fdw4k9hfu68xdg9vugyv8vs33hhxg583q30qmavuep88ksslf90f23d93p9r4nlk0g8c4yhjs5rgpdgqhcm7lj", + "payment_secret": "ddb8834268c65be2c18b1cc5b6e42000fa13b28f1906b79d7d8e5288e221264e", + "created_index": 1, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "b49369a5476eaac7b246cce663b25e49024aad85ea7051a6ab251de041f53e61", + "expires_at": 1709229113, + "bolt11": "lnbcrt313370n1pja0zdesp5nq37wknu0qrvx66hltyzrm9v323hn5awglsr0kn0pfqyn9u9u97qpp5kjfknf28d64v0vjxennx8vj7fypy4tv9afc9rf4ty5w7qs048essdq8v3jhxccxqyjw5qcqp99qxpqysgq5zrx6ttapag4r3uawl3kygzcu36y6arg8hn9597408mnhh3zv06qpad34u4h5ukm3rczg0dy57z2kppkzmsytrm6ec0hff6ah2axq7sqgu64n2", + "payment_secret": "9823e75a7c7806c36b57fac821ecac8aa379d3ae47e037da6f0a40499785e17c", + "created_index": 2, + "warning_deadends": "Insufficient incoming capacity, once dead-end peers were excluded" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "526e3e28eef1ca5f17399054f787178583fadd7bf9c1f1b3abe1ef734650a119", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5allg8aky5syqwk9v04vjyvccstcunade5uar68rh94k8l8ru9ruqpp52fhru28w789979eejp200pchskpl4html8qlrvatu8hhx3js5yvsdq9d9h8vxqyjw5qcqp99qxpqysgq5umcjkxx3696znp6p7hu9spae3tjsdhmyyj4ccweldcyxv42azej6u7vkferdy4t26yqhesmlkcp32yzlcva0jkp06a4h3m0xuc4qpcqdq3ckp", + "payment_secret": "effe83f6c4a4080758ac7d5922331882f1c9f5b9a73a3d1c772d6c7f9c7c28f8", + "created_index": 1, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "status": "pending", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "f6c31804345c6179d9a66df377acc9844d5c70e253d59605b91aa72157316429", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5mmfyxc3gh2rkpkrvlzakr7ttyk547nyjq92zudzlnwk48qjm7xespp57mp3spp5t3shnkdxdheh0txfs3x4cu8z202evpder2njz4e3vs5sdq9d9h8vxqyjw5qcqp99qxpqysgqqsd00u6dfnlshscnepdunx8sws2us2ym7rtatcv9zcqkut2aezl9h3wpemjq4xdh7s4kkp3s5cxsyr97tlkevmw08gt72euleq4upugpcg5gqv", + "payment_secret": "ded2436228ba8760d86cf8bb61f96b25a95f4c9201542e345f9bad53825bf1b3", + "created_index": 2, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 30000, - "amount_sent_msat": 30000, - "created_at": 1708637635, - "completed_at": 1708637642, - "status": "complete", - "payment_preimage": "34e0d8b599c8dcf9135396668806eaa1b854fcfed7300c18f92d8f7a79d8cf3c", - "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", - "groupid": 1, - "updated_index": 2, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 20000, - "amount_sent_msat": 20000, - "created_at": 1708637635, - "completed_at": 1708637642, - "status": "complete", - "payment_preimage": "b56fce54628f7fc3808ea99c8ef2068c8a2c8c76b829c5a8aaeb1231c61f0942", - "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" - } - ] + "payment_hash": "8f65746931adf6582c7ab85b264da3f500776d40158eeb95fe7c4264a5f006d5", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5p0dzc5q3mugut9kfy8vkj795n0wxmjfwkmrqrdw5fpqdlpknutespp53ajhg6f34hm9str6hpdjvndr75q8wm2qzk8wh90703pxff0sqm2sdq9d9h8vxqyjw5qcqp99qxpqysgqfa77ne32ag08qkcw4wkc7kl0jgn5zs22jwx3d5gwucaerhheq6yhmelrzaqdvhzv4z6kvrp0ejt96qhv07x4p0fql8zxmezpse2h6qspwc7ch4", + "payment_secret": "0bda2c5011df11c596c921d96978b49bdc6dc92eb6c601b5d44840df86d3e2f3", + "created_index": 3, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "71caf56b380d01a0a300582d123270a71aa0261cab5777082a69f06164839230", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 16777216000, - "amount_sent_msat": 16777216000, - "created_at": 1708637893, - "completed_at": 1708637894, - "status": "complete", - "payment_preimage": "12ed87b4ffd421016d8e78bd0a1758a03f979664a935acdeb53dd769f750598b", - "bolt11": "lnbcrt167772160n1pja00k9sp5kprkxy4rcmvaqazc79s43855grmhzak4q554n58au0msx9njx0mspp5w89026ecp5q6pgcqtqk3yvns5ud2qfsu4dthwzp2d8cxzeyrjgcqdq4wa6k6cn0ypcxz7tdv4h8gxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqwsqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgqdrjamqmvdpxv5y0uxgf3hehkqeumlzmy0h6trse9wva3tznl9kvyccfm98xmsl8yuswfz5ellhvevt24p4sxps9e5e4hdjevv2hup0cqajlu70" - } - ] + "payment_hash": "2bf93244793cdeee9f55464f7b0822bc1696c49faf4440f1e29140f632709980", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5w6p9lx7tah5l7txd2jjx3ntqcpy6kt8yvv7vpkrgmd68v2pjq4kqpp590uny3re8n0wa864ge8hkzpzhstfd3yl4azypu0zj9q0vvnsnxqqdq9d9h8vxqyjw5qcqp99qxpqysgqgx8mvhqwa0jch3wqx0wc3msx379u054areyv7d0g50ry468vmcn4zx7asceksnazga298d39rse80mxf8s8wpyqt9fqv6tzaumfhlnsp2f03ah", + "payment_secret": "76825f9bcbede9ff2ccd54a468cd60c049ab2ce4633cc0d868db74762832056c", + "created_index": 4, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "6f1ca61f10bbc57a990507e3dde7653f59fb6159c0f252ad1b1aa357f7692db7", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 123000, - "amount_sent_msat": 123000, - "created_at": 1708639237, - "completed_at": 1708639238, - "status": "complete", - "payment_preimage": "91f8366681fdfd309c048082fcde81a79116f85a7b2dd09aef1e34f5f7c3397b", - "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9" - }, - { - "created_index": 2, - "id": 2, - "payment_hash": "e5a3725577f3b7cd6c0470d7016d1dbb9429f0a1d3f159f36bf2256e1effe9d0", - "groupid": 1, - "updated_index": 2, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 190727, - "amount_sent_msat": 190727, - "created_at": 1708639238, - "completed_at": 1708639239, - "status": "complete", - "payment_preimage": "653ad4ae186da966b40a8d7077cee60c44e7420b63f7399d387127aa68878a4d", - "bolt11": "lnbcrt1pja03qxsp5j2hhpl0uxvrn862uduqr4y6xe5mtrwqkzkpzxwlfdtwr94nxzhyspp5uk3hy4th7wmu6mqywrtszmgahw2znu9p60c4numt7gjku8hla8gqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqkxerfyd86lyyfsp7jpyg72fylqmfydngpewnjf874vu4kr57fh7sxtnfyyfwp873nleutxd9kqj7u7h7x4rst383f26wuk7ptnjsxwsqrqyts7" - }, - { - "created_index": 3, - "id": 3, - "payment_hash": "6b6b6f7e14265c912db8e40eca64b4de4f9f7860d6954f81cbb5ea5bda67a828", - "groupid": 1, - "updated_index": 3, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 403773, - "amount_sent_msat": 403773, - "created_at": 1708639239, - "completed_at": 1708639240, - "status": "complete", - "payment_preimage": "699074de18b3b030385f0642a1ed6b90451779f6d5f43c8a125353b09b7cd04c", - "bolt11": "lnbcrt1pja03q8sp56nqszv4w632vm8yq0zuntt4aywpw34hj0ghsn9fwpx97nd4u8ytspp5dd4k7ls5yewfztdcus8v5e95me8e77rq6625lqwtkh49hkn84q5qdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqmpel0r0vud8etml4yrpxcf70gk2vyhc2cfjul79xe0agkntsr28ydrlnmluze6nme7ynpxeqkr3gsfkx5snu9k9689gz4fekr9kgy2sq0z8q50" - }, - { - "created_index": 4, - "id": 4, - "payment_hash": "b41a0504198434303da2bf2c63deb960f1e5812990c96c80ac2bccfa939a2c17", - "groupid": 1, - "updated_index": 4, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 473264, - "amount_sent_msat": 473264, - "created_at": 1708639240, - "completed_at": 1708639242, - "status": "complete", - "payment_preimage": "33a8c87d8447e7e4911dbf9b73614e5ca23030fa96962a5982ee300428231b06", - "bolt11": "lnbcrt1pja03qgsp5vzdaxl9l87cgwm7r0a9v2u0yke5tvk4a6h7n9n3y4fw5xm976h7qpp5ksdq2pqess6rq0dzhukx8h4evrc7tqffjrykeq9v90x04yu69stsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqmh5559dcffhwthewhsefycyn30kgu43r3pkchs6q95zc4uta0r75dg6t8r7amkylwvjzzwsz7ewl8cr7tzdyz80f49q6eyckrk86kysqkz8g57" - }, - { - "created_index": 5, - "id": 5, - "payment_hash": "f20bf8543b20a7e46bd662a9226d83c88fa6dd2caf921e051778481920e59bed", - "groupid": 1, - "updated_index": 5, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 768322, - "amount_sent_msat": 768322, - "created_at": 1708639242, - "completed_at": 1708639243, - "status": "complete", - "payment_preimage": "bab6ff81255ce813433f13a4aacceb4611e7a012d46911ca3d82c7e56e549de9", - "bolt11": "lnbcrt1pja03q2sp5v4jfl8tg68hry2tj40r5fphs2kkuwkclk0ywjtdyyxp0nh8m8fwqpp57g9ls4pmyzn7g67kv25jymvrez86dhfv47fpupgh0pypjg89n0ksdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq0npehqarm5ss284y3fhjzpmps0ur0vjp3aaltxvjlqaz5lf8vwq8jjy4nk5rrafeuq05q6pldeyd99dqkqtmz04jfllhh5zmwwtkfhqprr8r0t" - }, - { - "created_index": 6, - "id": 6, - "payment_hash": "2a95eaf0a466ed1dde3e5704d61f14fd5b2faed6c86058ccff07c7e04587dee0", - "groupid": 1, - "updated_index": 6, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 937193, - "amount_sent_msat": 937193, - "created_at": 1708639243, - "completed_at": 1708639244, - "status": "complete", - "payment_preimage": "f9b2bd4a23ade01d127c642ce80a5c39bfb90963059408aacd427bcfec95ed09", - "bolt11": "lnbcrt1pja03qtsp50dseqmc5vweslfcv0e0zy5ax4zeuamu5l9vstgf6qal00t2ethmqpp592274u9yvmk3mh372uzdv8c5l4djltkkeps93n8lqlr7q3v8mmsqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqd50uvmqrxfuhr3wzqrfv75xjtw7jqt239ecdy62s2gcx8nlkalszmtpgp20deylvn9vjgfur5eyaefeeqd279hd3emdhhkzsxy79fxsp8ylmp0" - } - ] + "payment_hash": "27c91e0b4ce418dca1ff480f82c265f169ac445618559c336d320da3cee782c5", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5hr5uefl4y29ddpx9ah53cua02pl80aaycnyjh9wyv5c923lpx2zspp5yly3uz6vusvdeg0lfq8c9sn97956c3zkrp2ecvmdxgx68nh8stzsdq9d9h8vxqyjw5qcqp99qxpqysgqcjsuenuclhqjfnc44zpaztl3v6w90l6xta8dz5kaapa4z0s664upc7juyjzvczfvxatz4avwzc8n6jrtkdp6nehw0z0t9ecpmftaa8cp68wuwu", + "payment_secret": "b8e9cca7f5228ad684c5ede91c73af507e77f7a4c4c92b95c465305547e13285", + "created_index": 5, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" }, { - "payments": [ - { - "created_index": 1, - "id": 1, - "payment_hash": "6f1ca61f10bbc57a990507e3dde7653f59fb6159c0f252ad1b1aa357f7692db7", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 123000, - "amount_sent_msat": 123000, - "created_at": 1708639237, - "completed_at": 1708639238, - "status": "complete", - "payment_preimage": "91f8366681fdfd309c048082fcde81a79116f85a7b2dd09aef1e34f5f7c3397b", - "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9" - } - ] + "payment_hash": "4388ea08944ece7f2e96240c1a36b01a206618ff956ddee25fa30266c9270d4a", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5wkzs2a8qedanup075fm9mfks34gc76g80vur277zgr5uwfxek32spp5gwyw5zy5fm887t5kysxp5d4srgsxvx8lj4kaacjl5vpxdjf8p49qdq9d9h8vxqyjw5qcqp99qxpqysgqnftjn8c0psdffdnzttsv7ukdzyu5hf96qmjmrppvu3y3cf7mfqrswh5nszswugrmmf96whvvwdlj625xd3m7er32xkwtr7y6dn24lcqp0tvd2e", + "payment_secret": "75850574e0cb7b3e05fea2765da6d08d518f69077b38357bc240e9c724d9b455", + "created_index": 6, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" + }, + { + "payment_hash": "f44fb53918ac2e718adacb72f75a504caa75d172d375431e15e641ebe3869bdb", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5m4esq20u5sg9d3l56kln5mch7nzt7kzk5nxh05lg05pr7dx7he7qpp5738m2wgc4sh8rzk6ede0wkjsfj48t5tj6d65x8s4ueq7hcuxn0dsdq9d9h8vxqyjw5qcqp99qxpqysgqp934xt2e0jrqq4eh73ect9efqapgf835lc4sggmrhyjj28w9njn9kxg6fcwv45wt9r3md7v42m99evraq8y0uqes8m6w42vfahq6mnsprmx7dg", + "payment_secret": "dd730029fca41056c7f4d5bf3a6f17f4c4bf5856a4cd77d3e87d023f34debe7c", + "created_index": 7, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" + }, + { + "payment_hash": "fe88dbc5f62ce236557fdbb876a3c2e839d0aebcbe26bccbfd3f9b26b56a6811", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp55rgeqxs37mmuafxk46j65d5zdm0s3e00rjxt8zyh0m50knewzz7spp5l6ydh30k9n3rv4tlmwu8dg7zaquapt4uhcntejla87djddt2dqgsdq9d9h8vxqyjw5qcqp99qxpqysgqepyg7h0awlv3vkmu2hgs5lg4m8m7v8f0f3auxhedgqrjsnr9xf48d836t3n0wsdhv4cpa20a2tc9q6pnnkyhy4qemjnn6hker3sjc4qq2km8yd", + "payment_secret": "a0d1901a11f6f7cea4d6aea5aa36826edf08e5ef1c8cb388977ee8fb4f2e10bd", + "created_index": 8, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" + }, + { + "payment_hash": "f59ae0204dfe8e913207ea36646255b9d2c7c8229e8693d30547fc622eddb6b4", + "expires_at": 1709229182, + "bolt11": "lnbcrt1n1pja0z07sp5n8fk890nrq7zlcue0lgu7cduaaz765u5rg0kcud4amphuppu8wxspp57kdwqgzdl68fzvs8agmxgcj4h8fv0jpzn6rf85c9gl7xytkak66qdq9d9h8vxqyjw5qcqp99qxpqysgqrneaxh0plvjft457yv3q92rak57a6xw33m6phr0mrsy69sudzgez3adkzdsgwzy32z5usjpxm4rjgcg70h047wf0pgc4l9gyaj2h9ssqcrtv32", + "payment_secret": "99d36395f3183c2fe3997fd1cf61bcef45ed53941a1f6c71b5eec37e043c3b8d", + "created_index": 9, + "warning_capacity": "Insufficient incoming channel capacity to pay invoice" } ], "author": [ - "Christian Decker <> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-listpays(7)", - "lightning-sendpay(7)", - "lightning-listinvoice(7)" + "lightning-listinvoices(7)", + "lightning-delinvoice(7)", + "lightning-pay(7)" ], "resources": [ "Main web site: " ] }, - "lightning-listsqlschemas.json": { + "lightning-invoicerequest.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.02", - "rpc": "listsqlschemas", - "title": "Command to example lightning-sql schemas", + "added": "v22.11", + "rpc": "invoicerequest", + "title": "Command for offering payments", + "warning": "experimental-offers only", "description": [ - "This allows you to examine the schemas at runtime; while they are fully documented for the current release in lightning-sql(7), as fields are added or deprecated, you can use this command to determine what fields are present.", - "", - "If *table* is given, only that table is in the resulting list, otherwise all tables are listed." + "The **invoicerequest** RPC command creates an `invoice_request` to send payments: it automatically enables the processing of an incoming invoice, and payment of it. The reader of the resulting `invoice_request` can use lightning-sendinvoice(7) to collect their payment." ], "request": { - "required": [], + "required": [ + "amount", + "description" + ], "properties": { - "table": { - "type": "string" + "amount": { + "type": "msat", + "description": [ + "A positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." + ] + }, + "description": { + "type": "string", + "description": [ + "A short description of purpose of the payment, e.g. *ATM withdrawl*. This value is encoded into the resulting `invoice_request` and is viewable by anyone you expose it to. It must be UTF-8, and cannot use *\\u* JSON escape codes." + ] + }, + "issuer": { + "type": "string", + "description": [ + "Who is issuing it (i.e. you) if appropriate." + ] + }, + "label": { + "type": "string", + "description": [ + "An internal-use name for the offer, which can be any UTF-8 string." + ] + }, + "absolute_expiry": { + "type": "u64", + "description": [ + "The time the offer is valid until, in seconds since the first day of 1970 UTC. If not set, the `invoice_request` remains valid (though it can be deactivated by the issuer of course). This is encoded in the `invoice_request`." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Indicates that the `invoice_request` is only valid once; we may attempt multiple payments, but as soon as one is successful no more invoices are accepted (i.e. only one person can take the money)." + ], + "default": "True" } } }, "response": { "required": [ - "schemas" + "invreq_id", + "single_use", + "active", + "bolt12", + "used" ], "properties": { - "schemas": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "tablename", - "columns" - ], - "properties": { - "tablename": { - "type": "string", - "description": [ - "The name of the table." - ] - }, - "columns": { - "type": "array", - "description": [ - "The columns, in database order." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "name", - "type" - ], - "properties": { - "name": { - "type": "string", - "description": [ - "The name of the column." - ] - }, - "type": { - "type": "string", - "enum": [ - "INTEGER", - "BLOB", - "TEXT", - "REAL" - ], - "description": [ - "The SQL type of the column." - ] - } - } - } - }, - "indices": { - "type": "array", - "description": [ - "Any index we created to speed lookups." - ], - "items": { - "type": "array", - "description": [ - "The columns for this index." - ], - "items": { - "type": "string", - "description": [ - "The column name." - ] - } - } - } - } - } + "invreq_id": { + "type": "hash", + "description": [ + "The SHA256 hash of all invoice_request fields less than 160." + ] + }, + "active": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether the invoice_request is currently active." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether the invoice_request will become inactive after we pay an invoice for it." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string starting with lnr." + ] + }, + "used": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether the invoice_request has already been used." + ] + }, + "label": { + "type": "string", + "description": [ + "The label provided when creating the invoice_request." + ] } } }, + "errors": [ + "On failure, an error is returned and no `invoice_request` is created. If the lightning process fails before responding, the caller should use lightning-listinvoicerequests(7) to query whether it was created or not.", + "", + "- -1: Catchall nonspecific error." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listinvoicerequests(7)", + "lightning-disableinvoicerequest(7)" + ], + "resources": [ + "Main web site: " + ], "example_json_request": [ { - "id": "example:listsqlschemas#1", - "method": "listsqlschemas", + "id": "example:invoicerequest#1", + "method": "invoicerequest", "params": { - "table": "offers" + "amount": "2msat", + "description": "simple test" } }, { - "id": "example:listsqlschemas#2", - "method": "listsqlschemas", - "params": [ - "channels" - ] - }, - { - "id": "example:listsqlschemas#3", - "method": "listsqlschemas", - "params": [ - "closedchannels" - ] - }, - { - "id": "example:listsqlschemas#4", - "method": "listsqlschemas", - "params": [ - "channels" - ] - }, - { - "id": "example:listsqlschemas#5", - "method": "listsqlschemas", - "params": [ - "closedchannels" - ] - }, - { - "id": "example:listsqlschemas#6", - "method": "listsqlschemas", - "params": [ - "channels" - ] + "id": "example:invoicerequest#2", + "method": "invoicerequest", + "params": { + "amount": "100000sat", + "description": "simple test" + } }, { - "id": "example:listsqlschemas#7", - "method": "listsqlschemas", - "params": [ - "closedchannels" - ] + "id": "example:invoicerequest#3", + "method": "invoicerequest", + "params": { + "amount": "10000sat", + "description": "simple test", + "issuer": "clightning test suite" + } } ], "example_json_response": [ { - "schemas": [ - { - "tablename": "offers", - "columns": [ - { - "name": "offer_id", - "type": "BLOB" - }, - { - "name": "active", - "type": "INTEGER" - }, - { - "name": "single_use", - "type": "INTEGER" - }, - { - "name": "bolt12", - "type": "TEXT" - }, - { - "name": "bolt12_unsigned", - "type": "TEXT" - }, - { - "name": "used", - "type": "INTEGER" - }, - { - "name": "label", - "type": "TEXT" - } - ], - "indices": [ - [ - "offer_id" - ] - ] - } - ] - }, - { - "schemas": [ - { - "tablename": "channels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "source", - "type": "BLOB" - }, - { - "name": "destination", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "direction", - "type": "INTEGER" - }, - { - "name": "public", - "type": "INTEGER" - }, - { - "name": "amount_msat", - "type": "INTEGER" - }, - { - "name": "message_flags", - "type": "INTEGER" - }, - { - "name": "channel_flags", - "type": "INTEGER" - }, - { - "name": "active", - "type": "INTEGER" - }, - { - "name": "last_update", - "type": "INTEGER" - }, - { - "name": "base_fee_millisatoshi", - "type": "INTEGER" - }, - { - "name": "fee_per_millionth", - "type": "INTEGER" - }, - { - "name": "delay", - "type": "INTEGER" - }, - { - "name": "htlc_minimum_msat", - "type": "INTEGER" - }, - { - "name": "htlc_maximum_msat", - "type": "INTEGER" - }, - { - "name": "features", - "type": "BLOB" - } - ], - "indices": [ - [ - "short_channel_id" - ] - ] - } - ] + "invreq_id": "fc5ae5a5e1ee04a37c528fb22a5b4059e046624d00006d406ae2c9b99fcf21c9", + "active": true, + "single_use": true, + "bolt12": "lnr1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqw5w7y7xqm2rushk5a5n3mcuvqel954raykd5nqa830nq9hpd4s4fcnxw266vp9d5c8f3m3w40hmm6gm8akxx3rsnr7d4usunv0x3q8q", + "used": false }, { - "schemas": [ - { - "tablename": "closedchannels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "peer_id", - "type": "BLOB" - }, - { - "name": "channel_id", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "alias_local", - "type": "TEXT" - }, - { - "name": "alias_remote", - "type": "TEXT" - }, - { - "name": "opener", - "type": "TEXT" - }, - { - "name": "closer", - "type": "TEXT" - }, - { - "name": "private", - "type": "INTEGER" - }, - { - "name": "total_local_commitments", - "type": "INTEGER" - }, - { - "name": "total_remote_commitments", - "type": "INTEGER" - }, - { - "name": "total_htlcs_sent", - "type": "INTEGER" - }, - { - "name": "funding_txid", - "type": "BLOB" - }, - { - "name": "funding_outnum", - "type": "INTEGER" - }, - { - "name": "leased", - "type": "INTEGER" - }, - { - "name": "funding_fee_paid_msat", - "type": "INTEGER" - }, - { - "name": "funding_fee_rcvd_msat", - "type": "INTEGER" - }, - { - "name": "funding_pushed_msat", - "type": "INTEGER" - }, - { - "name": "total_msat", - "type": "INTEGER" - }, - { - "name": "final_to_us_msat", - "type": "INTEGER" - }, - { - "name": "min_to_us_msat", - "type": "INTEGER" - }, - { - "name": "max_to_us_msat", - "type": "INTEGER" - }, - { - "name": "last_commitment_txid", - "type": "BLOB" - }, - { - "name": "last_commitment_fee_msat", - "type": "INTEGER" - }, - { - "name": "close_cause", - "type": "TEXT" - } - ] - } - ] + "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", + "active": true, + "single_use": true, + "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", + "used": false }, { - "schemas": [ - { - "tablename": "channels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "source", - "type": "BLOB" - }, - { - "name": "destination", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "direction", - "type": "INTEGER" - }, - { - "name": "public", - "type": "INTEGER" - }, - { - "name": "amount_msat", - "type": "INTEGER" - }, - { - "name": "message_flags", - "type": "INTEGER" - }, - { - "name": "channel_flags", - "type": "INTEGER" - }, - { - "name": "active", - "type": "INTEGER" - }, - { - "name": "last_update", - "type": "INTEGER" - }, - { - "name": "base_fee_millisatoshi", - "type": "INTEGER" - }, - { - "name": "fee_per_millionth", - "type": "INTEGER" - }, - { - "name": "delay", - "type": "INTEGER" - }, - { - "name": "htlc_minimum_msat", - "type": "INTEGER" - }, - { - "name": "htlc_maximum_msat", - "type": "INTEGER" - }, - { - "name": "features", - "type": "BLOB" + "invreq_id": "715484ead84bcdae5b33e3015c686fa1bdd4ae9ade3c4729b58257a98cfcd9b5", + "active": true, + "single_use": true, + "bolt12": "lnr1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzq99smfawuu6pz0zh9jl6dl8v25u3kzes975x2j9tr0qp0ux0tlzcxjrgehxh9luz5vwjpk92tys9f9zlm038krcz4uqfxgelwf43tgfc", + "used": false + } + ] + }, + "lightning-keysend.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "keysend", + "title": "Send funds to a node without an invoice", + "description": [ + "The **keysend** RPC command attempts to find a route to the given destination, and send the specified amount to it. Unlike the `pay` RPC command the `keysend` command does not require an invoice, instead it uses the `destination` node ID, and `amount` to find a route to the specified node.", + "", + "In order for the destination to be able to claim the payment, the `payment_key` is randomly generated by the sender and included in the encrypted payload for the destination. As a consequence there is not proof-of-payment, like there is with an invoice where the `payment_key` is generated on the destination, and the only way sender could have it is by sending a payment. Please ensure that this matches your use-case when using `keysend`.", + "", + "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." + ], + "request": { + "required": [ + "destination", + "amount_msat" + ], + "properties": { + "destination": { + "type": "pubkey", + "description": [ + "The 33 byte, hex-encoded, node ID of the node that the payment should go to." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "A whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`." + ] + }, + "label": { + "type": "string", + "description": [ + "Used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)." + ] + }, + "maxfeepercent": { + "type": "number", + "description": [ + "Limits the money paid in fees as percentage of the total amount that is to be transferred." + ], + "default": "0.5" + }, + "retry_for": { + "type": "u32", + "description": [ + "Until *retry_for* seconds passes, the command will keep finding routes and retrying the payment. However, a payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case." + ], + "default": "60 seconds" + }, + "maxdelay": { + "type": "u32", + "description": [ + "Number of blocks the payment may be delayed." + ] + }, + "exemptfee": { + "type": "msat", + "description": [ + "Used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than *exemptfee*." + ], + "default": "5000 millisatoshi" + }, + "routehints": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "scid", + "feebase", + "feeprop", + "expirydelta" + ], + "properties": { + "id": { + "type": "pubkey" + }, + "scid": { + "type": "short_channel_id" + }, + "feebase": { + "type": "msat" + }, + "feeprop": { + "type": "u32" + }, + "expirydelta": { + "type": "u16" + } } - ], - "indices": [ - [ - "short_channel_id" - ] - ] + } } - ] + }, + "extratlvs": { + "type": "object", + "additionalProperties": true, + "required": [], + "description": [ + "Dictionary of additional fields to insert into the final tlv. The format is 'fieldnumber': 'hexstring'." + ] + } + } + }, + "response": { + "required": [ + "payment_preimage", + "payment_hash", + "created_at", + "parts", + "amount_msat", + "amount_sent_msat", + "status" + ], + "properties": { + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "created_at": { + "type": "number", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "parts": { + "type": "u32", + "description": [ + "How many attempts this took." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount the recipient received." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "Total amount we sent (including fees)." + ] + }, + "warning_partial_completion": { + "type": "string", + "description": [ + "Not all parts of a multi-part payment have completed." + ] + }, + "status": { + "type": "string", + "enum": [ + "complete" + ], + "description": [ + "Status of payment." + ] + } + }, + "post_return_value_notes": [ + "You can monitor the progress and retries of a payment using the lightning-paystatus(7) command." + ] + }, + "randomization": [ + "To protect user privacy, the payment algorithm performs some randomization.", + "", + "1: Route Randomization", + "", + "Route randomization means the payment algorithm does not always use the lowest-fee or shortest route. This prevents some highly-connected node from learning all of the user payments by reducing their fees below the network average.", + "", + "2: Shadow Route", + "", + "Shadow route means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", + "", + "Route randomization will never exceed *maxfeepercent* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." + ], + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", + "- 205: Unable to find a route.", + "- 206: Route too expensive. Either the fee or the needed total locktime for the route exceeds your *maxfeepercent* or *maxdelay* settings, respectively. The *data* field of the error will indicate the actual *fee* as well as the *feepercent* percentage that the fee has of the destination payment amount. It will also indicate the actual *delay* along the route.", + "- 210: Payment timed out without a payment in progress.", + "", + "A routing failure object has the fields below:", + "", + "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", + "*erring_node*: The hex string of the pubkey id of the node that reported the error.", + "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error.", + "*failcode*: The failure code, as per BOLT #4.", + "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the `UPDATE` bit set, as per BOLT #4." + ], + "example_json_request": [ + { + "id": "example:keysend#1", + "method": "keysend", + "params": { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 10000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } }, { - "schemas": [ - { - "tablename": "closedchannels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "peer_id", - "type": "BLOB" - }, - { - "name": "channel_id", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "alias_local", - "type": "TEXT" - }, - { - "name": "alias_remote", - "type": "TEXT" - }, - { - "name": "opener", - "type": "TEXT" - }, - { - "name": "closer", - "type": "TEXT" - }, - { - "name": "private", - "type": "INTEGER" - }, - { - "name": "total_local_commitments", - "type": "INTEGER" - }, - { - "name": "total_remote_commitments", - "type": "INTEGER" - }, - { - "name": "total_htlcs_sent", - "type": "INTEGER" - }, - { - "name": "funding_txid", - "type": "BLOB" - }, - { - "name": "funding_outnum", - "type": "INTEGER" - }, - { - "name": "leased", - "type": "INTEGER" - }, - { - "name": "funding_fee_paid_msat", - "type": "INTEGER" - }, - { - "name": "funding_fee_rcvd_msat", - "type": "INTEGER" - }, - { - "name": "funding_pushed_msat", - "type": "INTEGER" - }, - { - "name": "total_msat", - "type": "INTEGER" - }, - { - "name": "final_to_us_msat", - "type": "INTEGER" - }, - { - "name": "min_to_us_msat", - "type": "INTEGER" - }, - { - "name": "max_to_us_msat", - "type": "INTEGER" - }, - { - "name": "last_commitment_txid", - "type": "BLOB" - }, - { - "name": "last_commitment_fee_msat", - "type": "INTEGER" - }, - { - "name": "close_cause", - "type": "TEXT" - } - ] + "id": "example:keysend#2", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } + }, + { + "id": "example:keysend#3", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 70, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } + }, + { + "id": "example:keysend#4", + "method": "keysend", + "params": { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 10000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } + }, + { + "id": "example:keysend#5", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } + }, + { + "id": "example:keysend#6", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": { + "133773310": "FEEDC0DE" } - ] + } }, { - "schemas": [ - { - "tablename": "channels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "source", - "type": "BLOB" - }, - { - "name": "destination", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "direction", - "type": "INTEGER" - }, - { - "name": "public", - "type": "INTEGER" - }, - { - "name": "amount_msat", - "type": "INTEGER" - }, - { - "name": "message_flags", - "type": "INTEGER" - }, - { - "name": "channel_flags", - "type": "INTEGER" - }, - { - "name": "active", - "type": "INTEGER" - }, - { - "name": "last_update", - "type": "INTEGER" - }, - { - "name": "base_fee_millisatoshi", - "type": "INTEGER" - }, - { - "name": "fee_per_millionth", - "type": "INTEGER" - }, - { - "name": "delay", - "type": "INTEGER" - }, - { - "name": "htlc_minimum_msat", - "type": "INTEGER" - }, - { - "name": "htlc_maximum_msat", - "type": "INTEGER" - }, - { - "name": "features", - "type": "BLOB" - } - ], - "indices": [ - [ - "short_channel_id" - ] - ] + "id": "example:keysend#7", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": { + "133773310": "68656c6c6f207468657265" } - ] + } }, { - "schemas": [ - { - "tablename": "closedchannels", - "columns": [ - { - "name": "rowid", - "type": "INTEGER" - }, - { - "name": "peer_id", - "type": "BLOB" - }, - { - "name": "channel_id", - "type": "BLOB" - }, - { - "name": "short_channel_id", - "type": "TEXT" - }, - { - "name": "alias_local", - "type": "TEXT" - }, - { - "name": "alias_remote", - "type": "TEXT" - }, - { - "name": "opener", - "type": "TEXT" - }, - { - "name": "closer", - "type": "TEXT" - }, - { - "name": "private", - "type": "INTEGER" - }, - { - "name": "total_local_commitments", - "type": "INTEGER" - }, - { - "name": "total_remote_commitments", - "type": "INTEGER" - }, - { - "name": "total_htlcs_sent", - "type": "INTEGER" - }, - { - "name": "funding_txid", - "type": "BLOB" - }, - { - "name": "funding_outnum", - "type": "INTEGER" - }, - { - "name": "leased", - "type": "INTEGER" - }, - { - "name": "funding_fee_paid_msat", - "type": "INTEGER" - }, - { - "name": "funding_fee_rcvd_msat", - "type": "INTEGER" - }, - { - "name": "funding_pushed_msat", - "type": "INTEGER" - }, - { - "name": "total_msat", - "type": "INTEGER" - }, - { - "name": "final_to_us_msat", - "type": "INTEGER" - }, - { - "name": "min_to_us_msat", - "type": "INTEGER" - }, - { - "name": "max_to_us_msat", - "type": "INTEGER" - }, - { - "name": "last_commitment_txid", - "type": "BLOB" - }, + "id": "example:keysend#8", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": { + "133773310": "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" + } + } + }, + { + "id": "example:keysend#9", + "method": "keysend", + "params": { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 10000000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": { + "133773310": "f09f929520e282bf22270a4d6f726520696e666f0a" + } + } + }, + { + "id": "example:keysend#10", + "method": "keysend", + "params": { + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 10000000, + "label": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": { + "133773310": "68656c6c6f776f726c64", + "133773312": "66696c7465726d65" + } + } + }, + { + "id": "example:keysend#11", + "method": "keysend", + "params": { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 10000, + "routehints": [ + [ { - "name": "last_commitment_fee_msat", - "type": "INTEGER" - }, + "scid": "4615051x2233541x57738", + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "feebase": 1, + "feeprop": 10, + "expirydelta": 9 + } + ], + [ { - "name": "close_cause", - "type": "TEXT" + "scid": "1x2x3", + "id": "020202020202020202020202020202020202020202020202020202020202020202", + "feebase": 1, + "feeprop": 1, + "expirydelta": 9 } ] - } - ] + ] + } + }, + { + "id": "example:keysend#12", + "method": "keysend", + "params": { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 2000000, + "label": "keysend_l3", + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "extratlvs": null + } + } + ], + "example_json_response": [ + { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "b6f88603008a9f7dd84b1b94c7b972c8efbaf0b86c8d3c04512955992da9028e", + "created_at": 1706315742.6861734, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, + "payment_preimage": "7178cf708e34dce816fc35aa692a65e1f85b92ae03bbc8ae6543302511823174", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "61b43a5bda32ff399d9cf438efceababee41ab735adfefffe05bc92b50d839fe", + "created_at": 1706315747.7296453, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "b661f3e8cf6abb69628fd82ff6f8e531d6d46e9d36e7439e5b7cfd4a80444cc6", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "8c5dc7201ce3bcbb09b8cb92d8cb6aa35b278e4c546c5d194263a5ca19426089", + "created_at": 1708635514.2138708, + "parts": 1, + "amount_msat": 70, + "amount_sent_msat": 70, + "payment_preimage": "38a05d7dcaa0c98283f3b405a975e920f54aad0aee7bbe23fa7aa9e06c82abe1", + "status": "complete" + }, + { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "d99b469f65453651076574083b5673e354c66ca8e019d4d7f5f97bb53a05d51d", + "created_at": 1708640404.0577974, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, + "payment_preimage": "e8161bb819cc72314815e6d1461c2e3ddfe611159ac4df5e6540ce16df8f3cc0", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "db542abf003b29dd9d460cfccab5bd760d9751425b3e297163d05671d433897b", + "created_at": 1708640406.2781346, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "e049e6164aca88e82ce8043cfbabd734505a7272055afe16f94fa190f8752513", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "4f3931a4509904ae1a5b42a65a6c1745d954858c55b8d8d980aa6c48459b1729", + "created_at": 1708640418.8698277, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "b760af47f456a217e8dfda21a282f1f78c903487c1b21b3b318135f75aa3bf11", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "3c0b480ed8d91891f796233496e18b5d4f340785c6b117663fe6a27598e24f47", + "created_at": 1708640419.9726155, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "3e705f0e2fb0924e0dd192326a9b096ec700849be8cb04f54539599a8b6f0514", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "7add865e834e3f9e5151bdb1c1ac92a4d0b9461261ccef7c7a2b35c0f8bfe142", + "created_at": 1708640421.3870115, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "661f76dfd40bf4b4ba623ee976c255297d70f3ea2ba8b2609b54dbfa7785a319", + "status": "complete" + }, + { + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "cd5bbfb1b8e8867cf4c3e94300205087e6c868cf167f8b7d7c7c41ec1d6ca9fa", + "created_at": 1708640422.7923992, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "40e18705fac58910f087cddb1d256b8e06c1024d94789e4d3275012591904eeb", + "status": "complete" + }, + { + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payment_hash": "e8474eea8d5673e8407ef5f4924e58479b51a68afd136384683d5d6a97c9520d", + "created_at": 1708640424.1810749, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "40e47272ea7da20c57a2381d81a5513ec03bd8ead9d51fbd2a91ec76d3f4bcbf", + "status": "complete" + }, + { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "56e12e6f45120bef7385c9bf307319eaa6a1b9160cdb3e62a3f492abf5bfa4bc", + "created_at": 1708640437.2895157, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, + "payment_preimage": "682870b8f96e2aed1c86694dbb2c3e64cd396b9bba9fafd824d90eb0bd371b85", + "status": "complete" + }, + { + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "f6ec840cf17f8264dad0017ae6fa117ec6a7ff23ed7b503451a4a0f3fcc536b5", + "created_at": 1708640605.4585266, + "parts": 1, + "amount_msat": 2000000, + "amount_sent_msat": 2000000, + "payment_preimage": "b6bc0fdb39e505f94fd511e9d8e4152338f774b80cf9214f6170281130980a2d", + "status": "complete" } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Christian Decker <> is mainly responsible." ], "see_also": [ - "lightning-sql(7)" + "lightning-listpays(7)", + "lightning-decodepay(7)", + "lightning-listinvoice(7)", + "lightning-delinvoice(7)", + "lightning-getroute(7)", + "lightning-invoice(7)" ], "resources": [ "Main web site: " ] }, - "lightning-listtransactions.json": { + "lightning-listchannels.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "listtransactions", - "title": "Command to get the list of transactions that was stored in the wallet.", + "rpc": "listchannels", + "title": "Command to query active lightning channels in the entire network", "description": [ - "The **listtransactions** command returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." + "The **listchannels** RPC command returns data on channels that are known to the node. Because channels may be bidirectional, up to 2 objects will be returned for each channel (one for each direction).", + "", + "Only one of *short_channel_id*, *source* or *destination* can be supplied. If nothing is supplied, data on all lightning channels known to this node, are returned. These can be local channels or public channels broadcast on the gossip network." ], "request": { "required": [], - "properties": {} + "properties": { + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "If short_channel_id is a short channel id, then only known channels with a matching short_channel_id are returned. Otherwise, it must be null." + ] + }, + "source": { + "type": "pubkey", + "description": [ + "If source is a node id, then only channels leading from that node id are returned." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "If destination is a node id, then only channels leading to that node id are returned." + ] + } + } }, "response": { "required": [ - "transactions" + "channels" ], "properties": { - "transactions": { + "channels": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ - "hash", - "rawtx", - "blockheight", - "txindex", - "locktime", - "version", - "inputs", - "outputs" + "source", + "destination", + "short_channel_id", + "direction", + "public", + "amount_msat", + "message_flags", + "channel_flags", + "active", + "last_update", + "base_fee_millisatoshi", + "fee_per_millionth", + "delay", + "htlc_minimum_msat", + "features" ], "properties": { - "hash": { - "type": "txid", + "source": { + "type": "pubkey", "description": [ - "The transaction id." + "The source node." ] }, - "rawtx": { - "type": "hex", + "destination": { + "type": "pubkey", "description": [ - "The raw transaction." + "The destination node." ] }, - "blockheight": { + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "Short channel id of channel." + ] + }, + "direction": { "type": "u32", "description": [ - "The block height of this tx." + "Direction (0 if source < destination, 1 otherwise)." ] }, - "txindex": { + "public": { + "type": "boolean", + "description": [ + "True if this is announced (from *v24.02*, being false is deprecated)." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The total capacity of this channel (always a whole number of satoshis)." + ] + }, + "message_flags": { + "type": "u8", + "description": [ + "As defined by BOLT #7." + ] + }, + "channel_flags": { + "type": "u8", + "description": [ + "As defined by BOLT #7." + ] + }, + "active": { + "type": "boolean", + "description": [ + "True unless source has disabled it (or (deprecated in *v24.02*) it's a local channel and the peer is disconnected or it's still opening or closing)." + ] + }, + "last_update": { "type": "u32", "description": [ - "The transaction number within the block." + "UNIX timestamp on the last channel_update from *source*." ] }, - "locktime": { + "base_fee_millisatoshi": { "type": "u32", "description": [ - "The nLocktime for this tx." + "Base fee changed by *source* to use this channel." ] }, - "version": { + "fee_per_millionth": { "type": "u32", "description": [ - "The nVersion for this tx." + "Proportional fee changed by *source* to use this channel, in parts-per-million." ] }, - "inputs": { - "type": "array", + "delay": { + "type": "u32", "description": [ - "Each input, in order." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "txid", - "index", - "sequence" - ], - "properties": { - "txid": { - "type": "txid", - "description": [ - "The transaction id spent." - ] - }, - "index": { - "type": "u32", - "description": [ - "The output spent." - ] - }, - "sequence": { - "type": "u32", - "description": [ - "The nSequence value." - ] - } - } - } + "The number of blocks delay required by *source* to use this channel." + ] }, - "outputs": { - "type": "array", + "htlc_minimum_msat": { + "type": "msat", "description": [ - "Each output, in order." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "index", - "amount_msat", - "scriptPubKey" - ], - "properties": { - "index": { - "type": "u32", - "description": [ - "The 0-based output number." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount of the output." - ] - }, - "scriptPubKey": { - "type": "hex", - "description": [ - "The scriptPubKey." - ] - } - } - } + "The smallest payment *source* will allow via this channel." + ] + }, + "htlc_maximum_msat": { + "type": "msat", + "description": [ + "The largest payment *source* will allow via this channel." + ] + }, + "features": { + "type": "hex", + "description": [ + "BOLT #9 features bitmap for this channel." + ] } } } } - } - }, - "example_json_request": [ + }, + "post_return_value_notes": [ + "If one of *short_channel_id*, *source* or *destination* is supplied and no matching channels are found, a 'channels' object with an empty list is returned." + ] + }, + "errors": [ + "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." + ], + "example_json_request": [ + { + "id": "example:listchannels#1", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#2", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#3", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#4", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#5", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#6", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#7", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#8", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#9", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, { - "id": "example:listtransactions#1", - "method": "listtransactions", - "params": {} + "id": "example:listchannels#10", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "id": "example:listtransactions#2", - "method": "listtransactions", - "params": "{}" + "id": "example:listchannels#11", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "id": "example:listtransactions#3", - "method": "listtransactions", - "params": "{}" + "id": "example:listchannels#12", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "id": "example:listtransactions#4", - "method": "listtransactions", - "params": "{}" + "id": "example:listchannels#13", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "id": "example:listtransactions#5", - "method": "listtransactions", - "params": "{}" + "id": "example:listchannels#14", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "id": "example:listtransactions#6", - "method": "listtransactions", - "params": "{}" - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "example_json_response": [ + "id": "example:listchannels#15", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } + }, { - "transactions": [ - { - "hash": "05985072bbe20747325e69a159fe08176cc1bbc96d25e8848edad2dddc1165d0", - "rawtx": "02000000027032912651fc25a3e0893acd5f9640598707e2dfef92143bb5a4020e335442800100000017160014a5f48b9aa3cb8ca6cc1040c11e386745bb4dc932ffffffffd229a4b4f78638ebcac10a68b0561585a5d6e4d3b769ad0a909e9b9afaeae24e00000000171600145c83da9b685f9142016c6f5eb5f98a45cfa6f686ffffffff01915a01000000000017a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf8700000000", - "blockheight": 0, - "txindex": 0, - "locktime": 0, - "version": 2, - "inputs": [ - { - "txid": "804254330e02a4b53b1492efdfe207875940965fcd3a89e0a325fc5126913270", - "index": 1, - "sequence": 4294967295 - }, - { - "txid": "4ee2eafa9a9b9e900aad69b7d3e4d6a5851556b0680ac1caeb3886f7b4a429d2", - "index": 0, - "sequence": 4294967295 - } - ], - "outputs": [ - { - "index": 0, - "satoshis": "88721000msat", - "scriptPubKey": "a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf87" - } - ] - } - ] + "id": "example:listchannels#16", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "transactions": [ - { - "hash": "7ad0ca0979d5b20f5320b249e92f98b0146687767722b43196aa33ead5cdf9c2", - "rawtx": "02000000000101384a36cc11e83500c48db6bd24bf65e639733bb1b4968f42d06b6afa54cb54580100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220181eea80cc88227911bd0439e80dd77b50658e6c34b633cb0cbe33374f57a30a022031800aab2db95974b1ae28d27e18a42466daabbc373d0500d3f90298f7b1bcc0012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "blockheight": 0, - "txindex": 0, - "locktime": 102, - "version": 2, - "inputs": [ - { - "txid": "5854cb54fa6a6bd0428f96b4b13b7339e665bf24bdb68dc40035e811cc364a38", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000, - "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" - }, - { - "index": 1, - "amount_msat": 895073000, - "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" - } - ] - }, - { - "hash": "5854cb54fa6a6bd0428f96b4b13b7339e665bf24bdb68dc40035e811cc364a38", - "rawtx": "020000000001016654ccdd5cd76b18603524eceb913e236fdc1df4d59576e8b975f893d46f59af0000000000fdffffff0233aff6290100000016001469709fe0f59052483d9ed73c84918fb9cf4bb8c640420f000000000016001401fad90abcd66697e2592164722de4a95ebee1650247304402202a92783a693f863fcf9595ee2b30b5801cc3d2d133f11b3ffb2a2b8177ab6f6d02204b02f9f37898c9e35a7f701d92bbf69304f5d8cfc9a42a1b784ec52e548efb4a0121027fda618b14b3d2b753f98082e3da359ec320ae0483c14a201e2052632463926465000000", - "blockheight": 102, - "txindex": 1, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "af596fd493f875b9e87695d5f41ddc6f233e91ebec243560186bd75cddcc5466", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4998999859000, - "scriptPubKey": "001469709fe0f59052483d9ed73c84918fb9cf4bb8c6" - }, - { - "index": 1, - "amount_msat": 1000000000, - "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" - } - ] - } - ] + "id": "example:listchannels#17", + "method": "listchannels", + "params": { + "short_channel_id": "103x1x0", + "source": null, + "destination": null + } }, { - "transactions": [ - { - "hash": "6c441ee5ef5bf81f43c84f67009fbd69c50d5b2986067b732b2e086d66324fa7", - "rawtx": "02000000000106325dcf9e550a9c301f30391c2ffdd7dea628331d09dd40c05bfcf5d2fbe1847d0000000000fdffffffa8b81e10f438dd1597468c369225d3a064389e7ef1fbe3c0eaba373306952e570100000000fdffffffc6bad710e4abde70c9e7f634a7b53679a1a4163b5ea3098da79bf934dc783af90000000000fdffffff4857ec34df693a3aecbea33a84ab3b1beeb9ae80fb0f55fce4dc28c6684b2c540100000000fdffffff3dc61e5b18db909fba3ae554189ff7d6fbce811ecb8edec1671cd8d280daf3dc0000000000fdffffff4677f8a6144460b15798c6cf85ba207a9f7e3cf826df5ceb74ffef0de51e5f650100000000fdffffff020065cd1d000000002251206664e7ba05e61e3f37720f2b92e5cd60ffc8b5bd02e542ce8562f616bd7bab030ea6f50500000000225120991062a7bfdfe38fdf94639dbd2a43dccb9c7651ab0d9d8cd8192a0b170ce5830140265910d91ece103a85a414967b76b53021cde6e9a67fde7b63b087f92bb092783f02432d270bcf2bcb5b68f25a3888e7e2364c5f7f830a2894ed5839fea0dc180247304402201f3cb57b6d1ef7d087c24bc8402b3a2e61bf7d9e8c65b059d1c162d602427986022073dbe3659ee62e66799189c50722c437db9b067487029dd5a0f0c4b114208edb012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f0247304402201ec4380bdfd9a28fe1120fd44f23998d31238f5b11cbcc6cb972244f19279bde02200c925476e018a5dbccfc6fb6ef3ce798ab63a13adcab61573fed337c8970bfd7012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f014016c355d0e6d54ba667bf8fe73e8fe671100bfb773639d47d1b46a30ce09302aa67ec4f0572aea9fefd25a333c6f937398a5f33141e89bd5fcccfc705b2d7c28702473044022055f7287e0a808d9124974849250376f28a59bf2203a141493c0e86f84e12136f02204206fe7785ee200dd44af2b0241569908abfb95c80e82c9f71eee13bc992bdb5012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f0140f6982def547f5cc2c2ecfaa948e7cb30c4ad369bff4be03612e9991b8473536014ccbc854ae94f7fcebc60106881bcd14f1b29b09d95ac714d9aaeb37563c02d66000000", - "blockheight": 0, - "txindex": 0, - "locktime": 102, - "version": 2, - "inputs": [ - { - "txid": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", - "index": 0, - "sequence": 4294967293 - }, - { - "txid": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "f93a78dc34f99ba78d09a35e3b16a4a17936b5a734f6e7c970deabe410d7bac6", - "index": 0, - "sequence": 4294967293 - }, - { - "txid": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", - "index": 0, - "sequence": 4294967293 - }, - { - "txid": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 500000000000, - "scriptPubKey": "51206664e7ba05e61e3f37720f2b92e5cd60ffc8b5bd02e542ce8562f616bd7bab03" - }, - { - "index": 1, - "amount_msat": 99984910000, - "scriptPubKey": "5120991062a7bfdfe38fdf94639dbd2a43dccb9c7651ab0d9d8cd8192a0b170ce583" - } - ] - }, - { - "hash": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", - "rawtx": "020000000001012e03bc38fbaa43a9dfa2d647befb409fec3dab9ebd2c3142bc5895036f0d48d50000000000fdffffff025b10102401000000225120560627f1055f09a5a6aa63ac1e8fabb4063b04ad33e41cf078dd8147634835d400e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd102473044022023c79dc5c34ec82f2ba4eb72e0a73bf7dd7d39af2c9b18c43fad5a4227e4339302200b11755e4ebaf508c004036e7bc8d0ec9c9f18df698a303de8b5e8ec43d3c814012102c53981b67a95acc063c893201e63e1416657abf0c43ed1282e5d443fa0069c6165000000", - "blockheight": 102, - "txindex": 1, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "d5480d6f039558bc42312cbd9eab3dec9f40fbbe47d6a2dfa943aafb38bc032e", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4899999835000, - "scriptPubKey": "5120560627f1055f09a5a6aa63ac1e8fabb4063b04ad33e41cf078dd8147634835d4" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" - } - ] - }, - { - "hash": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", - "rawtx": "020000000001014857ec34df693a3aecbea33a84ab3b1beeb9ae80fb0f55fce4dc28c6684b2c540000000000fdffffff02c02e1a1e01000000225120892ba69c00e9d467b6472d79e9dbc0c5faedd7efd03bb821ecb47028c5811bbb00e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1014013931e8a44332197d5da8073de2ed0c4bc532349e867f8164facbc1d45c5dc05fc8f342cff146764f76774aa7371059cb0afa1d44eca44f7dce576019d9108c965000000", - "blockheight": 102, - "txindex": 2, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4799999680000, - "scriptPubKey": "5120892ba69c00e9d467b6472d79e9dbc0c5faedd7efd03bb821ecb47028c5811bbb" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" - } - ] - }, - { - "hash": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", - "rawtx": "020000000001014677f8a6144460b15798c6cf85ba207a9f7e3cf826df5ceb74ffef0de51e5f650000000000fdffffff0200e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1254d24180100000022512091dba3a48ad4e9fcf357fa73188d89f61c6c39bd804cc030144e4ff9446e93f10140d021b95411981fb19be2d07a3bb102f3a811d1361aa59b7c04f0710bc70a910e6061ff4a83ae9f21b8a7e467690948f5d7fa7b453bc0668a073611c7e606a2f665000000", - "blockheight": 102, - "txindex": 3, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000000, - "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" - }, - { - "index": 1, - "amount_msat": 4699999525000, - "scriptPubKey": "512091dba3a48ad4e9fcf357fa73188d89f61c6c39bd804cc030144e4ff9446e93f1" - } - ] - }, - { - "hash": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", - "rawtx": "02000000000101325dcf9e550a9c301f30391c2ffdd7dea628331d09dd40c05bfcf5d2fbe1847d0100000000fdffffff0200e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627ca26b2e12010000001600141793aaf17ccb4111b278f268fefe53ef42800f470140f14cd7f720dcbd5d36eb317ab335ad8dc162bc85b107951afac136cee78f28c916e78c03ae3209337a017eb49ffda6bfa53d190ee0519f4d7b539d92dd60037d65000000", - "blockheight": 102, - "txindex": 4, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000000, - "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" - }, - { - "index": 1, - "amount_msat": 4599999394000, - "scriptPubKey": "00141793aaf17ccb4111b278f268fefe53ef42800f47" - } - ] - }, - { - "hash": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", - "rawtx": "020000000001013dc61e5b18db909fba3ae554189ff7d6fbce811ecb8edec1671cd8d280daf3dc0100000000fdffffff02158a380c010000001600144d08e25205ee00ca4314983c579bac7e13b7dae700e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627c02473044022042a5f42b2de5d84040a40750bab4b3c1e6b857b21c13ae90c5214dd5c015633a02201704df773aa67d94839357c8e99b17eeb1051eaa3cd35cb8cea8317e699c2e900121028f3b5478cc6af69438f7a95f602e81c9edda24d3a724f606ea4feb40bd51019a65000000", - "blockheight": 102, - "txindex": 5, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4499999253000, - "scriptPubKey": "00144d08e25205ee00ca4314983c579bac7e13b7dae7" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" - } - ] - }, - { - "hash": "f93a78dc34f99ba78d09a35e3b16a4a17936b5a734f6e7c970deabe410d7bac6", - "rawtx": "02000000000101a8b81e10f438dd1597468c369225d3a064389e7ef1fbe3c0eaba373306952e570000000000fdffffff0200e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627c88a84206010000001600145ae6e38c4588c11497fecec129d8c150cba23ad302473044022068c8705a9ffe90076c58fbadeefe1faa23f8aaabd7b42ef97e1fb8d093bcbd2f02205174f009f623db441005175dd147d57cd7b577d0727088890530d6dc230b7cc1012103b4403fe6c532e9c0715f318cafd60f2cd0ccc04f771eb5e799eec58fc24aebae65000000", - "blockheight": 102, - "txindex": 6, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000000, - "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" - }, - { - "index": 1, - "amount_msat": 4399999112000, - "scriptPubKey": "00145ae6e38c4588c11497fecec129d8c150cba23ad3" - } - ] - } - ] + "id": "example:listchannels#18", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } }, { - "transactions": [ - { - "hash": "30746b86e10c19b2a3b7183099bd02b2c3f21d2df7c185d92a81f37472e08f81", - "rawtx": "0200000000010178a2a05d9bd3699bb4af18fc7ca7eb385068b858fa6e585ab3012220d8320a080100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022020fc5b2b8b0395e2684d45dfe9a5143f4dabe74437425cd850879c88431c19d30220713bceeb0c5659ce2ff5f6590debc30b271267473da7468b91deda03f0b35a4e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "blockheight": 0, - "txindex": 0, - "locktime": 102, - "version": 2, - "inputs": [ - { - "txid": "080a32d8202201b35a586efa58b8685038eba77cfc18afb49b69d39b5da0a278", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000, - "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" - }, - { - "index": 1, - "amount_msat": 895073000, - "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" - } - ] - }, + "id": "example:listchannels#19", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#20", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#21", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#22", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + }, + { + "id": "example:listchannels#23", + "method": "listchannels", + "params": { + "short_channel_id": null, + "source": null, + "destination": null + } + } + ], + "example_json_response": [ + { + "channels": [] + }, + { + "channels": [ { - "hash": "080a32d8202201b35a586efa58b8685038eba77cfc18afb49b69d39b5da0a278", - "rawtx": "020000000001010ce714e65defd48af28248d2ae412822258d38d50e811b894346a3b99c96c1030000000000fdffffff0233aff62901000000160014faa59d627eb9c05e879d0fdeb60f5364c71fbdf640420f000000000016001401fad90abcd66697e2592164722de4a95ebee1650247304402205fc3910ca60d8e3cab006e848a23132418b00dcff0a60d8005febf5b63bd493602201268546c5c17c741d8a44add7ce0274f7d2004a03eec913376ad11a554017df40121031592a443239b0a4211f7dff2086c4a602c05c7b614c5929277b7c3a1f9e911b665000000", - "blockheight": 102, - "txindex": 1, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "03c1969cb9a34643891b810ed5388d25222841aed24882f28ad4ef5de614e70c", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4998999859000, - "scriptPubKey": "0014faa59d627eb9c05e879d0fdeb60f5364c71fbdf6" - }, - { - "index": 1, - "amount_msat": 1000000000, - "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" - } - ] + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1706153393, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1706153393, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" } ] }, { - "transactions": [ - { - "hash": "46b692c22302effb4d3874a5ec6524c7f5be771deb6529bcdaefeeaf2e8eb488", - "rawtx": "02000000000106f41eaf528937d0e313596730790bee48d6b76a346c97f45f2208749f4f01e90f0100000000fdffffffa6598ff563e397f77dffdba738ed5218fdf1bd3ba3a273167a73f8a9110bed050100000000fdffffff6de6b764d0b6d0b2e6a615f93cc3c5432c51d8477fd4ae908d53412e72333fc00100000000fdffffffa9c04839d6cc9afac7411d582d5eeb3c98038d0023218f6d8c0264f6aca989470100000000fdffffffd10882a6a0d50d9c45893d8381f6c1f36a56b132cfdb2e7a6518f2d82e236e630100000000fdffffff4d5b65fd962e06009058ce0156ec81ceab99efb88a125297bedca69bfe756f270000000000fdffffff020065cd1d0000000022512070cef5614eef1eead42f7ffb2da8b9688cd9042a2b18682166e5a58b74ea2c710ea6f50500000000225120cdd8ad54187deb7f7376f9676cd952a3ac132a27cb72ff9d882e1f401b5e9cf40140a87e8d8dbb4a6e6d8bfd83c8a54cf6fdbf17f3a97634dd620f3ea1586c710be65e77d0f9307fd22a20a6b45740f1d0e6533a6975347694a1a62a340e84c0f64602473044022068bcd46eee14bee17dbbe950eb364a91ac3bfbcea07d359d4457de54978e9dba02201e596912b146715c94ca23aa1a5971a5ad10b8af1e535b13ad50afef682060ea012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae50140e076bb6c8c22ca89ec634fec31f4843c26579955600bdcc5363b9546f9db1d6a73e1bb76201bf6d0eab8826b9255de5b52eb027a1b3ad6760e557beee216b9c202473044022025a1fcc2f31a0a65b2e981760e3c1533cfd6fa0a48b7167abdc3deb94086a02502204815e7881ce25b1f392215a24a94f788ded02fa4dffdd9e0601ed4b9a404f0f1012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae502473044022073a63fa354766fe6635ac7b8c3995183f875da3335a9864e2d0ae2d1b2b35d05022064197b444413897777649b1007b38f86451cd3c686278da82d7996bbb2914d71012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae5014049174163e95f5aff71876abe28d1042e12db243dbc1b3d81e6a7c4b70cde31348007855883be75f1ea8c6eb22e1b942bcf3809c6e6506d14f15ef9fc60e84b7f66000000", - "blockheight": 0, - "txindex": 0, - "locktime": 102, - "version": 2, - "inputs": [ - { - "txid": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "636e232ed8f218657a2edbcf32b1566af3c1f681833d89459c0dd5a0a68208d1", - "index": 1, - "sequence": 4294967293 - }, - { - "txid": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 500000000000, - "scriptPubKey": "512070cef5614eef1eead42f7ffb2da8b9688cd9042a2b18682166e5a58b74ea2c71" - }, - { - "index": 1, - "amount_msat": 99984910000, - "scriptPubKey": "5120cdd8ad54187deb7f7376f9676cd952a3ac132a27cb72ff9d882e1f401b5e9cf4" - } - ] - }, - { - "hash": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", - "rawtx": "02000000000101915f8deffc81b2c0285a1fcfa897c3694f501a27b4d1c15cc088743d0bbf22b50000000000fdffffff025b10102401000000225120c80be6cea3824d68d9c117bf66fd27b81663365356e9d178f5630d26646435f900e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a0247304402204bdee8a7507f9f62e3ce0d5a4614f4aeaed7fe41648c26bf6e9386faea12069a022014e6511d15a52cab1f02cd536623d0a5b5341adc5cfd64219fb4d7ea5c4d329801210318e17e8d2bcd36bc5d6de7a82cf1b0725dab85344b1da4695ba59c45363e879465000000", - "blockheight": 102, - "txindex": 1, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "b522bf0b3d7488c05cc1d1b4271a504f69c397a8cf1f5a28c0b281fcef8d5f91", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4899999835000, - "scriptPubKey": "5120c80be6cea3824d68d9c117bf66fd27b81663365356e9d178f5630d26646435f9" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" - } - ] - }, - { - "hash": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", - "rawtx": "02000000000101f41eaf528937d0e313596730790bee48d6b76a346c97f45f2208749f4f01e90f0000000000fdffffff02c02e1a1e010000002251204e90e79314d9c89ac931bbe814ad9a0fc01235166be769feea5897722801a04100e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a0140ff6fb19bde6bc24bb04cd3358e768c9eaa38dde0609abdd0c4831213c2529729dc4a423a27d01658f04bbd334d3ed1b511fdba7f290c3b5abb59e55466dfdddb65000000", - "blockheight": 102, - "txindex": 2, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4799999680000, - "scriptPubKey": "51204e90e79314d9c89ac931bbe814ad9a0fc01235166be769feea5897722801a041" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" - } - ] - }, - { - "hash": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", - "rawtx": "020000000001016de6b764d0b6d0b2e6a615f93cc3c5432c51d8477fd4ae908d53412e72333fc00000000000fdffffff0200e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a254d241801000000225120bd3cabbab8ac1d24a8e1b510b40c92aba15360c4ff708114c6591f624b15f41801405b32c35d3da023059ba9907112c7fde08e76dffbc7f7a22656a8b48bf4f92a86583f2b02d4203fec72fe6437503ed8261231e139bccf37f3f6e4a2aca54d291265000000", - "blockheight": 102, - "txindex": 3, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000000, - "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" - }, - { - "index": 1, - "amount_msat": 4699999525000, - "scriptPubKey": "5120bd3cabbab8ac1d24a8e1b510b40c92aba15360c4ff708114c6591f624b15f418" - } - ] - }, - { - "hash": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", - "rawtx": "020000000001014d5b65fd962e06009058ce0156ec81ceab99efb88a125297bedca69bfe756f270100000000fdffffff02a26b2e1201000000160014d2f884622cb8a6a3405355c1d90677bbca28472900e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba0140c81e507c2d2889dc2b637f3936a4b9bdfcb21363d89ef03f576f58d55ba8dd203cd9c9451e5be5face28d8de7946647023ddba2726eea8cab789576eaf6e355665000000", - "blockheight": 102, - "txindex": 4, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", - "index": 1, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4599999394000, - "scriptPubKey": "0014d2f884622cb8a6a3405355c1d90677bbca284729" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" - } - ] - }, + "channels": [] + }, + { + "channels": [] + }, + { + "channels": [] + }, + { + "channels": [ { - "hash": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", - "rawtx": "02000000000101a6598ff563e397f77dffdba738ed5218fdf1bd3ba3a273167a73f8a9110bed050000000000fdffffff02158a380c01000000160014ffcff271765dfcfcafdd8ed35937b9f68e9dd7e700e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba02473044022024795f35e208eca7a4f2da2212c2a1a7172ad9bb9a192d1389453c4f387652890220464b17f8c3ec7015ea8bde410b19195b233e5c7ab88df0f7877527d993d77e58012103a1f79558e4ea76b7ec2c723ff791b80d98fed50eb4856d33b33148f5b6c95e0065000000", - "blockheight": 102, - "txindex": 5, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4499999253000, - "scriptPubKey": "0014ffcff271765dfcfcafdd8ed35937b9f68e9dd7e7" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" - } - ] + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624222, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" }, { - "hash": "636e232ed8f218657a2edbcf32b1566af3c1f681833d89459c0dd5a0a68208d1", - "rawtx": "02000000000101a9c04839d6cc9afac7411d582d5eeb3c98038d0023218f6d8c0264f6aca989470000000000fdffffff0288a8420601000000160014bbdf6304285764d5f46cd07b18ef54f97d9fc08e00e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba0247304402205a6bbfdbae25a3d324b9c49db99f68a5d668063466211462f1afd99af6c51aed022044ef4a2b6eda7c315d62fddca30808607efb974c209b390bfa6450f8df0d7d5001210320419b7cc9f1884b7a23d3a2b13cc53ab04587a94a59a66d5e46bda83a9d84e365000000", - "blockheight": 102, - "txindex": 6, - "locktime": 101, - "version": 2, - "inputs": [ - { - "txid": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 4399999112000, - "scriptPubKey": "0014bbdf6304285764d5f46cd07b18ef54f97d9fc08e" - }, - { - "index": 1, - "amount_msat": 100000000000, - "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" - } - ] + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624222, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" } ] }, { - "transactions": [ + "channels": [ { - "hash": "fbf8459bc01b213b114ea4abce37fff933fd3a899cb615b8d74aec23f214da23", - "rawtx": "02000000000101206227f17f9ccaebb5ee9833b56eccd998d2357527972ef9667692a80879f91b0000000000fdffffff0240420f000000000016001401fad90abcd66697e2592164722de4a95ebee16533aff62901000000160014b85e70987f9db34c4a28c56771f3535754a74a210247304402200af6e72c2c8c08e7ccfb8ded6f4fd66e4540431e51d6b3396fd50ad7a663a3f802205d992d09a868a10ccb82bb18678f55c60ae14908823f39f841d97f9f8e0556c50121020f07f9e46602d137ac3369b2fc5102a12e110252e3f0287b88e6b6e527eb61e313000000", - "blockheight": 102, - "txindex": 1, - "locktime": 19, - "version": 2, - "inputs": [ - { - "txid": "1bf97908a8927666f92e97277535d298d9cc6eb53398eeb5ebca9c7ff1276220", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 1000000000, - "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" - }, - { - "index": 1, - "amount_msat": 4998999859000, - "scriptPubKey": "0014b85e70987f9db34c4a28c56771f3535754a74a21" - } - ] + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624222, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" }, { - "hash": "e1f2f68e15464920c711811398b1fb0deb7d53a8bb0f705a271bb107ea069fb4", - "rawtx": "0200000000010123da14f223ec4ad7b815b69c893afd33f9ff37ceaba44e113b211bc09b45f8fb0000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022040379a05d3c76ae2c5f99fcc989cb047716f4e68603957fc5c2a261e8312c22e02205e770e281cad71373b379a0368d006a40ea5c21451d26ffa10bcd1ab9d77dc0b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf07000000", - "blockheight": 103, - "txindex": 1, - "locktime": 7, - "version": 2, - "inputs": [ - { - "txid": "fbf8459bc01b213b114ea4abce37fff933fd3a899cb615b8d74aec23f214da23", - "index": 0, - "sequence": 4294967293 - } - ], - "outputs": [ - { - "index": 0, - "amount_msat": 100000000, - "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" - }, - { - "index": 1, - "amount_msat": 895073000, - "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" - } - ] + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624222, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" } ] - } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-newaddr(7)", - "lightning-listfunds(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-makesecret.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "makesecret", - "title": "Command for deriving pseudorandom key from HSM", - "description": [ - "The **makesecret** RPC command derives a secret key from the HSM_secret." - ], - "request": { - "required": [], - "properties": { - "hex": { - "type": "hex", - "description": [ - "One of `hex` or `string` must be specified: `hex` can be any hex data." - ] - }, - "string": { - "type": "string", - "description": [ - "One of `hex` or `string` must be specified: `string` is a UTF-8 string interpreted literally." - ] - } - } - }, - "response": { - "required": [ - "secret" - ], - "properties": { - "secret": { - "type": "secret", - "description": [ - "The pseudorandom key derived from HSM_secret." - ] - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error." - ], - "example_json_request": [ + }, { - "id": "example:makesecret#1", - "method": "makesecret", - "params": [ - "73636220736563726574" - ] + "channels": [] }, { - "id": "example:makesecret#2", - "method": "makesecret", - "params": { - "hex": "73636220736563726574" - } + "channels": [] }, { - "id": "example:makesecret#3", - "method": "makesecret", - "params": [ - "73636220736563726574" + "channels": [] + }, + { + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624617, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624617, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } + ] + }, + { + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624617, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624617, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } ] }, { - "id": "example:makesecret#4", - "method": "makesecret", - "params": { - "hex": "73636220736563726574" - } - }, - { - "id": "example:makesecret#5", - "method": "makesecret", - "params": { - "hex": "73636220736563726575" - } - }, - { - "id": "example:makesecret#6", - "method": "makesecret", - "params": { - "hex": "736362207365637265" - } + "channels": [] }, { - "id": "example:makesecret#7", - "method": "makesecret", - "params": { - "hex": "7363622073656372657401" - } + "channels": [] }, { - "id": "example:makesecret#8", - "method": "makesecret", - "params": { - "string": "scb secret" - } + "channels": [] }, { - "id": "example:makesecret#9", - "method": "makesecret", - "params": [ - null, - "scb secret" + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624684, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624684, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } ] - } - ], - "example_json_response": [ - { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" }, { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" - }, - { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 0, + "active": true, + "last_update": 1708624684, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 1, + "active": true, + "last_update": 1708624684, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } + ] }, { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 2, + "active": false, + "last_update": 1708624685, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 3, + "active": false, + "last_update": 1708624685, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } + ] }, { - "secret": "702fcbdce9bab15df112b1d1a94abc6fd723c39e4b59f2bce7ef7c5135e19116" + "channels": [ + { + "source": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "short_channel_id": "103x1x0", + "direction": 0, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 2, + "active": false, + "last_update": 1708624685, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + }, + { + "source": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "short_channel_id": "103x1x0", + "direction": 1, + "public": true, + "amount_msat": 1000000000, + "message_flags": 1, + "channel_flags": 3, + "active": false, + "last_update": 1708624685, + "base_fee_millisatoshi": 1, + "fee_per_millionth": 10, + "delay": 6, + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "features": "" + } + ] }, { - "secret": "223788ae2e15d61c496645e5e7d72752c50cb1aaee500a499bbc5ad8e4758b76" + "channels": [] }, { - "secret": "61d0d2134267396359bd091e9676ca847491c073664811362341f42dacc03167" + "channels": [] }, { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" + "channels": [] }, { - "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" + "channels": [] } ], "author": [ - "Aditya <> is mainly responsible." + "Michael Hawkins <>." + ], + "see_also": [ + "lightning-fundchannel(7)", + "lightning-listnodes(7)" ], "resources": [ - "Main web site: " + "Main web site: ", + "", + "BOLT #7: " ] }, - "lightning-multifundchannel.json": { + "lightning-listclosedchannels.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "multifundchannel", - "title": "Command for establishing many lightning channels", + "added": "v23.05", + "rpc": "listclosedchannels", + "title": "Get data on our closed historical channels", "description": [ - "The **multifundchannel** RPC command opens multiple payment channels with nodes by committing a single funding transaction to the blockchain that is shared by all channels.", - "", - "If not already connected, **multifundchannel** will automatically attempt to connect; you may provide a *@host:port* hint appended to the node ID so that Core Lightning can learn how to connect to the node; see lightning-connect(7).", - "", - "Once the transaction is confirmed, normal channel operations may begin. Readiness is indicated by **listpeers** reporting a *state* of `CHANNELD_NORMAL` for the channel." + "The **listclosedchannels** RPC command returns data on channels which are otherwise forgotten (more than 100 blocks after they're completely resolved onchain)." ], "request": { + "required": [], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "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." + ] + } + } + }, + "response": { "required": [ - "destinations" + "closedchannels" ], "properties": { - "destinations": { + "closedchannels": { "type": "array", - "description": [ - "There must be at least one entry in *destinations*; it cannot be an empty array." - ], "items": { "type": "object", - "additionalProperties": false, + "additionalProperties": true, "required": [ - "id", - "amount" + "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": { - "id": { - "type": "string", - "description": [ - "Node ID, with an optional *@host:port* appended to it in a manner understood by **connect**; see lightning-connect(7). Each entry in the *destinations* array must have a unique node *id*. If not already connected, **multifundchannel** will automatically attempt to connect to the node." - ] - }, - "amount": { - "type": "msat", + "peer_id": { + "type": "pubkey", "description": [ - "Amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). The string *all* can be used to specify all available funds (or 16,777,215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently 546 satoshi as of this writing, nor more than 16,777,215 satoshi (unless large channels were negotiated with the peer)." + "Peer public key (can be missing with pre-v23.05 closes!)." ] }, - "announce": { - "type": "boolean", - "description": [ - "Flag that indicates whether to announce the channel with this. If set to `False`, the channel is unpublished." - ], - "default": "`True`" - }, - "push_msat": { - "type": "msat", + "channel_id": { + "type": "hash", "description": [ - "Amount of millisatoshis to outright give to the node. This is a gift to the peer, and you do not get a proof-of-payment out of this." + "The full channel_id (funding txid Xored with output number)." ] }, - "close_to": { - "type": "string", + "short_channel_id": { + "type": "short_channel_id", "description": [ - "Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script` Returns `close_to` set to closing script iff is negotiated." + "The short_channel_id." ] }, - "request_amt": { - "type": "msat", - "description": [ - "Amount of liquidity you'd like to lease from peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." - ] + "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." + ] + } + } }, - "compact_lease": { + "opener": { "type": "string", - "description": [ - "Compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel to this destination." - ] - }, - "mindepth": { - "type": "u32", - "description": [ - "Number of confirmations before we consider the channel active." - ] - }, - "reserve": { - "type": "msat", - "description": [ - "Amount we want the peer to maintain on its side of the channel. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + "enum": [ + "local", + "remote" ], - "default": "1% of the funding amount" - } - } - } - }, - "feerate": { - "type": "feerate", - "description": [ - "Feerate used for the opening transaction, and if *commitment_feerate* is not set, as initial feerate for commitment and HTLC transactions. See NOTES in lightning-feerates(7) for possible values." - ], - "default": "*normal*" - }, - "minconf": { - "type": "integer", - "description": [ - "Minimum number of confirmations that used outputs should have." - ], - "default": 1 - }, - "utxos": { - "type": "array", - "items": { - "type": "outpoint", - "description": [ - "Utxos to be used to fund the channel, as an array of `txid:vout`." - ] - } - }, - "minchannels": { - "type": "integer", - "description": [ - "Re-attempt funding as long as at least this many peers remain (must not be zero). The **multifundchannel** command will only fail if too many peers fail the funding process." - ] - }, - "commitment_feerate": { - "type": "feerate", - "description": [ - "Initial feerate for commitment and HTLC transactions. See *feerate* for valid values." - ] - } - } - }, - "response": { - "required": [ - "tx", - "txid", - "channel_ids" - ], - "properties": { - "tx": { - "type": "hex", - "description": [ - "The raw transaction which funded the channel." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction which funded the channel." - ] - }, - "channel_ids": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "channel_id", - "channel_type", - "outnum" - ], - "properties": { - "id": { - "type": "pubkey", "description": [ - "The peer we opened the channel with." + "Who initiated the channel." ] }, - "outnum": { - "type": "u32", + "closer": { + "type": "string", + "enum": [ + "local", + "remote" + ], "description": [ - "The 0-based output index showing which output funded the channel." + "Who initiated the channel close (only present if closing)." ] }, - "channel_id": { - "type": "hash", + "private": { + "type": "boolean", "description": [ - "The channel_id of the resulting channel." + "If True, we will not announce this channel." ] }, "channel_type": { @@ -70017,7 +42889,6 @@ "description": [ "Channel_type as negotiated with peer." ], - "added": "v24.02", "additionalProperties": false, "required": [ "bits", @@ -70029,7 +42900,6 @@ "description": [ "Each bit set in this channel_type." ], - "added": "v24.02", "items": { "type": "u32", "description": [ @@ -70042,7 +42912,6 @@ "description": [ "Feature name for each bit set in this channel_type." ], - "added": "v24.02", "items": { "type": "string", "enum": [ @@ -70059,18831 +42928,26584 @@ } } }, - "close_to": { - "type": "hex", + "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 successfully steal from us, this is the amount we would still retain." + ] + }, + "max_to_us_msat": { + "type": "msat", "description": [ - "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." + "Most amount owed to us ever. If we were to successfully steal from the peer, this is the amount we could potentially get." ] - } - } - } - }, - "failed": { - "type": "array", - "description": [ - "Any peers we failed to open with (if *minchannels* was specified less than the number of destinations)." - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "method", - "error" - ], - "properties": { - "id": { - "type": "pubkey", + }, + "last_commitment_txid": { + "type": "hash", "description": [ - "The peer we failed to open the channel with." + "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." ] }, - "method": { + "last_commitment_fee_msat": { + "type": "msat", + "description": [ + "The fee on `last_commitment_txid`." + ] + }, + "close_cause": { "type": "string", "enum": [ - "connect", - "openchannel_init", - "fundchannel_start", - "fundchannel_complete" + "unknown", + "local", + "user", + "remote", + "protocol", + "onchain" ], "description": [ - "What stage we failed at." + "What caused the channel to close." ] - }, - "error": { - "type": "object", - "additionalProperties": false, - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "integer", - "description": [ - "JSON error code from failing stage." - ] - }, - "message": { - "type": "string", - "description": [ - "Message from stage." - ] - }, - "data": { - "untyped": true, - "description": [ - "Additional error data." - ] - } - } } } } } - }, - "pre_return_value_notes": [ - "This command opens multiple channels with a single large transaction, thus only one transaction is returned.", - "", - "If *minchannels* was specified and is less than the number of destinations, then it is possible that one or more of the destinations do not have a channel even if **multifundchannel** succeeded." - ], - "post_return_value_notes": [ - "On failure, none of the channels are created." - ] + } }, "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 300: The maximum allowed funding amount is exceeded.", - "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", - "- 302: The output amount is too small, and would be considered dust.", - "- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.", - "- 313: The `min-emergency-msat` reserve not be preserved (and we have or are opening anchor channels).", - "", - "Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.). See lightning-fundchannel_start(7) and lightning-fundchannel_complete(7).", - "", - "There may be rare edge cases where a communications failure later in the channel funding process will cancel the funding locally, but the peer thinks the channel is already waiting for funding lockin. In that case, the next time we connect to the peer, our node will tell the peer to forget the channel, but some nodes (in particular, Core Lightning nodes) will disconnect when our node tells them to forget the channel. If you immediately **multifundchannel** with that peer, it could trigger this connect-forget-disconnect behavior, causing the second **multifundchannel** to fail as well due to disconnection. Doing a **connect** with the peers separately, and waiting for a few seconds, should help clear this hurdle; running **multifundchannel** a third time would also clear this." - ], - "example_usage": [ - "This example opens three channels at once, with amounts 200,000 sats, 3,000,000 sats and the final channel using all remaining funds (actually, capped at 16,777,215 sats because large-channels is not enabled):", + "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:", "", - "```shell", - "$ lightning-cli multifundchannel '[{\"id\":\"0201f42e167959c74d396ac57652fcea63c63940f78e8239cce5720df4d85ef857@127.0.0.1:7272\", \"amount\":\"200000sat\"}, {\"id\":\"0304a2468065535f9459567686e0f02b40f06e341d3eb2a62ec6763bcf2ccfd207@127.0.0.1:7373\", \"amount\":\"0.03btc\"}, {\"id\":\"0391f4c475050bb15871da5a72b1f3a1798de3d2e5fb4ffa262899b8d8e1f0b764@127.0.0.1:7474\", \"amount\":\"all\"}]'", - "{", - " \"tx\": \"02000000000101fbe3c68db87b72f82c3f5447b0bc032469c78e71f229ac99c230807ff378a9d80000000000fdffffff04400d0300000000002200202e9897ed5f9b237aa27fd5d02d24157cd452b0d3f0a5bb03d38ff73f9f8f384bffffff0000000000220020439d797ada249e1e12f8d27cabb7330de3c8de0456fb54892deb7b9c72b0ff7c1dc9b50400000000225120046e3966a2d5e43c1f1e0676161905782e1e7c00811485c618f5144f328f4e2bc0c62d0000000000220020e36fd5c03c3586c3763d8b4c9d8650f396ff1c8a460137fb09b60ee82536a3b20140ea4d564e91c919b50a2d32886f1d414de773491119beb1364b92f15d6d03e1810e5ddea89c265e42f2e96bb028dfb3aa0b5b30072ddcc78daad727503c53e37fa9010000\",", - " \"txid\": \"90dc53922b70628fc9e7804ad0b8cd0fb41f050d94ffa2db3b16e918c96c022a\",", - " \"channel_ids\": [", - " {", - " \"id\": \"0201f42e167959c74d396ac57652fcea63c63940f78e8239cce5720df4d85ef857\",", - " \"channel_id\": \"25c8253e66a860d17916cc0c21386e310eba9900030a68ec6ff6f59a8401a872\",", - " \"outnum\": 0", - " },", - " {", - " \"id\": \"0304a2468065535f9459567686e0f02b40f06e341d3eb2a62ec6763bcf2ccfd207\",", - " \"channel_id\": \"51749d724892a406896f6bf2e2f8c0b03399d0436691f294839897fa167e6521\",", - " \"outnum\": 3", - " },", - " {", - " \"id\": \"0391f4c475050bb15871da5a72b1f3a1798de3d2e5fb4ffa262899b8d8e1f0b764\",", - " \"channel_id\": \"7e1414e72c081f0754fa18c1657cedabe696aa9ffeaf0b936bfbe3a28f2829d1\",", - " \"outnum\": 1", - " }", - " ],", - " \"failed\": []", - "}", - "```" + "- -32602: If the given parameters are wrong." ], "author": [ - "ZmnSCPxj <> is mainly responsible." + "Rusty Russell <>." ], "see_also": [ - "lightning-connect(7)", - "lightning-listfunds()", - "lightning-listpeers(7)", - "lightning-fundchannel(7)" + "lightning-listpeerchannels(7)" ], "resources": [ "Main web site: " + ] + }, + "lightning-listconfigs.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "listconfigs", + "title": "Command to list all configuration options.", + "description": [ + "The **listconfigs** RPC command to list all configuration options, or with *config* only one." ], - "example_json_request": [ - { - "id": "example:multifundchannel#1", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:40605", - "amount": 25000 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:33395", - "amount": 25000 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:41921", - "amount": 25000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#2", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount": 1000000 - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 1000000 - }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount": 1000000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null + "request": { + "required": [], + "properties": { + "config": { + "type": "string", + "description": [ + "Configuration option name to restrict return." + ] } - }, - { - "id": "example:multifundchannel#3", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "amount": 1000000 + } + }, + "response": { + "required": [], + "properties": { + "configs": { + "added": "v23.08", + "type": "object", + "comment": "Plugins can add fields to this, so we can't rule out additional properties :(", + "additionalProperties": true, + "required": [], + "properties": { + "conf": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from cmdline." + ] + }, + "source": { + "type": "string", + "enum": [ + "cmdline" + ], + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "amount": 1000000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#4", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount": 1000000 + "developer": { + "type": "object", + "added": "v23.08", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000 + "clear-plugins": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 1000000 + "disable-mpp": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + }, + "plugin": { + "type": "string", + "description": [ + "Plugin which registered this configuration setting." + ] + } + } }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount": 1000000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#5", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "amount": 1000000 + "mainnet": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "amount": 1000000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#6", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:46563", - "amount": 50000 + "regtest": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:35887", - "amount": 50000 + "signet": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38263", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#7", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39313", - "amount": 50000 + "testnet": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:43259", - "amount": 50000 + "important-plugin": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" + ], + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:46199", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#8", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:37863", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#9", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 50000 - } - ], - "feerate": null, - "minconf": 0, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#10", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40999", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#11", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:36351", - "amount": 16777216 + "plugin": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" + ], + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:46003", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": null - } - }, - { - "id": "example:multifundchannel#12", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:41939", - "amount": 50000 - } - ], - "feerate": "10000perkw", - "minconf": null, - "utxos": null, - "minchannels": null, - "commitment_feerate": "2000perkw" - } - }, - { - "id": "example:multifundchannel#13", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:38371", - "amount": 50000 - } - ], - "feerate": "10000perkw", - "minconf": null, - "utxos": null, - "minchannels": null, - "commitment_feerate": "2000perkw" - } - }, - { - "id": "example:multifundchannel#14", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", - "amount": 50000 + "plugin-dir": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" + ], + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", - "amount": 50000 + "lightning-dir": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 2 - } - }, - { - "id": "example:multifundchannel#15", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", - "amount": 50000 + "network": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default (can also be changed by `testnet`, `signet`, `regtest` options!)." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", - "amount": 50000 + "allow-deprecated-apis": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" + ], + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 2 - } - }, - { - "id": "example:multifundchannel#16", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", - "amount": 50000 + "rpc-file": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", - "amount": 50000 + "disable-plugin": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" + ], + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 2 - } - }, - { - "id": "example:multifundchannel#17", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", - "amount": 50000 + "always-use-proxy": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" + ], + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", - "amount": 50000 + "daemon": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 1 - } - }, - { - "id": "example:multifundchannel#18", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", - "amount": 50000 + "wallet": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", - "amount": 50000 + "large-channels": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 2 - } - }, - { - "id": "example:multifundchannel#19", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", - "amount": 50000 + "experimental-dual-fund": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", - "amount": 50000 + "experimental-splicing": { + "added": "v23.08", + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 2 - } - }, - { - "id": "example:multifundchannel#20", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", - "amount": 50000 + "experimental-onion-messages": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", - "amount": 50000 + "experimental-offers": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 1 - } - }, - { - "id": "example:multifundchannel#21", - "method": "multifundchannel", - "params": { - "destinations": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", - "amount": 50000 + "experimental-shutdown-wrong-funding": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", - "amount": 50000 + "experimental-websocket-port": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" + ], + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", - "amount": 50000 - } - ], - "feerate": null, - "minconf": null, - "utxos": null, - "minchannels": 1 - } - } - ], - "example_json_response": [ - { - "tx": "02000000000101bdfd707487904cfe3ed7d0a2a74c2ff6bdb0018111d3378f4f3c85618f7d07000100000000fdffffff04a861000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870a86100000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395a8610000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cdb57fea0b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200dbfa95096b7b44d951f4e88c5939ad85c7f86561fe5fef55972490fee78fe0202206a79e3046eb5539817b56cb4926a28c23eb01c6af3d2dd9296c95322d03d9a7b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1", - "channel_type": { - "bits": [ - 12, - 22 + "experimental-peer-storage": { + "added": "v23.02", + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3", - "channel_type": { - "bits": [ - 12, - 22 + "experimental-anchors": { + "type": "object", + "added": "v23.08", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2", - "channel_type": { - "bits": [ - 12, - 22 + "database-upgrade": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - } - ], - "failed": [] - }, - { - "tx": "02000000000101f2cfaf1f1ff761c41ac04f86379737017e4976f0ab2b4e1351f7abe302c2c9560100000000fdffffff0540420f000000000022002017ad71e7de808f01dbdd2b770882bd1d114b7ed6ef270c60b54df4ecaf5f35d340420f0000000000220020ec36b0ea85124b4f12859976e519e7203af71cd537e86a0d007dafee6b55312f40420f0000000000220020cdf0f8a60467be8adcc4782c86b42acc6f80e0367fb46ce1053f1e2083a3c09b40420f0000000000220020068d37b5067535d8174e544faf45871261b2418c0eba1b4c954590f0d22e380843640100000000002251202bdd81f95d64ed2cc37d2eae725de428c91bff072d7503d87446970eedc6303002473044022014707736358b369448d5be83239b401a4c4407630c35716273818fa241b70c9802206f12c98568be1332f05a9784bc09860af0d713c774f998110bb11b67da7d72620121024740cce0e548f4ffe80c9914e43444d8e66ee8991dc9d93ec56dff4c56b9331567000000", - "txid": "224e56e6a974322b99ae0c0f577739b849fae182371582f042f81eec1c2bb859", - "channel_ids": [ - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e23", - "channel_type": { - "bits": [ - 12, - 22 + "rgb": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "hex", + "description": [ + "Field from config or cmdline, or default." + ], + "maxLength": 6, + "minLength": 6 + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e21", - "channel_type": { - "bits": [ - 12, - 22 + "alias": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 3 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e22", - "channel_type": { - "bits": [ - 12, - 22 + "pid-file": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e20", - "channel_type": { - "bits": [ - 12, - 22 + "ignore-fee-limits": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - } - ], - "failed": [] - }, - { - "tx": "02000000000101254f792323e69d41d12fe504f74c868d3a88f1ad036e0d2ee3bc68a7813f786f0000000000fdffffff0340420f0000000000220020e91cbce88ff30e9451019d91946f8a0716f1802a0d995c52a30af4160ea4bfc640420f00000000002200201706e80aab270c1b19cbef122bbbdeb2fc4d72109432e54c3689c93da6429b0e576e010000000000225120483d96996487f37027d7ce16f2f8a39566eb84e3c269280d3e57dca01f441b9402473044022014ab0dbc85747044b7fc4f17a8d842837dd976078c67e427193416f6fd1eba14022011ca8d742a4f24c9898924bf58a2b347f055f9a8333d23d3686fddfba90d409b012102b0fb4cc86fe95c63bf28265ccfff587301cfb52224db33ce5d554118b042bee067000000", - "txid": "9a5c1e05015134944a8fa1def1ebbd9e3babeedaf51be66d525e3a8d00ad4b8a", - "channel_ids": [ - { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "channel_id": "8a4bad008d3a5e526de61bf5daeeab3b9ebdebf1dea18f4a94345101051e5c9a", - "channel_type": { - "bits": [ - 12, - 22 + "watchtime-blocks": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "channel_id": "8a4bad008d3a5e526de61bf5daeeab3b9ebdebf1dea18f4a94345101051e5c9b", - "channel_type": { - "bits": [ - 12, - 22 + "max-locktime-blocks": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - } - ], - "failed": [] - }, - { - "tx": "02000000000101b6712eb7514bde118045f0c34b7deda5e242d0281befb6725026cf65a30445f10000000000fdffffff0540420f000000000022002017ad71e7de808f01dbdd2b770882bd1d114b7ed6ef270c60b54df4ecaf5f35d340420f0000000000220020068d37b5067535d8174e544faf45871261b2418c0eba1b4c954590f0d22e380840420f0000000000220020ec36b0ea85124b4f12859976e519e7203af71cd537e86a0d007dafee6b55312f40420f0000000000220020cdf0f8a60467be8adcc4782c86b42acc6f80e0367fb46ce1053f1e2083a3c09b43640100000000002251202bdd81f95d64ed2cc37d2eae725de428c91bff072d7503d87446970eedc63030024730440220724c89b64846d1351f3ae115e8d2f1677c81080c30aaeffe1878d8f4d9e9542c0220384580e60cd3df81cb08d9fd855ec0d783d7b3b50bbb3b372f11f5d37bb8c47f0121024740cce0e548f4ffe80c9914e43444d8e66ee8991dc9d93ec56dff4c56b9331567000000", - "txid": "73efe5175f76c234f03838d25009ff02cc99ff163e0c0749608f124471657866", - "channel_ids": [ - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef71", - "channel_type": { - "bits": [ - 12, - 22 + "funding-confirms": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" + ], + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, + "cltv-delta": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - }, - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef72", - "channel_type": { - "bits": [ - 12, - 22 + "cltv-final": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef73", - "channel_type": { - "bits": [ - 12, - 22 + "commit-time": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef70", - "channel_type": { - "bits": [ - 12, - 22 + "fee-base": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 3 - } - ], - "failed": [] - }, - { - "tx": "02000000000101bb0dcd34ec2c17b2d2b8caa6c5a58f6c1f57f78a3875135276e5b5c2f96df4530100000000fdffffff0340420f0000000000220020e91cbce88ff30e9451019d91946f8a0716f1802a0d995c52a30af4160ea4bfc640420f00000000002200201706e80aab270c1b19cbef122bbbdeb2fc4d72109432e54c3689c93da6429b0e576e010000000000225120483d96996487f37027d7ce16f2f8a39566eb84e3c269280d3e57dca01f441b940247304402207de3177800ff6668a670edd5ee91c6004773f2c42a00db5f825d2e32a53d741502207ef6cb66d262cdd592a274424006b841f0802b8f3743dbc7e51c78b901eb640f012102b0fb4cc86fe95c63bf28265ccfff587301cfb52224db33ce5d554118b042bee067000000", - "txid": "6ac93b4f7b83bc6481cc5ae59d56170260ac97b05783ad75950123cc922c97d5", - "channel_ids": [ - { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "channel_id": "d5972c92cc23019575ad8357b097ac600217569de55acc8164bc837b4f3bc96a", - "channel_type": { - "bits": [ - 12, - 22 + "rescan": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "integer", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "channel_id": "d5972c92cc23019575ad8357b097ac600217569de55acc8164bc837b4f3bc96b", - "channel_type": { - "bits": [ - 12, - 22 + "fee-per-satoshi": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - } - ], - "failed": [] - }, - { - "tx": "020000000001018fad5c89a501e606645af227c6476df4d74d6f76591425d7aa6bd8480c4adaf90000000000fdffffff0450c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd261d1c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a50c300000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739550c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8700247304402201909f3096c03b4dc50f11622aab60940e02c0cd4eb71f1feca1dfc231717df6f022049c3772d6a5fc150ce9e8de369d32a2c0952c7970622a7121ab7c2712d6d1789012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf68000000", - "txid": "4cf1ee56b2af39fc6f6a325414f7dd2c2e7ec7b8fc570106a9f4f129339a6ab4", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "channel_type": { - "bits": [ - 12, - 22 + "max-concurrent-htlcs": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", - "channel_type": { - "bits": [ - 12, - 22 + "htlc-minimum-msat": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_msat", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_msat": { + "type": "msat", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 3 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "b46a9a3329f1f4a9060157fcb8c77e2e2cddf71454326a6ffc39afb256eef14e", - "channel_type": { - "bits": [ - 12, - 22 + "htlc-maximum-msat": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_msat", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_msat": { + "type": "msat", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - } - ], - "failed": [] - }, - { - "tx": "02000000000101b078a13e8c3dac8305e6ee62e04c156de2a42a9523a106f934f72c935bbd13a40000000000fdffffff0450c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87050c300000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739550c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd3d1d1c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200d146c1e37045901a5d0a3a484c5a67dd27d16cab60b0f8186789472ff09a7f402201c6ed2d3026cee907b1ee46710cbb462f01d83494bfc3723586fac4cc6864846012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "f1a9129a679baa5b48c66d34f267592c26dd0557301a94340f25add3ea235b07", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f3", - "channel_type": { - "bits": [ - 12, - 22 + "max-dust-htlc-exposure-msat": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_msat", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_msat": { + "type": "msat", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f1", - "channel_type": { - "bits": [ - 12, - 22 + "min-capacity-sat": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u64", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + }, + "dynamic": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Can this be set by setconfig()." + ] + } + } }, - "outnum": 0 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f0", - "channel_type": { - "bits": [ - 12, - 22 + "addr": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - "outnum": 1 - } - ], - "failed": [] - }, - { - "tx": "02000000000101c986d78e9a232854c73e40f1fee16e21a7b50008686c1487e325cef25fa7e86b0000000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cdf1ad1d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402207374fba375ee6737a40ba0765e379c29b3e211b0846071e533c5534f2a22bd0302203873a86a00804cd69a437aec1a1108aec1413495f7974dfe3b3a4330a287de33012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "d5d17ead4d05aa8d41c80f8f9aebc2eaa9502f65af4d5bf4082b1c070254feaa", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "aafe5402071c2b08f45b4daf652f50a9eac2eb9a8f0fc8418daa054dad7ed1d5", - "channel_type": { - "bits": [ - 12, - 22 + "announce-addr": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "02000000000101aafe5402071c2b08f45b4daf652f50a9eac2eb9a8f0fc8418daa054dad7ed1d50100000000fdffffff0250c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87062d71c00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be01405381305ca7e0a1b7b1eb75b5db7515d17de08a2cde0885a29c4e3b21b0c1ace52d6cc24b7e19b2130b3ac3b35ba4aa1c7e17058b35ea0ed3e55a64c7a9b547b966000000", - "txid": "f3f0fd4e653628814de751c6e148bb99fcc76531a1ac753eb51de749c982a175", - "channel_ids": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "75a182c949e71db53e75aca13165c7fc99bb48e1c651e74d812836654efdf0f3", - "channel_type": { - "bits": [ - 12, - 22 + "bind-addr": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" + ], + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } + }, + "offline": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "02000000000101464e00931727d02873047c184c516bb7658f8c457e9d5b1fb04128a8ae8e36840000000000fdffffff0250c30000000000002200206a7be660a2221bdc24529564bc019d626c15aa6191b0626ec917c6bc971475cbf1ad1d00000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5024730440220235e6fee5e78ba58f84c2fcc2ad3d7f52b12ba8fe0997768f4a64a6811c551e70220054bd4dd164ee690dc25458cec541e040589ed1ab68603a5ae63424ce453b831012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "eab66f1a3fdef8cb07573ffe7c9a83efd2ad1d77d0d21f5060fdc95bd2fca7d6", - "channel_ids": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "d6a7fcd25bc9fd60501fd2d0771dadd2ef839a7cfe3f5707cbf8de3f1a6fb6ea", - "channel_type": { - "bits": [ - 12, - 22 + "autolisten": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "02000000000101f85f411894e20652689b0bd78b98e47b38624cdbed06df56031bd3b73523b48a0000000000fdffffff0350c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87000000001000000002200200720e60354ef00c459060b556c01cdf54c93c9464e71beb32362887fcfba08146724ff0200000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe602473044022048ccf86261f1b2d2e5c9db7d74abd6f51a7f821cda6f882840963567a38de9f602205d3c019b71232de2179c40e0df9a944b5fa68d1b35eaede7dd911e7bd2519c9a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "1259de87ddcf8e1bbb706e7e6fc101f859d3c9c8af158a10a5a3d26c1ab4dedb", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "dbdeb41a6cd2a3a5108a15afc8c9d359f801c16f7e6e70bb1b8ecfdd87de5913", - "channel_type": { - "bits": [ - 12, - 22 + "proxy": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "dbdeb41a6cd2a3a5108a15afc8c9d359f801c16f7e6e70bb1b8ecfdd87de5912", - "channel_type": { - "bits": [ - 12, - 22 + "disable-dns": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "0200000000010100a8ceb6f76c49c8c0c809ca359461540708a9a5ac56e56e6a7aaafb35f4d3850000000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0623ff030000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022064763837f2cc84507eb1fc28c9e95d51174e1da4b8755da8e67fe21e37d0a8b402206295d0f19625f014819361a20572b936d81f6c5ba419e56997e882f3a7be094a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "ecba36e93bcf40542d43a05ef550bb0e4be51d766aa2ec8c5640a0d431ab0d06", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "060dab31d4a040568ceca26a761de54b0ebb50f55ea0432d5440cf3be936baec", - "channel_type": { - "bits": [ - 12 + "announce-addr-discovered": { + "added": "v23.02", + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even" - ] + "properties": { + "value_str": { + "type": "string", + "enum": [ + "true", + "false", + "auto" + ], + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "020000000001010f022ee4f9d4ff4503e76487770f2b108cd063ae01c243de2d18dfe3f5ba46ea0100000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0623ff030000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022034f09d595d55831db903925214c0a4264b1082b0483bd7fdb78ebc42886dd7730220254c34690c0356252ba02b654a57b0677200905968d4a9a6cfb780800ff6598e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "fe08e9d9e1810c6aff601411b0ee427d715612fdbfd1327d70d99b189f3703cd", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "cd03379f189bd9707d32d1bffd1256717d42eeb0111460ff6a0c81e1d9e908fe", - "channel_type": { - "bits": [ - 12, - 22 + "announce-addr-discovered-port": { + "added": "v23.02", + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [] - }, - { - "tx": "020000000001010aff2279cd61fdb47692c0320a5f6ed73a4726f99d22cbccbdcf2d54cddddb250000000000fdffffff0350c3000000000000220020a604dace1867e44e37a041e656101121d1f5c03b8439bafe6698b53cd22c0d2150c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd97e51c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220284034ecf1e4f9e99f317370c4526f157b07da21b1390e8673c506014f09837d02207b8dcb6e056b8a6986c6aa89e7eed2c499c6de8e21e0f7c35d88c36269041e15012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf5f000000", - "txid": "1822a51169311434e687a23b4f9157c032c65fcdadb0094d10fb32038382868f", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "8f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a52219", - "channel_type": { - "bits": [ - 12, - 22 + "encrypted-hsm": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "8f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a52218", - "channel_type": { - "bits": [ - 12, - 22 + "rpc-file-mode": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:40049: Exchanging init messages: peer closed connection. " - } - } - ] - }, - { - "tx": "020000000001018f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a522180200000000fdffffff0350c30000000000002200206e7a1822d9297b16e2cd3de424471d03db22a80899c224ca1f0a91aeb379708050c30000000000002200200ae3ff1f1d62a1a41f6ff71fbcac6650a1d7e8fd45460bdad289cde9b0c44b8bae461b00000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa0140adde00523a3dad0473584fd575d8992ebb26477a2d041b9cb058b8fb1583f480e14c56b37129d73795c9cad1a415a08611af7ae026c3fc6a2a434299d637141117000000", - "txid": "f432a3da2e9bb94acdef8506cbf71c25346c08fb0dfd79122a809b8da8458e76", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f5", - "channel_type": { - "bits": [ - 12, - 22 + "log-level": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f4", - "channel_type": { - "bits": [ - 12, - 22 + "log-prefix": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "fundchannel_start", - "error": { - "code": -1, - "message": "Owning subdaemon openingd died (62208)" - } - } - ] - }, - { - "tx": "02000000000103553ec4fb9e7b2e74b962b1783de0f100d5067e6549d555701d85af3116fa88a90000000000fdffffffbea1f0f7259cb8d10b08cd55635a63a5caa2345e71d130d3f14a2ac0033fb7cf0000000000fdffffff768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f40200000000fdffffff0350c3000000000000220020c055a7180d1733e6832fe293f2e5469f062f34fef20d9335b272badc1fac146a50c3000000000000220020fac13c717674a9542d92d2cdf8cb7f8ab3135a4e37749be641509a2cb630503fe60c1b00000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca014022defc5c5358ecd2be2e7379bfee31e711e24a101acdf4d8c164ca378ef9587fcb277c26aeb097b78cd96e78a2e77de49e4ab164b6dfd7a8013a0cbf27b9423f014084c46bf328f7d2703ae33cf037eeaededa761470c48478b675849622e6dc89fef7f3d0cd7e4f233cd8c86c4b45301b916e4b893e8a88035a165f5ed45e44ce6401406c032081d6a19462b0c40e506fd08b1dc3fd9ba7d25824464d63778c462a39e4958f1c7e4c9f2ecf2e3a933ed1d8c7c7b91ffbb8b194586dee32193e91d227ec72000000", - "txid": "e2e969f5a093a05e0de470e8c8d5e0834056ec215df02b2fc10562f8e18a7666", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e3", - "channel_type": { - "bits": [ - 12, - 22 + "log-file": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - "outnum": 1 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e2", - "channel_type": { - "bits": [ - 12, - 22 + "log-timestamps": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "fundchannel_complete", - "error": { - "code": -1, - "message": "Owning subdaemon openingd died (62208)" - } - } - ] - }, - { - "tx": "02000000000102067326b86ca965dae07ec8877214d4cba56039ac317c17dbf7807f58c1a6f15f0000000000fdffffff66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e20200000000fdffffff0250c3000000000000220020ffd9fbd880f06eddf9680c4a2f0c67b29b370f1e855abeb2407e206885f4d44fe7e81a0000000000225120eef2c37cc851b95151c76108b4a3745c49b181eedacd18dbd6d3d1b18019d71b01408efc73ac3ee07f6ea4291d1e194a45112e98809ff3f5fc4df731a91d79e85758d42b7408144a4bfd034459d6264066189bc1d623b47e549f2d4133faede4cc940140125ea54159a93d547f102eeb2e2ce023e0951ca9ec72251ce79b6b78e5afc183e7c80744066779583b2c35996bfd0ca8d18b4d80e9496f54a7ac2fcb0b8cb9cc78000000", - "txid": "786002f3c8934d8f39ab2453de2d7b58aa329d7980990bbbcea7664826e4ec04", - "channel_ids": [ - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "04ece4264866a7cebb0b9980799d32aa587b2dde5324ab398f4d93c8f3026078", - "channel_type": { - "bits": [ - 12, - 22 + "force-feerates": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" + ], + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, + "subdaemon": { + "type": "object", + "additionalProperties": false, + "required": [ + "values_str", + "sources" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "values_str": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Field from config or cmdline." + ] + } + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:39163: Connection establishment: Connection refused. " - } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:40049: Connection establishment: Connection refused. " - } - } - ] - }, - { - "tx": "02000000000101f4582330edf7b722433a444333309ed0b22374e2d3973b0e950b60a8a13dc92b0100000000fdffffff0380e51c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a50c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd50c3000000000000220020a604dace1867e44e37a041e656101121d1f5c03b8439bafe6698b53cd22c0d2102473044022078789b7a2c1adf9023840a473f041a37da2b087041bb43e9d9d9609c5617bba8022029b66922abe327e7b958128ac3d7945938bce77711ce722750918673a496560b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "a07ed4336e8e9011807dff9bac0799a671c326eb9275a2aec62b7120c88e41ed", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "channel_type": { - "bits": [ - 12, - 22 + "fetchinvoice-noconnect": { + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "ed418ec820712bc6aea27592eb26c371a69907ac9bff7d8011908e6e33d47ea2", - "channel_type": { - "bits": [ - 12, - 22 + "accept-htlc-tlv-types": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - } - ], - "failed": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:34631: Exchanging init messages: peer closed connection. " - } - } - ] - }, - { - "tx": "02000000000101ed418ec820712bc6aea27592eb26c371a69907ac9bff7d8011908e6e33d47ea00000000000fdffffff0380461b00000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa50c30000000000002200200ae3ff1f1d62a1a41f6ff71fbcac6650a1d7e8fd45460bdad289cde9b0c44b8b50c30000000000002200206e7a1822d9297b16e2cd3de424471d03db22a80899c224ca1f0a91aeb379708001403cfed97754f23d5f2f65ce7d428d1a0dc349e5123535df07b33c545c80fa474a7963a6239db64dc83a59195a84b155682cf550a5b3ba02c34a397b07e478f7b76c000000", - "txid": "657fab446e4477c932170533398df7fccaaa998d5e4180ef7d5976b8abcf1e0b", - "channel_ids": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "5880b551e9df3a68fa4369c6cdccb83edc27ad23f63bcc3948fc8d6c20d7c8bd", - "channel_type": { - "bits": [ - 12, - 22 + "tor-service-password": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_str", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_str": { + "type": "string", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 1 - }, - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "0b1ecfabb876597def80415e8d99aacafcf78d3933051732c977446e44ab7f67", - "channel_type": { - "bits": [ - 12, - 22 + "announce-addr-dns": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 2 - } - ], - "failed": [ - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "fundchannel_start", - "error": { - "code": -1, - "message": "Owning subdaemon openingd died (62208)" - } - } - ] - }, - { - "tx": "0200000000010220d017433edbd18714d190fbf655dcf3e4fd70333e3d461d8c257ee2408350140000000000fdffffff376441f5443e1ef76aad8ab555b4d7c1e1e87dd2cdc6137e2781718fe04249ca0000000000fdffffff0250c30000000000002200205c6beb10b4518660fe7eeffbeacb1f6427b80f8dcc594c7b42fae582141f47bc82960000000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca0140a563a67151d4b9217baaa7b2264f031329a9d34b7db8c9ec95d76cd060eac9eff7b328e07bf607cbd8385957da7f2d2f05aefb2bd6e054e46f5c35ba9a42a0ac0140097df2ecc8466212094a2763e377466f19ce86ab386df5f1c4e7ecd37988fa42c2a7abd82db0073801e46fe8a08514920d7af27bb35258915e2c735208567c1972000000", - "txid": "36859fb8d9131a4932dbea8b98b6c0a2391ac70e40888a58c96654569c514656", - "channel_ids": [ - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "5646519c565466c9588a88400ec71a39a2c0b6988beadb32491a13d9b89f8536", - "channel_type": { - "bits": [ - 12, - 22 + "require-confirmed-inputs": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_bool", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_bool": { + "type": "boolean", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "method": "fundchannel_complete", - "error": { - "code": 312, - "message": "Attempting retry, yet this peer already has exchanged commitments and is using the v2 open protocol. Must spend input to reset." - } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "fundchannel_complete", - "error": { - "code": -1, - "message": "Owning subdaemon openingd died (62208)" - } - } - ] - }, - { - "tx": "020000000001023041611dac05004825ab64781b4a33bf622380bf90196fae689196b1850a1f8f0000000000fdffffff5646519c565466c9588a88400ec71a39a2c0b6988beadb32491a13d9b89f85360100000000fdffffff0250c3000000000000220020181492c29a989f099fd2cf412c74b192dd095e81f4e4f6bec45bd1fbfdd2cfd983720000000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c80140caa3b93c6667e4fe0026417cc87ae9dfd16d80018e7c6dcd6dfcee4d6cab7c7e84181baeb95ba25934ad1aa6b57f83c8287bf1b727123350b35549a3abe15b060140b3c6626b9b57081cc7eb5e4f518669764d265fb84316d8fb610e19ede13c5a370c1072861b909ec923acec980adb4a3e488ee3c6f9c49164bd4596945b52f62678000000", - "txid": "1fcc6d46200443ad21e3a1a1628b862bafd0d75c0b4454f5494957097bc7930d", - "channel_ids": [ - { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "0d93c77b09574949f554440b5cd7d0af2b868b62a1a1e321ad430420466dcc1f", - "channel_type": { - "bits": [ - 12, - 22 + "commit-fee": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] + "properties": { + "value_int": { + "type": "u64", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } }, - "outnum": 0 - } - ], - "failed": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:44663: Connection establishment: Connection refused. " + "commit-feerate-offset": { + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" + ], + "properties": { + "value_int": { + "type": "u32", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } } - }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "method": "connect", - "error": { - "code": 401, - "message": "All addresses failed: 127.0.0.1:34631: Connection establishment: Connection refused. " + } + }, + "# version": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "Special field indicating the current version." + ] + }, + "plugins": { + "type": "array", + "deprecated": [ + "v23.08", + "v24.02" + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "path", + "name" + ], + "description": [ + "`plugin` field from config or cmdline." + ], + "properties": { + "path": { + "type": "string", + "description": [ + "Full path of the plugin." + ] + }, + "name": { + "type": "string", + "description": [ + "Short name of the plugin." + ] + }, + "options": { + "type": "object", + "additionalProperties": true, + "required": [], + "description": [ + "Specific options set for this plugin." + ], + "properties": {} + } } } - ] - } - ] - }, - "lightning-multiwithdraw.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "multiwithdraw", - "title": "Command for withdrawing to multiple addresses", - "description": [ - "The **multiwithdraw** RPC command sends funds from Core Lightning's internal wallet to the addresses specified in *outputs*." - ], - "request": { - "required": [ - "outputs" - ], - "properties": { - "outputs": { + }, + "important-plugins": { "type": "array", + "deprecated": [ + "v23.08", + "v24.02" + ], "items": { - "type": "outputdesc" - }, + "type": "object", + "additionalProperties": false, + "required": [ + "path", + "name" + ], + "description": [ + "`important-plugin` field from config or cmdline, or built-in." + ], + "properties": { + "path": { + "type": "string", + "description": [ + "Full path of the plugin." + ] + }, + "name": { + "type": "string", + "description": [ + "Short name of the plugin." + ] + }, + "options": { + "type": "object", + "additionalProperties": true, + "required": [], + "description": [ + "Specific options set for this plugin." + ], + "properties": {} + } + } + } + }, + "conf": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`conf` field from cmdline, or default." + ] + }, + "lightning-dir": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`lightning-dir` field from config or cmdline, or default." + ] + }, + "network": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`network` field from config or cmdline, or default." + ] + }, + "allow-deprecated-apis": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "description": [ + "`allow-deprecated-apis` field from config or cmdline, or default." + ] + }, + "rpc-file": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", "description": [ - "An array containing objects of the form `{address: amount}`. The `amount` may be the string *all*, indicating that all onchain funds be sent to the specified address. Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + "`rpc-file` field from config or cmdline, or default." ] }, - "feerate": { - "type": "feerate", - "description": [ - "Feerate used for the withdrawals. See NOTES in lightning-feerates(7) for possible values." - ], - "default": "*normal*" - }, - "minconf": { - "type": "u32", - "description": [ - "Minimum number of confirmations that used outputs should have." + "disable-plugin": { + "deprecated": [ + "v23.08", + "v24.02" ], - "default": 1 - }, - "utxos": { "type": "array", "items": { - "type": "outpoint", + "type": "string", "description": [ - "Utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." + "`disable-plugin` field from config or cmdline." ] } - } - } - }, - "response": { - "required": [ - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", + }, + "bookkeeper-dir": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", "description": [ - "The raw transaction which was sent." + "`bookkeeper-dir` field from config or cmdline, or default." ] }, - "txid": { - "type": "txid", + "bookkeeper-db": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", "description": [ - "The txid of the **tx**." + "`bookkeeper-db` field from config or cmdline, or default." ] - } - } - }, - "errors": [ - "On failure, an error is reported and the withdrawal transaction is not created.", - "", - "- -1: Catchall nonspecific error.", - "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", - "- 302: The dust limit is not met." - ], - "author": [ - "ZmnSCPxj <> is mainly responsible." - ], - "see_also": [ - "lightning-listfunds(7)", - "lightning-fundchannel(7)", - "lightning-newaddr(7)", - "lightning-txprepare(7)", - "lightning-withdraw(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ - { - "id": "example:multiwithdraw#1", - "method": "multiwithdraw", - "params": { - "outputs": [ - { - "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs": "2222000msat" - }, - { - "bcrt1q6r4vvt7uack33qf9n05umfxy8h5s2rdcmq7ra3": "3333000msat" - } + }, + "always-use-proxy": { + "deprecated": [ + "v23.08", + "v24.02" ], - "feerate": null, - "minconf": null, - "utxos": null - } - }, - { - "id": "example:multiwithdraw#2", - "method": "multiwithdraw", - "params": { - "outputs": [ - { - "BCRT1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KYGT080": 1000 - }, - { - "bcrt1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qzf4jry": 1000 - }, - { - "bcrt1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k0ylj56": 1000 - }, - { - "BCRT1SW50QT2UWHA": 1000 - }, - { - "bcrt1zw508d6qejxtdg4y5r3zarvaryv2wuatf": 1000 - }, - { - "bcrt1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvseswlauz7": 1000 - }, - { - "bcrt1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesyga46z": 1000 - }, - { - "bcrt1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqc8gma6": 1000 - } + "type": "boolean", + "description": [ + "`always-use-proxy` field from config or cmdline, or default." + ] + }, + "daemon": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "description": [ + "`daemon` field from config or cmdline, or default." + ] + }, + "wallet": { + "deprecated": [ + "v23.08", + "v24.02" ], - "feerate": null, - "minconf": null, - "utxos": null - } - } - ], - "example_json_response": [ - { - "tx": "02000000000101b75863b811587b4c15bb94d9285c31d6369b8ff609e44de399936f8acb268f600000000000fdffffff03050d000000000000160014d0eac62fdcee2d1881259be9cda4c43de9050db8ae0800000000000016001427213e2217b4f56bd19b6c8393dc9f61be691233d4b5f5050000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203a001463da125de5615ff1c18f9cd4a1d2a138c91d40189d350821ac8fb3ae4f02207a507eec27e15fe43476233cd9fe8b690ebd265073a58ed18ff79a1416886f18012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", - "txid": "94e803b98257855569d35b675d65fb4fa0061a8b5f828992e2104a2882bb18bf" - }, - { - "tx": "02000000000101dc5a50dfbafc30697b930b44e763ff7a255475d17d975fa0e2003431312098cf0100000000fdffffff09e803000000000000225120000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433e803000000000000046002751ee8030000000000002a5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6e80300000000000022512079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817983b939700000000002251200518e92cd94e0f62c06f126dff98b9abe79b7ed845a156d5245678e26554475de803000000000000160014751e76e8199196d454941c45d1b3a323f1433bd6e8030000000000002200201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262e803000000000000125210751e76e8199196d454941c45d1b3a323e803000000000000220020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e8643301407f0d9bc098c5439ff611507b6a7d403047ed4e0b883f293db19d4e109d350a24f790acb55547384ff2a23fcfde0eba9af7cebc321c19cfc4817ecd47d50c2cd854000000", - "txid": "062383a7c9a19a2768939087a5c89826a4ea3531080f20cc06aa1cbf431be505" - } - ] - }, - "lightning-newaddr.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "newaddr", - "title": "Command for generating a new address to be used by Core Lightning", - "description": [ - "The **newaddr** RPC command generates a new address which can subsequently be used to fund channels managed by the Core Lightning node.", - "", - "The funding transaction needs to be confirmed before funds can be used.", - "", - "To send an on-chain payment from the Core Lightning node wallet, use `withdraw`." - ], - "request": { - "required": [], - "properties": { - "addresstype": { "type": "string", "description": [ - "It specifies the type of address wanted; currently *bech32* (e.g. `tb1qu9j4lg5f9rgjyfhvfd905vw46eg39czmktxqgg` on bitcoin testnet or `bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej` on bitcoin mainnet), or *p2tr* taproot addresses. The special value *all* generates all known address types for the same underlying key." + "`wallet` field from config or cmdline default." + ] + }, + "large-channels": { + "deprecated": [ + "v23.08", + "v24.02" ], - "default": "*bech32* address", - "enum": [ - "bech32", - "p2tr", - "all" + "type": "boolean", + "description": [ + "`large-channels` field from config or cmdline, or default." ] - } - } - }, - "response": { - "required": [], - "properties": { - "p2tr": { - "added": "v23.08", - "type": "string", + }, + "experimental-dual-fund": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "The taproot address." + "`experimental-dual-fund` field from config or cmdline, or default." ] }, - "bech32": { - "type": "string", + "experimental-splicing": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "The bech32 (native segwit) address." + "`experimental-splicing` field from config or cmdline, or default." ] - } - } - }, - "errors": [ - "If an unrecognized address type is requested an error message will be returned." - ], - "example_json_request": [ - { - "id": "example:newaddr#1", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#2", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#3", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#4", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#5", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#6", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#7", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#8", - "method": "newaddr", - "params": { - "addresstype": "bech32" - } - }, - { - "id": "example:newaddr#9", - "method": "newaddr", - "params": { - "addresstype": "bech32" - } - }, - { - "id": "example:newaddr#10", - "method": "newaddr", - "params": { - "addresstype": "bech32" - } - }, - { - "id": "example:newaddr#11", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#12", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#13", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#14", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#15", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#16", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#17", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#18", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#19", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#20", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#21", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#22", - "method": "newaddr", - "params": { - "addresstype": null - } - }, - { - "id": "example:newaddr#23", - "method": "newaddr", - "params": { - "addresstype": null - } - } - ], - "example_json_response": [ - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu" - }, - { - "bech32": "bcrt1q8rqss4xprcgvkduxgcq58jtrepfsm7y3e6er4e" - }, - { - "bech32": "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - }, - { - "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" - } - ], - "author": [ - "Felix <> is mainly responsible." - ], - "see_also": [ - "lightning-listfunds(7)", - "lightning-fundchannel(7)", - "lightning-withdraw(7)", - "lightning-listtransactions(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-notifications.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "notifications", - "title": "Command to set up notifications.", - "description": [ - "The **notifications** the RPC command enabled notifications for this JSON-RPC connection. By default (and for backwards-compatibility) notifications are disabled.", - "", - "Various commands, especially complex and slow ones, offer notifications which indicate their progress." - ], - "request": { - "required": [ - "enable" - ], - "properties": { - "enable": { + }, + "experimental-onion-messages": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "description": [ + "`experimental-onion-messages` field from config or cmdline, or default." + ] + }, + "experimental-offers": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", "description": [ - "Whether to enable or disable notifications." + "`experimental-offers` field from config or cmdline, or default." ] - } - } - }, - "response": { - "properties": {}, - "post_return_value_notes": [ - "On success, if *enable* was *true*, notifications will be forwarded from then on." - ] - }, - "example_json_request": [ - { - "id": "example:notifications#1", - "method": "notifications", - "params": { - "enable": true - } - } - ], - "notifications": [ - "Notifications are JSON-RPC objects without an *id* field. *lightningd* sends notifications (once enabled with this *notifications* command) with a *params* *id* field indicating which command the notification refers to.", - "", - "Implementations should ignore notifications without an *id* parameter, or unknown *method*.", - "", - "Common *method*s include:", - " *message*: param *message*: a descriptional string indicating something which occurred relating to the command. Param *level* indicates the level, as per lightning-getlog(7): *info* and *debug* are typical.", - " *progress*: param *num* and *total*, where *num* starts at 0 and is always less than *total*. Optional param *stage* with fields *num* and *total*, indicating what stage we are progressing through." - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters." - ], - "example_json_notifications": [ - { - "method": "message", - "params": { - "id": 1, - "message": "This is a test message", - "level": "DEBUG" - } - }, - { - "method": "progress", - "params": { - "id": 2, - "num": 0, - "total": 30, - "stage": { - "num": 0, - "total": 2 - } - } - } - ], - "author": [ - "Rusty Russell <> wrote the initial version of this man page." - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-offer.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "offer", - "title": "Command for accepting payments", - "warning": "experimental-offers only", - "description": [ - "The **offer** RPC command creates an offer (or returns an existing one), which is a precursor to creating one or more invoices. It automatically enables the processing of an incoming invoice_request, and issuing of invoices.", - "", - "Note that for making an offer to *pay* someone else, see lightning- invoicerequest(7)." - ], - "request": { - "required": [ - "amount", - "description" - ], - "properties": { - "amount": { - "type": "msat_or_any_or_currency", + }, + "experimental-shutdown-wrong-funding": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "Can be the string `any`, which creates an offer that can be paid with any amount (e.g. a donation). Otherwise it can be a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. It can also have an ISO 4217 postfix (e.g. USD), in which case currency conversion will need to be done for the invoice itself. A plugin is needed which provides the `currencyconvert` API for this currency, otherwise the offer creation will fail." + "`experimental-shutdown-wrong-funding` field from config or cmdline, or default." ] }, - "description": { - "type": "string", + "experimental-websocket-port": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u16", "description": [ - "A short description of purpose of the offer, e.g. *coffee*. This value is encoded into the resulting offer and is viewable by anyone you expose this offer to. It must be UTF-8, and cannot use *\\u* JSON escape codes." + "`experimental-websocket-port` field from config or cmdline, or default." ] }, - "issuer": { + "experimental-peer-storage": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "added": "v23.02", + "description": [ + "`experimental-peer-storage` field from config or cmdline, or default." + ] + }, + "experimental-quiesce": { + "type": "boolean", + "added": "v23.08", + "deprecated": [ + "v23.08", + "v24.02" + ], + "description": [ + "`experimental-quiesce` field from config or cmdline, or default." + ] + }, + "experimental-upgrade-protocol": { + "type": "boolean", + "added": "v23.08", + "deprecated": [ + "v23.08", + "v24.02" + ], + "description": [ + "`experimental-upgrade-protocol` field from config or cmdline, or default." + ] + }, + "invoices-onchain-fallback": { + "type": "boolean", + "added": "v23.11", + "description": [ + "`invoices-onchain-fallback` field from config or cmdline, or default." + ] + }, + "database-upgrade": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "description": [ + "`database-upgrade` field from config or cmdline." + ] + }, + "rgb": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "hex", + "description": [ + "`rgb` field from config or cmdline, or default." + ], + "maxLength": 6, + "minLength": 6 + }, + "alias": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "string", "description": [ - "Who is issuing this offer (i.e. you) if appropriate." + "`alias` field from config or cmdline, or default." ] }, - "label": { + "pid-file": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "string", "description": [ - "An internal-use name for the offer, which can be any UTF-8 string. This is *NOT* encoded in the offer not sent to the issuer." + "`pid-file` field from config or cmdline, or default." ] }, - "quantity_max": { - "type": "u64", + "ignore-fee-limits": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "Invoice can specify more than one of the items up (and including) this maximum: 0 is a special value meaning `no maximuim`. The *amount* for the invoice will need to be multiplied accordingly. This is encoded in the offer." + "`ignore-fee-limits` field from config or cmdline, or default." ] }, - "absolute_expiry": { + "watchtime-blocks": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`watchtime-blocks` field from config or cmdline, or default." + ] + }, + "max-locktime-blocks": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`max-locktime-blocks` field from config or cmdline, or default." + ] + }, + "funding-confirms": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`funding-confirms` field from config or cmdline, or default." + ] + }, + "cltv-delta": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`cltv-delta` field from config or cmdline, or default." + ] + }, + "cltv-final": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`cltv-final` field from config or cmdline, or default." + ] + }, + "commit-time": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`commit-time` field from config or cmdline, or default." + ] + }, + "fee-base": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`fee-base` field from config or cmdline, or default." + ] + }, + "rescan": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "integer", + "description": [ + "`rescan` field from config or cmdline, or default." + ] + }, + "fee-per-satoshi": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`fee-per-satoshi` field from config or cmdline, or default." + ] + }, + "max-concurrent-htlcs": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u32", + "description": [ + "`max-concurrent-htlcs` field from config or cmdline, or default." + ] + }, + "htlc-minimum-msat": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "msat", + "description": [ + "`htlc-minimum-msat` field from config or cmdline, or default." + ] + }, + "htlc-maximum-msat": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "msat", + "description": [ + "`htlc-maximum-msat` field from config or cmdline, or default." + ] + }, + "max-dust-htlc-exposure-msat": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "msat", + "description": [ + "`max-dust-htlc-exposure-mast` field from config or cmdline, or default." + ] + }, + "min-capacity-sat": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "u64", "description": [ - "Time the offer is valid until,in seconds since the first day of 1970 UTC. If not set, the offer remains valid (though it can be deactivated by the issuer of course). This is encoded in the offer." + "`min-capacity-sat` field from config or cmdline, or default." ] }, - "recurrence": { + "addr": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "string", "description": [ - "An invoice is expected at regular intervals. The argument is a positive number followed by one of `seconds`, `minutes`, `hours`, `days`, `weeks`, `months` or `years` (variants without the trailing `s` are also permitted). This is encoded in the offer. The semantics of recurrence is fairly predictable, but fully documented in BOLT 12. e.g. `4weeks`." + "`addr` field from config or cmdline (can be more than one)." ] }, - "recurrence_base": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } + "announce-addr": { + "deprecated": [ + "v23.08", + "v24.02" ], + "type": "string", "description": [ - "Time in seconds since the first day of 1970 UTC, optionally with a `@` prefix. This indicates when the first period begins; without this, the recurrence periods start from the first invoice. The `@` prefix means that the invoice must start by paying the first period; otherwise it is permitted to start at any period. This is encoded in the offer. e.g. `@1609459200` indicates you must start paying on the 1st January 2021." + "`announce-addr` field from config or cmdline (can be more than one)." ] }, - "recurrence_paywindow": { + "bind-addr": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "string", "description": [ - "Argument of form `-time+time[%]`. The first time is the number of seconds before the start of a period in which an invoice and payment is valid, the second time is the number of seconds after the start of the period. For example *-604800+86400* means you can fetch an pay the invoice 4 weeks before the given period starts, and up to 1 day afterwards. The optional *%* indicates that the amount of the invoice will be scaled by the time remaining in the period. This is encoded in the offer." + "`bind-addr` field from config or cmdline (can be more than one)." + ] + }, + "offline": { + "deprecated": [ + "v23.08", + "v24.02" ], - "default": "that payment is allowed during the current and previous periods" + "type": "boolean", + "description": [ + "`true` if `offline` was set in config or cmdline." + ] }, - "recurrence_limit": { - "type": "u32", + "autolisten": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "To indicate the maximum period which exists. eg. `12` means there are 13 periods, from 0 to 12 inclusive. This is encoded in the offer." + "`autolisten` field from config or cmdline, or default." ] }, - "single_use": { + "proxy": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`proxy` field from config or cmdline, or default." + ] + }, + "disable-dns": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", "description": [ - "Indicates that the offer is only valid once; we may issue multiple invoices, but as soon as one is paid all other invoices will be expired (i.e. only one person can pay this offer)." + "`true` if `disable-dns` was set in config or cmdline." + ] + }, + "announce-addr-discovered": { + "deprecated": [ + "v23.08", + "v24.02" ], - "default": "False" - } - } - }, - "response": { - "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used", - "created" - ], - "properties": { - "offer_id": { - "type": "hash", + "type": "string", "description": [ - "The id of this offer (merkle hash of non-signature fields)." + "`true`/`false`/`auto` depending on how `announce-addr-discovered` was set in config or cmdline." + ], + "added": "v23.02" + }, + "announce-addr-discovered-port": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "integer", + "description": [ + "Sets the announced TCP port for dynamically discovered IPs." + ], + "added": "v23.02" + }, + "encrypted-hsm": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", + "description": [ + "`true` if `encrypted-hsm` was set in config or cmdline." ] }, - "active": { + "rpc-file-mode": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`rpc-file-mode` field from config or cmdline, or default." + ] + }, + "log-level": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`log-level` field from config or cmdline, or default." + ] + }, + "log-prefix": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`log-prefix` field from config or cmdline, or default." + ] + }, + "log-file": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`log-file` field from config or cmdline, or default." + ] + }, + "log-timestamps": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", - "enum": [ - true + "description": [ + "`log-timestamps` field from config or cmdline, or default." + ] + }, + "force-feerates": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "Force-feerate configuration setting, if any." + ] + }, + "subdaemon": { + "deprecated": [ + "v23.08", + "v24.02" ], + "type": "string", "description": [ - "Whether this can still be used." + "`subdaemon` fields from config or cmdline if any (can be more than one)." ] }, - "single_use": { + "fetchinvoice-noconnect": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", "description": [ - "Whether this expires as soon as it's paid (reflects the *single_use* parameter)." + "`fetchinvoice-noconnect` fields from config or cmdline, or default." ] }, - "bolt12": { + "accept-htlc-tlv-types": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "string", "description": [ - "The bolt12 encoding of the offer." + "`accept-htlc-tlv-types` field from config or cmdline, or not present." ] }, - "used": { + "tor-service-password": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "string", + "description": [ + "`tor-service-password` field from config or cmdline, if any." + ] + }, + "dev-allowdustreserve": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", "description": [ - "True if an associated invoice has been paid." + "Whether we allow setting dust reserves." ] }, - "created": { + "announce-addr-dns": { + "deprecated": [ + "v23.08", + "v24.02" + ], "type": "boolean", + "added": "v22.11.1", "description": [ - "False if the offer already existed." + "Whether we put DNS entries into node_announcement." ] }, - "label": { - "type": "string", + "require-confirmed-inputs": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "boolean", "description": [ - "The (optional) user-specified label." + "Request peers to only send confirmed inputs (dual-fund only)." ] - } - } - }, - "errors": [ - "On failure, an error is returned and no offer is created. If the lightning process fails before responding, the caller should use lightning-listoffers(7) to query whether this offer was created or not.", - "", - "If the offer already existed, and is still active, that is returned; if it's not active then this call fails.", - "", - "- -1: Catchall nonspecific error.", - "- 1000: Offer with this offer_id already exists (but is not active)." - ], - "example_json_request": [ - { - "id": "example:offer#1", - "method": "offer", - "params": [ - 100, - "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2" - ] - }, - { - "id": "example:offer#2", - "method": "offer", - "params": [ - 1, - "desc" - ] - }, - { - "id": "example:offer#3", - "method": "offer", - "params": [ - 100, - "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2" - ] - }, - { - "id": "example:offer#4", - "method": "offer", - "params": [ - 9, - "" - ] - }, - { - "id": "example:offer#5", - "method": "offer", - "params": { - "amount": "1msat", - "description": "test for 1msat" - } - }, - { - "id": "example:offer#6", - "method": "offer", - "params": { - "amount": "0.1btc", - "description": "test for 0.1btc" - } - }, - { - "id": "example:offer#7", - "method": "offer", - "params": { - "amount": "any", - "description": "test for any" - } - }, - { - "id": "example:offer#8", - "method": "offer", - "params": { - "amount": "1USD", - "description": "test for 1USD" - } - }, - { - "id": "example:offer#9", - "method": "offer", - "params": { - "amount": "1.10AUD", - "description": "test for 1.10AUD" - } - }, - { - "id": "example:offer#10", - "method": "offer", - "params": { - "amount": "0.1btc", - "description": "description \\ \" \t \n \u30ca\u30f3\u30bb\u30f3\u30b9 1\u676f", - "label": "label \\ \" \t \n" - } - }, - { - "id": "example:offer#11", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "issuer test", - "issuer": "description \\ \" \t \n \u30ca\u30f3\u30bb\u30f3\u30b9 1\u676f" - } - }, - { - "id": "example:offer#12", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max existence test", - "quantity_max": 0 - } - }, - { - "id": "example:offer#13", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "quantity_max": 2 - } - }, - { - "id": "example:offer#14", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "absolute_expiry": 1708640673 - } - }, - { - "id": "example:offer#15", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "1second" - } - }, - { - "id": "example:offer#16", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "10seconds" - } - }, - { - "id": "example:offer#17", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "1minute" - } - }, - { - "id": "example:offer#18", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "10minutes" - } - }, - { - "id": "example:offer#19", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "1hour" - } - }, - { - "id": "example:offer#20", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "10hours" - } - }, - { - "id": "example:offer#21", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "1day" - } - }, - { - "id": "example:offer#22", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "10days" - } - }, - { - "id": "example:offer#23", - "method": "offer", - "params": { - "amount": "100000sat", - "description": "quantity_max test", - "recurrence": "1week" - } - } - ], - "example_json_response": [ - { - "offer_id": "60a3dbd693a934fe04b01826ef6c0da878add75b6102c4f21eee10e785fbfae9", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", - "used": false, - "created": true - }, - { - "offer_id": "8bd7ff221b608c165cf9a09add3da9ac39f4845bf0400d41cde9babe226d5cb2", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5pryv4ekx93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j", - "used": false, - "created": true - }, - { - "offer_id": "60a3dbd693a934fe04b01826ef6c0da878add75b6102c4f21eee10e785fbfae9", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", - "used": false, - "created": true - }, - { - "offer_id": "d33dde0e383b30fe6a44cebb295c2e5baefb7a15f76e3ada18287bab5e5aa54f", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyys5qqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", - "used": false, - "created": true - }, - { - "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false, - "created": true - }, - { - "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false, - "created": true - }, - { - "offer_id": "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2p36x2um5ypnx7u3qv9h8j93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false, - "created": true - }, - { - "offer_id": "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgq9jq5rt5v4ehggrxdaezqv242dzpvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", - "used": false, - "created": true - }, - { - "offer_id": "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqdq423qgq9hq5yr5v4ehggrxdaezqvfwxycyz42yzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false, - "created": true - }, - { - "offer_id": "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9zser9wd3hy6tsw35k7m3qtsszygqfyq9zpcur3t3c8vlrs2a78qanuwptjgp3u6w6793pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", - "used": false, - "label": "label \\ \" \t \n", - "created": true - }, - { - "offer_id": "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpg9kjumnw4jhygr5v4ehgy3gv3jhxcmjd9c8g6t0dcs9cgpzyqyjqz3quwpc4curk03c9wlrswe78q4eyqc7d8d0zcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false, - "created": true - }, - { - "offer_id": "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgdhzatpde6xjaretakkz7pqv4uxjum5v4hxxefqw3jhxaq5qqtzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rq", - "used": false, - "created": true - }, - { - "offer_id": "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaq5qyppvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", - "used": false, - "created": true - }, - { - "offer_id": "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqwq3ja0jdpzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", - "used": false, - "created": true - }, - { - "offer_id": "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqqz", - "used": false, - "created": true - }, - { - "offer_id": "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqq5", - "used": false, - "created": true - }, - { - "offer_id": "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqrc", - "used": false, - "created": true - }, - { - "offer_id": "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqqykq", - "used": false, - "created": true - }, - { - "offer_id": "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqquyq", - "used": false, - "created": true - }, - { - "offer_id": "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqgegq", - "used": false, - "created": true - }, - { - "offer_id": "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsz", - "used": false, - "created": true - }, - { - "offer_id": "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqs5", - "used": false, - "created": true - }, - { - "offer_id": "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f", - "active": true, - "single_use": false, - "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsw", - "used": false, - "created": true - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listoffers(7)", - "lightning-disableoffer(7)", - "lightning-invoicerequest(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-openchannel_abort.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "openchannel_abort", - "title": "Command to abort a channel to a peer", - "description": [ - "`openchannel_init` is a low level RPC command which initiates a channel open with a specified peer. It uses the openchannel protocol which allows for interactive transaction construction." - ], - "request": { - "required": [ - "channel_id" - ], - "properties": { - "channel_id": { - "type": "hash", + }, + "developer": { + "added": "v23.08", + "type": "boolean", "description": [ - "Channel id of the channel to be aborted." + "Whether developer mode is enabled." ] - } - } - }, - "response": { - "required": [ - "channel_id", - "channel_canceled", - "reason" - ], - "properties": { - "channel_id": { - "type": "hash", + }, + "commit-fee": { + "deprecated": [ + "v23.08", + "v24.02" + ], + "type": "u64", + "added": "v23.05", "description": [ - "The channel id of the aborted channel." + "The percentage of the 6-block fee estimate to use for commitment transactions." ] }, - "channel_canceled": { - "type": "boolean", + "min-emergency-msat": { + "type": "msat", + "added": "v23.08", "description": [ - "Whether this is completely canceled (there may be remaining in-flight transactions)." + "Field from config or cmdline, or default." ] }, - "reason": { - "type": "string", + "commit-feerate-offset": { + "type": "u32", + "added": "v23.11", "description": [ - "Usually \"Abort requested\", but if it happened to fail at the same time it could be different." + "Additional commitment feerate applied by channel owner." ] } - } + }, + "pre_return_value_notes": [ + "The returned values reflect the current configuration, including showing default values (`dev-` options are not shown unless specified as *config* explicitly).", + "", + "Note: as plugins can add options, not all configuration settings are listed here! The format of each entry is as follows:", + "", + "- **source** (string): source of configuration setting (`file`:`linenum`)", + "- **dynamic** (boolean, optional): true if this option is settable via setconfig", + "- **plugin** (string, optional): set if this is from a plugin", + "", + "Depending on the option type, exactly one of the following is present:", + "", + "- **set** (boolean, optional): for simple flag options", + "- **value_str** (string, optional): for string options", + "- **value_msat** (msat, optional): for msat options", + "- **value_int** (integer, optional): for integer options", + "- **value_bool** (boolean, optional): for boolean options" + ] }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 305: Peer is not connected.", - "- 311: Unknown channel id.", - "- 312: Channel in an invalid state" - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_bump(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel(7)", - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-multifundchannel(7)" - ], - "resources": [ - "Main web site: " - ], "example_json_request": [ { - "id": "example:openchannel_abort#1", - "method": "openchannel_abort", + "id": "example:listconfigs#1", + "method": "listconfigs", "params": { - "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6" + "config": "network" } }, { - "id": "example:openchannel_abort#2", - "method": "openchannel_abort", + "id": "example:listconfigs#2", + "method": "listconfigs", "params": { - "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8" + "config": null } }, { - "id": "example:openchannel_abort#3", - "method": "openchannel_abort", + "id": "example:listconfigs#3", + "method": "listconfigs", "params": { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#4", - "method": "openchannel_abort", + "id": "example:listconfigs#4", + "method": "listconfigs", "params": { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" + "config": null } }, { - "id": "example:openchannel_abort#5", - "method": "openchannel_abort", + "id": "example:listconfigs#5", + "method": "listconfigs", "params": { - "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#6", - "method": "openchannel_abort", + "id": "example:listconfigs#6", + "method": "listconfigs", "params": { - "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#7", - "method": "openchannel_abort", + "id": "example:listconfigs#7", + "method": "listconfigs", "params": { - "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#8", - "method": "openchannel_abort", + "id": "example:listconfigs#8", + "method": "listconfigs", "params": { - "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#9", - "method": "openchannel_abort", + "id": "example:listconfigs#9", + "method": "listconfigs", "params": { - "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#10", - "method": "openchannel_abort", + "id": "example:listconfigs#10", + "method": "listconfigs", "params": { - "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#11", - "method": "openchannel_abort", + "id": "example:listconfigs#11", + "method": "listconfigs", "params": { - "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2" + "config": "accept-htlc-tlv-type" } }, { - "id": "example:openchannel_abort#12", - "method": "openchannel_abort", + "id": "example:listconfigs#12", + "method": "listconfigs", "params": { - "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#13", - "method": "openchannel_abort", + "id": "example:listconfigs#13", + "method": "listconfigs", "params": { - "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#14", - "method": "openchannel_abort", + "id": "example:listconfigs#14", + "method": "listconfigs", "params": { - "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#15", - "method": "openchannel_abort", + "id": "example:listconfigs#15", + "method": "listconfigs", "params": { - "channel_id": "f6b0dd7b022065cae32f02b5d4b0bab7c4ce4755d389b8203e6c5b012f33801c" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#16", - "method": "openchannel_abort", + "id": "example:listconfigs#16", + "method": "listconfigs", "params": { - "channel_id": "ed8047c5ccc83e65bbc76274cfdc077b130522b9a3dcb677216cd9c5b6c0520d" + "config": "experimental-dual-fund" } }, { - "id": "example:openchannel_abort#17", - "method": "openchannel_abort", + "id": "example:listconfigs#17", + "method": "listconfigs", "params": { - "channel_id": "68a52164b5a1f042beab3bbcf2de61731e2923fe0a00bbec75ed38ea7d4a35da" + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#18", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#19", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#20", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#21", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#22", + "method": "listconfigs", + "params": { + "config": null + } + }, + { + "id": "example:listconfigs#23", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + }, + { + "id": "example:listconfigs#24", + "method": "listconfigs", + "params": { + "config": "experimental-dual-fund" + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters or field with *config* name doesn't exist." + ], + "example_json_response": [ + { + "#version": "v0.9.0-1", + "lightning-dir": "/media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev", + "network": "testnet", + "allow-deprecated-apis": true, + "rpc-file": "lightning-rpc", + "plugins": [ + { + "path": "/home/vincent/Github/plugins/sauron/sauron.py", + "name": "sauron.py", + "options": { + "sauron-api-endpoint": "http://blockstream.info/testnet/api/", + "sauron-tor-proxy": "" + } + }, + { + "path": "/home/vincent/Github/reckless/reckless.py", + "name": "reckless.py" + } + ], + "important-plugins": [ + { + "path": "/home/vincent/Github/lightning/lightningd/../plugins/autoclean", + "name": "autoclean", + "options": { + "autocleaninvoice-cycle": null, + "autocleaninvoice-expired-by": null + } + }, + { + "path": "/home/vincent/Github/lightning/lightningd/../plugins/fundchannel", + "name": "fundchannel" + }, + { + "path": "/home/vincent/Github/lightning/lightningd/../plugins/keysend", + "name": "keysend" + }, + { + "path": "/home/vincent/Github/lightning/lightningd/../plugins/pay", + "name": "pay", + "options": { + "disable-mpp": false + } + } + ], + "important-plugin": "/home/vincent/Github/lightning/lightningd/../plugins/pay", + "plugin": "/home/vincent/Github/reckless/reckless.py", + "disable-plugin": [ + "bcli" + ], + "always-use-proxy": false, + "daemon": "false", + "wallet": "sqlite3:///media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev/testnet/lightningd.sqlite3", + "wumbo": true, + "rgb": "03ad98", + "alias": "BRUCEWAYN-TES-DEV", + "pid-file": "/media/vincent/Maxtor/sanboxTestWrapperRPC/lightning_dir_dev/lightningd-testne...", + "ignore-fee-limits": true, + "watchtime-blocks": 6, + "max-locktime-blocks": 2016, + "funding-confirms": 1, + "commit-fee-min": 0, + "commit-fee-max": 0, + "cltv-delta": 6, + "cltv-final": 10, + "commit-time": 10, + "fee-base": 1, + "rescan": 30, + "fee-per-satoshi": 10, + "max-concurrent-htlcs": 483, + "min-capacity-sat": 10000, + "addr": "autotor:127.0.0.1:9051", + "bind-addr": "127.0.0.1:9735", + "announce-addr": "fp463inc4w3lamhhduytrwdwq6q6uzugtaeapylqfc43agrdnnqsheyd.onion:9735", + "offline": "false", + "autolisten": true, + "proxy": "127.0.0.1:9050", + "disable-dns": "false", + "encrypted-hsm": false, + "rpc-file-mode": "0600", + "log-level": "DEBUG", + "log-prefix": "lightningd" + }, + { + "configs": { + "developer": { + "set": true, + "source": "cmdline" + }, + "lightning-dir": { + "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/", + "source": "cmdline" + }, + "network": { + "value_str": "regtest", + "source": "cmdline" + }, + "testnet": { + "set": false, + "source": "default" + }, + "signet": { + "set": false, + "source": "default" + }, + "mainnet": { + "set": false, + "source": "default" + }, + "regtest": { + "set": false, + "source": "default" + }, + "rpc-file": { + "value_str": "lightning-rpc", + "source": "default" + }, + "allow-deprecated-apis": { + "value_bool": false, + "source": "cmdline" + }, + "plugin": { + "values_str": [ + "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" + ], + "sources": [ + "cmdline" + ] + }, + "plugin-dir": { + "values_str": [], + "sources": [] + }, + "clear-plugins": { + "set": false, + "source": "default" + }, + "disable-plugin": { + "values_str": [], + "sources": [] + }, + "important-plugin": { + "values_str": [], + "sources": [] + }, + "always-use-proxy": { + "value_bool": false, + "source": "default" + }, + "daemon": { + "set": false, + "source": "default" + }, + "experimental-dual-fund": { + "set": false, + "source": "default" + }, + "experimental-splicing": { + "set": false, + "source": "default" + }, + "experimental-onion-messages": { + "set": false, + "source": "default" + }, + "experimental-offers": { + "set": false, + "source": "default" + }, + "experimental-shutdown-wrong-funding": { + "set": false, + "source": "default" + }, + "experimental-peer-storage": { + "set": false, + "source": "default" + }, + "experimental-quiesce": { + "set": false, + "source": "default" + }, + "experimental-anchors": { + "set": false, + "source": "default" + }, + "rgb": { + "value_str": "0266e4", + "source": "default" + }, + "alias": { + "value_str": "JUNIORBEAM-1-102-g7549e10-modded", + "source": "default" + }, + "pid-file": { + "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/lightningd-regtest.pid", + "source": "default" + }, + "ignore-fee-limits": { + "value_bool": false, + "source": "cmdline" + }, + "watchtime-blocks": { + "value_int": 5, + "source": "cmdline" + }, + "max-locktime-blocks": { + "value_int": 2016, + "source": "default" + }, + "funding-confirms": { + "value_int": 1, + "source": "default" + }, + "require-confirmed-inputs": { + "value_bool": false, + "source": "default" + }, + "cltv-delta": { + "value_int": 6, + "source": "cmdline" + }, + "cltv-final": { + "value_int": 5, + "source": "cmdline" + }, + "commit-time": { + "value_int": 10, + "source": "default" + }, + "fee-base": { + "value_int": 1, + "source": "default" + }, + "rescan": { + "value_int": 1, + "source": "cmdline" + }, + "fee-per-satoshi": { + "value_int": 10, + "source": "default" + }, + "htlc-minimum-msat": { + "value_msat": 0, + "source": "default" + }, + "htlc-maximum-msat": { + "value_msat": 18446744073709552000, + "source": "default" + }, + "max-concurrent-htlcs": { + "value_int": 483, + "source": "default" + }, + "max-dust-htlc-exposure-msat": { + "value_msat": 50000000, + "source": "default" + }, + "min-capacity-sat": { + "value_int": 10000, + "source": "default", + "dynamic": true + }, + "addr": { + "values_str": [ + "127.0.0.1:33157" + ], + "sources": [ + "cmdline" + ] + }, + "bind-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr-discovered": { + "value_str": "auto", + "source": "default" + }, + "announce-addr-discovered-port": { + "value_int": 19846, + "source": "default" + }, + "offline": { + "set": false, + "source": "default" + }, + "autolisten": { + "value_bool": false, + "source": "default" + }, + "accept-htlc-tlv-type": { + "values_int": [], + "sources": [] + }, + "disable-dns": { + "set": true, + "source": "cmdline" + }, + "encrypted-hsm": { + "set": false, + "source": "default" + }, + "rpc-file-mode": { + "value_str": "0600", + "source": "default" + }, + "commit-fee": { + "value_int": 100, + "source": "default" + }, + "commit-feerate-offset": { + "value_int": 5, + "source": "default" + }, + "min-emergency-msat": { + "value_msat": 25000000, + "source": "default" + }, + "subdaemon": { + "values_str": [], + "sources": [] + }, + "experimental-upgrade-protocol": { + "set": false, + "source": "default" + }, + "invoices-onchain-fallback": { + "set": false, + "source": "default" + }, + "log-level": { + "value_str": "debug", + "source": "cmdline" + }, + "log-timestamps": { + "value_bool": true, + "source": "default" + }, + "log-prefix": { + "value_str": "lightningd-1 ", + "source": "cmdline" + }, + "log-file": { + "values_str": [ + "-", + "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/log" + ], + "sources": [ + "cmdline", + "cmdline" + ] + }, + "dev-no-plugin-checksum": { + "set": true, + "source": "cmdline" + }, + "dev-no-reconnect": { + "set": true, + "source": "cmdline" + }, + "dev-fail-on-subdaemon-fail": { + "set": true, + "source": "cmdline" + }, + "dev-bitcoind-poll": { + "value_int": 1, + "source": "cmdline" + }, + "dev-fast-gossip": { + "set": true, + "source": "cmdline" + }, + "renepay-debug-mcf": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "renepay-debug-payflow": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "test-option": { + "value_int": 31337, + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" + }, + "bitcoin-datadir": { + "value_str": "/tmp/ltests-giwf5tc7/test_plugin_start_1/lightning-1/", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcuser": { + "value_str": "rpcuser", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcpassword": { + "value_str": "rpcpass", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcport": { + "value_int": 51309, + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "disable-mpp": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/pay" + } } }, { - "id": "example:openchannel_abort#18", - "method": "openchannel_abort", - "params": { - "channel_id": "1c7598fd63146e9dcd85ed0c1143d3c90a00da2152c94e133946ba6d9365e0cf" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } } }, { - "id": "example:openchannel_abort#19", - "method": "openchannel_abort", - "params": { - "channel_id": "a162c72da35706a17e8c4746ee0f463eb244c24483bf6da2e3a214f8a034195e" + "configs": { + "developer": { + "set": true, + "source": "cmdline" + }, + "lightning-dir": { + "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/", + "source": "cmdline" + }, + "network": { + "value_str": "regtest", + "source": "cmdline" + }, + "testnet": { + "set": false, + "source": "default" + }, + "signet": { + "set": false, + "source": "default" + }, + "mainnet": { + "set": false, + "source": "default" + }, + "regtest": { + "set": false, + "source": "default" + }, + "rpc-file": { + "value_str": "lightning-rpc", + "source": "default" + }, + "allow-deprecated-apis": { + "value_bool": false, + "source": "cmdline" + }, + "plugin": { + "values_str": [ + "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" + ], + "sources": [ + "cmdline" + ] + }, + "plugin-dir": { + "values_str": [], + "sources": [] + }, + "clear-plugins": { + "set": false, + "source": "default" + }, + "disable-plugin": { + "values_str": [], + "sources": [] + }, + "important-plugin": { + "values_str": [], + "sources": [] + }, + "always-use-proxy": { + "value_bool": false, + "source": "default" + }, + "daemon": { + "set": false, + "source": "default" + }, + "experimental-dual-fund": { + "set": false, + "source": "default" + }, + "experimental-splicing": { + "set": false, + "source": "default" + }, + "experimental-onion-messages": { + "set": false, + "source": "default" + }, + "experimental-offers": { + "set": false, + "source": "default" + }, + "experimental-shutdown-wrong-funding": { + "set": false, + "source": "default" + }, + "experimental-peer-storage": { + "set": false, + "source": "default" + }, + "experimental-quiesce": { + "set": false, + "source": "default" + }, + "rgb": { + "value_str": "0266e4", + "source": "default" + }, + "alias": { + "value_str": "JUNIORBEAM-v23.11-415-gd120eba", + "source": "default" + }, + "pid-file": { + "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/lightningd-regtest.pid", + "source": "default" + }, + "ignore-fee-limits": { + "value_bool": false, + "source": "cmdline" + }, + "watchtime-blocks": { + "value_int": 5, + "source": "cmdline" + }, + "max-locktime-blocks": { + "value_int": 2016, + "source": "default" + }, + "funding-confirms": { + "value_int": 1, + "source": "default" + }, + "require-confirmed-inputs": { + "value_bool": false, + "source": "default" + }, + "cltv-delta": { + "value_int": 6, + "source": "cmdline" + }, + "cltv-final": { + "value_int": 5, + "source": "cmdline" + }, + "commit-time": { + "value_int": 10, + "source": "default" + }, + "fee-base": { + "value_int": 1, + "source": "default" + }, + "rescan": { + "value_int": 1, + "source": "cmdline" + }, + "fee-per-satoshi": { + "value_int": 10, + "source": "default" + }, + "htlc-minimum-msat": { + "value_msat": 0, + "source": "default" + }, + "htlc-maximum-msat": { + "value_msat": 18446744073709551615, + "source": "default" + }, + "max-concurrent-htlcs": { + "value_int": 483, + "source": "default" + }, + "max-dust-htlc-exposure-msat": { + "value_msat": 50000000, + "source": "default" + }, + "min-capacity-sat": { + "value_int": 10000, + "source": "default", + "dynamic": true + }, + "addr": { + "values_str": [ + "127.0.0.1:40177" + ], + "sources": [ + "cmdline" + ] + }, + "bind-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr-discovered": { + "value_str": "auto", + "source": "default" + }, + "announce-addr-discovered-port": { + "value_int": 19846, + "source": "default" + }, + "offline": { + "set": false, + "source": "default" + }, + "autolisten": { + "value_bool": false, + "source": "default" + }, + "accept-htlc-tlv-type": { + "values_int": [], + "sources": [] + }, + "disable-dns": { + "set": true, + "source": "cmdline" + }, + "encrypted-hsm": { + "set": false, + "source": "default" + }, + "rpc-file-mode": { + "value_str": "0600", + "source": "default" + }, + "commit-fee": { + "value_int": 100, + "source": "default" + }, + "commit-feerate-offset": { + "value_int": 5, + "source": "default" + }, + "min-emergency-msat": { + "value_msat": 25000000, + "source": "default" + }, + "subdaemon": { + "values_str": [], + "sources": [] + }, + "experimental-upgrade-protocol": { + "set": false, + "source": "default" + }, + "invoices-onchain-fallback": { + "set": false, + "source": "default" + }, + "i-promise-to-fix-broken-api-user": { + "values_str": [], + "sources": [] + }, + "log-level": { + "value_str": "debug", + "source": "cmdline" + }, + "log-timestamps": { + "value_bool": true, + "source": "default" + }, + "log-prefix": { + "value_str": "lightningd-1 ", + "source": "cmdline" + }, + "log-file": { + "values_str": [ + "-", + "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/log" + ], + "sources": [ + "cmdline", + "cmdline" + ] + }, + "dev-no-reconnect": { + "set": true, + "source": "cmdline" + }, + "dev-fail-on-subdaemon-fail": { + "set": true, + "source": "cmdline" + }, + "dev-bitcoind-poll": { + "value_int": 1, + "source": "cmdline" + }, + "dev-fast-gossip": { + "set": true, + "source": "cmdline" + }, + "disable-mpp": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/pay" + }, + "bitcoin-datadir": { + "value_str": "/tmp/ltests-5khqrkkl/test_plugin_start_1/lightning-1/", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcuser": { + "value_str": "rpcuser", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcpassword": { + "value_str": "rpcpass", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcport": { + "value_int": 59351, + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "renepay-debug-mcf": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "renepay-debug-payflow": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "test-option": { + "value_int": 31337, + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup" + } } }, { - "id": "example:openchannel_abort#20", - "method": "openchannel_abort", - "params": { - "channel_id": "d73efbee41519c41d6094f89aee195b73af0049108dc45e7d748b7212dfa24d0" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } } }, { - "id": "example:openchannel_abort#21", - "method": "openchannel_abort", - "params": { - "channel_id": "9d1d1bca82711729d79a757cdeb47ad123749c182b552ac04f085cbca03218ea" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } } - } - ], - "example_json_response": [ - { - "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6", - "channel_canceled": true, - "reason": "Abort requested" - }, - { - "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8", - "channel_canceled": true, - "reason": "Abort requested" - }, - { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "channel_canceled": true, - "reason": "Abort requested" - }, - { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "channel_canceled": true, - "reason": "Abort requested" - }, - { - "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", - "channel_canceled": true, - "reason": "Abort requested" }, { - "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "accept-htlc-tlv-type": { + "values_int": [ + 133773310, + 99990 + ], + "sources": [ + "cmdline", + "cmdline" + ] + } + } }, { - "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "f6b0dd7b022065cae32f02b5d4b0bab7c4ce4755d389b8203e6c5b012f33801c", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "ed8047c5ccc83e65bbc76274cfdc077b130522b9a3dcb677216cd9c5b6c0520d", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "68a52164b5a1f042beab3bbcf2de61731e2923fe0a00bbec75ed38ea7d4a35da", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "1c7598fd63146e9dcd85ed0c1143d3c90a00da2152c94e133946ba6d9365e0cf", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "a162c72da35706a17e8c4746ee0f463eb244c24483bf6da2e3a214f8a034195e", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "d73efbee41519c41d6094f89aee195b73af0049108dc45e7d748b7212dfa24d0", - "channel_canceled": true, - "reason": "Abort requested" + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } }, { - "channel_id": "9d1d1bca82711729d79a757cdeb47ad123749c182b552ac04f085cbca03218ea", - "channel_canceled": true, - "reason": "Abort requested" - } - ] - }, - "lightning-openchannel_bump.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "openchannel_bump", - "title": "Command to initiate a channel RBF", - "description": [ - "`openchannel_bump` is a RPC command which initiates a channel RBF (Replace-By-Fee) for the specified channel. It uses the openchannel protocol which allows for interactive transaction construction.", - "", - "Warning: bumping a leased channel will lose the lease." - ], - "request": { - "required": [ - "channel_id", - "amount", - "initialpsbt" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "Id of the channel to RBF." - ] - }, - "amount": { - "type": "sat", - "description": [ - "Satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel." - ] - }, - "initialpsbt": { - "type": "string", - "description": [ - "The funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met." - ] - }, - "funding_feerate": { - "type": "feerate", - "description": [ - "Feerate for the funding transaction." - ], - "default": "1/64th greater than the last feerate used for this channel" - } - } - }, - "response": { - "required": [ - "channel_id", - "channel_type", - "psbt", - "commitments_secured", - "funding_serial" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "added": "v24.02", - "items": { - "type": "u32", - "description": [ - "Bit number." - ] - } - }, - "names": { - "type": "array", - "description": [ - "Feature name for each bit set in this channel_type." - ], - "added": "v24.02", - "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." - ] - } - } + "configs": { + "developer": { + "set": true, + "source": "cmdline" + }, + "lightning-dir": { + "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/", + "source": "cmdline" + }, + "network": { + "value_str": "regtest", + "source": "cmdline" + }, + "testnet": { + "set": false, + "source": "default" + }, + "signet": { + "set": false, + "source": "default" + }, + "mainnet": { + "set": false, + "source": "default" + }, + "regtest": { + "set": false, + "source": "default" + }, + "rpc-file": { + "value_str": "lightning-rpc", + "source": "default" + }, + "allow-deprecated-apis": { + "value_bool": false, + "source": "cmdline" + }, + "plugin": { + "values_str": [], + "sources": [] + }, + "plugin-dir": { + "values_str": [], + "sources": [] + }, + "clear-plugins": { + "set": false, + "source": "default" + }, + "disable-plugin": { + "values_str": [ + "something-else.py", + "helloworld.py" + ], + "sources": [ + "cmdline", + "cmdline" + ] + }, + "important-plugin": { + "values_str": [], + "sources": [] + }, + "always-use-proxy": { + "value_bool": false, + "source": "default" + }, + "daemon": { + "set": false, + "source": "default" + }, + "experimental-dual-fund": { + "set": false, + "source": "default" + }, + "experimental-splicing": { + "set": false, + "source": "default" + }, + "experimental-onion-messages": { + "set": false, + "source": "default" + }, + "experimental-offers": { + "set": false, + "source": "default" + }, + "experimental-shutdown-wrong-funding": { + "set": false, + "source": "default" + }, + "experimental-peer-storage": { + "set": false, + "source": "default" + }, + "experimental-quiesce": { + "set": false, + "source": "default" + }, + "rgb": { + "value_str": "0265b6", + "source": "default" + }, + "alias": { + "value_str": "LOUDPHOTO-v23.11-415-gd120eba", + "source": "default" + }, + "pid-file": { + "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/lightningd-regtest.pid", + "source": "default" + }, + "ignore-fee-limits": { + "value_bool": false, + "source": "cmdline" + }, + "watchtime-blocks": { + "value_int": 5, + "source": "cmdline" + }, + "max-locktime-blocks": { + "value_int": 2016, + "source": "default" + }, + "funding-confirms": { + "value_int": 1, + "source": "default" + }, + "require-confirmed-inputs": { + "value_bool": false, + "source": "default" + }, + "cltv-delta": { + "value_int": 6, + "source": "cmdline" + }, + "cltv-final": { + "value_int": 5, + "source": "cmdline" + }, + "commit-time": { + "value_int": 10, + "source": "default" + }, + "fee-base": { + "value_int": 1, + "source": "default" + }, + "rescan": { + "value_int": 1, + "source": "cmdline" + }, + "fee-per-satoshi": { + "value_int": 10, + "source": "default" + }, + "htlc-minimum-msat": { + "value_msat": 0, + "source": "default" + }, + "htlc-maximum-msat": { + "value_msat": 18446744073709551615, + "source": "default" + }, + "max-concurrent-htlcs": { + "value_int": 483, + "source": "default" + }, + "max-dust-htlc-exposure-msat": { + "value_msat": 50000000, + "source": "default" + }, + "min-capacity-sat": { + "value_int": 10000, + "source": "default", + "dynamic": true + }, + "addr": { + "values_str": [ + "127.0.0.1:39707" + ], + "sources": [ + "cmdline" + ] + }, + "bind-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr": { + "values_str": [], + "sources": [] + }, + "announce-addr-discovered": { + "value_str": "auto", + "source": "default" + }, + "announce-addr-discovered-port": { + "value_int": 19846, + "source": "default" + }, + "offline": { + "set": false, + "source": "default" + }, + "autolisten": { + "value_bool": false, + "source": "default" + }, + "accept-htlc-tlv-type": { + "values_int": [], + "sources": [] + }, + "disable-dns": { + "set": true, + "source": "cmdline" + }, + "encrypted-hsm": { + "set": false, + "source": "default" + }, + "rpc-file-mode": { + "value_str": "0600", + "source": "default" + }, + "commit-fee": { + "value_int": 100, + "source": "default" + }, + "commit-feerate-offset": { + "value_int": 5, + "source": "default" + }, + "min-emergency-msat": { + "value_msat": 25000000, + "source": "default" + }, + "subdaemon": { + "values_str": [], + "sources": [] + }, + "experimental-upgrade-protocol": { + "set": false, + "source": "default" + }, + "invoices-onchain-fallback": { + "set": false, + "source": "default" + }, + "i-promise-to-fix-broken-api-user": { + "values_str": [], + "sources": [] + }, + "log-level": { + "value_str": "debug", + "source": "cmdline" + }, + "log-timestamps": { + "value_bool": true, + "source": "default" + }, + "log-prefix": { + "value_str": "lightningd-6 ", + "source": "cmdline" + }, + "log-file": { + "values_str": [ + "-", + "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/log" + ], + "sources": [ + "cmdline", + "cmdline" + ] + }, + "dev-no-reconnect": { + "set": true, + "source": "cmdline" + }, + "dev-fail-on-subdaemon-fail": { + "set": true, + "source": "cmdline" + }, + "dev-bitcoind-poll": { + "value_int": 1, + "source": "cmdline" + }, + "dev-fast-gossip": { + "set": true, + "source": "cmdline" + }, + "disable-mpp": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/pay" + }, + "renepay-debug-mcf": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "renepay-debug-payflow": { + "set": false, + "source": "default", + "plugin": "/home/shahana/workspace/lightning/plugins/cln-renepay" + }, + "bitcoin-datadir": { + "value_str": "/tmp/ltests-7u_8_rtu/test_plugin_disable_1/lightning-6/", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcuser": { + "value_str": "rpcuser", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcpassword": { + "value_str": "rpcpass", + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" + }, + "bitcoin-rpcport": { + "value_int": 46809, + "source": "cmdline", + "plugin": "/home/shahana/workspace/lightning/plugins/bcli" } - }, - "psbt": { - "type": "string", - "description": [ - "The (incomplete) PSBT of the RBF transaction." - ] - }, - "commitments_secured": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether the *psbt* is complete." - ] - }, - "funding_serial": { - "type": "u64", - "description": [ - "The serial_id of the funding output in the *psbt*." - ] - }, - "requires_confirmed_inputs": { - "type": "boolean", - "description": [ - "Does peer require confirmed inputs in psbt?" - ] } }, - "post_return_value_notes": [ - "If the peer does not support `option_dual_fund`, this command will return an error.", - "", - "If the channel is not in a state that is eligible for RBF, this command will return an error." - ] - }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 300: The amount exceeded the maximum configured funding amount.", - "- 301: The provided PSBT cannot afford the funding amount.", - "- 305: Peer is not connected.", - "- 309: PSBT missing required fields", - "- 311: Unknown channel id.", - "- 312: Channel in an invalid state" + { + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } + }, + { + "configs": { + "experimental-dual-fund": { + "set": false, + "source": "default" + } + } + } ], "author": [ - "Lisa Neigut <> is mainly responsible." + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." ], "see_also": [ - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_abort(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel(7)", - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-multifundchannel(7)" + "lightning-getinfo(7)", + "lightningd-config(5)" ], "resources": [ "Main web site: " ] }, - "lightning-openchannel_init.json": { + "lightning-listdatastore.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "openchannel_init", - "title": "Command to initiate a channel to a peer", + "rpc": "listdatastore", + "title": "Command for listing (plugin) data", "description": [ - "`openchannel_init` is a low level RPC command which initiates a channel open with a specified peer. It uses the openchannel protocol which allows for interactive transaction construction." + "The **listdatastore** RPC command allows plugins to fetch data which was stored in the Core Lightning database." ], "request": { - "required": [ - "id", - "amount", - "initialpsbt" - ], + "required": [], "properties": { - "id": { - "type": "pubkey", - "description": [ - "Node id of the remote peer." - ] - }, - "amount": { - "type": "sat", - "description": [ - "Satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel." - ] - }, - "initialpsbt": { - "type": "string", - "description": [ - "Funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met." - ] - }, - "commitment_feerate": { - "type": "feerate", - "description": [ - "Feerate for commitment transactions for non-anchor channels: see **fundchannel**. For anchor channels, it is ignored." - ] - }, - "funding_feerate": { - "type": "feerate", - "description": [ - "Feerate for the funding transaction." - ], - "default": "'opening' feerate" - }, - "announce": { - "type": "boolean", - "description": [ - "Whether or not to announce this channel." - ] - }, - "close_to": { - "type": "string", - "description": [ - "Bitcoin address to which the channel funds should be sent on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`." - ] - }, - "request_amt": { - "type": "msat", - "description": [ - "An amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." - ] - }, - "compact_lease": { - "type": "hex", - "description": [ - "A compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel." + "key": { + "oneOf": [ + { + "type": "array", + "description": [ + "All immediate children of the *key* (or root children) are returned.", + " Using the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended.", + " An array of values to form a hierarchy (though a single value is treated as a one-element array)." + ], + "items": { + "type": "string" + } + }, + { + "type": "string" + } ] - }, - "channel_type": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "items": { - "type": "u32", - "description": [ - "Bit number." - ] - } } } }, "response": { "required": [ - "channel_id", - "psbt", - "channel_type", - "commitments_secured", - "funding_serial" + "datastore" ], "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel." - ] - }, - "psbt": { - "type": "string", - "description": [ - "The (incomplete) PSBT of the funding transaction." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "added": "v24.02", - "items": { - "type": "u32", + "datastore": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "key" + ], + "properties": { + "key": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Part of the key added to the datastore." + ] + } + }, + "generation": { + "type": "u64", "description": [ - "Bit number." + "The number of times this has been updated." ] - } - }, - "names": { - "type": "array", - "description": [ - "Feature name for each bit set in this channel_type." - ], - "added": "v24.02", - "items": { + }, + "hex": { + "type": "hex", + "description": [ + "The hex data from the datastore." + ] + }, + "string": { "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." + "The data as a string, if it's valid utf-8." ] } } } - }, - "commitments_secured": { - "type": "boolean", - "enum": [ - false - ], - "description": [ - "Whether the *psbt* is complete." - ] - }, - "funding_serial": { - "type": "u64", - "description": [ - "The serial_id of the funding output in the *psbt*." - ] - }, - "requires_confirmed_inputs": { - "type": "boolean", - "description": [ - "Does peer require confirmed inputs in psbt?" - ] } - }, - "post_return_value_notes": [ - "If the peer does not support `option_dual_fund`, this command will return an error.", - "", - "If you sent a *request_amt* and the peer supports `option_will_fund` and is interested in leasing you liquidity in this channel, returns their updated channel fee max (*channel_fee_proportional_basis*, *channel_fee_base_msat*), updated rate card for the lease fee (*lease_fee_proportional_basis*, *lease_fee_base_sat*) and their on-chain weight *weight_charge*, which will be added to the lease fee at a rate of *funding_feerate* * *weight_charge* / 1000." - ] + } }, "errors": [ - "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:", + "The following error codes may occur:", "", - "- -32602: If the given parameters are wrong.", - "- -1: Catchall nonspecific error.", - "- 300: The amount exceeded the maximum configured funding amount.", - "- 301: The provided PSBT cannot afford the funding amount.", - "- 304: Still syncing with bitcoin network", - "- 305: Peer is not connected.", - "- 306: Unknown peer id.", - "- 309: PSBT missing required fields", - "- 310: v2 channel open protocol not supported by peer", - "- 312: Channel in an invalid state" - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-openchannel_update(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_abort(7)", - "lightning-openchannel_bump(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel(7)", - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-multifundchannel(7)" - ], - "resources": [ - "Main web site: " + "- -32602: invalid parameters." ], "example_json_request": [ { - "id": "example:openchannel_init#1", - "method": "openchannel_init", + "id": "example:listdatastore#1", + "method": "listdatastore", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 999000, - "initialpsbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": [ - 12 + "key": [ + "commando" ] } }, { - "id": "example:openchannel_init#2", - "method": "openchannel_init", + "id": "example:listdatastore#2", + "method": "listdatastore", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 999000, - "initialpsbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": [ - 12, - 22 + "key": [ + "commando" ] } }, { - "id": "example:openchannel_init#3", - "method": "openchannel_init", + "id": "example:listdatastore#3", + "method": "listdatastore", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 16777216, - "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": [ + "commando" + ] } }, { - "id": "example:openchannel_init#4", - "method": "openchannel_init", + "id": "example:listdatastore#4", + "method": "listdatastore", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": [ + "commando" + ] } }, { - "id": "example:openchannel_init#5", - "method": "openchannel_init", + "id": "example:listdatastore#5", + "method": "listdatastore", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 1000000, - "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "foo_bar" } }, { - "id": "example:openchannel_init#6", - "method": "openchannel_init", + "id": "example:listdatastore#6", + "method": "listdatastore", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } }, { - "id": "example:openchannel_init#7", - "method": "openchannel_init", + "id": "example:listdatastore#7", + "method": "listdatastore", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#8", - "method": "openchannel_init", + "id": "example:listdatastore#8", + "method": "listdatastore", "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } }, { - "id": "example:openchannel_init#9", - "method": "openchannel_init", + "id": "example:listdatastore#9", + "method": "listdatastore", + "params": { + "key": "somekey" + } + }, + { + "id": "example:listdatastore#10", + "method": "listdatastore", + "params": { + "key": "otherkey" + } + }, + { + "id": "example:listdatastore#11", + "method": "listdatastore", "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#10", - "method": "openchannel_init", + "id": "example:listdatastore#12", + "method": "listdatastore", "params": { - "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#11", - "method": "openchannel_init", + "id": "example:listdatastore#13", + "method": "listdatastore", "params": { - "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPh9uV2EwI1rEcIHzocnd2JbGHIZmzLyvv6NfPTIlH9xmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#12", - "method": "openchannel_init", + "id": "example:listdatastore#14", + "method": "listdatastore", "params": { - "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } }, { - "id": "example:openchannel_init#13", - "method": "openchannel_init", + "id": "example:listdatastore#15", + "method": "listdatastore", "params": { - "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFlmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#14", - "method": "openchannel_init", + "id": "example:listdatastore#16", + "method": "listdatastore", "params": { - "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgL4Q7oMjenQxBpjol1MqyIDK+T6vySTHauCIUMWviGMpmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "otherkey" } }, { - "id": "example:openchannel_init#15", - "method": "openchannel_init", + "id": "example:listdatastore#17", + "method": "listdatastore", "params": { - "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPooD9ni7fKBIuuzDl4hTBWDqBJgW1gT3KSXkJSiERshmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "badkey" } }, { - "id": "example:openchannel_init#16", - "method": "openchannel_init", + "id": "example:listdatastore#18", + "method": "listdatastore", "params": { - "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgNnGAnlRnMXUmSCNrqx6Wpa+aLJhdpT22EWsNZysj3JlmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } }, { - "id": "example:openchannel_init#17", - "method": "openchannel_init", + "id": "example:listdatastore#19", + "method": "listdatastore", "params": { - "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgoqAceWUonu5Wtc/N25hWxw+kdsJk0h9xHGppr3dq5ANmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } }, { - "id": "example:openchannel_init#18", - "method": "openchannel_init", + "id": "example:listdatastore#20", + "method": "listdatastore", "params": { - "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgcbtuuikEOWEmTTOvtWmBAgwKkQkZGzKPypcujtycH5pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "somekey" } }, { - "id": "example:openchannel_init#19", - "method": "openchannel_init", + "id": "example:listdatastore#21", + "method": "listdatastore", "params": { - "id": "0341cde04183a300bf0899ad78c63c5fc22765b281cf7d28eaf921cb4ac55d3966", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgGOzgC3Nvntd+06h0JmQ8JCIj49YRakzW2QlG9z3iznFmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "otherkey" } }, { - "id": "example:openchannel_init#20", - "method": "openchannel_init", + "id": "example:listdatastore#22", + "method": "listdatastore", "params": { - "id": "038f7e8b965a4dffa90173f6b5088bf5ce30aca642febcb669736a780a6bf5821e", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgjeWjqlZsttyQNyBrxzUwzm19jqLdHEiK7Fhiy4uOhg5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": "badkey" } }, { - "id": "example:openchannel_init#21", - "method": "openchannel_init", + "id": "example:listdatastore#23", + "method": "listdatastore", "params": { - "id": "02fd8076993ecbd87fc9286e0fea6cb2e074191475fe0cfdba779c863e4d607f02", - "amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg2y3sMayWX/KtPjktLPaqdhKM6grZjQGLB7xd4uI0a/tmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "commitment_feerate": null, - "funding_feerate": null, - "announce": true, - "close_to": null, - "request_amt": null, - "channel_type": null + "key": null } } ], "example_json_response": [ { - "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIIbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDHWbz19TxOAAAEDCFg+DwAAAAAAAQQiACDrwqaxATxr/H7Z8FYJd/DcvftyReRaEmjQrdG2IknyOAz8CWxpZ2h0bmluZwEItClX9q7fEWAA", - "channel_type": { - "bits": [ - 12 - ], - "names": [ - "static_remotekey/even" - ] - }, - "commitments_secured": false, - "funding_serial": 12982004117879591264, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIIbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMCDK/6LyRi8AAEDCFg+DwAAAAAAAQQiACDYM+8ZRsbTj0OCG/yzqLt2buFQn9LuMPDZqFFcgmCmfAz8CWxpZ2h0bmluZwEIchtFHfZ5FBgA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 8222241539686470680, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCLR8RjOq9lmcAAEDCAAAAAEAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIZZtc7LD4y9YA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 7321547790872005590, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "a5b23dff5177badd6df725cefeb83ceccbfc52dc64a16b38894a41f0ad8fa181", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCANYbfWbhz3IAAEDCEBCDwAAAAAAAQQiACA2C2xNVmNUa7ZSqOxIXsyHSyQtKJa+JPF7loJcGXbsdgz8CWxpZ2h0bmluZwEIzsuq5ZKzDdgA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 14901191695070858712, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 16387446910972603556, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "foo_bar" + ], + "generation": 0, + "hex": "7b22666f6f223a2022626172227d", + "string": "{\"foo\": \"bar\"}" + } + ] }, { - "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJuv6i0tfmoAAEDCKCGAQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEICd6nTPZaaIQAAQMIfOkcAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aDPwJbGlnaHRuaW5nAQgu5fN09W7whgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 711189740163590276, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCJwN3ZBO0MNYAAEDCHzpHAAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gz8CWxpZ2h0bmluZwEII4Pk5L8RpLAAAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwDPwJbGlnaHRuaW5nAQij9lOIEcJ6LAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 11814722516331690540, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 6414453196191440064, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 0, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCOSlz7EM5ZYKAAEDCHzpHAAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgz8CWxpZ2h0bmluZwEIdmlh6aQn24oAAQMIoIYBAAAAAAABBCIAIAJ4IvZKhuevZ2ofO3mKkDfMoEsUyvbqfNmDxAHtl5LDDPwJbGlnaHRuaW5nAQiwoj+thGM9hAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 12727805511385431428, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 0, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 13144641007595389976, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCJLqLru+aPCgAAEDCKCGAQAAAAAAAQQiACD4nmkzjMiYRx7BSAbL3LmxZ0skKq7HGjaJAGXtvWuoKAz8CWxpZ2h0bmluZwEIAvW5OcYzqfIAAQMIfOkcAAAAAAABBCJRID4fbldhMCNaxHCB86HJ3diWxhyGZsy8r7+jXz0yJR/cDPwJbGlnaHRuaW5nAQhMT44/lI8cWAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 213280215159515634, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 1, + "hex": "736f6d656461", + "string": "someda" + } + ] }, { - "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEImGeE6jlhAAAEDCHzpHAAAAAAAAQQiUSAFGOks2U4PYsBvEm3/mLmr55t+2EWhVtUkVnjiZVRHXQz8CWxpZ2h0bmluZwEIW/NoBOBSRcIAAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZDPwJbGlnaHRuaW5nAQjF7IaoxViRcgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 14261922179399061874, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 2, + "hex": "736f6d65646174", + "string": "somedat" + } + ] }, { - "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCC0gbgSTiTtOAAEDCKCGAQAAAAAAAQQiACAb69qQjTsZ5Kc+Vzb2ojsdtZhDry4Xu9KxnKndsPJiIwz8CWxpZ2h0bmluZwEILjKUFWJ0WgQAAQMIfOkcAAAAAAABBCJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZDPwJbGlnaHRuaW5nAQhF0n1o1OXoSAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 3328885894147234308, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 12805080238627183146, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 743979017234066068, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHI4douPgBVGAAEDCKCGAQAAAAAAAQQiACBMnfqINHesD9EuuXccAy337QlNEWf9dyuG1GWXfim3mAz8CWxpZ2h0bmluZwEIVGZiIrznUpYAAQMIfOkcAAAAAAABBCJRIDZxgJ5UZzF1Jkgja6selqWvmiyYXaU9thFrDWcrI9yZDPwJbGlnaHRuaW5nAQiwJZ6YJdMvhAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 6081656248148120214, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + } + ] }, { - "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMROfi9DxVoaAAEDCKCGAQAAAAAAAQQiACCSUXoluE0znj2kvc0g4gIZOmHhqdoBLxpQ9NK7pAe49gz8CWxpZ2h0bmluZwEIZJnWTG7b4DAAAQMIfOkcAAAAAAABBCJRIKKgHHllKJ7uVrXPzduYVscPpHbCZNIfcRxqaa93auQDDPwJbGlnaHRuaW5nAQiWZFOjE9aaugA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 7249060698995286064, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 4391557307331500346, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + }, + { + "key": [ + "somekey" + ], + "generation": 3, + "hex": "736f6d6564617461", + "string": "somedata" + } + ] }, { - "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCAKINGpOU9aiAAEDCHzpHAAAAAAAAQQiUSAY7OALc2+e137TqHQmZDwkIiPj1hFqTNbZCUb3PeLOcQz8CWxpZ2h0bmluZwEISTLCaawKXMYAAQMIoIYBAAAAAAABBCIAIM8FCgKpupuI2nw6WwtiqsQ3bGrXXhKt0XZaXsnfB29rDPwJbGlnaHRuaW5nAQj4fSnLo/DTfAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 17905513648100529020, - "requires_confirmed_inputs": false + "datastore": [ + { + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + } + ] }, { - "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCIRrUrweknamAAEDCHzpHAAAAAAAAQQiUSCN5aOqVmy23JA3IGvHNTDObX2Oot0cSIrsWGLLi46GDgz8CWxpZ2h0bmluZwEIkTkU7wY98PQAAQMIoIYBAAAAAAABBCIAIEjaMEu1K+F+EKqz+LigdQdivKEbJ6VBO0QAvQvLnwfBDPwJbGlnaHRuaW5nAQi5sVPBPSUU+AA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 13380568057314088184, - "requires_confirmed_inputs": false + "datastore": [] }, { - "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPKgYAFaGnFgAAEDCHzpHAAAAAAAAQQiUSDbLewxrJZf8q0+OS0s9qp2EozqCtmNAYsHvF3i4jRr+wz8CWxpZ2h0bmluZwEIE6+DGxLc/wYAAQMIoIYBAAAAAAABBCIAIHwdq029Cz/gXLzjslO+79pYcciUAi+56uup1hAati1YDPwJbGlnaHRuaW5nAQgxnDgkAxmmsAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": false, - "funding_serial": 3574793931547322032, - "requires_confirmed_inputs": false - } - ] - }, - "lightning-openchannel_signed.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "openchannel_signed", - "title": "Command to conclude a channel open", - "description": [ - "`openchannel_signed` is a low level RPC command which concludes a channel open with the specified peer. It uses the v2 openchannel protocol, which allows for interactive transaction construction.", - "", - "This command should be called after `openchannel_update` returns *commitments_secured* `true`.", - "", - "This command will broadcast the finalized funding transaction, if we receive valid signatures from the peer." - ], - "request": { - "required": [ - "channel_id", - "signed_psbt" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "Id of the channel." - ] - }, - "signed_psbt": { - "type": "string", - "description": [ - "The PSBT returned from `openchannel_update` (where *commitments_secured* was true) with partial signatures or finalized witness stacks included for every input that we contributed to the PSBT." - ] - } - } - }, - "response": { - "required": [ - "channel_id", - "tx", - "txid" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel." - ] - }, - "tx": { - "type": "hex", - "description": [ - "The funding transaction." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the **tx**." - ] - } + "datastore": [ + { + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + } + ] + }, + { + "datastore": [] + }, + { + "datastore": [ + { + "key": [ + "otherkey" + ], + "generation": 0, + "hex": "6f7468657264617461", + "string": "otherdata" + } + ] } - }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 303: Funding transaction broadcast failed.", - "- 305: Peer is not connected.", - "- 309: PSBT missing required fields.", - "- 311: Unknown channel id.", - "- 312: Channel in an invalid state" ], "author": [ - "Lisa Neigut <> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-openchannel_init(7)", - "lightning-openchannel_update(7)", - "lightning-openchannel_abort(7)", - "lightning-openchannel_bump(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel(7)", - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-multifundchannel(7)" + "lightning-datastore(7)", + "lightning-deldatastore(7)", + "lightning-datastoreusage(7)" ], "resources": [ "Main web site: " ] }, - "lightning-openchannel_update.json": { + "lightning-listforwards.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "openchannel_update", - "title": "Command to update a collab channel open", + "rpc": "listforwards", + "title": "Command showing all htlcs and their information", "description": [ - "`openchannel_update` is a low level RPC command which continues an open channel, as specified by *channel_id*. An updated *psbt* is passed in; any changes from the PSBT last returned (either from `openchannel_init` or a previous call to `openchannel_update`) will be communicated to the peer.", - "", - "Must be called after `openchannel_init` and before `openchannel_signed`.", - "", - "Must be called until *commitments_secured* is returned as true, at which point `openchannel_signed` should be called with a signed version of the PSBT returned by the last call to `openchannel_update`." + "The **listforwards** RPC command displays all htlcs that have been attempted to be forwarded by the Core Lightning node." ], "request": { - "required": [ - "channel_id", - "psbt" - ], + "required": [], "properties": { - "channel_id": { - "type": "hash", - "description": [ - "Id of the channel." - ] - }, - "psbt": { + "status": { "type": "string", "description": [ - "Updated PSBT to be sent to the peer. May be identical to the PSBT last returned by either `openchannel_init` or `openchannel_update`." - ] - } - } - }, - "response": { - "required": [ - "channel_id", - "psbt", - "commitments_secured", - "channel_type", - "funding_outnum" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel." - ] - }, - "channel_type": { - "type": "object", - "description": [ - "Channel_type as negotiated with peer." - ], - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" + "If specified, then only the forwards with the given status are returned." ], - "properties": { - "bits": { - "type": "array", - "description": [ - "Each bit set in this channel_type." - ], - "added": "v24.02", - "items": { - "type": "u32", - "description": [ - "Bit number." - ] - } - }, - "names": { - "type": "array", - "description": [ - "Feature name for each bit set in this channel_type." - ], - "added": "v24.02", - "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." - ] - } - } - } + "enum": [ + "offered", + "settled", + "local_failed", + "failed" + ] }, - "psbt": { - "type": "string", + "in_channel": { + "type": "short_channel_id", "description": [ - "The PSBT of the funding transaction." + "Only the matching forwards on the given inbound channel are returned." ] }, - "commitments_secured": { - "type": "boolean", + "out_channel": { + "type": "short_channel_id", "description": [ - "Whether the *psbt* is complete (if true, sign *psbt* and call `openchannel_signed` to complete the channel open)." + "Only the matching forwards on the given outbount channel are returned." ] }, - "funding_outnum": { - "type": "u32", + "index": { + "type": "string", + "added": "v23.11", + "enum": [ + "created", + "updated" + ], "description": [ - "The index of the funding output in the psbt." - ] + "If neither *in_channel* nor *out_channel* is specified, it controls ordering." + ], + "default": "`created`" }, - "close_to": { - "type": "hex", + "start": { + "type": "u64", + "added": "v23.11", "description": [ - "Scriptpubkey which we have to close to if we mutual close." + "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." ] }, - "requires_confirmed_inputs": { - "type": "boolean", + "limit": { + "type": "u32", + "added": "v23.11", "description": [ - "Does peer require confirmed inputs in psbt?" + "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." ] } }, - "allOf": [ - { - "if": { - "properties": { - "commitments_secured": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { + "dependentUpon": { + "index": [ + "start", + "limit" + ] + } + }, + "response": { + "required": [ + "forwards" + ], + "properties": { + "forwards": { + "type": "array", + "items": { + "type": "object", "additionalProperties": true, "required": [ - "channel_id", - "funding_outnum" + "created_index", + "in_channel", + "in_msat", + "status", + "received_time" ], "properties": { - "commitments_secured": {}, - "channel_id": { - "type": "hash", + "created_index": { + "added": "v23.11", + "type": "u64", "description": [ - "The derived channel id." + "1-based index indicating order this forward was created in." + ] + }, + "in_channel": { + "type": "short_channel_id", + "description": [ + "The channel that received the HTLC." + ] + }, + "in_htlc_id": { + "type": "u64", + "description": [ + "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." + ] + }, + "in_msat": { + "type": "msat", + "description": [ + "The value of the incoming HTLC." + ] + }, + "status": { + "type": "string", + "enum": [ + "offered", + "settled", + "local_failed", + "failed" + ], + "description": [ + "Still ongoing, completed, failed locally, or failed after forwarding." + ] + }, + "received_time": { + "type": "number", + "description": [ + "The UNIX timestamp when this was received." + ] + }, + "out_channel": { + "type": "short_channel_id", + "description": [ + "The channel that the HTLC (trying to) forward to." + ] + }, + "out_htlc_id": { + "type": "u64", + "description": [ + "The unique HTLC id we gave this when sending (may be missing even if out_channel is present, for old forwards before v22.11)." ] }, - "close_to": { - "type": "hex", - "description": [ - "If a `close_to` address was provided to `openchannel_init` and the peer supports `option_upfront_shutdownscript`." - ] + "updated_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this forward was changed (only present if it has changed since creation)." + ] + }, + "style": { + "type": "string", + "enum": [ + "legacy", + "tlv" + ], + "description": [ + "Either a legacy onion format or a modern tlv format." + ] + } + }, + "allOf": [ + { + "if": { + "required": [ + "out_msat" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "fee_msat", + "out_msat", + "out_channel" + ], + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "resolved_time": {}, + "out_channel": {}, + "out_htlc_id": {}, + "failcode": {}, + "failreason": {}, + "fee_msat": { + "type": "msat", + "description": [ + "The amount this paid in fees." + ] + }, + "out_msat": { + "type": "msat", + "description": [ + "The amount we sent out the *out_channel*." + ] + } + } + }, + "else": { + "additionalProperties": false, + "required": [], + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "resolved_time": {}, + "failcode": {}, + "failreason": {}, + "out_channel": {} + } + } + }, + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "settled", + "failed" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "resolved_time" + ], + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "out_channel": {}, + "out_htlc_id": {}, + "fee": {}, + "fee_msat": {}, + "out_msatoshi": {}, + "out_msat": {}, + "failcode": {}, + "failreason": {}, + "resolved_time": { + "type": "number", + "description": [ + "The UNIX timestamp when this was resolved." + ] + } + } + }, + "else": { + "additionalProperties": false, + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "out_channel": {}, + "out_htlc_id": {}, + "fee": {}, + "fee_msat": {}, + "failcode": {}, + "failreason": {}, + "out_msatoshi": {}, + "out_msat": {} + } + } }, - "funding_outnum": { - "type": "u32", - "description": [ - "The index of the funding output for this channel in the funding transaction." - ] + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "local_failed", + "failed" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "out_channel": {}, + "out_htlc_id": {}, + "fee": {}, + "fee_msat": {}, + "out_msatoshi": {}, + "out_msat": {}, + "resolved_time": {}, + "failcode": { + "type": "u32", + "description": [ + "The numeric onion code returned." + ] + }, + "failreason": { + "type": "string", + "description": [ + "The name of the onion code returned." + ] + } + } + }, + "else": { + "additionalProperties": false, + "required": [], + "properties": { + "created_index": {}, + "updated_index": {}, + "in_channel": {}, + "in_htlc_id": {}, + "in_msatoshi": {}, + "in_msat": {}, + "status": {}, + "style": {}, + "received_time": {}, + "out_channel": {}, + "out_htlc_id": {}, + "fee": {}, + "fee_msat": {}, + "out_msatoshi": {}, + "out_msat": {}, + "resolved_time": {} + } + } } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "commitments_secured": {} - } + ] } } - ] + } }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 305: Peer is not connected.", - "- 309: PSBT missing required fields", - "- 311: Unknown channel id.", - "- 312: Channel in an invalid state" - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-openchannel_init(7)", - "lightning-openchannel_signed(7)", - "lightning-openchannel_bump(7)", - "lightning-openchannel_abort(7)", - "lightning-fundchannel_start(7)", - "lightning-fundchannel_complete(7)", - "lightning-fundchannel(7)", - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-multifundchannel(7)" - ], - "resources": [ - "Main web site: " - ], "example_json_request": [ { - "id": "example:openchannel_update#1", - "method": "openchannel_update", + "id": "example:listforwards#1", + "method": "listforwards", "params": { - "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#2", - "method": "openchannel_update", + "id": "example:listforwards#2", + "method": "listforwards", "params": { - "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#3", - "method": "openchannel_update", + "id": "example:listforwards#3", + "method": "listforwards", "params": { - "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#4", - "method": "openchannel_update", + "id": "example:listforwards#4", + "method": "listforwards", "params": { - "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#5", - "method": "openchannel_update", + "id": "example:listforwards#5", + "method": "listforwards", "params": { - "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#6", - "method": "openchannel_update", + "id": "example:listforwards#6", + "method": "listforwards", "params": { - "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#7", - "method": "openchannel_update", + "id": "example:listforwards#7", + "method": "listforwards", "params": { - "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#8", - "method": "openchannel_update", + "id": "example:listforwards#8", + "method": "listforwards", "params": { - "channel_id": "23d596fb41374b10b357757daee35022de5e2474ea15558cd2e3d57ed71b272c", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCB8axN8LAmYSAAEDCKCGAQAAAAAAAQQiACCWrynXFlFbUdYncA0tG7JsWkOrfT+51Qijo3VWlOkZtQz8CWxpZ2h0bmluZwEIAgUGJISDarQAAQMIfOkcAAAAAAABBCJRIPY4w1HHmLJpMzVNwHmbn/f/RyiVBVdRR5Y7fE6703auDPwJbGlnaHRuaW5nAQg9ID2Qb7TP2AA=" + "status": "settled", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#9", - "method": "openchannel_update", + "id": "example:listforwards#9", + "method": "listforwards", "params": { - "channel_id": "7309c4bd9480207dbe0edbf6ef170d2bddf28888fd0ea68f521dfbd6db5d81e2", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPrkOPoP4I88AAEDCHzpHAAAAAAAAQQiUSBHe1bwbFP0ca6zVIsZwGJelNc1c66bQmvngBJB2fX8fAz8CWxpZ2h0bmluZwEIXnwnaxeLY6gAAQMIoIYBAAAAAAABBCIAIDLlyE/lwkFnMcys4I8rtBB1aR8Zbml3XTyDgf24hJFVDPwJbGlnaHRuaW5nAQjnuBQvkTGN3AA=" + "in_channel": "0x1x2", + "out_channel": "0x2x3", + "status": "settled" } }, { - "id": "example:openchannel_update#10", - "method": "openchannel_update", + "id": "example:listforwards#10", + "method": "listforwards", "params": { - "channel_id": "1fa88de340cdf894cbda25663c9db53c43455bf8d6f0516c788b2158700c752b", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMma5Ja1KtM+AAEDCHzpHAAAAAAAAQQiUSDpFLN2Mo9qkyWatTCuwlTHmo2EsE6mGkJdbN1UZ4n99wz8CWxpZ2h0bmluZwEIprVfKHMovn4AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNDPwJbGlnaHRuaW5nAQjiPNTHQ4AEegA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#11", - "method": "openchannel_update", + "id": "example:listforwards#11", + "method": "listforwards", "params": { - "channel_id": "47f9acdf2fb111c91093a0f9b14a07c9a239b4bf92e5f4fdba59e2f00fb3aa08", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZ4yq94axiGAAEDCHzpHAAAAAAAAQQiUSBk2Rofae55qItz1qqROLm0aboKTAhjWv6ufg/YU+jy7wz8CWxpZ2h0bmluZwEIcKcdCHDcTi4AAQMIoIYBAAAAAAABBCIAIJPKyjE8leWHOc7/S2vH8T367GeUzRojFawDHm7QRiI4DPwJbGlnaHRuaW5nAQh5VW72VYSYYAA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#12", - "method": "openchannel_update", + "id": "example:listforwards#12", + "method": "listforwards", "params": { - "channel_id": "fef32b5cad2ca476989c7b9ea5212cb93ce28ba2b81ccd381a685d008eeade0e", - "psbt": "cHNidP8BAgQCAAAAAQMEKwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFPhf4nwrDZsAAEDCKCGAQAAAAAAAQQiACDUsqXXpbdvqB7/T9YDRhyVzNNWmktOT9KwwS+e/HYhZgz8CWxpZ2h0bmluZwEIF0LVONj2pp4AAQMIfOkcAAAAAAABBCJRIG/WPs5FOFvqtaYP0gjFBagKvSXdYvzI0XiuYxRtB4zzDPwJbGlnaHRuaW5nAQhPmeA4K6FZSgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#13", - "method": "openchannel_update", + "id": "example:listforwards#13", + "method": "listforwards", "params": { - "channel_id": "2f3a35225430f2394986394fdeb5d0b0395384b48dda2e058481c4ff36d440f9", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPhXh949AYj2AAEDCHzpHAAAAAAAAQQiUSAuA8gI6KoZQlH4wIYtuz2G2QgoB/d1rgdFc67BJh/zbQz8CWxpZ2h0bmluZwEIklmVqf5/Fr4AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12DPwJbGlnaHRuaW5nAQjFzoInKwTQOgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#14", - "method": "openchannel_update", + "id": "example:listforwards#14", + "method": "listforwards", "params": { - "channel_id": "50a877dc343de4fd27ff74ed2ff8b56ef07ef7e6b03a058649368ac07588d0a7", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFbbBT4bRuVeAAEDCKCGAQAAAAAAAQQiACCtq6je1XsQ64/nzitEV0ik1yM3BNx6kZ+Als8XnFUf3wz8CWxpZ2h0bmluZwEIXRb8iN+khdQAAQMIfOkcAAAAAAABBCJRIFlFK0e/gy3YttDclQF+Ch0zzwB0eePgmWrh8QKgM3tWDPwJbGlnaHRuaW5nAQj0b7PZ9m51/AA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#15", - "method": "openchannel_update", + "id": "example:listforwards#15", + "method": "listforwards", "params": { - "channel_id": "e5fadd50aa4be708df1fc56cf151f12a764e833cf5902600f539f326c2cd1b25", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCN4asrx4XudMAAEDCHzpHAAAAAAAAQQiUSBSyw+NENVth+UcpLyiswAYz6XDyG/5XhfEZWfL008BjQz8CWxpZ2h0bmluZwEIQSnd5ViOdDgAAQMIoIYBAAAAAAABBCIAIByXizbYrZ1RkUGs5QDW+sKIJF7QLPpr5Fz7XdCPcWWmDPwJbGlnaHRuaW5nAQjgD0VwOHDCSAA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#16", - "method": "openchannel_update", + "id": "example:listforwards#16", + "method": "listforwards", "params": { - "channel_id": "2798caead1a0ed3106af5e34e2c6e10636f1283d994281a7f4e68adf3bb30a00", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEjZpEjNXcXiAAEDCHzpHAAAAAAAAQQiUSCxG1wqbmuNOxs1AAko6oLBmO6pkyWdO0E7dY7wJwlsGgz8CWxpZ2h0bmluZwEIIBbR3Z09jsAAAQMIoIYBAAAAAAABBCIAIG+13jAWbBMj45dukZAJixIjBG26WuHGO32KQIVHqBf2DPwJbGlnaHRuaW5nAQjOrx0ZXgR17gA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#17", - "method": "openchannel_update", + "id": "example:listforwards#17", + "method": "listforwards", "params": { - "channel_id": "56ab2377a16d7ff71b97bec7e49ded8ca2bce98d0ff244223d1b1a2280e4392f", - "psbt": "cHNidP8BAgQCAAAAAQMETQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCIIGrUJo9WQAAEDCHzpHAAAAAAAAQQiUSA9oQ9zv5Ho0Wmz0xN9Jr6bj+0MmFTlJKvrrzbWGQYmAwz8CWxpZ2h0bmluZwEItkcS2OwyCxgAAQMIoIYBAAAAAAABBCIAIG+38w2Sm92tJUCsM/mAOmE/iftxVHqTBzwXOvm+3MSVDPwJbGlnaHRuaW5nAQjHCiVMst1WGgA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#18", - "method": "openchannel_update", + "id": "example:listforwards#18", + "method": "listforwards", "params": { - "channel_id": "4bd5c557517696c4d25c62d4ba8c0b197ae8fb5095e9642e9d9acc905a2c5fc4", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCBGkIvjxPAy4AAEDCHzpHAAAAAAAAQQiUSBYY8kujzfTZvl1boOkYsoY/tWEHkrn6qSiM3/uz3rcQQz8CWxpZ2h0bmluZwEIQY8jZaq6Q/AAAQMIoIYBAAAAAAABBCIAINQsF3GrTKGAVsWggG1ywZmeTc0M7POplu2ggMJE7pCqDPwJbGlnaHRuaW5nAQiVncaZJKF9kgA=" + "status": "failed", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#19", - "method": "openchannel_update", + "id": "example:listforwards#19", + "method": "listforwards", "params": { - "channel_id": "bd14eaa0aca79ad5832060d8e024da60bf51473ae130c0f6195d0f2644ec5af9", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH+TDSFu9NtQAAEDCKCGAQAAAAAAAQQiACBBjTKSesCxiig7vbObmNEuz9CG3J8T4+L8uBuy879s6wz8CWxpZ2h0bmluZwEIc+/B51wjjV4AAQMIfOkcAAAAAAABBCJRIGnuhYkU3RWKwMMhXmQhQklgRWjjRuE/VYJR/McI1TwMDPwJbGlnaHRuaW5nAQj9W1UK7RbLLAA=" + "status": "settled", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#20", - "method": "openchannel_update", + "id": "example:listforwards#20", + "method": "listforwards", "params": { - "channel_id": "72af58a8e06fb932798e7efcb239a57fb9cbf67750fc07e7793263bfe106450f", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHyqjqdKGNfWAAEDCKCGAQAAAAAAAQQiACCoNqS9Vcbr23R2Z9TbDgQRCLevTGO1KDzYJ5ASB+1ffAz8CWxpZ2h0bmluZwEIHjPXXmY4EwgAAQMIfOkcAAAAAAABBCJRIGM7CrTUbQBP3p9q/pW4kvDn4YO0Hihfw6MSoe7ZUQHeDPwJbGlnaHRuaW5nAQg0iC/92mSXJAA=" + "status": null, + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:openchannel_update#21", - "method": "openchannel_update", + "id": "example:listforwards#21", + "method": "listforwards", "params": { - "channel_id": "816c9d3a3b219c64e40f868c18371bd9c5ce29ddce4f300b82107b62fe376f64", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH7Lr0H1JKTgAAEDCKCGAQAAAAAAAQQiACCr6/zMd1s+uBMQLbORsE+sUm8e7w+gZ8UTlPo+VgSXZgz8CWxpZ2h0bmluZwEINm7un2IVT/AAAQMIfOkcAAAAAAABBCJRILa0g/Nw25NrRDXyxf4EZPZ4W9e9o1RnDerUAD5XVxCnDPwJbGlnaHRuaW5nAQhJ+u/gzc6BTgA=" + "status": "failed", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listforwards#22", + "method": "listforwards", + "params": { + "status": "failed", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listforwards#23", + "method": "listforwards", + "params": { + "status": "failed", + "in_channel": null, + "out_channel": null, + "index": null, + "start": null, + "limit": null } } ], "example_json_response": [ { - "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 0, + "out_channel": "104x1x0", + "out_htlc_id": 0, + "in_msat": 100001001, + "out_msat": 100000000, + "fee_msat": 1001, + "status": "settled", + "style": "tlv", + "received_time": 1706229285.5934534, + "resolved_time": 1706229288.830004 + }, + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "105x1x0", + "out_htlc_id": 0, + "in_msat": 100001001, + "out_msat": 100000000, + "fee_msat": 1001, + "status": "failed", + "style": "tlv", + "received_time": 1706229290.0289993, + "resolved_time": 1706229292.9487684 + }, + { + "created_index": 3, + "updated_index": 3, + "in_channel": "103x1x0", + "in_htlc_id": 2, + "out_channel": "106x1x0", + "out_htlc_id": 0, + "in_msat": 100001000, + "out_msat": 99999999, + "fee_msat": 1001, + "status": "local_failed", + "failcode": 16392, + "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", + "style": "tlv", + "received_time": 1706229295.3175724 + } + ] }, { - "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0, - "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6" + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x2x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 0, + "in_msat": 43, + "out_msat": 42, + "fee_msat": 1, + "status": "failed", + "failcode": 49157, + "failreason": "WIRE_INVALID_ONION_HMAC", + "style": "tlv", + "received_time": 1706230608.1499515, + "resolved_time": 1706230610.1259172 + } + ] }, { - "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x2x1", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075462.733309, + "resolved_time": 1664075464.2219515 + }, + { + "created_index": 2, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551614, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075464.7874737, + "resolved_time": 1664075466.2619097 + }, + { + "created_index": 3, + "in_channel": "103x2x1", + "in_htlc_id": 1, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075466.8295176, + "resolved_time": 1664075468.291111 + }, + { + "created_index": 4, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551612, + "out_channel": "103x1x0", + "out_htlc_id": 1, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075468.8316507, + "resolved_time": 1664075470.299579 + } + ] }, { - "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x2x1", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075462.733309, + "resolved_time": 1664075464.2219515 + }, + { + "created_index": 2, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551614, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075464.7874737, + "resolved_time": 1664075466.2619097 + }, + { + "created_index": 3, + "in_channel": "103x2x1", + "in_htlc_id": 1, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075466.8295176, + "resolved_time": 1664075468.291111 + }, + { + "created_index": 4, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551612, + "out_channel": "103x1x0", + "out_htlc_id": 1, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075468.8316507, + "resolved_time": 1664075470.299579 + } + ] }, { - "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x2x1", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075462.733309, + "resolved_time": 1664075464.2219515 + }, + { + "created_index": 2, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551614, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075464.7874737, + "resolved_time": 1664075466.2619097 + }, + { + "created_index": 3, + "in_channel": "103x2x1", + "in_htlc_id": 1, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075466.8295176, + "resolved_time": 1664075468.291111 + }, + { + "created_index": 4, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551612, + "out_channel": "103x1x0", + "out_htlc_id": 1, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075468.8316507, + "resolved_time": 1664075470.299579 + } + ] }, { - "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x2x1", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075462.733309, + "resolved_time": 1664075464.2219515 + }, + { + "created_index": 2, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551614, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075464.7874737, + "resolved_time": 1664075466.2619097 + }, + { + "created_index": 3, + "in_channel": "103x2x1", + "in_htlc_id": 1, + "out_channel": "110x1x0", + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075466.8295176, + "resolved_time": 1664075468.291111 + }, + { + "created_index": 4, + "in_channel": "110x2x0", + "in_htlc_id": 18446744073709551612, + "out_channel": "103x1x0", + "out_htlc_id": 1, + "in_msat": 10001, + "out_msat": 10000, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1664075468.8316507, + "resolved_time": 1664075470.299579 + } + ] }, { - "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [] }, { - "channel_id": "23d596fb41374b10b357757daee35022de5e2474ea15558cd2e3d57ed71b272c", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCB8axN8LAmYSAAEDCKCGAQAAAAAAAQQiACCWrynXFlFbUdYncA0tG7JsWkOrfT+51Qijo3VWlOkZtQz8CWxpZ2h0bmluZwEIAgUGJISDarQAAQMIfOkcAAAAAAABBCJRIPY4w1HHmLJpMzVNwHmbn/f/RyiVBVdRR5Y7fE6703auDPwJbGlnaHRuaW5nAQg9ID2Qb7TP2AA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [] }, { - "channel_id": "7309c4bd9480207dbe0edbf6ef170d2bddf28888fd0ea68f521dfbd6db5d81e2", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPrkOPoP4I88AAEDCHzpHAAAAAAAAQQiUSBHe1bwbFP0ca6zVIsZwGJelNc1c66bQmvngBJB2fX8fAz8CWxpZ2h0bmluZwEIXnwnaxeLY6gAAQMIoIYBAAAAAAABBCIAIDLlyE/lwkFnMcys4I8rtBB1aR8Zbml3XTyDgf24hJFVDPwJbGlnaHRuaW5nAQjnuBQvkTGN3AA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [] }, { - "channel_id": "1fa88de340cdf894cbda25663c9db53c43455bf8d6f0516c788b2158700c752b", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMma5Ja1KtM+AAEDCHzpHAAAAAAAAQQiUSDpFLN2Mo9qkyWatTCuwlTHmo2EsE6mGkJdbN1UZ4n99wz8CWxpZ2h0bmluZwEIprVfKHMovn4AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNDPwJbGlnaHRuaW5nAQjiPNTHQ4AEegA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x2x0", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 100002, + "out_msat": 100000, + "fee_msat": 2, + "status": "settled", + "style": "tlv", + "received_time": 1708639594.0829203, + "resolved_time": 1708639595.569386 + }, + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x2x0", + "in_htlc_id": 1, + "out_channel": "105x1x0", + "out_htlc_id": 0, + "in_msat": 100002, + "out_msat": 100000, + "fee_msat": 2, + "status": "failed", + "style": "tlv", + "received_time": 1708639596.3660355, + "resolved_time": 1708639597.8809328 + }, + { + "created_index": 3, + "in_channel": "103x2x0", + "in_htlc_id": 2, + "out_channel": "107x1x0", + "out_htlc_id": 0, + "in_msat": 100002, + "out_msat": 100000, + "fee_msat": 2, + "status": "offered", + "style": "tlv", + "received_time": 1708639599.3481576 + } + ] }, { - "channel_id": "47f9acdf2fb111c91093a0f9b14a07c9a239b4bf92e5f4fdba59e2f00fb3aa08", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZ4yq94axiGAAEDCHzpHAAAAAAAAQQiUSBk2Rofae55qItz1qqROLm0aboKTAhjWv6ufg/YU+jy7wz8CWxpZ2h0bmluZwEIcKcdCHDcTi4AAQMIoIYBAAAAAAABBCIAIJPKyjE8leWHOc7/S2vH8T367GeUzRojFawDHm7QRiI4DPwJbGlnaHRuaW5nAQh5VW72VYSYYAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 0, + "out_channel": "105x1x0", + "in_msat": 100001001, + "status": "local_failed", + "failcode": 16394, + "failreason": "WIRE_UNKNOWN_NEXT_PEER", + "style": "tlv", + "received_time": 1708639626.4971242 + }, + { + "created_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "107x1x0", + "in_msat": 100000000, + "status": "local_failed", + "failcode": 4108, + "failreason": "WIRE_FEE_INSUFFICIENT", + "style": "tlv", + "received_time": 1708639628.0859127 + }, + { + "created_index": 3, + "in_channel": "103x1x0", + "in_htlc_id": 2, + "out_channel": "109x1x0", + "in_msat": 100001001, + "status": "local_failed", + "failcode": 4103, + "failreason": "WIRE_TEMPORARY_CHANNEL_FAILURE", + "style": "tlv", + "received_time": 1708639629.6585598 + }, + { + "created_index": 4, + "in_channel": "103x1x0", + "in_htlc_id": 3, + "in_msat": 100001001, + "status": "local_failed", + "failcode": 49157, + "failreason": "WIRE_INVALID_ONION_HMAC", + "received_time": 1708639632.0245428 + }, + { + "created_index": 5, + "updated_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 4, + "out_channel": "107x1x0", + "out_htlc_id": 0, + "in_msat": 100001000, + "out_msat": 99999999, + "fee_msat": 1001, + "status": "local_failed", + "failcode": 16392, + "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", + "style": "tlv", + "received_time": 1708639634.302155 + } + ] }, { - "channel_id": "fef32b5cad2ca476989c7b9ea5212cb93ce28ba2b81ccd381a685d008eeade0e", - "psbt": "cHNidP8BAgQCAAAAAQMEKwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFPhf4nwrDZsAAEDCKCGAQAAAAAAAQQiACDUsqXXpbdvqB7/T9YDRhyVzNNWmktOT9KwwS+e/HYhZgz8CWxpZ2h0bmluZwEIF0LVONj2pp4AAQMIfOkcAAAAAAABBCJRIG/WPs5FOFvqtaYP0gjFBagKvSXdYvzI0XiuYxRtB4zzDPwJbGlnaHRuaW5nAQhPmeA4K6FZSgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [] }, { - "channel_id": "2f3a35225430f2394986394fdeb5d0b0395384b48dda2e058481c4ff36d440f9", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPhXh949AYj2AAEDCHzpHAAAAAAAAQQiUSAuA8gI6KoZQlH4wIYtuz2G2QgoB/d1rgdFc67BJh/zbQz8CWxpZ2h0bmluZwEIklmVqf5/Fr4AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12DPwJbGlnaHRuaW5nAQjFzoInKwTQOgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [] }, { - "channel_id": "50a877dc343de4fd27ff74ed2ff8b56ef07ef7e6b03a058649368ac07588d0a7", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFbbBT4bRuVeAAEDCKCGAQAAAAAAAQQiACCtq6je1XsQ64/nzitEV0ik1yM3BNx6kZ+Als8XnFUf3wz8CWxpZ2h0bmluZwEIXRb8iN+khdQAAQMIfOkcAAAAAAABBCJRIFlFK0e/gy3YttDclQF+Ch0zzwB0eePgmWrh8QKgM3tWDPwJbGlnaHRuaW5nAQj0b7PZ9m51/AA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [] }, { - "channel_id": "e5fadd50aa4be708df1fc56cf151f12a764e833cf5902600f539f326c2cd1b25", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCN4asrx4XudMAAEDCHzpHAAAAAAAAQQiUSBSyw+NENVth+UcpLyiswAYz6XDyG/5XhfEZWfL008BjQz8CWxpZ2h0bmluZwEIQSnd5ViOdDgAAQMIoIYBAAAAAAABBCIAIByXizbYrZ1RkUGs5QDW+sKIJF7QLPpr5Fz7XdCPcWWmDPwJbGlnaHRuaW5nAQjgD0VwOHDCSAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "in_channel": "103x2x0", + "in_htlc_id": 0, + "out_channel": "103x1x0", + "out_htlc_id": 0, + "in_msat": 501, + "out_msat": 500, + "fee_msat": 1, + "status": "offered", + "style": "tlv", + "received_time": 1708640324.881993 + } + ] }, { - "channel_id": "2798caead1a0ed3106af5e34e2c6e10636f1283d994281a7f4e68adf3bb30a00", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEjZpEjNXcXiAAEDCHzpHAAAAAAAAQQiUSCxG1wqbmuNOxs1AAko6oLBmO6pkyWdO0E7dY7wJwlsGgz8CWxpZ2h0bmluZwEIIBbR3Z09jsAAAQMIoIYBAAAAAAABBCIAIG+13jAWbBMj45dukZAJixIjBG26WuHGO32KQIVHqBf2DPwJbGlnaHRuaW5nAQjOrx0ZXgR17gA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 0, + "out_channel": "104x1x0", + "out_htlc_id": 0, + "in_msat": 100001001, + "out_msat": 100000000, + "fee_msat": 1001, + "status": "settled", + "style": "tlv", + "received_time": 1708642272.297295, + "resolved_time": 1708642273.7172213 + }, + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "105x1x0", + "out_htlc_id": 0, + "in_msat": 100001001, + "out_msat": 100000000, + "fee_msat": 1001, + "status": "failed", + "style": "tlv", + "received_time": 1708642274.450577, + "resolved_time": 1708642275.8599758 + }, + { + "created_index": 3, + "updated_index": 3, + "in_channel": "103x1x0", + "in_htlc_id": 2, + "out_channel": "106x1x0", + "out_htlc_id": 0, + "in_msat": 100001000, + "out_msat": 99999999, + "fee_msat": 1001, + "status": "local_failed", + "failcode": 16392, + "failreason": "WIRE_PERMANENT_CHANNEL_FAILURE", + "style": "tlv", + "received_time": 1708642277.3337595 + } + ] }, { - "channel_id": "56ab2377a16d7ff71b97bec7e49ded8ca2bce98d0ff244223d1b1a2280e4392f", - "psbt": "cHNidP8BAgQCAAAAAQMETQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCIIGrUJo9WQAAEDCHzpHAAAAAAAAQQiUSA9oQ9zv5Ho0Wmz0xN9Jr6bj+0MmFTlJKvrrzbWGQYmAwz8CWxpZ2h0bmluZwEItkcS2OwyCxgAAQMIoIYBAAAAAAABBCIAIG+38w2Sm92tJUCsM/mAOmE/iftxVHqTBzwXOvm+3MSVDPwJbGlnaHRuaW5nAQjHCiVMst1WGgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x2x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 0, + "in_msat": 43, + "out_msat": 42, + "fee_msat": 1, + "status": "failed", + "failcode": 49157, + "failreason": "WIRE_INVALID_ONION_HMAC", + "style": "tlv", + "received_time": 1708642584.6077554, + "resolved_time": 1708642586.1315546 + } + ] }, { - "channel_id": "4bd5c557517696c4d25c62d4ba8c0b197ae8fb5095e9642e9d9acc905a2c5fc4", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCBGkIvjxPAy4AAEDCHzpHAAAAAAAAQQiUSBYY8kujzfTZvl1boOkYsoY/tWEHkrn6qSiM3/uz3rcQQz8CWxpZ2h0bmluZwEIQY8jZaq6Q/AAAQMIoIYBAAAAAAABBCIAINQsF3GrTKGAVsWggG1ywZmeTc0M7POplu2ggMJE7pCqDPwJbGlnaHRuaW5nAQiVncaZJKF9kgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 1 + "forwards": [ + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 1, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "failed", + "style": "tlv", + "received_time": 1708642842.245016, + "resolved_time": 1708642843.8000214 + } + ] }, { - "channel_id": "bd14eaa0aca79ad5832060d8e024da60bf51473ae130c0f6195d0f2644ec5af9", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH+TDSFu9NtQAAEDCKCGAQAAAAAAAQQiACBBjTKSesCxiig7vbObmNEuz9CG3J8T4+L8uBuy879s6wz8CWxpZ2h0bmluZwEIc+/B51wjjV4AAQMIfOkcAAAAAAABBCJRIGnuhYkU3RWKwMMhXmQhQklgRWjjRuE/VYJR/McI1TwMDPwJbGlnaHRuaW5nAQj9W1UK7RbLLAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 0, + "out_channel": "103x2x0", + "out_htlc_id": 0, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1708642839.9182315, + "resolved_time": 1708642841.449477 + } + ] }, { - "channel_id": "72af58a8e06fb932798e7efcb239a57fb9cbf67750fc07e7793263bfe106450f", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHyqjqdKGNfWAAEDCKCGAQAAAAAAAQQiACCoNqS9Vcbr23R2Z9TbDgQRCLevTGO1KDzYJ5ASB+1ffAz8CWxpZ2h0bmluZwEIHjPXXmY4EwgAAQMIfOkcAAAAAAABBCJRIGM7CrTUbQBP3p9q/pW4kvDn4YO0Hihfw6MSoe7ZUQHeDPwJbGlnaHRuaW5nAQg0iC/92mSXJAA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 1, + "updated_index": 1, + "in_channel": "103x1x0", + "in_htlc_id": 0, + "out_channel": "103x2x0", + "out_htlc_id": 0, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "settled", + "style": "tlv", + "received_time": 1708642839.9182315, + "resolved_time": 1708642841.449477 + }, + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 1, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "failed", + "style": "tlv", + "received_time": 1708642842.245016, + "resolved_time": 1708642843.8000214 + } + ] }, { - "channel_id": "816c9d3a3b219c64e40f868c18371bd9c5ce29ddce4f300b82107b62fe376f64", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH7Lr0H1JKTgAAEDCKCGAQAAAAAAAQQiACCr6/zMd1s+uBMQLbORsE+sUm8e7w+gZ8UTlPo+VgSXZgz8CWxpZ2h0bmluZwEINm7un2IVT/AAAQMIfOkcAAAAAAABBCJRILa0g/Nw25NrRDXyxf4EZPZ4W9e9o1RnDerUAD5XVxCnDPwJbGlnaHRuaW5nAQhJ+u/gzc6BTgA=", - "channel_type": { - "bits": [ - 12, - 22 - ], - "names": [ - "static_remotekey/even", - "anchors_zero_fee_htlc_tx/even" - ] - }, - "commitments_secured": true, - "funding_outnum": 0 + "forwards": [ + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 1, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "failed", + "style": "tlv", + "received_time": 1708642842.245016, + "resolved_time": 1708642843.8000214 + } + ] + }, + { + "forwards": [ + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 1, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "failed", + "style": "tlv", + "received_time": 1708642842.245016, + "resolved_time": 1708642843.8000214 + } + ] + }, + { + "forwards": [ + { + "created_index": 2, + "updated_index": 2, + "in_channel": "103x1x0", + "in_htlc_id": 1, + "out_channel": "103x2x0", + "out_htlc_id": 1, + "in_msat": 12301, + "out_msat": 12300, + "fee_msat": 1, + "status": "failed", + "style": "tlv", + "received_time": 1708642842.245016, + "resolved_time": 1708642843.8000214 + } + ] } + ], + "author": [ + "Rene Pickhardt <> is mainly responsible." + ], + "see_also": [ + "lightning-autoclean-status(7)", + "lightning-getinfo(7)" + ], + "resources": [ + "Main web site: " ] }, - "lightning-parsefeerate.json": { + "lightning-listfunds.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "parsefeerate", - "title": "Command for parsing a feerate string to a feerate", + "rpc": "listfunds", + "title": "Command showing all funds currently managed by the Core Lightning node", "description": [ - "The **parsefeerate** command returns the current feerate for any valid *feerate_str*. This is useful for finding the current feerate that a **fundpsbt** or **utxopsbt** command might use." + "The **listfunds** RPC command displays all funds available, either in unspent outputs (UTXOs) in the internal wallet or funds locked in currently open channels." ], "request": { - "required": [ - "feerate_str" - ], + "required": [], "properties": { - "feerate_str": { - "type": "string", + "spent": { + "type": "boolean", "description": [ - "The feerate string to parse." - ] + "If True, then the *outputs* will include spent outputs in addition to the unspent ones." + ], + "default": "False" } } }, "response": { - "required": [], + "required": [ + "outputs", + "channels" + ], "properties": { - "perkw": { - "type": "u32", - "description": [ - "Value of *feerate_str* in kilosipa." - ], - "additionalProperties": false + "outputs": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "txid", + "output", + "amount_msat", + "scriptpubkey", + "status", + "reserved" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The ID of the spendable transaction." + ] + }, + "output": { + "type": "u32", + "description": [ + "The index within *txid*." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount of the output." + ] + }, + "scriptpubkey": { + "type": "hex", + "description": [ + "The scriptPubkey of the output." + ] + }, + "address": { + "type": "string", + "description": [ + "The bitcoin address of the output." + ] + }, + "redeemscript": { + "type": "hex", + "description": [ + "The redeemscript, only if it's p2sh-wrapped." + ] + }, + "status": { + "type": "string", + "enum": [ + "unconfirmed", + "confirmed", + "spent", + "immature" + ] + }, + "reserved": { + "type": "boolean", + "description": [ + "Whether this UTXO is currently reserved for an in-flight tx." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "confirmed" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "blockheight" + ], + "properties": { + "txid": {}, + "output": {}, + "amount_msat": {}, + "scriptpubkey": {}, + "address": {}, + "value": {}, + "redeemscript": {}, + "status": {}, + "reserved": {}, + "reserved_to_block": {}, + "blockheight": { + "type": "u32", + "description": [ + "Block height where it was confirmed." + ] + } + } + } + }, + { + "if": { + "properties": { + "reserved": { + "type": "boolean", + "enum": [ + "true" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "reserved_to_block" + ], + "properties": { + "txid": {}, + "output": {}, + "amount_msat": {}, + "scriptpubkey": {}, + "address": {}, + "value": {}, + "redeemscript": {}, + "status": {}, + "blockheight": {}, + "reserved": {}, + "reserved_to_block": { + "type": "u32", + "description": [ + "Block height where reservation will expire." + ] + } + } + } + } + ] + } + }, + "channels": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "peer_id", + "our_amount_msat", + "amount_msat", + "funding_txid", + "funding_output", + "connected", + "state", + "channel_id" + ], + "properties": { + "peer_id": { + "type": "pubkey", + "description": [ + "The peer with which the channel is opened." + ] + }, + "our_amount_msat": { + "type": "msat", + "description": [ + "Available satoshis on our node's end of the channel." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Total channel value." + ] + }, + "funding_txid": { + "type": "txid", + "description": [ + "Funding transaction id." + ] + }, + "funding_output": { + "type": "u32", + "description": [ + "The 0-based index of the output in the funding transaction." + ] + }, + "connected": { + "type": "boolean", + "description": [ + "Whether the channel peer is connected." + ] + }, + "state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY" + ], + "description": [ + "The channel state, in particular `CHANNELD_NORMAL` means the channel can be used normally." + ] + }, + "channel_id": { + "type": "hash", + "description": [ + "The full channel_id (funding txid Xored with output number)." + ], + "added": "v23.05" + } + }, + "allOf": [ + { + "if": { + "properties": { + "state": { + "type": "string", + "enum": [ + "CHANNELD_NORMAL" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "short_channel_id" + ], + "properties": { + "peer_id": {}, + "our_amount_msat": {}, + "channel_sat": {}, + "amount_msat": {}, + "channel_total_sat": {}, + "funding_txid": {}, + "funding_output": {}, + "connected": {}, + "state": {}, + "channel_id": {}, + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "Short channel id of channel." + ] + } + } + } + }, + { + "if": { + "properties": { + "state": { + "type": "string", + "enum": [ + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "peer_id": {}, + "our_amount_msat": {}, + "channel_sat": {}, + "amount_msat": {}, + "channel_total_sat": {}, + "funding_txid": {}, + "funding_output": {}, + "connected": {}, + "state": {}, + "channel_id": {}, + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "Short channel id of channel (only if funding reached lockin depth before closing)." + ] + } + } + } + } + ] + } } } }, "example_json_request": [ { - "id": "example:parsefeerate#1", - "method": "parsefeerate", - "params": [ - "opening" - ] + "id": "example:listfunds#1", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#2", - "method": "parsefeerate", - "params": [ - "mutual_close" - ] + "id": "example:listfunds#2", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#3", - "method": "parsefeerate", - "params": [ - "opening" - ] + "id": "example:listfunds#3", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#4", - "method": "parsefeerate", - "params": [ - "mutual_close" - ] + "id": "example:listfunds#4", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#5", - "method": "parsefeerate", - "params": [ - "unilateral_close" - ] + "id": "example:listfunds#5", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#6", - "method": "parsefeerate", - "params": [ - "penalty" - ] + "id": "example:listfunds#6", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#7", - "method": "parsefeerate", - "params": [ - "opening" - ] + "id": "example:listfunds#7", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#8", - "method": "parsefeerate", - "params": [ - "mutual_close" - ] + "id": "example:listfunds#8", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#9", - "method": "parsefeerate", - "params": [ - "unilateral_close" - ] + "id": "example:listfunds#9", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#10", - "method": "parsefeerate", - "params": [ - "penalty" - ] + "id": "example:listfunds#10", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#11", - "method": "parsefeerate", - "params": [ - "opening" - ] + "id": "example:listfunds#11", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#12", - "method": "parsefeerate", - "params": [ - "mutual_close" - ] + "id": "example:listfunds#12", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#13", - "method": "parsefeerate", - "params": [ - "unilateral_close" - ] + "id": "example:listfunds#13", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#14", - "method": "parsefeerate", - "params": [ - "penalty" - ] + "id": "example:listfunds#14", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#15", - "method": "parsefeerate", - "params": [ - "opening" - ] + "id": "example:listfunds#15", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#16", - "method": "parsefeerate", - "params": [ - "mutual_close" - ] + "id": "example:listfunds#16", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#17", - "method": "parsefeerate", - "params": [ - "unilateral_close" - ] + "id": "example:listfunds#17", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#18", - "method": "parsefeerate", - "params": [ - "penalty" - ] + "id": "example:listfunds#18", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#19", - "method": "parsefeerate", - "params": [ - "9999perkw" - ] + "id": "example:listfunds#19", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#20", - "method": "parsefeerate", - "params": [ - "10000perkb" - ] + "id": "example:listfunds#20", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#21", - "method": "parsefeerate", - "params": [ - 10000 - ] + "id": "example:listfunds#21", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#22", - "method": "parsefeerate", - "params": [ - "urgent" - ] + "id": "example:listfunds#22", + "method": "listfunds", + "params": { + "spent": null + } }, { - "id": "example:parsefeerate#23", - "method": "parsefeerate", - "params": [ - "normal" - ] + "id": "example:listfunds#23", + "method": "listfunds", + "params": { + "spent": null + } } ], "example_json_response": [ { - "perkw": 6250 + "outputs": [], + "channels": [] }, { - "perkw": 5000 + "outputs": [], + "channels": [] }, { - "perkw": 6250 + "outputs": [], + "channels": [] }, { - "perkw": 5000 + "outputs": [], + "channels": [] }, { - "perkw": 11000 + "outputs": [], + "channels": [] }, { - "perkw": 6250 + "outputs": [ + { + "txid": "0f184b101569bf777af3449fa266948a9d55768f97867e48416a2c92858dd1bc", + "output": 1, + "amount_msat": 1111111000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + }, + { + "txid": "4bee7dc3a28f2434e9bb3e9aaab418dd276485a8705b0f787bf741d3f979ec3b", + "output": 1, + "amount_msat": 1111111000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + } + ], + "channels": [] }, { - "perkw": 6250 + "outputs": [], + "channels": [] }, { - "perkw": 5000 + "outputs": [], + "channels": [] }, { - "perkw": 11000 + "outputs": [], + "channels": [] }, { - "perkw": 6250 + "outputs": [ + { + "txid": "974f55d794f38e79cca16d0da6a278e0eb9a47c7da0eab3f2708da5dd58f661c", + "output": 1, + "amount_msat": 1111111000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + }, + { + "txid": "47e451ba7a4424bbfb27c844aeab8dbb0bcf5f2d33a92be5329b5ad67af11c8d", + "output": 0, + "amount_msat": 1111111000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + } + ], + "channels": [] }, { - "perkw": 6250 + "outputs": [], + "channels": [] }, { - "perkw": 5000 + "outputs": [], + "channels": [] }, { - "perkw": 11000 + "outputs": [], + "channels": [] }, { - "perkw": 6250 + "outputs": [ + { + "txid": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943", + "output": 1, + "amount_msat": 1111111000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + } + ], + "channels": [] }, { - "perkw": 6250 + "outputs": [ + { + "txid": "1180fee367fe518d3640854ae147228707acee276a19bb2beb221a8586ff8268", + "output": 1, + "amount_msat": 995073000, + "scriptpubkey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a", + "address": "bcrt1pv0l7un48650xet0epphzs639y7fz4239hrzn46ln973j5znz0adqk50dn8", + "status": "confirmed", + "blockheight": 103, + "reserved": false + }, + { + "txid": "f41c91f2b11008ae8941b950e28053540a37ad372e2eea0b15db29ea5aaa0c11", + "output": 1, + "amount_msat": 986105000, + "scriptpubkey": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "address": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "status": "confirmed", + "blockheight": 119, + "reserved": false + } + ], + "channels": [] }, { - "perkw": 5000 + "outputs": [], + "channels": [] }, { - "perkw": 11000 + "outputs": [], + "channels": [] }, { - "perkw": 6250 + "outputs": [], + "channels": [] }, { - "perkw": 9999 + "outputs": [ + { + "txid": "b70f98f6e1f6886bdc2d28e3d19e4631e4821d684c0cd1e52ee530c094bcbf39", + "output": 1, + "amount_msat": 11000000000, + "scriptpubkey": "001401fad90abcd66697e2592164722de4a95ebee165", + "address": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf", + "status": "confirmed", + "blockheight": 102, + "reserved": false + } + ], + "channels": [] }, { - "perkw": 2500 + "outputs": [], + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "state": "CHANNELD_NORMAL", + "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "short_channel_id": "103x1x0", + "our_amount_msat": 0, + "amount_msat": 10000000000, + "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", + "funding_output": 0 + } + ] }, { - "perkw": 2500 + "outputs": [], + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "state": "CHANNELD_NORMAL", + "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "short_channel_id": "103x1x0", + "our_amount_msat": 0, + "amount_msat": 10000000000, + "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", + "funding_output": 0 + } + ] }, { - "perkw": 11000 + "outputs": [ + { + "txid": "c1a880c7c615eac0b847817fed2e33e43a33a907bc8328c28b424580045dc850", + "output": 1, + "amount_msat": 11000000000, + "scriptpubkey": "00142af1a054bfd3863584fcfd6839155787f39bb9c6", + "address": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu", + "status": "confirmed", + "blockheight": 104, + "reserved": false + } + ], + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "state": "CHANNELD_NORMAL", + "channel_id": "e6d20e01879178bc097c06e28eb65daedf8389a65792547005e9e98e77c4ccd1", + "short_channel_id": "103x1x0", + "our_amount_msat": 0, + "amount_msat": 10000000000, + "funding_txid": "d1ccc4778ee9e90570549257a68983dfae5db68ee2067c09bc789187010ed2e6", + "funding_output": 0 + } + ] }, { - "perkw": 7500 + "outputs": [], + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "state": "CHANNELD_NORMAL", + "channel_id": "a77e1e1df19fead1e0f2a09f2afaa4d42e81eacae1023c9c779df4c24e3b75c2", + "short_channel_id": "105x1x0", + "our_amount_msat": 0, + "amount_msat": 10000000000, + "funding_txid": "c2753b4ec2f49d779c3c02e1caea812ed4a4fa2a9fa0f2e0d1ea9ff11d1e7ea7", + "funding_output": 0 + } + ] } ], - "errors": [ - "The **parsefeerate** command will error if the *feerate_str* format is not recognized.", - "", - "- -32602: If the given parameters are wrong." + "author": [ + "Felix <> is mainly responsible." ], - "trivia": [ - "In CLN we like to call the weight unit \"sipa\" in honor of Pieter Wuille, who uses the name \"sipa\" on IRC and elsewhere. Internally we call the *perkw* style as \"feerate per kilosipa\"." + "see_also": [ + "lightning-newaddr(7)", + "lightning-fundchannel(7)", + "lightning-withdraw(7)", + "lightning-listtransactions(7)" ], "resources": [ "Main web site: " ] }, - "lightning-pay.json": { + "lightning-listhtlcs.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "pay", - "title": "Command for sending a payment to a BOLT11 invoice", + "rpc": "listhtlcs", + "title": "Command for querying HTLCs", "description": [ - "The **pay** RPC command attempts to find a route to the given destination, and send the funds it asks for. .", - "", - "The response will occur when the payment fails or succeeds. Once a payment has succeeded, calls to **pay** with the same *bolt11* will succeed immediately.", - "", - "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." + "The **listhtlcs** RPC command gets all HTLCs (which, generally, we remember for as long as a channel is open, even if they've completed long ago)." ], "request": { - "required": [ - "bolt11" - ], + "required": [], "properties": { - "bolt11": { - "type": "string", - "description": [ - "Bolt11 invoice, if **experimental-offers** is enabled, it can actually be a bolt12 invoice, such as one received from lightningd-fetchinvoice(7). If it does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "*amount_msat* is in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*." - ] - }, - "label": { - "type": "string", - "description": [ - "It is used to attach a label to payments, and is returned in lightning- listpays(7) and lightning-listsendpays(7)." - ] - }, - "riskfactor": { - "type": "number", - "description": [ - "The *riskfactor* is described in detail in lightning-getroute(7)." - ], - "default": "10" - }, - "maxfeepercent": { - "type": "number", - "description": [ - "Percentage of the amount that is to be paid." - ], - "default": "0.5" - }, - "retry_for": { - "type": "u16", - "description": [ - "Until *retry_for* seconds passes, the command will keep finding routes and retrying the payment." - ], - "default": "60 seconds" - }, - "maxdelay": { - "type": "u16", - "description": [ - "A payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case." - ] - }, - "exemptfee": { - "type": "msat", - "description": [ - "This option can be used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than `exemptfee`." - ], - "default": "5000 millisatoshi" - }, - "localinvreqid": { - "type": "hex", - "description": [ - "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7). This ensures that we only make a single payment for an offer, and that the offer is marked `used` once paid." - ] - }, - "exclude": { - "type": "array", - "description": [ - "*exclude* is a JSON array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or pubkey which should be excluded from consideration for routing." - ], - "default": "not to exclude any channels or nodes", - "items": { - "oneOf": [ - { - "type": "short_channel_id_dir" - }, - { - "type": "pubkey" - } - ] - } - }, - "maxfee": { - "type": "msat", - "description": [ - "*maxfee* overrides both *maxfeepercent* and *exemptfee* defaults (and if you specify *maxfee* you cannot specify either of those), and creates an absolute limit on what fee we will pay. This allows you to implement your own heuristics rather than the primitive ones used here." - ] - }, - "description": { + "id": { "type": "string", "description": [ - "It is only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid." + "A short channel id (e.g. 1x2x3) or full 64-byte hex channel id, it will only list htlcs for that channel (which must be known)." ] } } }, "response": { "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" + "htlcs" ], "properties": { - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "created_at": { - "type": "number", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "parts": { - "type": "u32", - "description": [ - "How many attempts this took." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount the recipient received." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "Total amount we sent (including fees)." - ] - }, - "warning_partial_completion": { - "type": "string", - "description": [ - "Not all parts of a multi-part payment have completed." - ] - }, - "status": { - "type": "string", - "enum": [ - "complete", - "pending", - "failed" - ], - "description": [ - "Status of payment." - ] + "htlcs": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "short_channel_id", + "id", + "expiry", + "direction", + "amount_msat", + "payment_hash", + "state" + ], + "properties": { + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "The channel that contains/contained the HTLC." + ] + }, + "id": { + "type": "u64", + "description": [ + "The unique, incrementing HTLC id the creator gave this." + ] + }, + "expiry": { + "type": "u32", + "description": [ + "The block number where this HTLC expires/expired." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The value of the HTLC." + ] + }, + "direction": { + "type": "string", + "enum": [ + "out", + "in" + ], + "description": [ + "Out if we offered this to the peer, in if they offered it." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "Payment hash sought by HTLC." + ] + }, + "state": { + "type": "string", + "enum": [ + "SENT_ADD_HTLC", + "SENT_ADD_COMMIT", + "RCVD_ADD_REVOCATION", + "RCVD_ADD_ACK_COMMIT", + "SENT_ADD_ACK_REVOCATION", + "RCVD_REMOVE_HTLC", + "RCVD_REMOVE_COMMIT", + "SENT_REMOVE_REVOCATION", + "SENT_REMOVE_ACK_COMMIT", + "RCVD_REMOVE_ACK_REVOCATION", + "RCVD_ADD_HTLC", + "RCVD_ADD_COMMIT", + "SENT_ADD_REVOCATION", + "SENT_ADD_ACK_COMMIT", + "RCVD_ADD_ACK_REVOCATION", + "SENT_REMOVE_HTLC", + "SENT_REMOVE_COMMIT", + "RCVD_REMOVE_REVOCATION", + "RCVD_REMOVE_ACK_COMMIT", + "SENT_REMOVE_ACK_REVOCATION" + ], + "description": [ + "The first 10 states are for `in`, the next 10 are for `out`." + ] + } + } + } } - }, - "post_return_value_notes": [ - "You can monitor the progress and retries of a payment using the lightning-paystatus(7) command." - ] + } }, - "randomization": [ - "To protect user privacy, the payment algorithm performs some randomization.", - "", - "1: Route Randomization", - "", - "Route randomization means the payment algorithm does not always use the lowest-fee or shortest route. This prevents some highly-connected node from learning all of the user payments by reducing their fees below the network average.", - "", - "2: Shadow Route", - "", - "Shadow route means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", - "", - "Route randomization will never exceed *maxfeepercent* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." - ], - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 201: Already paid with this *hash* using different amount or destination.", - "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object (except for self-payment, which currently returns the error directly from lightning-sendpay(7)).", - "- 205: Unable to find a route.", - "- 206: Route too expensive. Either the fee or the needed total locktime for the route exceeds your *maxfeepercent* or *maxdelay* settings, respectively. The *data* field of the error will indicate the actual *fee* as well as the *feepercent* percentage that the fee has of the destination payment amount. It will also indicate the actual *delay* along the route.", - "- 207: Invoice expired. Payment took too long before expiration, or already expired at the time you initiated payment. The *data* field of the error indicates *now* (the current time) and *expiry* (the invoice expiration) as UNIX epoch time in seconds.", - "- 210: Payment timed out without a payment in progress.", - "", - "Error codes 202 and 204 will only get reported at **sendpay**; in **pay** we will keep retrying if we would have gotten those errors.", - "", - "A routing failure object has the fields below:", - "", - "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", - "*erring_node*: The hex string of the pubkey id of the node that reported the error.", - "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error.", - "*failcode*: The failure code, as per BOLT #4.", - "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the UPDATE bit set, as per BOLT #4.", - "", - "The *data* field of errors will include statistics *getroute_tries* and *sendpay_tries*. It will also contain a *failures* field with detailed data about routing errors." - ], "example_json_request": [ { - "id": "example:pay#1", - "method": "pay", - "params": { - "bolt11": "lni1qqgxr7gha7gusyg83lsr8qcqg4axgq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqjz06c8s2vvmrpjlkcse0txx0gmc6jalqqxmeyjm75qcnfnqxwyt2sfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpe8qlx9xssexfc0aguke3q6u0jgw2qmn008mzu04mkmqmjmhes3gcpqdqdnzl270s48vsp635rd4jm04snvgkcp65qlkgp8qztu2mdp7c5uqpj2rll3pzu56st537rct3v62gfqeamzthjuwkr0pkvsdnnffpn4sq9sz0lryaufktx0nfxlffum3yesqev5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtvwkyz5zq2000hlwvadejz366lqjt9sd2j4rf5tfd9rgmmyegt4dqd34cf6v4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqn3n74ccym4wcvq20vsx7lmk450kprpvlrh4cukk8xy9ptjcef4rnhytnkyn4vnxxtd57yeaksze2s30y26cs6u3rjd9322eg9puk24q", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#1", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#2", - "method": "pay", - "params": { - "bolt11": "lnbcrt313370n1pjmr4aasp5m8upx6408qz9xt6mlk330pwh7sucn8g2fhu2f4gy2xn9zmp947mspp50u3uqu6ffk78tzfjdcg2xptvaukw904f79aupxpfpn626e3fn2fsdq8v3jhxccxqyjw5qcqp99qxpqysgqfknzn5jd2prrufwwpmpxspm6kwjpszmprvydnx932dzereaerg8jfxm0md2ghmcgv32v4s4tg5tsnscpeyzq8dxn60h0fzmkqj7v4jcq827nse", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#2", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#3", - "method": "pay", - "params": { - "bolt11": "lni1qqgqdee2cwuaepw59trtww9l4ktf5q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnjfrgj5r8wyv4hvjuq46pcw5t8x0ndpjjmnx03h20t0hzwju7v3jsfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpqpufrwynd8lexnp956kx9p6g3vt52n9uky2cm46tved2hur269tqpq0j8u795js680ptazh6unmpcyd7e7ppqv78qwq8yd78t3xrsgcwccqpjzxqgkx7vzqy7udg4ty95xxe0hzs7eccpqx3n4ugcfsp6tsq3f7nagrmszcr93ugxlmn2nc6yamram2cz5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt4ufww5zp54nlzncrlts42krfnrz4jwx9rlg2hyqm2azl739hry767c5a22d4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqhg7wsanf343hwaanj6vj366tcjc48ge9w3umcy2ulg99mg2v4eu58mvxzpnvy35xshe3qfh5044qrkxyqxm5njl790url05vfcdpudg", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#3", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#4", - "method": "pay", - "params": { - "bolt11": "lnbcrt313370n1pja0zdesp5nq37wknu0qrvx66hltyzrm9v323hn5awglsr0kn0pfqyn9u9u97qpp5kjfknf28d64v0vjxennx8vj7fypy4tv9afc9rf4ty5w7qs048essdq8v3jhxccxqyjw5qcqp99qxpqysgq5zrx6ttapag4r3uawl3kygzcu36y6arg8hn9597408mnhh3zv06qpad34u4h5ukm3rczg0dy57z2kppkzmsytrm6ec0hff6ah2axq7sqgu64n2", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#4", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#5", - "method": "pay", - "params": { - "bolt11": "lnbcrt50u1pja0zh2sp528cnmqa6qugsgg5x860t3hgs3q6898vmh6vwhs5k0a0f9f6ug56qpp5zq3r29c24veanx02fzp4z3707e3qn6f9zxd5xct23rzq3pt9sqksdzgw3jhxazld9h8vmmfvdj47urp09kk2mn5tahx7arfve5kxct5d9hkuhmyv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgqxxnua4elth0kl4888clcxl5yk5ms705my46np6a4a7vx8p8r8kxxh2p8qmgw6a2p5v7hq88ej0kx0yrlp7240vvh74q7zrfmmmhuzpcpmazf8w", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#5", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#6", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0zl6sp5v5h0uup9qlw2dx2ygjpf84xgt6f44gkdj95kgtykfh8ryuqe2ywqpp5j7e8lgrrjlqgpfh5ettypn9akj59fpkc95nw53lzgz3al3su97vqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgqvnrqqtthdhl2x3940aga8s0v8slpj3zllv3v9ex25wgjyz22rxynurchpwgg8yrku227mqlgnteqk53zh4wme3kkctc62jktfaffspsprgq6ed", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#6", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#7", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0zlmsp5v230826kw4yxzgfnqr3k0ykk4awzlhn2aa5pq890rychu99j0trspp5c8euaznadx8458srxwuy0arrz85yvzzn0dvkpxe60966hnk6lsqqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq8rwqqj9j03qvg2m8dz5cr0fm64030atns87z9rtcn9h6uhczq5knt5grvn93hl5yu7t7c2v5cepdxfnf34rmkcdjsrwfgyj6tcpjzlgqgffva9", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#7", + "method": "listhtlcs", + "params": [ + "103x2x0" + ] }, { - "id": "example:pay#8", - "method": "pay", - "params": { - "bolt11": "lnbcrt100n1pja0rqpsp5lwzjcslahtwsxj76pt8jpxxwlrwt0m4gde7nl2m4rrcspeytpchqpp5a3mvkjud3t9yekd7pvac7ecxrs655lvlvcrsucunqstz4avrenasdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgq0tnm5drfmpcwjny8ykpmqj8tzn7736xak9nyq9h039wzcyspn7axg9mkcn0fjpwt4v8kw0e6dl42cas5l25ay3yga7k54hshlzhcr0spe2nsql", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#8", + "method": "listhtlcs", + "params": [ + "103x2x0" + ] }, { - "id": "example:pay#9", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rqasp5r9ep3mlu0r9k43z2s00nc6mklee6afh7smufeynvwrk4gcn0eyfqpp57q3tpmzyhwa3g34yxg5f2q00luz4wggklsd08cqc4gherj36g0fqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqdj9w7qzr3ppvxvmj86xxs9yrwlsuj33p02329s7temg5nrwg66rkvxaprykgh8q0vhw8zlmekdu6xhjh4ldl3capnpqwt4qtzdn4lvgqryrgmy", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#9", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#10", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rq7sp5z3ghzu7r02aykwey852cswsamh98y9zv9hdrpser6cxaxl88q3jspp5gx3zewts6300kns7fnak528hhn9n662eqk0l65nqk5l66guv3fgsdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq848ruv2dj48t795z07df50wr60lsty3m96erztk4a5yf30u09g5sac840gr4gdkruud4k0rywz0su0ckcwhx6u4zuyl8cupuuyzsdxqqx9rl0m", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#10", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#11", - "method": "pay", - "params": { - "bolt11": "lnbcrt100n1pja0rpysp5z8a5av82f0mqnh8sc7lvp76z7vls97y3de8uhjzmxdsf9ns9gaqspp59supsgtt4qr33alunref0u2cdev0uxw5vg9ptgr08hmxt3qtlg9qdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqr4w92jut3guawwdadsn8h356yser7s9thppehkklfhgkf6ng2eu56mzu3nlm4ucmc9xhvzeuu97ecvkmcaj9rlffcpkjxktslc7j76qpq0fe93", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#11", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#12", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rzxsp536e5245ymejfa7478xr59tansepd3zuz4aywsucwdfsy999v9akqpp5780mt97kgalmqae9nlrze7vad4fhnndgx0zp0nmk0my7p065rr0qdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq752agy4xmk6dqrus0syxshtlpfjjvu7nzd9adup35pkuwnjy4vr9s4qznzyvxtr4cuszqfzq8cf7cep0eneurjfz9u6u8r9arjugfecpy2pge4", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#12", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#13", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rz8sp54dt8g3gkk8jjc9q6urcl93yuwssru6emqcsse00ter7awajf4deqpp5ws2ygxfrezd60z74e4er289sd52rka0arlhlq9p2czv2klfuqraqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqq7gdkddfxc38fkghhcs2heefac89zy8karuxqmcq2826l6h33xvx7yx7dek2u8xpn9faruxcf6yv6fzue3fzzk2pe9m0evzm65538xgqlm60hc", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#13", + "method": "listhtlcs", + "params": [ + "103x2x0" + ] }, { - "id": "example:pay#14", - "method": "pay", - "params": { - "bolt11": "lnbcrt100n1pja0rz0sp5mac00pzc9m0fcxvftm4ep3l03tlz9my286wanaydmsx59xeuywaspp5hl9hs779cfsetnem6stmzs09fzkr3hf89cv865zj4t5dlaapxqhqdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq0ka7fpyg4fwgu9lww9tgmnqr3dn3t9fm4ykx5eg5gjq4y6573cux86dgtqc806trusuhg4clrjm8uqx04zcwqljqh2ladlmn263dupgp8nwfaw", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#14", + "method": "listhtlcs", + "params": [ + "103x2x0" + ] }, { - "id": "example:pay#15", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rr4sp5a7qhyu2fs0hp3puje5mudhv07u8slgdvq9z9ap9nj4pw0amkjr8qpp5hxtywalr33kzmkp94pfrfyv9lc8fjhh2dr752wwfq5899xj6wttqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqyrthqt8vvjes2aefqad37pdjq4vphtwms4lh3y2f4uu0gs82knp5pa37jcsp4heq3hvlhd8j3jxcacuyvf402nryz2qgvha0t56k6gcqthatpm", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#15", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#16", - "method": "pay", - "params": { - "bolt11": "lnbcrt5m1pja0rrksp5j4zj8sdr2z8w62q667ds3ntpmnhtfk2vuwz6gqgwu69a0lavm2rspp5nchd9435vmzd5749r6v3u8u92zjye4xzurdx6w2t3tmkgxpyk45qdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgq4cwqlg6adntqknhg6psdvrqcym0hch9jvupg80ydj7rg0j4nml9z8rx33sq3sy67yt5t83yfql8gm6lr3mzcdwpsk86wugzf3rr7ckcpwpjce0", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#16", + "method": "listhtlcs", + "params": [ + "103x1x0" + ] }, { - "id": "example:pay#17", - "method": "pay", - "params": { - "bolt11": "lnbcrt100n1pja0rr7sp5al8kh3dfedn6rcve7n8qk9ww3s2hnf4xfjt0lgxjclc7jc8ns2kspp54sfv9ww2teflqzeevskwahmc3l4kwum6rkegsxj6fmkeazlf9qdsdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqhk702ez8my3l4lqecxc8h0kg92vnweu52mpx453vc8a873mvnd3ysasq4cdetg8kywjhlrgke82u9nkvuvlz58te3nsnyu4kgrhh5jqqnjl9pu", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#17", + "method": "listhtlcs", + "params": [ + "436c2658eb4f4689b42ff11b8b05f31ba09860d0df7168085e0796cdf40f85e0" + ] }, { - "id": "example:pay#18", - "method": "pay", - "params": { - "bolt11": "lnbcrt100u1pja0yzcsp5lsgk932mt2p898lmh9mlg5quhwg74y7k45v90vqc9gqrq5639s8qpp5n726uxhxul9rr5htcasqaw3alszhjppmex8ctd5ja2zm358ttacqdq8w3jhxaqxqyjw5qcqp99qxpqysgqqgh9rledv2vscym96z2g64z4hpyarq7rh738ckdvlxn7qw8k2sey58c39c4208n4nerghjf8zhdqns0lpqz3gykgy88ugfmgcanpj6gp8cls5u", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#18", + "method": "listhtlcs", + "params": [ + "103x1x0" + ] }, { - "id": "example:pay#19", - "method": "pay", - "params": { - "bolt11": "lnbcrt100u1pja0yyrsp5qhgcg7fq437dl4j26usem0cjjz75yzen4mtml2g39c482nlqa65qpp5wy85zuh9nqsl0pm8defy2d4ue42xg22ggzre737mka2pgazxalssdq8w3jhxaqxqyjw5qcqp99qxpqysgq2gqdp0j6me9qmrx6a2tqqv8wq8fj3rtq02usz7ghy9mn7s2kax5jzvshhm6ygc2mrvp5d795d6j4rlzavhsmj7n9pesentpxfysyazgqz9zz5e", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#19", + "method": "listhtlcs", + "params": "{}" }, { - "id": "example:pay#20", - "method": "pay", - "params": { - "bolt11": "lnbcrt500010n1pja09spsp5l6csyfc78ltklnf54z7ha62q548gh9eqk2uwuxytwcf8w2j6wy4qpp5d8z7zuk55yua90eaxuulve8x3a05caw56t68ujttuyzfxy5yvkuqdq8v3jhxccxqyjw5qcqp99qxpqysgqmh2544pkvu2tned0mz5yryk8y53s0dggkx7rjlrrqw5hlfrews43sqwnmnt8p0ydmk68j0e2fg5nrks7xzuvxe55s4fg2qdnfxwxn3sqf4798v", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#20", + "method": "listhtlcs", + "params": [ + "103x1x0" + ] }, { - "id": "example:pay#21", - "method": "pay", - "params": { - "bolt11": "lnbcrt50n1pja09shsp54gtd3j88z8t5sf979pclurrq37h7zjaar08mg4qcnfevsvu6c5gqpp5qzz6czpullh7r6a5a4ulqf0svcyfv704v0vfvrvd3pv6q2ah55qqdq9d9h8vxqyjw5qcqp99qx3qysgqwh8zphwpg66400w3ycamppu3mjnrct63tj0l2q8wg572848ew5xxa7c8x9n2u8luu4zs9x4grrlyrzwvut29sk8qqzwkmugnrv2palqpuayucy", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#21", + "method": "listhtlcs", + "params": [ + "105x1x0" + ] }, { - "id": "example:pay#22", - "method": "pay", - "params": { - "bolt11": "lnbcrt50n1pja09scsp58e4cgkuwqpu58u2t7267vp0mevd269jdeu9m934ntktwrhnm49xqpp5kfa43fm5afwrc2hjwmqmpkg27k6dk93x6dw5kxhkxp2k3n670csqdq9d9h8vxqyjw5qcqp99qx3qysgqgcwyge0swla3h0d8gc6lc4kge0cyvlvetckwlavcesczvmzd9n2yhx9tewaxqhfkctdtmx00rfncz6z5uw8unlxzv50f9ahkx9ldw8cqkmve6c", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#22", + "method": "listhtlcs", + "params": [ + "107x1x0" + ] }, { - "id": "example:pay#23", - "method": "pay", - "params": { - "bolt11": "lnbcrt50n1pja09s6sp52agfcxyc8a5xwjfj3tcq7hmghvza575j40w3329xa95mklnst82spp5d86r493gyfe3tfzcknphr5pk6pjkvfl3ddytfh4s3qksrul687aqdq9d9h8vxqyjw5qcqp99qxpqysgq9z954y2cnzlatc42ft54srww6glf4gnzyp2cvl64fdhl3rgw2s7kc59m2ev94fwdc89p93j8d3l4xadm6x0x762yv56ksxdfqfz6axcqngnye9", - "amount_msat": null, - "label": null, - "riskfactor": null, - "maxfeepercent": null, - "retry_for": null, - "maxdelay": null, - "exemptfee": null, - "localinvreqid": null, - "exclude": null, - "maxfee": null, - "description": null - } + "id": "example:listhtlcs#23", + "method": "listhtlcs", + "params": "{}" } ], "example_json_response": [ { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payment_hash": "29ef7dfee675b990a3ad7c125960d54aa34d16969468dec9942ead03635c274c", - "created_at": 1706153504.76628, - "parts": 1, - "amount_msat": 100, - "amount_sent_msat": 100, - "payment_preimage": "6634c1b549c6615d234832f377e06d5a5ab088c40cebdc5cfb8c1262030abcad", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "d2668e77c5a2220496e813de36f1fc09ba804b16af4c6bb38299d8a6eb8a5f10", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "286e08ac8f575f10508d751fcfc93871b4344271967c7b9e5eacb3f3573b8307", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "3e4baa750ee3dfb934578f041ccb40b87432bf37ec65c9d7bce5ff28fecbd95f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "4c3ce32565dc10ef2bd230c32802ce2fe8b007208c0a90757aa289f75c994d49", + "state": "SENT_REMOVE_REVOCATION" + } + ] }, { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payment_hash": "7f23c073494dbc7589326e10a3056cef2ce2bea9f17bc098290cf4ad66299a93", - "created_at": 1706153917.2933164, - "parts": 1, - "amount_msat": 31337000, - "amount_sent_msat": 31337000, - "payment_preimage": "741dda2ba3acb90160cbbbeb5a128de204c6bacbe3bdf9e56c6449bf52912259", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "d2668e77c5a2220496e813de36f1fc09ba804b16af4c6bb38299d8a6eb8a5f10", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "286e08ac8f575f10508d751fcfc93871b4344271967c7b9e5eacb3f3573b8307", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "3e4baa750ee3dfb934578f041ccb40b87432bf37ec65c9d7bce5ff28fecbd95f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "4c3ce32565dc10ef2bd230c32802ce2fe8b007208c0a90757aa289f75c994d49", + "state": "SENT_REMOVE_ACK_COMMIT" + } + ] }, { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payment_hash": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d", - "created_at": 1708624243.6915166, - "parts": 1, - "amount_msat": 100, - "amount_sent_msat": 100, - "payment_preimage": "d71b4820f95aebced2cc618faaf869907d140f758d37d0473a6b7eb34292a59f", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "SENT_REMOVE_REVOCATION" + } + ] }, - { - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "payment_hash": "b49369a5476eaac7b246cce663b25e49024aad85ea7051a6ab251de041f53e61", - "created_at": 1708624313.8043232, - "parts": 1, - "amount_msat": 31337000, - "amount_sent_msat": 31337000, - "payment_preimage": "58e83b41506af98e72c1d89b42613444971e0df33be76a2c861c8c15c66f374b", - "status": "complete" + { + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "SENT_REMOVE_ACK_COMMIT" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "102235170aab33d999ea48835147cff66209e925119b43616a88c4088565802d", - "created_at": 1708624620.4181027, - "parts": 1, - "amount_msat": 5000000, - "amount_sent_msat": 5000000, - "payment_preimage": "e3201d538e2f71d3e8e0aa9af69bfa2b56cde71fdd670400943f431cdc494476", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "97b27fa06397c080a6f4cad640ccbdb4a85486d82d26ea47e240a3dfc61c2f98", - "created_at": 1708624890.695795, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500000000, - "payment_preimage": "71d5bc6df610115d56b7b93749f884ec1110ffcf8db74375d1b0ee4eaa828341", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payment_hash": "c1f3ce8a7d698f5a1e0333b847f46311e84608537b59609b3a7975abcedafc00", - "created_at": 1708624891.783829, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500005001, - "payment_preimage": "fe93ccb1561f6a542755b03c39b89d189ed6a39ac3c7b558c7530de8356cbe79", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "ec76cb4b8d8aca4cd9be0b3b8f67061c354a7d9f66070e639304162af583ccfb", - "created_at": 1708624897.478585, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "72f8c6a8dc8cbf352277718e3bd635b489c9909e942429222f57364dda1f2225", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "12bb14b1d119e1ae0759e5ff6f1f6653e3fd8f71ea59411500d2871404a47a98", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "57d950209cc0b4fcc5e3027569232f96cf83ef85314c6b139a5713848d811a66", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "45ad4654715411a07a0ad6ec3f4bfaa918c90e3d1934b10b1c1c5846523ddd7f", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "cc0dcd214aa71c62bfba711a0746da821f2cdba1770b11c225920bdde12c931e", + "state": "SENT_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "f022b0ec44bbbb1446a432289501efff05572116fc1af3e018aa2f91ca3a43d2", - "created_at": 1708624925.9214463, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500000000, - "payment_preimage": "b4ae15198c5403c32c1867436dd466267e793f7c04cabad927e0c1677b5aee10", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "SENT_REMOVE_REVOCATION" + } + ] }, { - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payment_hash": "41a22cb970d45efb4e1e4cfb6a28f7bccb3d6959059ffd5260b53fad238c8a51", - "created_at": 1708624926.9962847, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500005001, - "payment_preimage": "d768fa57df5aa756b2381185119ba5a4643f20245f20027584b6c7646f264be7", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "SENT_REMOVE_ACK_COMMIT" + } + ] }, { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "2c3818216ba80718f7fc98f297f1586e58fe19d4620a15a06f3df665c40bfa0a", - "created_at": 1708624932.783919, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "6cca14bf2ed7c58be7c7d60f1c76b4a717499d4ba217b64ffe200def07906aff", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "f1dfb597d6477fb077259fc62cf99d6d5379cda833c417cf767ec9e0bf5418de", - "created_at": 1708624966.5622873, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500000000, - "payment_preimage": "100a197374a657a5fdda162802174f58bffea3e66ff77fb0cf821f98b28a7df7", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payment_hash": "7414441923c89ba78bd5cd72351cb06d143b75fd1feff0142ac098ab7d3c00fa", - "created_at": 1708624967.652042, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500005001, - "payment_preimage": "4e4135e644571e9b79a51c6815a7aa90fb4346e5f6c9237159e21c29fc8245cc", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "out", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "bfcb787bc5c26195cf3bd417b141e548ac38dd272e187d5052aae8dff7a1302e", - "created_at": 1708624976.0094693, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "cf39f08388935f34466d5b782a34b3d44ee56533d91a9cbf4a12ca1df1af9372", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x2x0", + "id": 0, + "expiry": 117, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "fb825414c886cd3e1504538c28e3bb1143b9cc7f18428b90ba08ce9626a7f565", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 1, + "expiry": 117, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "5cde0bd85819f2cbdeed5c2570da359168928f5379275c46cfb8a5a3af989a15", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 2, + "expiry": 135, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "dd3c1ee6d451d9613bc688081245ae7b050911776e3d43aeadcc1b961ac936e5", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x2x0", + "id": 3, + "expiry": 135, + "direction": "in", + "amount_msat": 100001001, + "payment_hash": "7a81ba8a669878d4460dd89a8b7a1a6784835aef163ba55eab537804322dfe75", + "state": "SENT_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "b9964777e38c6c2dd825a852349185fe0e995eea68fd4539c9050e529a5a72d6", - "created_at": 1708625013.0965428, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500000000, - "payment_preimage": "bd7bd7c8fb951f02d712a84b3ea5072f80b8da854fd4ffb3d4c5a899a7734c7f", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "out", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "out", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "out", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payment_hash": "9e2ed2d63466c4da7aa51e991e1f8550a44cd4c2e0da6d394b8af7641824b568", - "created_at": 1708625014.1832385, - "parts": 1, - "amount_msat": 500000000, - "amount_sent_msat": 500005001, - "payment_preimage": "a729477beb58dcadc66d2cea3037856f29152e0bd41c89e0a0faad6a151c6765", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "out", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "out", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "out", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "ac12c2b9ca5e53f00b39642ceedf788feb67737a1db2881a5a4eed9e8be9281b", - "created_at": 1708625022.4019737, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10000, - "payment_preimage": "a08a28d723ce5ff6ba5023d532143d6ec55a57c181b4f421daccdd2ea72d76c1", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "out", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "out", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "out", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "9f95ae1ae6e7ca31d2ebc7600eba3dfc0579043bc98f85b692ea85b8d0eb5f70", - "created_at": 1708626008.0746112, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "eae2d1cecf89ef80b50146860752563a678e97c0f3d50535ec2c4e4af826598c", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "in", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "in", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "in", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "SENT_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "710f4172e59821f787676e524536bccd5464294840879f47dbb754147446efe1", - "created_at": 1708626051.9052005, - "parts": 1, - "amount_msat": 10000000, - "amount_sent_msat": 10000000, - "payment_preimage": "d8d26fce4e3625f5a099f07b679cfe26aa2c0bc05898721638c8d35301264f0e", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "in", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "105x1x0", + "id": 0, + "expiry": 118, + "direction": "out", + "amount_msat": 1000, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "in", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "107x1x0", + "id": 0, + "expiry": 118, + "direction": "out", + "amount_msat": 2000, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "RCVD_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "in", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "SENT_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "69c5e172d4a139d2bf3d3739f664e68f5f4c75d4d2f47e496be10493128465b8", - "created_at": 1708627457.226775, - "parts": 1, - "amount_msat": 50001000, - "amount_sent_msat": 50001000, - "payment_preimage": "352d581a8423fb983703229bcd799806cab8eecda1494738bd62491fca10fab4", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "103x1x0", + "id": 0, + "expiry": 124, + "direction": "in", + "amount_msat": 1001, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 1, + "expiry": 124, + "direction": "in", + "amount_msat": 2001, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "SENT_REMOVE_ACK_REVOCATION" + }, + { + "short_channel_id": "103x1x0", + "id": 2, + "expiry": 128, + "direction": "in", + "amount_msat": 4001, + "payment_hash": "14ef01c9fb12d7dcac288f48ce87b19a7d5c3d5779aaed1e4adcb5c5d0e9fa45", + "state": "SENT_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "0085ac083cffefe1ebb4ed79f025f066089679f563d8960d8d8859a02bb7a500", - "created_at": 1708627479.9253566, - "parts": 1, - "amount_msat": 5000, - "amount_sent_msat": 5000, - "payment_preimage": "3520dd83b0fe82e70f85c9eabc4e780fe68f2839bfdb37a194654904ab0301be", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "105x1x0", + "id": 0, + "expiry": 118, + "direction": "out", + "amount_msat": 1000, + "payment_hash": "2ab653668c8017ff2f36ac36678a8da04e11380bd9580a2926b170523b0c6e3b", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "payment_hash": "b27b58a774ea5c3c2af276c1b0d90af5b4db1626d35d4b1af6305568cf5e7e20", - "created_at": 1708627480.9650838, - "parts": 1, - "amount_msat": 5000, - "amount_sent_msat": 5000, - "payment_preimage": "700f2f8d76ffb95e40c4da8b31a8b7211aea4aec3db7791f53108d42ea602843", - "status": "complete" + "htlcs": [ + { + "short_channel_id": "107x1x0", + "id": 0, + "expiry": 118, + "direction": "out", + "amount_msat": 2000, + "payment_hash": "92f889cb2e48aa28e1e577228b907cdbcc371a2c018e9c8f60fa7036e232cf1d", + "state": "RCVD_REMOVE_ACK_REVOCATION" + } + ] }, { - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "payment_hash": "69f43a9628227315a458b4c371d036d0656627f16b48b4deb0882d01f3fa3fba", - "created_at": 1708627482.031582, - "parts": 1, - "amount_msat": 5000, - "amount_sent_msat": 5000, - "payment_preimage": "5907ef143c6f429cd110875bf1652f717cd5a99179f8d0bf410cde9692f40f1f", - "status": "complete" + "htlcs": [] } ], "author": [ "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-listpays(7)", - "lightning-decodepay(7)", - "lightning-listinvoice(7)", - "lightning-delinvoice(7)", - "lightning-getroute(7)", - "lightning-invoice(7)" + "lightning-listforwards(7)" ], "resources": [ "Main web site: " ] }, - "lightning-ping.json": { + "lightning-listinvoicerequests.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "ping", - "title": "Command to check if a node is up.", + "added": "v22.11", + "rpc": "listinvoicerequests", + "title": "Command for querying invoice_request status", "description": [ - "The **ping** command checks if the node with *id* is ready to talk. It currently only works for peers we have a channel with." + "The **listinvoicerequests** RPC command gets the status of a specific `invoice_request`, if it exists, or the status of all `invoice_requests` if given no argument." ], "request": { - "required": [ - "id" - ], + "required": [], "properties": { - "id": { - "type": "pubkey", + "invreq_id": { + "type": "string", "description": [ - "The pubkey of the node to ping." + "A specific invoice can be queried by providing the `invreq_id`, which is presented by lightning-invoicerequest(7), or can be calculated from a bolt12 invoice." ] }, - "len": { - "type": "u16", - "description": [ - "The length of the ping." - ], - "default": "128" - }, - "pongbytes": { - "type": "u16", + "active_only": { + "type": "boolean", "description": [ - "The length of the reply. A value of 65532 to 65535 means `don't reply`." + "If it is *True* then only active invoice requests are returned." ], - "default": "128" + "default": "*False*" } } }, "response": { "required": [ - "totlen" + "invoicerequests" ], "properties": { - "totlen": { - "type": "u16", - "description": [ - "The answer length of the reply message (including header: 0 means no reply expected)." - ] - } - } - }, - "example_json_request": [ - { - "id": "example:ping#1", - "method": "ping", - "params": { - "len": 128, - "pongbytes": 128 - } - }, - { - "id": "example:ping#2", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 0, - "pongbytes": 0 - } - }, - { - "id": "example:ping#3", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 0 - } - }, - { - "id": "example:ping#4", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 1000 - } - }, - { - "id": "example:ping#5", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65531 - } - }, - { - "id": "example:ping#6", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65532 - } - }, - { - "id": "example:ping#7", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65533 - } - }, - { - "id": "example:ping#8", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65534 - } - }, - { - "id": "example:ping#9", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65535 - } - }, - { - "id": "example:ping#10", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 0, - "pongbytes": 0 - } - }, - { - "id": "example:ping#11", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 0 - } - }, - { - "id": "example:ping#12", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 1000 - } - }, - { - "id": "example:ping#13", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65531 - } - }, - { - "id": "example:ping#14", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65532 - } - }, - { - "id": "example:ping#15", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65533 - } - }, - { - "id": "example:ping#16", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65534 - } - }, - { - "id": "example:ping#17", - "method": "ping", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "len": 1000, - "pongbytes": 65535 + "invoicerequests": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "invreq_id", + "single_use", + "active", + "bolt12", + "used" + ], + "properties": { + "invreq_id": { + "type": "hash", + "description": [ + "The SHA256 hash of all invoice_request fields less than 160." + ] + }, + "active": { + "type": "boolean", + "description": [ + "Whether the invoice_request is currently active." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether the invoice_request will become inactive after we pay an invoice for it." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string starting with lnr." + ] + }, + "used": { + "type": "boolean", + "description": [ + "Whether the invoice_request has already been used." + ] + }, + "label": { + "type": "string", + "description": [ + "The label provided when creating the invoice_request." + ] + } + } + } } } + }, + "author": [ + "Rusty Russell <> is mainly responsible." ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters or we're already waiting for a ping response from peer." + "see_also": [ + "lightning-invoicerequests(7)", + "lightning-disableinvoicerequest(7)" ], - "example_json_response": [ - { - "totlen": 132 - }, - { - "totlen": 4 - }, - { - "totlen": 4 - }, - { - "totlen": 1004 - }, - { - "totlen": 65535 - }, - { - "totlen": 0 - }, - { - "totlen": 0 - }, - { - "totlen": 0 - }, - { - "totlen": 0 - }, - { - "totlen": 4 - }, - { - "totlen": 4 - }, - { - "totlen": 1004 - }, - { - "totlen": 65535 - }, + "resources": [ + "Main web site: " + ], + "example_json_request": [ { - "totlen": 0 + "id": "example:listinvoicerequests#1", + "method": "listinvoicerequests", + "params": [ + "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d" + ] }, { - "totlen": 0 - }, + "id": "example:listinvoicerequests#2", + "method": "listinvoicerequests", + "params": [ + "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d" + ] + } + ], + "example_json_response": [ { - "totlen": 0 + "invoicerequests": [ + { + "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", + "active": true, + "single_use": true, + "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", + "used": false + } + ] }, { - "totlen": 0 + "invoicerequests": [ + { + "invreq_id": "cf0b41d4eb248d975909deb9accf9722b1c86839de80ee8815ce907bbb700a1d", + "active": false, + "single_use": true, + "bolt12": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", + "used": true + } + ] } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-connect(7)" - ], - "resources": [ - "Main web site: " ] }, - "lightning-plugin.json": { + "lightning-listinvoices.json": { "$schema": "../rpc-schema-draft.json", "type": "object", - "additionalProperties": true, - "rpc": "plugin", - "title": "Manage plugins with RPC", + "additionalProperties": false, + "rpc": "listinvoices", + "title": "Command for querying invoice status", "description": [ - "The **plugin** RPC command can be used to control dynamic plugins, i.e. plugins that declared themself 'dynamic' (in getmanifest)." + "The **listinvoices** RPC command gets the status of a specific invoice, if it exists, or the status of all invoices if given no argument.", + "", + "Only one of the query parameters can be used from *label*, *invstring*, *payment_hash*, or *offer_id*." ], "request": { - "required": [ - "subcommand" - ], - "oneOfMany": [ - [ - "plugin", - "directory" - ] - ], + "required": [], "properties": { - "subcommand": { - "type": "string", - "enum": [ - "start", - "stop", - "rescan", - "startdir", - "list" + "label": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } ], "description": [ - "Determines what action is taken:", - " - *subcommand* **start** takes a *path* to an executable as argument and starts it as plugin. *path* may be an absolute path or a path relative to the plugins directory (default *~/.lightning/plugins*). If the plugin is already running and the executable (checksum) has changed, the plugin is killed and restarted except if its an important (or builtin) plugin. If the plugin doesn't complete the 'getmanifest' and 'init' handshakes within 60 seconds, the command will timeout and kill the plugin. Additional *options* may be passed to the plugin, but requires all parameters to be passed as keyword=value pairs using the `-k|--keyword` option which is recommended. For example the following command starts the plugin helloworld.py (present in the plugin directory) with the option greeting set to 'A crazy':", - " ```shell.", - " lightning-cli -k plugin subcommand=start plugin=helloworld.py greeting='A crazy'.", - " ```.", - " - *subcommand* **stop** takes a plugin executable *path* or *name* as argument and stops the plugin. If the plugin subscribed to 'shutdown', it may take up to 30 seconds before this command returns. If the plugin is important and dynamic, this will shutdown `lightningd`.", - " - *subcommand* **startdir** starts all executables it can find in *directory* (excl. subdirectories) as plugins. Checksum and timeout behavior as in **start** applies.", - " - *subcommand* **rescan** starts all plugins in the default plugins directory (default *~/.lightning/plugins*) that are not already running. Checksum and timeout behavior as in **start** applies.", - " - *subcommand* **list** lists all running plugins (incl. non-dynamic)." + "A label used a the creation of the invoice to get a specific invoice." ] }, - "plugin": { + "invstring": { "type": "string", "description": [ - "*path* or *name* of a plugin executable to start or stop." + "The string value to query a specific invoice." ] }, - "directory": { + "payment_hash": { + "type": "hex", + "description": [ + "A payment_hash of the invoice to get the details of a specific invoice." + ] + }, + "offer_id": { "type": "string", "description": [ - "*path* of a directory containing plugins." + "A local `offer_id` the invoice was issued for a specific invoice details." ] }, - "options": { - "type": "array", - "items": { - "type": "string", - "description": [ - "*keyword=value* options passed to plugin, can be repeated." - ] - } - } - } - }, - "response": { - "required": [ - "command" - ], - "properties": { - "command": { + "index": { "type": "string", + "added": "v23.08", "enum": [ - "start", - "stop", - "rescan", - "startdir", - "list" + "created", + "updated" ], "description": [ - "The subcommand this is responding to." + "If neither *in_channel* nor *out_channel* is specified, it controls ordering." + ], + "default": "`created`" + }, + "start": { + "type": "u64", + "added": "v23.08", + "description": [ + "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." + ] + }, + "limit": { + "type": "u32", + "added": "v23.08", + "description": [ + "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." ] } }, - "allOf": [ - { - "if": { + "dependentUpon": { + "index": [ + "start", + "limit" + ] + } + }, + "response": { + "required": [ + "invoices" + ], + "properties": { + "invoices": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "label", + "created_index", + "payment_hash", + "status", + "expires_at" + ], "properties": { - "command": { + "label": { + "type": "string", + "description": [ + "Unique label supplied at invoice creation." + ] + }, + "description": { + "type": "string", + "description": [ + "Description used in the invoice." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { "type": "string", "enum": [ - "start", - "startdir", - "rescan", - "list" + "unpaid", + "paid", + "expired" + ], + "description": [ + "Whether it's paid, unpaid or unpayable." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it will become / became unpayable." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount required to pay this invoice." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The BOLT11 string (always present unless *bolt12* is)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The BOLT12 string (always present unless *bolt11* is)." + ] + }, + "local_offer_id": { + "type": "hash", + "description": [ + "The *id* of our offer which created this invoice (**experimental-offers** only)." + ] + }, + "invreq_payer_note": { + "type": "string", + "description": [ + "The optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "updated_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was changed (only present if it has changed since creation)." ] } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "command", - "plugins" - ], - "properties": { - "command": {}, - "plugins": { - "type": "array", - "items": { - "type": "object", + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "paid" + ] + } + } + }, + "then": { "additionalProperties": false, "required": [ - "name", - "active", - "dynamic" + "pay_index", + "amount_received_msat", + "paid_at", + "payment_preimage" ], "properties": { - "name": { - "type": "string", + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "local_offer_id": {}, + "invreq_payer_note": {}, + "expires_at": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": { + "type": "u64", "description": [ - "Full pathname of the plugin." + "Unique incrementing index for this payment." ] }, - "active": { - "type": "boolean", + "amount_received_msat": { + "type": "msat", "description": [ - "Status; plugin completed init and is operational, plugins are configured asynchronously." + "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." ] }, - "dynamic": { - "type": "boolean", + "paid_at": { + "type": "u64", "description": [ - "Plugin can be stopped or started without restarting lightningd." + "UNIX timestamp of when it was paid." + ] + }, + "paid_outpoint": { + "type": "object", + "description": [ + "Outpoint this invoice was paid with." + ], + "added": "v23.11", + "additionalProperties": false, + "required": [ + "txid", + "outnum" + ], + "properties": { + "txid": { + "added": "v23.11", + "type": "txid", + "description": [ + "ID of the transaction that paid the invoice." + ] + }, + "outnum": { + "added": "v23.11", + "type": "u32", + "description": [ + "The 0-based output number of the transaction that paid the invoice." + ] + } + } + }, + "payment_preimage": { + "type": "secret", + "description": [ + "Proof of payment." ] } } + }, + "else": { + "additionalProperties": false, + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "local_offer_id": {}, + "invreq_payer_note": {}, + "created_index": {}, + "updated_index": {}, + "expires_at": {} + } } } - } - } - }, - { - "if": { - "properties": { - "command": { - "type": "string", - "enum": [ - "stop" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "command", - "result" - ], - "properties": { - "command": {}, - "result": { - "type": "string", - "description": [ - "A message saying it successfully stopped." - ] - } - } + ] } } - ] + } }, - "errors": [ - "On error, the reason why the action could not be taken upon the plugin is returned." - ], "example_json_request": [ { - "id": "example:plugin#1", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#1", + "method": "listinvoices", + "params": { + "label": "xEoCR94SIz6UIRUEkxum", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#2", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#2", + "method": "listinvoices", + "params": { + "label": "zE3sx8BQLpFn801JQixs", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#3", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#3", + "method": "listinvoices", + "params": { + "label": "W7PjXOrD1V9QzqlXde6S", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#4", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#4", + "method": "listinvoices", + "params": { + "label": "kQ3N0jwwJABOkKbMq7I4", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#5", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#5", + "method": "listinvoices", + "params": { + "label": "npVAv3iWbQBCHjsDK1YS", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#6", - "method": "plugin", - "params": [ - "list" - ] + "id": "example:listinvoices#6", + "method": "listinvoices", + "params": { + "label": "gjXz22eJleM5SNBasEOV", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null + } }, { - "id": "example:plugin#7", - "method": "plugin", + "id": "example:listinvoices#7", + "method": "listinvoices", "params": { - "subcommand": "start", - "plugin": "/home/shahana/workspace/lightning/tests/plugins/fail_htlcs.py" + "label": "WZcOtfF564NiUQ5vlwRU", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#8", - "method": "plugin", + "id": "example:listinvoices#8", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "fail_htlcs.py" + "label": "7mCJoNSFtlzLA9hEIzX1", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#9", - "method": "plugin", + "id": "example:listinvoices#9", + "method": "listinvoices", "params": { - "subcommand": "list" + "label": "sK54KAL3qX01yNt76y0B", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#10", - "method": "plugin", + "id": "example:listinvoices#10", + "method": "listinvoices", "params": { - "subcommand": "list" + "label": "n3jx9JMqg936KMwVWRzM", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#11", - "method": "plugin", + "id": "example:listinvoices#11", + "method": "listinvoices", "params": { - "subcommand": "start", - "plugin": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py" + "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#12", - "method": "plugin", + "id": "example:listinvoices#12", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py" + "label": "AlIJdm8x4tFYvkcrIXAk", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#13", - "method": "plugin", + "id": "example:listinvoices#13", + "method": "listinvoices", "params": { - "subcommand": "rescan" + "label": "oGCNVbOBJvbffmQqyVch", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#14", - "method": "plugin", + "id": "example:listinvoices#14", + "method": "listinvoices", "params": { - "subcommand": "list" + "label": "1yu6xcmRXk9Dv38jFulR", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#15", - "method": "plugin", + "id": "example:listinvoices#15", + "method": "listinvoices", "params": { - "subcommand": "startdir", - "directory": "/home/shahana/workspace/lightning/contrib/plugins" + "label": "PG1CZyQnANz5wHulULi6", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#16", - "method": "plugin", + "id": "example:listinvoices#16", + "method": "listinvoices", "params": { - "subcommand": "rescan" + "label": "ScVmvGtECsSc48NVaiGz", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#17", - "method": "plugin", + "id": "example:listinvoices#17", + "method": "listinvoices", "params": { - "subcommand": "list" + "label": "exCYz8NgTLbygkgwipco", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#18", - "method": "plugin", + "id": "example:listinvoices#18", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "helloworld.py" + "label": "Wogsce4STNqPOUMuBw0T", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#19", - "method": "plugin", + "id": "example:listinvoices#19", + "method": "listinvoices", "params": { - "subcommand": "start", - "plugin": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py" + "label": "OFPBDlYTIA9f5a02IMZF", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#20", - "method": "plugin", + "id": "example:listinvoices#20", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "helloworld.py" + "label": "r2fm2NS2lShNwR8MGHwy", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#21", - "method": "plugin", + "id": "example:listinvoices#21", + "method": "listinvoices", "params": { - "subcommand": "startdir", - "directory": "/home/shahana/workspace/lightning/contrib/plugins" + "label": "YR07QkHcieUMkSGD8VFv", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#22", - "method": "plugin", + "id": "example:listinvoices#22", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "rpc_command_1.py" + "label": "nRt598eghJGkxAZ7CENJ", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:plugin#23", - "method": "plugin", + "id": "example:listinvoices#23", + "method": "listinvoices", "params": { - "subcommand": "stop", - "plugin": "rpc_command_2.py" + "label": "OFnEKAYYfz6VgFWcXSZC", + "payment_hash": null, + "invstring": null, + "offer_id": null, + "index": null, + "start": null, + "limit": null } } ], "example_json_response": [ { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup", - "active": true, - "dynamic": false - } - ] - }, - { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - } - ] - }, - { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup", - "active": true, - "dynamic": false + "label": "xEoCR94SIz6UIRUEkxum", + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "amount_msat": 11000000, + "status": "unpaid", + "description": [ + "XEoCR94SIz6UIRUEkxum." + ], + "expires_at": 1706757730, + "created_index": 1 } ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false + "label": "zE3sx8BQLpFn801JQixs", + "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk", + "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", + "amount_msat": 100001, + "status": "unpaid", + "description": [ + "ZE3sx8BQLpFn801JQixs." + ], + "expires_at": 1706757734, + "created_index": 1 } ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false + "label": "W7PjXOrD1V9QzqlXde6S", + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "amount_msat": 11000000, + "status": "unpaid", + "description": "W7PjXOrD1V9QzqlXde6S", + "expires_at": 1709228937, + "created_index": 1 } ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/tests/plugins/clnrest-use-options.py", - "active": true, - "dynamic": true + "label": "kQ3N0jwwJABOkKbMq7I4", + "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "amount_msat": 100001, + "status": "unpaid", + "description": "kQ3N0jwwJABOkKbMq7I4", + "expires_at": 1709228938, + "created_index": 1 } ] }, { - "command": "start", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/tests/plugins/fail_htlcs.py", - "active": true, - "dynamic": true + "label": "npVAv3iWbQBCHjsDK1YS", + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "amount_msat": 111, + "status": "unpaid", + "description": "npVAv3iWbQBCHjsDK1YS", + "expires_at": 1709228950, + "created_index": 1 } ] }, { - "command": "stop", - "result": "Successfully stopped fail_htlcs.py." + "invoices": [ + { + "label": "gjXz22eJleM5SNBasEOV", + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "amount_msat": 222, + "status": "unpaid", + "description": "gjXz22eJleM5SNBasEOV", + "expires_at": 1709228952, + "created_index": 2 + } + ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, + "label": "WZcOtfF564NiUQ5vlwRU", + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "amount_msat": 4000000, + "status": "unpaid", + "description": "WZcOtfF564NiUQ5vlwRU", + "expires_at": 1709228953, + "created_index": 3 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, + "label": "7mCJoNSFtlzLA9hEIzX1", + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "amount_msat": 11000000, + "status": "unpaid", + "description": "7mCJoNSFtlzLA9hEIzX1", + "expires_at": 1709228989, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, + "label": "sK54KAL3qX01yNt76y0B", + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "amount_msat": 11000000, + "status": "unpaid", + "description": "sK54KAL3qX01yNt76y0B", + "expires_at": 1709229012, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "label": "n3jx9JMqg936KMwVWRzM", + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "amount_msat": 11000000, + "status": "unpaid", + "description": "n3jx9JMqg936KMwVWRzM", + "expires_at": 1709229023, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/tmp/ltests-7r3sl8sq/test_disable_enable_1/lightning-1/reckless/testplugpass/testplugpass.py", - "active": true, - "dynamic": true + "label": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "amount_msat": 11000000, + "status": "unpaid", + "description": "test \"bolt11\" description, \ud83e\udd70\ud83e\udea2", + "expires_at": 1709229041, + "created_index": 1 } ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, + "label": "AlIJdm8x4tFYvkcrIXAk", + "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "amount_msat": 200000000, + "status": "unpaid", + "description": "AlIJdm8x4tFYvkcrIXAk", + "expires_at": 1709229482, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, + "label": "oGCNVbOBJvbffmQqyVch", + "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "amount_msat": 200000000, + "status": "unpaid", + "description": "oGCNVbOBJvbffmQqyVch", + "expires_at": 1709229496, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, + "label": "1yu6xcmRXk9Dv38jFulR", + "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "amount_msat": 200000000, + "status": "unpaid", + "description": "1yu6xcmRXk9Dv38jFulR", + "expires_at": 1709229505, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, + "label": "PG1CZyQnANz5wHulULi6", + "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "amount_msat": 100000000, + "status": "unpaid", + "description": "PG1CZyQnANz5wHulULi6", + "expires_at": 1709229532, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, + "label": "ScVmvGtECsSc48NVaiGz", + "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "amount_msat": 100000000, + "status": "unpaid", + "description": "ScVmvGtECsSc48NVaiGz", + "expires_at": 1709229533, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, + "label": "exCYz8NgTLbygkgwipco", + "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "amount_msat": 200000000, + "status": "unpaid", + "description": "exCYz8NgTLbygkgwipco", + "expires_at": 1709229542, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, + "label": "Wogsce4STNqPOUMuBw0T", + "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "amount_msat": 100000000, + "status": "unpaid", + "description": "Wogsce4STNqPOUMuBw0T", + "expires_at": 1709229561, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, + "label": "OFPBDlYTIA9f5a02IMZF", + "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "amount_msat": 100000000, + "status": "unpaid", + "description": "OFPBDlYTIA9f5a02IMZF", + "expires_at": 1709229563, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, + "label": "r2fm2NS2lShNwR8MGHwy", + "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "amount_msat": 100000000, + "status": "unpaid", + "description": "r2fm2NS2lShNwR8MGHwy", + "expires_at": 1709229563, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, + "label": "YR07QkHcieUMkSGD8VFv", + "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "amount_msat": 100000000, + "status": "unpaid", + "description": "YR07QkHcieUMkSGD8VFv", + "expires_at": 1709229627, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "label": "nRt598eghJGkxAZ7CENJ", + "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "amount_msat": 100000000, + "status": "unpaid", + "description": "nRt598eghJGkxAZ7CENJ", + "expires_at": 1709229639, + "created_index": 1 + } + ] + }, + { + "invoices": [ { - "name": "/tmp/ltests-7r3sl8sq/test_disable_enable_1/lightning-1/reckless/testplugpass/testplugpass.py", - "active": true, - "dynamic": true + "label": "OFnEKAYYfz6VgFWcXSZC", + "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m", + "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", + "amount_msat": 200000000, + "status": "unpaid", + "description": "OFnEKAYYfz6VgFWcXSZC", + "expires_at": 1709229651, + "created_index": 1 } ] + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-waitinvoice(7)", + "lightning-delinvoice(7)", + "lightning-invoice(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-listnodes.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "listnodes", + "title": "Command to get the list of nodes in the known network.", + "description": [ + "The **listnodes** command returns nodes the node has learned about via gossip messages, or a single one if the node *id* was specified." + ], + "request": { + "required": [], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The public key of the node to list." + ] + } + } + }, + "response": { + "required": [ + "nodes" + ], + "properties": { + "nodes": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "nodeid" + ], + "properties": { + "nodeid": { + "type": "pubkey", + "description": [ + "The public key of the node." + ] + }, + "last_timestamp": { + "type": "u32", + "description": [ + "A node_announcement has been received for this node (UNIX timestamp)." + ] + } + }, + "allOf": [ + { + "if": { + "required": [ + "last_timestamp" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "nodeid", + "last_timestamp", + "alias", + "color", + "features", + "addresses" + ], + "properties": { + "nodeid": {}, + "last_timestamp": {}, + "option_will_fund": {}, + "alias": { + "type": "string", + "description": [ + "The fun alias this node advertized." + ], + "maxLength": 32 + }, + "color": { + "type": "hex", + "description": [ + "The favorite RGB color this node advertized." + ], + "minLength": 6, + "maxLength": 6 + }, + "features": { + "type": "hex", + "description": [ + "BOLT #9 features bitmap this node advertized." + ] + }, + "addresses": { + "type": "array", + "description": [ + "The addresses this node advertized." + ], + "items": { + "type": "object", + "required": [ + "type", + "port" + ], + "additionalProperties": true, + "properties": { + "type": { + "type": "string", + "enum": [ + "dns", + "ipv4", + "ipv6", + "torv2", + "torv3" + ], + "description": [ + "Type of connection (until 23.08, `websocket` was also allowed)." + ] + }, + "port": { + "type": "u16", + "description": [ + "Port number." + ] + } + }, + "if": { + "properties": { + "type": { + "type": "string", + "enum": [ + "dns", + "ipv4", + "ipv6", + "torv2", + "torv3" + ] + } + } + }, + "then": { + "required": [ + "type", + "address", + "port" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "port": {}, + "address": { + "type": "string", + "description": [ + "Address in expected format for **type**." + ] + } + } + }, + "else": { + "required": [ + "type", + "port" + ], + "additionalProperties": false, + "properties": { + "type": {}, + "port": {} + } + } + } + } + } + }, + "else": { + "additionalProperties": false, + "properties": { + "nodeid": {} + } + } + }, + { + "if": { + "required": [ + "option_will_fund" + ] + }, + "then": { + "additionalProperties": true, + "required": [ + "option_will_fund" + ], + "properties": { + "option_will_fund": { + "type": "object", + "additionalProperties": false, + "required": [ + "lease_fee_base_msat", + "lease_fee_basis", + "funding_weight", + "channel_fee_max_base_msat", + "channel_fee_max_proportional_thousandths", + "compact_lease" + ], + "properties": { + "lease_fee_base_msat": { + "type": "msat", + "description": [ + "The fixed fee for a lease (whole number of satoshis)." + ] + }, + "lease_fee_basis": { + "type": "u32", + "description": [ + "The proportional fee in basis points (parts per 10,000) for a lease." + ] + }, + "funding_weight": { + "type": "u32", + "description": [ + "The onchain weight you'll have to pay for a lease." + ] + }, + "channel_fee_max_base_msat": { + "type": "msat", + "description": [ + "The maximum base routing fee this node will charge during the lease." + ] + }, + "channel_fee_max_proportional_thousandths": { + "type": "u32", + "description": [ + "The maximum proportional routing fee this node will charge during the lease (in thousandths, not millionths like channel_update)." + ] + }, + "compact_lease": { + "type": "hex", + "description": [ + "The lease as represented in the node_announcement." + ] + } + } + } + } + } + } + ] + } + } + } + }, + "example_json_request": [ + { + "id": "example:listnodes#1", + "method": "listnodes", + "params": { + "id": "02e29856dab8ddd9044c18486e4cab79ec717b490447af2d4831e290e48d57638a" + } + }, + { + "id": "example:listnodes#2", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } + }, + { + "id": "example:listnodes#3", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:listnodes#4", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } + }, + { + "id": "example:listnodes#5", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "command": "start", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/fetchinvoice", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py", - "active": true, - "dynamic": true - } - ] + "id": "example:listnodes#6", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "command": "stop", - "result": "Successfully stopped currencyUSDAUD5000.py." + "id": "example:listnodes#7", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "command": "rescan", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - } - ] + "id": "example:listnodes#8", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - } - ] + "id": "example:listnodes#9", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "command": "startdir", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", - "active": true, - "dynamic": true - } - ] + "id": "example:listnodes#10", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "command": "rescan", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", - "active": true, - "dynamic": true - }, + "id": "example:listnodes#11", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:listnodes#12", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#13", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#14", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#15", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#16", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#17", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#18", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#19", + "method": "listnodes", + "params": { + "id": null + } + }, + { + "id": "example:listnodes#20", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } + }, + { + "id": "example:listnodes#21", + "method": "listnodes", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } + }, + { + "id": "example:listnodes#22", + "method": "listnodes", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + } + }, + { + "id": "example:listnodes#23", + "method": "listnodes", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199" + } + }, + { + "id": "example:listnodes#24", + "method": "listnodes", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "example_json_response": [ + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", - "active": true, - "dynamic": true + "nodeid": "02e29856dab8ddd9044c14586e4cab79ec717b490447af2d4831e290e48d58638a", + "alias": "some_alias", + "color": "68f442", + "last_timestamp": 1597213741, + "features": "02a2a1", + "addresses": [ + { + "type": "ipv4", + "address": "zzz.yy.xx.xx", + "port": 9735 + } + ] } ] }, { - "command": "list", - "plugins": [ - { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false - }, - { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true - }, - { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false - }, + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-1-102-g7549e10-modded", + "color": "0266e4", + "last_timestamp": 1706153404, + "features": "88a0000a0a69a2", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-102-g7549e10-modded", + "color": "022d22", + "last_timestamp": 1706153404, + "features": "88a0000a0a69a2", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true - }, + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624222, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624222, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true - }, + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624222, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624222, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", - "active": true, - "dynamic": true - }, + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624617, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", - "active": true, - "dynamic": true + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624617, + "features": "88a0000a8a5961", + "addresses": [] } ] }, { - "command": "stop", - "result": "Successfully stopped helloworld.py." + "nodes": [ + { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624617, + "features": "88a0000a8a5961", + "addresses": [] + } + ] }, { - "command": "start", - "plugins": [ + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false - }, + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624617, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", - "active": true, - "dynamic": true + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", - "active": true, - "dynamic": true + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] } ] }, { - "command": "stop", - "result": "Successfully stopped helloworld.py." - }, - { - "command": "startdir", - "plugins": [ + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/autoclean", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/chanbackup", - "active": true, - "dynamic": false + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/bcli", - "active": true, - "dynamic": false + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/commando", - "active": true, - "dynamic": false - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/funder", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/topology", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/keysend", - "active": true, - "dynamic": false + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/offers", - "active": true, - "dynamic": true + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ + { + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/pay", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/recover", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/txprepare", - "active": true, - "dynamic": true - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/spenderp", - "active": true, - "dynamic": false + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/sql", - "active": true, - "dynamic": true + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624765, + "features": "88a0000a8a5961", + "addresses": [] }, { - "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", - "active": true, - "dynamic": false - }, + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624766, + "features": "88a0000a8a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ { - "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", - "active": true, - "dynamic": true + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624881, + "features": "88a0000a0a5961", + "addresses": [] } ] }, { - "command": "stop", - "result": "Successfully stopped rpc_command_1.py." + "nodes": [ + { + "nodeid": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "alias": "SILENTARTIST-v23.11-415-gd120eba", + "color": "022d22", + "last_timestamp": 1708624881, + "features": "88a0000a0a5961", + "addresses": [] + } + ] }, { - "command": "stop", - "result": "Successfully stopped rpc_command_2.py." + "nodes": [ + { + "nodeid": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "alias": "HOPPINGFIRE-v23.11-415-gd120eba", + "color": "035d2b", + "last_timestamp": 1708624881, + "features": "88a0000a0a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ + { + "nodeid": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "alias": "JUNIORFELONY-v23.11-415-gd120eba", + "color": "0382ce", + "last_timestamp": 1708624881, + "features": "88a0000a0a5961", + "addresses": [] + } + ] + }, + { + "nodes": [ + { + "nodeid": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "alias": "JUNIORBEAM-v23.11-415-gd120eba", + "color": "0266e4", + "last_timestamp": 1708624881, + "features": "88a0000a0a5961", + "addresses": [] + } + ] } ], "author": [ - "Antoine Poinsot <> is mainly responsible." - ], - "see_also": [ - "lightning-cli(1)", - "lightning-listconfigs(1)", - "[writing plugins][writing plugins]" - ], - "resources": [ - "Main web site: ", - "", - "[writing plugins]: PLUGINS.md" - ] - }, - "lightning-preapproveinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "rpc": "preapproveinvoice", - "title": "Ask the HSM to preapprove an invoice (low-level)", - "description": [ - "The **preapproveinvoice** RPC command submits the *bolt11* invoice to the HSM to check that it is approved for payment.", - "", - "Generally the **preapproveinvoice** request does not need to be made explicitly, it is automatically generated as part of a **pay** request.", - "", - "By default, the HSM will approve all **preapproveinvoice** requests.", - "", - "If a remote signer is being used it might decline an **preapproveinvoice** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.", - "", - "If a remote signer declines a **preapproveinvoice** request a subsequent attempt to pay the invoice anyway will fail; the signer will refuse to sign the commitment." - ], - "request": { - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": [ - "Bolt11 invoice to submit to the HSM to check." - ], - "added": "v23.02" - } - } - }, - "response": { - "properties": {} - }, - "author": [ - "Ken Sedgwick <> is mainly responsible." + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." ], "see_also": [ - "lightning-pay(7)" + "lightning-listchannels(7)" ], "resources": [ "Main web site: " ] }, - "lightning-preapprovekeysend.json": { + "lightning-listoffers.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.02", - "rpc": "preapprovekeysend", - "title": "Ask the HSM to preapprove a keysend payment (low-level)", + "rpc": "listoffers", + "title": "Command for listing offers", + "warning": "experimental-offers only", "description": [ - "The **preapprovekeysend** RPC command submits the *destination*, *payment_hash*, and *amount_msat* parameters to the HSM to check that they are approved as a keysend payment.", - "", - "Generally the **preapprovekeysend** request does not need to be made explicitly, it is automatically generated as part of a **keysend** request.", - "", - "By default, the HSM will approve all **preapprovekeysend** requests.", - "", - "If a remote signer is being used it might decline an **preapprovekeysend** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.", - "", - "If a remote signer declines a **preapprovekeysend** request a subsequent attempt to pay the keysend anyway will fail; the signer will refuse to sign the commitment." + "The **listoffers** RPC command list all offers, or with `offer_id`, only the offer with that offer_id (if it exists)." ], "request": { - "required": [ - "destination", - "payment_hash", - "amount_msat" - ], + "required": [], "properties": { - "destination": { - "type": "pubkey", - "description": [ - "It is a 33 byte, hex-encoded, node ID of the node that the payment should go to." - ], - "added": "v23.02" - }, - "payment_hash": { - "type": "hex", - "added": "v23.02", + "offer_id": { + "type": "hash", "description": [ - "It is the unique identifier of a payment." - ], - "maxLength": 64, - "minLength": 64 + "Offer_id to get details for (if it exists)." + ] }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount to send in millisatoshi precision; it can be a whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`." - ], - "added": "v23.02" - } - } - }, - "response": { - "properties": {} - }, - "author": [ - "Ken Sedgwick <> is mainly responsible." - ], - "see_also": [ - "lightning-keysend(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-recover.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "recover", - "title": "Reinitialize Your Node for Recovery", - "description": [ - "The **recover** RPC command wipes your node and restarts it with the `--recover` option. This is only permitted if the node is unused: no channels, no bitcoin addresses issued (you can use `check` to see if recovery is possible).", - "", - "*hsmsecret* is either a codex32 secret starting with \"cl1\" as returned by `hsmtool getcodexsecret`, or a raw 64 character hex string.", - "", - "NOTE: this command only currently works with the `sqlite3` database backend." - ], - "request": { - "required": [ - "hsmsecret" - ], - "properties": { - "hsmsecret": { - "type": "string", + "active_only": { + "type": "boolean", "description": [ - "Either a codex32 secret starting with `cl1` as returned by `hsmtool getcodexsecret`, or a raw 64 character hex string." + "If set and is true, only offers with `active` true are returned." ] } } }, "response": { "required": [ - "result" + "offers" ], "properties": { - "result": { - "type": "string", - "added": "v24.05", - "enum": [ - "Recovery restart in progress" - ] + "offers": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "offer_id", + "active", + "single_use", + "bolt12", + "used" + ], + "properties": { + "offer_id": { + "type": "hash", + "description": [ + "The id of this offer (merkle hash of non-signature fields)." + ] + }, + "active": { + "type": "boolean", + "description": [ + "Whether this can still be used." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether this expires as soon as it's paid." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 encoding of the offer." + ] + }, + "used": { + "type": "boolean", + "description": [ + "True if an associated invoice has been paid." + ] + }, + "label": { + "type": "string", + "description": [ + "The (optional) user-specified label." + ] + } + } + } } } }, "example_json_request": [ { - "id": "example:recover#1", - "method": "recover", - "params": { - "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" - } + "id": "example:listoffers#1", + "method": "listoffers", + "params": { + "active_only": false + } + }, + { + "id": "example:listoffers#2", + "method": "listoffers", + "params": [ + "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48" + ] + }, + { + "id": "example:listoffers#3", + "method": "listoffers", + "params": [ + "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e" + ] + }, + { + "id": "example:listoffers#4", + "method": "listoffers", + "params": [ + "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48" + ] + }, + { + "id": "example:listoffers#5", + "method": "listoffers", + "params": [ + "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e" + ] + }, + { + "id": "example:listoffers#6", + "method": "listoffers", + "params": [ + "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc" + ] + }, + { + "id": "example:listoffers#7", + "method": "listoffers", + "params": [ + "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75" + ] + }, + { + "id": "example:listoffers#8", + "method": "listoffers", + "params": [ + "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8" + ] + }, + { + "id": "example:listoffers#9", + "method": "listoffers", + "params": [ + "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746" + ] + }, + { + "id": "example:listoffers#10", + "method": "listoffers", + "params": [ + "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa" + ] + }, + { + "id": "example:listoffers#11", + "method": "listoffers", + "params": [ + "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8" + ] + }, + { + "id": "example:listoffers#12", + "method": "listoffers", + "params": [ + "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89" + ] + }, + { + "id": "example:listoffers#13", + "method": "listoffers", + "params": [ + "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef" + ] + }, + { + "id": "example:listoffers#14", + "method": "listoffers", + "params": [ + "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb" + ] + }, + { + "id": "example:listoffers#15", + "method": "listoffers", + "params": [ + "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9" + ] + }, + { + "id": "example:listoffers#16", + "method": "listoffers", + "params": [ + "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb" + ] + }, + { + "id": "example:listoffers#17", + "method": "listoffers", + "params": [ + "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3" + ] + }, + { + "id": "example:listoffers#18", + "method": "listoffers", + "params": [ + "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8" + ] + }, + { + "id": "example:listoffers#19", + "method": "listoffers", + "params": [ + "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3" + ] + }, + { + "id": "example:listoffers#20", + "method": "listoffers", + "params": [ + "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89" + ] + }, + { + "id": "example:listoffers#21", + "method": "listoffers", + "params": [ + "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b" + ] + }, + { + "id": "example:listoffers#22", + "method": "listoffers", + "params": [ + "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f" + ] + }, + { + "id": "example:listoffers#23", + "method": "listoffers", + "params": [ + "6c102f831ae31cd5fbc8a4b2291cd4bc197b690a4b9b1a39b14fa9ed5b234621" + ] + }, + { + "id": "example:listoffers#24", + "method": "listoffers", + "params": [ + "9f30c5266065421b58a0565e0527c84a29aa70fa8dd6c6e2d631f66abe2f682b" + ] + } + ], + "example_json_response": [ + { + "offers": [ + { + "offer_id": "053a5c566fbea2681a5ff9c05a913da23e45b95d09ef5bd25d7d408f23da7084", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqvqcdgq2z9pk7enxv4jjqen0wgs8yatnw3ujz83qkc6rvp4j28rt3dtrn32zkvdy7efhnlrpr5rp5geqxs783wtlj550qs8czzku4nk3pqp6m593qxgunzuqcwkmgqkmp6ty0wyvjcqdguv3pnpukedwn6cr87m89t74h3auyaeg89xkvgzpac70z3m9rn5xzu28c", + "used": false + }, + { + "offer_id": "3247d3597fec19e362ca683416a48a0f76a44c1600725a7ee1936548feadacca", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgqgqlgzs3gdhkven9v5sxvmmjype82um50ys3ug9kxsmqdvj3c6ut2cuu2s4nrf8k2dulccgaqcdzxgp583utjlu49rcyqt8hc3s797umxn3r9367rdqc577rma7key58fywkajxnuzyapge86hj2pg80rjrma40xdqrxnsnva5l3ce7hz4ua8wf755dees4y9vnq", + "used": true + } + ] + }, + { + "offers": [ + { + "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false + } + ] }, { - "id": "example:recover#2", - "method": "recover", - "params": { - "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" - } + "offers": [ + { + "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false + } + ] }, { - "id": "example:recover#3", - "method": "recover", - "params": { - "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" - } + "offers": [ + { + "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false + } + ] }, { - "id": "example:recover#4", - "method": "recover", - "params": { - "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" - } - } - ], - "example_json_response": [ - {}, - {}, + "offers": [ + { + "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false + } + ] + }, { - "result": "Recovery restart in progress" + "offers": [ + { + "offer_id": "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2p36x2um5ypnx7u3qv9h8j93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false + } + ] }, { - "result": "Recovery restart in progress" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-hsmtool(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-recoverchannel.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "recoverchannel", - "title": "Command for recovering channels bundeled in an array in the form of *Static Backup*", - "description": [ - "The **recoverchannel** RPC command tries to force the peer (with whom you already had a channel) to close the channel and sweeps on-chain fund. This method is not spontaneous and depends on the peer, so use it in case of severe data loss.", - "", - "The *scb* parameter is an array containing minimum required info to reconnect and sweep funds. You can get the scb for already stored channels by using the RPC command 'staticbackup'." - ], - "request": { - "required": [ - "scb" - ], - "properties": { - "scb": { - "type": "array", - "description": [ - "SCB of the channels in an array." - ], - "items": { - "type": "hex" + "offers": [ + { + "offer_id": "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgq9jq5rt5v4ehggrxdaezqv242dzpvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", + "used": false } - } - } - }, - "response": { - "required": [ - "stubs" - ], - "properties": { - "stubs": { - "type": "array", - "items": { - "type": "string", - "description": [ - "Channel IDs of channels successfully inserted." - ] + ] + }, + { + "offers": [ + { + "offer_id": "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqdq423qgq9hq5yr5v4ehggrxdaezqvfwxycyz42yzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false } - } - } - }, - "example_json_request": [ + ] + }, { - "id": "example:recoverchannel#1", - "method": "recoverchannel", - "params": [ - [ - "0000000000000001c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5904017f0000019f0bc3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a0000000000000000000186a000021000" - ] + "offers": [ + { + "offer_id": "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9zser9wd3hy6tsw35k7m3qtsszygqfyq9zpcur3t3c8vlrs2a78qanuwptjgp3u6w6793pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false, + "label": "label \\ \" \t \n" + } ] }, { - "id": "example:recoverchannel#2", - "method": "recoverchannel", - "params": [ - [ - "0000000000000001c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5904017f0000019f0bc3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a0000000000000000000186a000021000" - ] + "offers": [ + { + "offer_id": "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpg9kjumnw4jhygr5v4ehgy3gv3jhxcmjd9c8g6t0dcs9cgpzyqyjqz3quwpc4curk03c9wlrswe78q4eyqc7d8d0zcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false + } ] - } - ], - "example_json_response": [ + }, { - "stubs": [ - "c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a" + "offers": [ + { + "offer_id": "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgdhzatpde6xjaretakkz7pqv4uxjum5v4hxxefqw3jhxaq5qqtzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rq", + "used": false + } ] }, { - "stubs": [ - "c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a" + "offers": [ + { + "offer_id": "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaq5qyppvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqwq3ja0jdpzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqqz", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqq5", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqrc", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqqykq", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqquyq", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqgegq", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsz", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqs5", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsw", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "6c102f831ae31cd5fbc8a4b2291cd4bc197b690a4b9b1a39b14fa9ed5b234621", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgq5v", + "used": false + } + ] + }, + { + "offers": [ + { + "offer_id": "9f30c5266065421b58a0565e0527c84a29aa70fa8dd6c6e2d631f66abe2f682b", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgpqz", + "used": false + } ] } ], "author": [ - "Aditya <> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-getsharedsecret(7)" + "lightning-offer(7)", + "lightning-listoffers(7)" ], "resources": [ "Main web site: " ] }, - "lightning-renepay.json": { + "lightning-listpays.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "renepay", - "title": "Command for sending a payment to a BOLT11 invoice", - "added": "v23.08", + "rpc": "listpays", + "title": "Command for querying payment status", "description": [ - "**renepay** is a new payment plugin based on Pickhardt-Richter optimization method for Multi-Path-Payments. This implementation has not been thoroughly tested and it should be used with caution.", - "", - "The response will occur when the payment fails or succeeds. Once a payment has succeeded, calls to **renepay** with the same *invstring* will not lead to a new payment attempt, but instead it will succeed immediately.", - "", - "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." + "The **listpay** RPC command gets the status of all *pay* commands, or a single one if either *bolt11* or *payment_hash* was specified." ], "request": { - "required": [ - "invstring" - ], + "required": [], "properties": { - "invstring": { + "bolt11": { "type": "string", "description": [ - "Bolt11 invoice which the RPC command attempts to pay. Currently, **renepay** supports bolt11 invoices only." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "If the *invstring* does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*. in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*." - ] - }, - "maxfee": { - "type": "msat", - "description": [ - "*maxfee* is a hard bound, in the sense that the command will never attempt a payment when the fees exceed that value." - ] - }, - "maxdelay": { - "type": "u32", - "description": [ - "Overrides the value of `max-locktime-blocks` for this payment. It serves to limit the locktime of funds in the payment HTLC measured in blocks." + "Bolt11 string to get the payment details." ] }, - "retry_for": { - "type": "u32", - "description": [ - "Measured in seconds specifies how much time it is allowed for the command to keep retrying the payment." - ], - "default": "60 seconds" - }, - "description": { - "type": "string", + "payment_hash": { + "type": "hash", "description": [ - "Only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid." + "Payment hash to get the payment details." ] }, - "label": { + "status": { "type": "string", "description": [ - "Used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)." + "To filter the payment by status." + ], + "enum": [ + "pending", + "complete", + "failed" ] - }, - "dev_use_shadow": { - "hidden": true, - "type": "boolean" } } }, "response": { "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" + "pays" ], "properties": { - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "created_at": { - "type": "number", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "parts": { - "type": "u32", - "description": [ - "How many attempts this took." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount the recipient received." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "Total amount we sent (including fees)." - ] - }, - "status": { - "type": "string", - "enum": [ - "complete", - "pending", - "failed" - ], - "description": [ - "Status of payment." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment." - ] + "pays": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "payment_hash", + "status", + "created_at" + ], + "properties": { + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "pending", + "failed", + "complete" + ], + "description": [ + "Status of the payment." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment if known." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "completed_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was completed." + ] + }, + "label": { + "type": "string", + "description": [ + "The label, if given to sendpay." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (if pay supplied one)." + ] + }, + "description": { + "type": "string", + "description": [ + "The description matching the bolt11 description hash (if pay supplied one)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied for pay: **experimental-offers** only)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "complete" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "amount_sent_msat", + "preimage" + ], + "properties": { + "payment_hash": {}, + "status": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "label": {}, + "bolt11": {}, + "description": {}, + "bolt12": {}, + "amount_msat": { + "type": "msat", + "description": [ + "The amount of millisatoshi we intended to send to the destination." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "The amount of millisatoshi we sent in order to pay (may include fees and not match amount_msat)." + ] + }, + "preimage": { + "type": "secret", + "description": [ + "Proof of payment." + ] + }, + "number_of_parts": { + "type": "u64", + "description": [ + "The number of parts for a successful payment (only if more than one)." + ] + } + } + } + }, + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "failed" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "amount_sent_msat" + ], + "properties": { + "payment_hash": {}, + "status": {}, + "destination": {}, + "created_at": {}, + "label": {}, + "bolt11": {}, + "description": {}, + "bolt12": {}, + "amount_sent_msat": {}, + "erroronion": { + "type": "hex", + "description": [ + "The error onion returned on failure, if any." + ] + } + } + } + } + ] + } } }, "post_return_value_notes": [ - "You can monitor the progress and retries of a payment using the lightning-renepaystatus(7) command." + "The returned array is ordered by increasing **created_at** fields." ] }, - "optimality": [ - "**renepay** is based on the work by Pickhardt-Richter's *Optimally Reliable & Cheap Payment Flows on the Lightning Network*. Which means the payment command will prefer routes that have a higher probability of success while keeping fees low.", - "", - "The algorithm records some partial knowledge of the state of the Network deduced from the responses obtained after evey payment attempt. This knowledge is kept through different payment requests, but decays with time to account for the dynamics of the Network (after 1 hour all previous knowledge will be erased). Knowledge from previous payment attempts increases the reliability for subsequent ones.", - "", - "Higher probabilities of success and lower fees cannot generally by optimized at once. Hence **renepay** combines the two in different amounts seeking solutions that satisfy *maxfee* bound and a target for 90% probability of success. *maxfee* is a hard bound, in the sense that the command will never attempt a payment when the fees exceed that value. While the probability target is not compulsory (but desirable), i.e. if the best route does not satisfy the 90% probability target it will be tried anyways.", - "", - "When *maxfee* and the 90% probability bounds are satified, the algorithm will optimize the fees to its lowest value." - ], - "randomization": [ - "To protect user privacy, the payment algorithm performs *shadow route* randomization. Which means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", - "", - "Route randomization will never exceed *maxfee* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." - ], - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 200: Other payment attempts are in progress.", - "- 203: Permanent failure at destination.", - "- 205: Unable to find a route.", - "- 206: Payment routes are too expensive.", - "- 207: Invoice expired. Payment took too long before expiration, or already expired at the time you initiated payment.", - "- 210: Payment timed out without a payment in progress.", - "- 212: Invoice is invalid." - ], "example_json_request": [ { - "id": "example:renepay#1", - "method": "renepay", + "id": "example:listpays#1", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pjmxj9jsp5suc4cag0lv3wemllkvms56e6ll0w867cczqfttuu8cpfl089f9kspp56wvxtdh8fxg5r5y3kg3klxceakqaydskwzatga25v95da8nzkmwqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqkmyhymt0j7hy38vzqxx465s4ys0fg78flnjqfx4clvdq9mrmgglpcnjrrnhtk7maa87pfvjez88hke8w97zvuecwswaf9gzyqlsthegpza67eu" + "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#2", - "method": "renepay", + "id": "example:listpays#2", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pjmxj8wsp5n6dzhjjfmfdwu37fehk4drlt2h20tv6t9hcnr48z8ngn5zmwg5yqpp5wzcyrjy0arne95eavpycg4qu8afamaen037tlahkhtt6gr3xphnsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqp7sqqqqq9qqzs9qxpqysgqpysyrheddmgetxv27azw2eluskzzqqm6tk2a9u9lwku6pge00tqsaguyu8g5gjdvkh3l75cmjktzskr0k5d59hfy3rx6elda9x8d4egp3rkwp7" + "bolt11": "lnbcrt123n1pjmxp7qsp5u84368dz7yhzcqm955h96wdqch7uarasun45cr0vs5d8t0cv5avqpp5r9p0dp92guaatrmhf302m0dyj4n79gk93qu2l5tagfxq3dedgfqsdq5v3jhxcmjd9c8g6t0dc6qxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq46wu0fznfx27rcnyzhcttf8yqx3lwqs482yxlead0fyt8mefrrrj5m379fa5qukgquf9tnwsuj3nnfmwkzkfg6pyhzq6w8gauuh6m5cqgur64n", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#3", - "method": "renepay", + "id": "example:listpays#3", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pja0fp0sp5djlp0ekjmgymmtttslk7t8ltnw9xn7596lthwu2x40qshxdn74cspp5krnnfglrz2qvwgsdxuwpr6cg2t74k54n4t3z0c7zz8xf8sjxqj4sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqcrhz2zyg4x06ajey954dyn4pf7rzh2zh6f29nuqccn7zwr4r2355lghqydu7za992apjrgmcuyruzrxk9n5ul4enuzgpu7re6ucmw0qqte5zjg" + "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#4", - "method": "renepay", + "id": "example:listpays#4", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pja0fzzsp5f8jwh3v97963yhh0x68jr2tpsplr7ty5uv6me2rn232q8lcezmkqpp574gwt0502wmt5d5xypzqg4kk8a437twpep83j2scn5nyw5gmjgfqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqp7sqqqqq9qqzs9qxpqysgqxxywht5ar6nkcvr6q25phvr08f68t8j48t8mlc45es7rav23ue5xxynghrj7vt79c5gu4393eve03lulhnk9058u6ff8njyemawjypqqutv6xt" + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#5", - "method": "renepay", + "id": "example:listpays#5", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fz4sp5k0sv4q2tgwl5m7ckz76rk740t5y9g9frqksfazdam4hs64tq7qhqpp53nk2rprp90wz384g630f3ap7hs055p88sk6pwzcgs4e7zt4eyjasdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq4525t279n7cpkn9eau3hl0j47ed2r3hpgyksjxlde4eq4mgr3dlxq7jzlg9epw8mn2fsjdpv6vvfcwarmagepckn0pqcx3hxpcz4e3gpcxpzka", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#6", - "method": "renepay", + "id": "example:listpays#6", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fzhsp5fvhlhw09ja7np2rge98959w5ukgk3greqyx85xd65sxpj247k3rqpp5gthzl5trqym39qxr4zlklhk2t42lmylx4avg4n460ygc89eg5xssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqgtz8pez8jp9dtpn2fpvs3sekn40hz9809dhectc86f353ezx94ds5dxrv3t2ay4aj8cysxlw9ehz0x9yev0y4ynqmxhttaeegk4nfacqvpwmv4", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#7", - "method": "renepay", + "id": "example:listpays#7", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fzesp5xldn6x7uyr6dhfzd7nz80hreu7qjuvm89dqn2hx0ceffmquu394qpp54n9vrf3mvx36fykmllr3gpsm773kur3mmpdnn3kgztfs4n7ysghsdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqvruzxuw7f93uqrdd0qf56gpzaq8snwh9t5fv0eyp0dze8vnx4mlylhxenpj3g5djzjph5ny7dxzjggz4cl9lkc2x94sd4n0w5kqkxvgpzprzdg", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#8", - "method": "renepay", + "id": "example:listpays#8", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fzusp57ps2judrwzejepqghdz7ms9280f4t8lapa02zwghtq5f75z4ls6spp5rj9u4c4tuqepq2frs5qt35mm6z6lgqk9u48adkdr0saxlrnu6pssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqc9wgq5vrhv99fltlc527zx4ll4uph3dz7pqmu0u3mww8kraxsa6kal7km9fjc9q7czfdh7wg30drfmfxygxs0j0wxrjg5lc68umgrqcq3ua86t", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#9", - "method": "renepay", + "id": "example:listpays#9", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fz7sp5fcfqagrujd58gusle54yddm3w2ha2y8euyytkzg74lukpkexstaqpp5usmthsx0afy66xnyl053muresxhadv9k0cv60r80nespe5prpausdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqlf9vavywfalgfsedqt9xszdwyyep58e5h3u9kzndh6tz5tutenr55h4rh3kxgxursn0tmjsza4hvpx5swfc8g6zvvurr903hmlsygagpy8kugx", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#10", - "method": "renepay", + "id": "example:listpays#10", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0frqsp5euapzlh34ms9gwuhczxw4c4637xxdtk6sxqaps9hs4w8yspzf0nspp5yz3f4n0t7vty8qlxcckgvqglmfjymzuqnkasnytuq3hug9tzrjgqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq9qyy72pfna6uqh2aupeu8jj2tstkqu2tfatdpwwlltr957xve4lsechvvqfs49uqc468t85mmgesggkplay63l6phxu2w2q2qvwxrqgqrcrq3s", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#11", - "method": "renepay", + "id": "example:listpays#11", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0frrsp5wgyhskcpmvcr9k6xn5xw4vg0pcdjw5xc02842mxskczj4qrrj7pqpp5uy32t9tac84mzf3fanw59wh4t4vjdcy2jvl68eechsagvr60q3ssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq3zcls7ekz4qe8m54fxl3x8zex8wp3fjlavkmnyrslvvmugyysen9r6fq7awj5tw5v3x5wu3h5fnf2psyz2f65vvf445qyyph3qddajcq4lkxgt", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#12", - "method": "renepay", + "id": "example:listpays#12", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fr9sp5yjgp2wja2rn67v6wgxpp2e2rke7jcwdj3uk0ls85nzlgj3x3hn0spp5zlchex665vj6d0mskxt7wsp44r2vlct997a8htuvzwuffns8cz7sdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq5flljdh48vq83548d6zpw5rhfrze8nkphkupgugdupj4lfkcaffz0x7m09sjlf8glmanwz8xrh9vyehrvcce2ccmp65zglqt2w3e0xcqn7ek4x", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#13", - "method": "renepay", + "id": "example:listpays#13", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fr8sp5jv9pvenu228gjr7tekr7uxxmrtxzwda3dy7a7fy4ax4uzvu00hnqpp5llzrnr8ps56z57zr6zvjv5qy9menh80uwy0j3lft97negzd2wmxqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqmwwpwqlkh3j7f52e6ncv40645m074ssqy379zsfxr2ppqnzrhy787ms67ssmv3zt283z9gls2dwv4r9vph3gwr92zjukytqpw4yje3sppucsmh", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#14", - "method": "renepay", + "id": "example:listpays#14", + "method": "listpays", "params": { - "invstring": "lnbcrt100n1pja0fr2sp5pqc499c2unfn8v3cfl7amz74kkptf8p953kxltw2ylj5kr5kpnhqpp5zq3fex0786s7y7te5twm874zvewn2s0pmpdedlkj8znl8uqxyvyqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq0kluzr0stzvpqgpk384crslm24due73euw6kxldkyjm0fh4jvkjr83328t5jwehus83vlzfjvnpexfvh0lxfxvtyu8sj8t3kwnlh6vcqgjd38g", - "dev_use_shadow": true + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#15", - "method": "renepay", + "id": "example:listpays#15", + "method": "listpays", "params": { - "invstring": "lnbcrt12m1pja0fyzsp5n4h0w940pmd0aas0knvxm68d7g0pm2ujsal23zkp2lapsrrwj5rqpp5p0thca0gkjyeqtn36qruxqprxh6kduas9wc7ychalw5s94rjcrysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqvuqqqqsqqqqqqqqqqqqqqqqqqcrzjqvk0zhg6m8z2prfxa2cerrmn9k803lwx4wukgzlnmvt5xukyjycyuqqqdcqqqqcqqqqqqqqqqqqqqqqqqc9qxpqysgqqvmuazp5f72f38dp7x5jd6phggw6ds70jcaag2la6qhczdhke829nmutg4wv92x89xzw3vn7swuvmn0zyl6s6qulul87s7rwtfwhftcq9w0e7j" + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#16", - "method": "renepay", + "id": "example:listpays#16", + "method": "listpays", "params": { - "invstring": "lnbcrt210n1pja0fytsp5n6a0pgl0lm57033jujrsxjkdmwjesyejsjx0pe3vv4etyftksa6qpp5jj6l9n3xmj6fsdnvtvuzmrlwq8wxjlw2j7mea7edj7a3s80j06zqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq6fxy5heeyxatm9at099p3yw8g8ns9rr4umfnxejqd0dwqzg73c9825y8gev90scppr8e42x0p2ykypdgwkfm6plpcrcrpyw6hejhjmqqaz2xv3" + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#17", - "method": "renepay", + "id": "example:listpays#17", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", - "dev_use_shadow": false + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#18", - "method": "renepay", + "id": "example:listpays#18", + "method": "listpays", "params": { - "invstring": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", - "dev_use_shadow": false + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#19", - "method": "renepay", + "id": "example:listpays#19", + "method": "listpays", "params": { - "invstring": "lnbcrt1pja0f9csp5k9q85nedenk8gqwladdzc05ejxwrc02gxsyjejy4yvx3guj4xypqpp5qvwrrvetu4pwtcn8akdtukdch4lu9nnfrtn5q224lh3kzrsd7vxsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqsfxza53ys64slu08h2fpy3jr025ye6av8ngu5809azwuvu9pm0ts33t2rd2xupq3xwhstzlftww8w6re8dr7gxqaaxm8x6jjq4p9jrqpu5768c", - "dev_use_shadow": false, - "amount_msat": 655794 + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#20", - "method": "renepay", + "id": "example:listpays#20", + "method": "listpays", "params": { - "invstring": "lnbcrt1pja0f9esp5yf32alzff9nf0vehepp2uhf8e5cg6knck2glgwt4eg9w003ca55spp5kn07aa3t607vfksvay4x4kwzqrlcjr4ynqn5mu87qemv9d2x6nysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq8l7armfugjlzmhldvw4c64tpuggr5v0lyld8da62elkacz4mn76xll3ampfrvhddt2grc4vjym0efxcf3fm7trrm9dx6kwpm2jdp9wqqdlj8dq", - "dev_use_shadow": false, - "amount_msat": 40947 + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#21", - "method": "renepay", + "id": "example:listpays#21", + "method": "listpays", "params": { - "invstring": "lnbcrt1pja0f9msp57kent27ketj64y6pwuaqqs2hddknfv8ca5ws9uerah2973td2pzspp57r6h66z53mue4y4qr3hcfrk07tj9pe40k29nw2hg9ra93tnp8k9sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqk3euqmn47lnt694e76cu6dr4vmtmag0slwe4ffawduyhf03kx3xp85myz83xqwheuzdjfza9t9laqxe7n8t55dxzk5j59wvvc6kg5ecp6pl6y0", - "dev_use_shadow": false, - "amount_msat": 305589 + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#22", - "method": "renepay", + "id": "example:listpays#22", + "method": "listpays", "params": { - "invstring": "lnbcrt1pja0f9usp54kn5x3prhltcw9sz49mjnurcsm9ynezc8708uz4fnjq8je2lelqqpp5dqg7w3zeh4qgev23tt7nqu6ffcugn36y7jcyumnq8cjalmj0lp2sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqw89judp88yp4ej9d7hjvdrlzhpy9hts43pngm7sf6r0u4t7zc3s44gf5964zarc8xmf3h2xuddwkt4v35j3d4yl6ngu740f0dslqrvsqe35hu3", - "dev_use_shadow": false, - "amount_msat": 268401 + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } }, { - "id": "example:renepay#23", - "method": "renepay", + "id": "example:listpays#23", + "method": "listpays", "params": { - "invstring": "lnbcrt1pja0f9asp50kzadmeyy78eymjvhnlk5dznl3g5k5x8agh52ewjtg0jclas4ylspp5crsutd9hg05lxyhzphdcuyng6z3knrsdae83mxwawa842gz3vj3sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqr5yzhxmup4muyaz6x8u2dy4qyu9t5qzuf5k9xayvj5kg7tve60gjk4jrv2l76exnj2xkuzhtwky23pkkxedzy6p9yrsgyqdwj7dv5gsp4zcw6v", - "dev_use_shadow": false, - "amount_msat": 548925 + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "payment_hash": null, + "status": null } } ], "example_json_response": [ { - "payment_preimage": "0a3fd704b34f47d6e306dbac78141753be83848d3a19725c972abfc367dcc591", - "payment_hash": "d39865b6e7499141d091b2236f9b19ed81d2361670bab475546168de9e62b6dc", - "created_at": 1706248370.6267352, - "parts": 1, - "amount_msat": 123000, - "amount_sent_msat": 123000, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt123n1pjmxp7qsp5hxu7u28y0nx4v689u3hwzdzse2w9yaylhheavf9dxvwtdup7pvespp5ha66gxse68j4n6755v7299dnmq4w34gp0znxu0xzahdc43zrg40qdq5v3jhxcmjd9c8g6t0dc6sxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqk74dvqlvr92ayy5s7x0r0u9xywez6wu4h8pfta386cw6x7cdrvn8pz87kyg5c930aent423gm9ylpaw5p35k72f02hg0s9dulg4d8fqpgj7gpm", + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "bf75a41a19d1e559ebd4a33ca295b3d82ae8d50178a66e3cc2eddb8ac443455e", + "status": "failed", + "created_at": 1706231854, + "amount_sent_msat": 0 + } + ] }, { - "payment_preimage": "e31bc80b1a7c2dacdf19d3eaa349b435fffc62a0ae4abe580da91a6ef8ea5c3a", - "payment_hash": "70b041c88fe8e792d33d604984541c3f53ddf7337c7cbff6f6bad7a40e260de7", - "created_at": 1706248430.293215, - "parts": 1, - "amount_msat": 123000, - "amount_sent_msat": 125002, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt123n1pjmxp7qsp5u84368dz7yhzcqm955h96wdqch7uarasun45cr0vs5d8t0cv5avqpp5r9p0dp92guaatrmhf302m0dyj4n79gk93qu2l5tagfxq3dedgfqsdq5v3jhxcmjd9c8g6t0dc6qxqrp7scqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq46wu0fznfx27rcnyzhcttf8yqx3lwqs482yxlead0fyt8mefrrrj5m379fa5qukgquf9tnwsuj3nnfmwkzkfg6pyhzq6w8gauuh6m5cqgur64n", + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "1942f684aa473bd58f774c5eadbda49567e2a2c58838afd17d424c08b72d4241", + "status": "complete", + "created_at": 1706231849, + "completed_at": 1706231854, + "preimage": "89ce412a2089cbcb72a73ce755337cf693859ea58f21ef0d1caf286a9b0f2a7c", + "amount_msat": 12300, + "amount_sent_msat": 12301 + } + ] }, { - "payment_preimage": "87b97b29aba98e6c78dff6ee0dcdf02ed6db65759a32c27373e5582653a5f277", - "payment_hash": "b0e734a3e31280c7220d371c11eb0852fd5b52b3aae227e3c211cc93c24604ab", - "created_at": 1708631087.979675, - "parts": 1, - "amount_msat": 123000, - "amount_sent_msat": 123000, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", + "description": "One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon", + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", + "status": "complete", + "created_at": 1708633906, + "completed_at": 1708633907, + "preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", + "amount_msat": 42, + "amount_sent_msat": 42 + } + ] }, { - "payment_preimage": "e5dbf1ff7d01f0705615f50a5cd065b721721e6252843a5e088205cc123d8567", - "payment_hash": "f550e5be8f53b6ba368620440456d63f6b1f2dc1c84f192a189d2647511b9212", - "created_at": 1708631106.248763, - "parts": 1, - "amount_msat": 123000, - "amount_sent_msat": 125002, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [] }, { - "payment_preimage": "236a16532979196b466222fe431455a577aee9da7753fd637c0ee349332da528", - "payment_hash": "8ceca184612bdc289ea8d45e98f43ebc1f4a04e785b4170b088573e12eb924bb", - "created_at": 1708631125.3593059, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [] }, { - "payment_preimage": "57292371010c169f8838dd3a5293dab276033fc7aa36628c1ae267a6774719a2", - "payment_hash": "42ee2fd16301371280c3a8bf6fdeca5d55fd93e6af588aceba7911839728a1a1", - "created_at": 1708631127.5253572, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "4e4aa929feb1f21331030696f69e0a3aed193054f98e171463de283a05a8fa78", - "payment_hash": "accac1a63b61a3a492dbffc714061bf7a36e0e3bd85b39c6c812d30acfc4822f", - "created_at": 1708631129.855767, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "572562a81e63565e008642a0a375243e43aa9f699f1d318ef1f47dea34203dcd", - "payment_hash": "1c8bcae2abe0321029238500b8d37bd0b5f402c5e54fd6d9a37c3a6f8e7cd061", - "created_at": 1708631132.2008233, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "fea3c2ffa3e86ff13335005262604c4772f96dea48dd40c1f2ab58fa442ac53a", - "payment_hash": "e436bbc0cfea49ad1a64fbe91df07981afd6b0b67e19a78cef9e601cd0230f79", - "created_at": 1708631134.503752, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "d6a1052a28fdb352b7049a261a7fd027dcd33b287e304900f304403feb233668", - "payment_hash": "20a29acdebf3164383e6c62c86011fda644d8b809dbb09917c046fc415621c90", - "created_at": 1708631136.828003, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "cda217391dbd6d73745ecbc3c4f373c722c51e940ed76162f38a88ca95393931", - "payment_hash": "e122a5957dc1ebb12629ecdd42baf55d5926e08a933fa3e738bc3a860f4f0461", - "created_at": 1708631139.1489058, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "cdb3a9e61e94fbdf2468251645d5b2b8117225a5b044a989f105bde90b51e961", - "payment_hash": "17f17c9b5aa325a6bf70b197e74035a8d4cfe1652fba7baf8c13b894ce07c0bd", - "created_at": 1708631141.4233887, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "ab686b2035ec6da7eb3843e8fefdba77f3a7dc7b95c818c1dc34daea4fae3232", - "payment_hash": "ffc4398ce185342a7843d0992650042ef33b9dfc711f28fd2b2fa79409aa76cc", - "created_at": 1708631143.7291179, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "66c499e41f39dda6b40922f59515e4a3709dfe9481c9d1c60f32dd52ddb8823c", - "payment_hash": "10229c99fe3ea1e27979a2ddb3faa2665d3541e1d85b96fed238a7f3f0062308", - "created_at": 1708631146.0185137, - "parts": 1, - "amount_msat": 10000, - "amount_sent_msat": 10001, - "status": "complete", - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "8fc2e0d2e8fa933c20727f818a8ab2f6805ce16758e4bc5d9120cf6a630e7bf9", - "payment_hash": "0bd77c75e8b489902e71d007c3002335f566f3b02bb1e262fdfba902d472c0c9", - "created_at": 1708631170.2165158, - "parts": 2, - "amount_msat": 1200000000, - "amount_sent_msat": 1200000000, - "status": "complete", - "destination": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "b96ffe2ba597cade50ff5fcbad89637e7069cd9973d1cfb386aef520bb2b75b1", - "payment_hash": "94b5f2ce26dcb498366c5b382d8fee01dc697dca97b79efb2d97bb181df27e84", - "created_at": 1708631206.4784534, - "parts": 1, - "amount_msat": 21000, - "amount_sent_msat": 21000, - "status": "complete", - "destination": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", - "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", - "created_at": 1708631223.3308167, - "parts": 1, - "amount_msat": 123000, - "amount_sent_msat": 123000, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", - "status": "complete", - "amount_msat": 123000, - "amount_sent_msat": 123000, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", - "created_at": 1708631223, - "parts": 1 + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "28d4185e0acf3b796e02237c9943d551ea0e61da15661ab611935809ba9a957a", - "payment_hash": "031c31b32be542e5e267ed9abe59b8bd7fc2ce691ae7402955fde3610e0df30d", - "created_at": 1708631224.439994, - "parts": 1, - "amount_msat": 655794, - "amount_sent_msat": 655794, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "808b2f49552445346ef6fe923cb6b21ff22cdaf7eb56da62ab65f0e464628945", - "payment_hash": "b4dfeef62bd3fcc4da0ce92a6ad9c200ff890ea498274df0fe0676c2b546d4c9", - "created_at": 1708631225.7752624, - "parts": 1, - "amount_msat": 40947, - "amount_sent_msat": 40947, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "c987de46e2a821efc4790db09f3cba01c7073ce8b65e154138df84ad6e0e414e", - "payment_hash": "f0f57d68548ef99a92a01c6f848ecff2e450e6afb28b372ae828fa58ae613d8b", - "created_at": 1708631227.0958254, - "parts": 1, - "amount_msat": 305589, - "amount_sent_msat": 305589, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "274129553d5f8b513be557986c014d917c68624ae912a16daf79bb0db1240b31", - "payment_hash": "6811e74459bd408cb1515afd3073494e3889c744f4b04e6e603e25dfee4ff855", - "created_at": 1708631228.4612594, - "parts": 1, - "amount_msat": 268401, - "amount_sent_msat": 268401, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] }, { - "payment_preimage": "a635e92d024beebfc58519e6544888aa560ba3bcaba7e74924e4b8432eaa56f5", - "payment_hash": "c0e1c5b4b743e9f312e20ddb8e1268d0a3698e0dee4f1d99dd774f55205164a3", - "created_at": 1708631229.7841823, - "parts": 1, - "amount_msat": 548925, - "amount_sent_msat": 548925, - "status": "complete", - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + "pays": [ + { + "bolt11": "lnbcrt1m1pja030qsp5m52a90u5dnmwfd7z03lzgcgtevfp0jw55fah67dpkdq9rvjgm0wspp5tethxag8rx86utdat2d7qxpld3dzvgdc5ty4x28ajzpz6kqctqqsdqsw3jhxazlwfjhgunexqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqd5qqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq55v692ujqncrl6g9n4qtutn6cyv3pr976aew5v2ap73lvgywkcxnjf2r6hk7ptyke2gmka4nqatm48mwds9vumx5erhxurz45tsy0sgp24jgzk", + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "payment_hash": "5e57737507198fae2dbd5a9be0183f6c5a2621b8a2c95328fd90822d58185801", + "status": "pending", + "created_at": 1708639712, + "amount_msat": 100000000, + "amount_sent_msat": 100003003 + } + ] } ], "author": [ - "Eduardo Quintana-Miranda <> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-renepaystatus(7)", - "lightning-listpays(7)", - "lightning-invoice(7)" + "lightning-pay(7)", + "lightning-paystatus(7)", + "lightning-listsendpays(7)" ], "resources": [ - "Main web site: ", - "", - "Pickhardt R. and Richter S., *Optimally Reliable & Cheap Payment Flows on the Lightning Network* " + "Main web site: " ] }, - "lightning-renepaystatus.json": { + "lightning-listpeerchannels.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "renepaystatus", - "title": "Command for quering the status of previous renepay attempts", - "added": "v23.08", + "added": "v23.02", + "rpc": "listpeerchannels", + "title": "Command returning data on channels of connected lightning nodes", "description": [ - "The **renepaystatus** RPC command queries the payment plugin **renepay** for the status of previous payment attempts.", + "The **listpeerchannels** RPC command returns data on channels of the network, with the possibility to filter the channels by node id.", "", - "This command always succeeds." + "If no *id* is supplied, then channel data on all lightning nodes that are connected, or not connected but have open channels with this node, are returned." ], "request": { "required": [], "properties": { - "invstring": { - "type": "string", + "id": { + "type": "pubkey", "description": [ - "If specified, the command will return a list of payment attempts whose invoice matches *invstring*, otherwise all payments with be listed." + "If supplied, limits the channels to just the peer with the given ID, if it exists." ] } } }, "response": { "required": [ - "paystatus" + "channels" ], "properties": { - "paystatus": { + "channels": { "type": "array", - "description": [ - "A list of payments attempted by renepay." - ], "items": { "type": "object", - "additionalProperties": false, + "additionalProperties": true, "required": [ - "bolt11", - "payment_hash", - "created_at", - "groupid", - "amount_msat", - "status", - "notes" + "state", + "opener", + "features", + "peer_connected", + "peer_id" ], "properties": { - "bolt11": { + "peer_id": { + "type": "pubkey", + "description": [ + "Node Public key." + ] + }, + "peer_connected": { + "type": "boolean", + "description": [ + "A boolean flag that is set to true if the peer is online." + ] + }, + "reestablished": { + "type": "boolean", + "added": "v24.02", + "description": [ + "A boolean flag that is set to true if we have successfully exchanged reestablish messages with this connection." + ] + }, + "state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "CHANNELD_AWAITING_SPLICE", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY" + ], + "description": [ + "The channel state, in particular `CHANNELD_NORMAL` means the channel can be used normally." + ] + }, + "scratch_txid": { + "type": "txid", + "description": [ + "The txid we would use if we went onchain now." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v23.05", + "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." + ] + } + } + } + }, + "updates": { + "type": "object", + "added": "v24.02", + "description": [ + "Latest gossip updates sent/received." + ], + "additionalProperties": false, + "required": [ + "local" + ], + "properties": { + "local": { + "type": "object", + "description": [ + "Our gossip for channel." + ], + "additionalProperties": false, + "added": "v24.02", + "required": [ + "htlc_minimum_msat", + "htlc_maximum_msat", + "cltv_expiry_delta", + "fee_base_msat", + "fee_proportional_millionths" + ], + "properties": { + "htlc_minimum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Minimum msat amount we allow." + ] + }, + "htlc_maximum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Maximum msat amount we allow." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "added": "v24.02", + "description": [ + "Blocks delay required between incoming and outgoing HTLCs." + ] + }, + "fee_base_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Amount we charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "added": "v24.02", + "description": [ + "Amount we charge to use the channel in parts-per-million." + ] + } + } + }, + "remote": { + "type": "object", + "added": "v24.02", + "description": [ + "Peer's gossip for channel." + ], + "additionalProperties": false, + "required": [ + "htlc_minimum_msat", + "htlc_maximum_msat", + "cltv_expiry_delta", + "fee_base_msat", + "fee_proportional_millionths" + ], + "properties": { + "htlc_minimum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Minimum msat amount they allow." + ] + }, + "htlc_maximum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Maximum msat amount they allow." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "added": "v24.02", + "description": [ + "Blocks delay required between incoming and outgoing HTLCs." + ] + }, + "fee_base_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Amount they charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "added": "v24.02", + "description": [ + "Amount they charge to use the channel in parts-per-million." + ] + } + } + } + } + }, + "ignore_fee_limits": { + "type": "boolean", + "added": "v23.08", + "description": [ + "Set if we allow this peer to set fees to anything they want." + ] + }, + "lost_state": { + "type": "boolean", + "added": "v24.02", + "description": [ + "Set if we are fallen behind i.e. lost some channel state." + ] + }, + "feerate": { + "type": "object", + "description": [ + "Feerates for the current tx." + ], + "additionalProperties": false, + "required": [ + "perkw", + "perkb" + ], + "properties": { + "perkw": { + "type": "u32", + "description": [ + "Feerate per 1000 weight (i.e kSipa)." + ] + }, + "perkb": { + "type": "u32", + "description": [ + "Feerate per 1000 virtual bytes." + ] + } + } + }, + "owner": { "type": "string", "description": [ - "Invoice string BOLT11." + "The current subdaemon controlling this connection." ] }, - "payment_preimage": { - "type": "secret", + "short_channel_id": { + "type": "short_channel_id", "description": [ - "The proof of payment: SHA256 of this **payment_hash** (for completed payments only)." + "The short_channel_id (once locked in)." ] }, - "payment_hash": { + "channel_id": { "type": "hash", "description": [ - "The hash of the *payment_preimage* which will prove payment." + "The full channel_id (funding txid Xored with output number)." ] }, - "created_at": { - "type": "number", + "funding_txid": { + "type": "txid", "description": [ - "The UNIX timestamp showing when this payment was initiated." + "ID of the funding transaction." ] }, - "groupid": { + "funding_outnum": { "type": "u32", "description": [ - "The id for this payment attempt." + "The 0-based output number of the funding transaction which opens the channel." ] }, - "parts": { + "initial_feerate": { + "type": "string", + "description": [ + "For inflight opens, the first feerate used to initiate the channel open." + ] + }, + "last_feerate": { + "type": "string", + "description": [ + "For inflight opens, the most recent feerate used on the channel open." + ] + }, + "next_feerate": { + "type": "string", + "description": [ + "For inflight opens, the next feerate we'll use for the channel open." + ] + }, + "next_fee_step": { "type": "u32", "description": [ - "How many attempts this took." + "For inflight opens, the next feerate step we'll use for the channel open." ] }, - "amount_msat": { - "type": "msat", + "inflight": { + "type": "array", "description": [ - "Amount the recipient received." + "Current candidate funding transactions." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "funding_txid", + "funding_outnum", + "feerate", + "total_funding_msat", + "splice_amount", + "our_funding_msat" + ], + "properties": { + "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." + ] + }, + "feerate": { + "type": "string", + "description": [ + "The feerate for this funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "total_funding_msat": { + "type": "msat", + "description": [ + "Total amount in the channel." + ] + }, + "splice_amount": { + "type": "integer", + "added": "v23.08", + "description": [ + "The amouont of sats we're splicing in or out." + ] + }, + "our_funding_msat": { + "type": "msat", + "description": [ + "Amount we have in the channel." + ] + }, + "scratch_txid": { + "type": "txid", + "description": [ + "The commitment transaction txid we would use if we went onchain now." + ] + } + } + } + }, + "close_to": { + "type": "hex", + "description": [ + "ScriptPubkey which we have to close to if we mutual close." ] }, - "amount_sent_msat": { - "type": "msat", + "private": { + "type": "boolean", "description": [ - "Total amount we sent including fees (for completed payments only)." + "If True, we will not announce this channel." ] }, - "status": { + "opener": { "type": "string", "enum": [ - "complete", - "pending", - "failed" + "local", + "remote" ], "description": [ - "Status of payment." + "Who initiated the channel." + ] + }, + "closer": { + "type": "string", + "enum": [ + "local", + "remote" + ], + "description": [ + "Who initiated the channel close (only present if closing)." + ] + }, + "features": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "option_static_remotekey", + "option_anchor_outputs", + "option_anchors_zero_fee_htlc_tx", + "option_scid_alias", + "option_zeroconf" + ], + "description": [ + "BOLT #9 features which apply to this channel." + ] + } + }, + "funding": { + "type": "object", + "additionalProperties": false, + "required": [ + "local_funds_msat", + "remote_funds_msat" + ], + "properties": { + "pushed_msat": { + "type": "msat", + "description": [ + "Amount pushed from opener to peer." + ] + }, + "local_funds_msat": { + "type": "msat", + "description": [ + "Amount of channel we funded." + ] + }, + "remote_funds_msat": { + "type": "msat", + "description": [ + "Amount of channel they funded." + ] + }, + "fee_paid_msat": { + "type": "msat", + "description": [ + "Amount we paid peer at open." + ] + }, + "fee_rcvd_msat": { + "type": "msat", + "description": [ + "Amount we were paid by peer at open." + ] + } + } + }, + "to_us_msat": { + "type": "msat", + "description": [ + "How much of channel is owed to us." + ] + }, + "min_to_us_msat": { + "type": "msat", + "description": [ + "Least amount owed to us ever. If the peer were to successfully 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." + ] + }, + "total_msat": { + "type": "msat", + "description": [ + "Total amount in the channel." + ] + }, + "fee_base_msat": { + "type": "msat", + "description": [ + "Amount we charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "description": [ + "Amount we charge to use the channel in parts-per-million." + ] + }, + "dust_limit_msat": { + "type": "msat", + "description": [ + "Minimum amount for an output on the channel transactions." + ] + }, + "max_total_htlc_in_msat": { + "type": "msat", + "description": [ + "Max amount accept in a single payment." + ] + }, + "their_reserve_msat": { + "type": "msat", + "description": [ + "Minimum we insist they keep in channel. If they have less than this in the channel, they cannot send to us on that channel." + ], + "default": "1% of the total channel capacity" + }, + "our_reserve_msat": { + "type": "msat", + "description": [ + "Minimum they insist we keep in channel. If you have less than this in the channel, you cannot send out via this channel." + ] + }, + "spendable_msat": { + "type": "msat", + "description": [ + "An estimate of the total we could send through channel (can be wrong because adding HTLCs requires an increase in fees paid to onchain miners, and onchain fees change dynamically according to onchain activity)." + ] + }, + "receivable_msat": { + "type": "msat", + "description": [ + "An estimate of the total peer could send through channel." + ] + }, + "minimum_htlc_in_msat": { + "type": "msat", + "description": [ + "The minimum amount HTLC we accept." + ] + }, + "minimum_htlc_out_msat": { + "type": "msat", + "description": [ + "The minimum amount HTLC we will send." + ] + }, + "maximum_htlc_out_msat": { + "type": "msat", + "description": [ + "The maximum amount HTLC we will send." + ] + }, + "their_to_self_delay": { + "type": "u32", + "description": [ + "The number of blocks before they can take their funds if they unilateral close." + ] + }, + "our_to_self_delay": { + "type": "u32", + "description": [ + "The number of blocks before we can take our funds if we unilateral close." + ] + }, + "max_accepted_htlcs": { + "type": "u32", + "description": [ + "Maximum number of incoming HTLC we will accept at once." + ] + }, + "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." + ] + } + } + }, + "state_changes": { + "type": "array", + "description": [ + "Prior state changes." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "timestamp", + "old_state", + "new_state", + "cause", + "message" + ], + "properties": { + "timestamp": { + "type": "string", + "description": [ + "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ." + ] + }, + "old_state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY", + "CHANNELD_AWAITING_SPLICE" + ], + "description": [ + "Previous state." + ] + }, + "new_state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY", + "CHANNELD_AWAITING_SPLICE" + ], + "description": [ + "New state." + ] + }, + "cause": { + "type": "string", + "enum": [ + "unknown", + "local", + "user", + "remote", + "protocol", + "onchain" + ], + "description": [ + "What caused the change." + ] + }, + "message": { + "type": "string", + "description": [ + "Human-readable explanation." + ] + } + } + } + }, + "status": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Billboard log of significant changes." + ] + } + }, + "in_payments_offered": { + "type": "u64", + "description": [ + "Number of incoming payment attempts." + ] + }, + "in_offered_msat": { + "type": "msat", + "description": [ + "Total amount of incoming payment attempts." + ] + }, + "in_payments_fulfilled": { + "type": "u64", + "description": [ + "Number of successful incoming payment attempts." + ] + }, + "in_fulfilled_msat": { + "type": "msat", + "description": [ + "Total amount of successful incoming payment attempts." + ] + }, + "out_payments_offered": { + "type": "u64", + "description": [ + "Number of outgoing payment attempts." + ] + }, + "out_offered_msat": { + "type": "msat", + "description": [ + "Total amount of outgoing payment attempts." + ] + }, + "out_payments_fulfilled": { + "type": "u64", + "description": [ + "Number of successful outgoing payment attempts." + ] + }, + "out_fulfilled_msat": { + "type": "msat", + "description": [ + "Total amount of successful outgoing payment attempts." ] }, - "destination": { - "type": "pubkey", + "last_stable_connection": { + "type": "u64", + "added": "v24.02", "description": [ - "The final destination of the payment." + "Last time we reestablished the open channel and stayed connected for 1 minute." ] }, - "notes": { + "htlcs": { "type": "array", "description": [ - "A list of messages for debugging purposes." + "Current HTLCs in this channel." ], "items": { - "type": "string", - "description": [ - "A message generated by renepay." + "type": "object", + "additionalProperties": true, + "required": [ + "direction", + "id", + "amount_msat", + "expiry", + "payment_hash", + "state" + ], + "properties": { + "direction": { + "type": "string", + "enum": [ + "in", + "out" + ], + "description": [ + "Whether it came from peer, or is going to peer." + ] + }, + "id": { + "type": "u64", + "description": [ + "Unique ID for this htlc on this channel in this direction." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount send/received for this HTLC." + ] + }, + "expiry": { + "type": "u32", + "description": [ + "Block this HTLC expires at (after which an `in` direction HTLC will be returned to the peer, an `out` returned to us). If this expiry is too close, lightningd(8) will automatically unilaterally close the channel in order to enforce the timeout onchain." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the payment_preimage which will prove payment." + ] + }, + "local_trimmed": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "If this is too small to enforce onchain; it doesn't appear in the commitment transaction and will not be enforced in a unilateral close. Generally true if the HTLC (after subtracting onchain fees) is below the `dust_limit_msat` for the channel." + ] + }, + "status": { + "type": "string", + "description": [ + "Set if this HTLC is currently waiting on a hook (and shows what plugin)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "direction": { + "enum": [ + "out" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "state" + ], + "properties": { + "direction": {}, + "id": {}, + "amount_msat": {}, + "msatoshi": {}, + "expiry": {}, + "payment_hash": {}, + "local_trimmed": {}, + "status": {}, + "alias": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": { + "type": "string", + "enum": [ + "SENT_ADD_HTLC", + "SENT_ADD_COMMIT", + "RCVD_ADD_REVOCATION", + "RCVD_ADD_ACK_COMMIT", + "SENT_ADD_ACK_REVOCATION", + "RCVD_REMOVE_HTLC", + "RCVD_REMOVE_COMMIT", + "SENT_REMOVE_REVOCATION", + "SENT_REMOVE_ACK_COMMIT", + "RCVD_REMOVE_ACK_REVOCATION" + ], + "description": [ + "Status of the HTLC." + ] + } + } + } + }, + { + "if": { + "properties": { + "direction": { + "enum": [ + "in" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "state" + ], + "properties": { + "direction": {}, + "id": {}, + "amount_msat": {}, + "msatoshi": {}, + "expiry": {}, + "payment_hash": {}, + "local_trimmed": {}, + "status": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": { + "type": "string", + "enum": [ + "RCVD_ADD_HTLC", + "RCVD_ADD_COMMIT", + "SENT_ADD_REVOCATION", + "SENT_ADD_ACK_COMMIT", + "RCVD_ADD_ACK_REVOCATION", + "SENT_REMOVE_HTLC", + "SENT_REMOVE_COMMIT", + "RCVD_REMOVE_REVOCATION", + "RCVD_REMOVE_ACK_COMMIT", + "SENT_REMOVE_ACK_REVOCATION" + ], + "description": [ + "Status of the HTLC." + ] + } + } + } + } ] } } - } - } - } - } - }, - "author": [ - "Eduardo Quintana-Miranda <> is mainly responsible." - ], - "see_also": [ - "lightning-renepay(7)", - "lightning-listpays(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-reserveinputs.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "reserveinputs", - "title": "Construct a transaction and reserve the UTXOs it spends", - "description": [ - "The **reserveinputs** RPC command places (or increases) reservations on any inputs specified in *psbt* which are known to lightningd. It will fail with an error if any of the inputs are known to be spent, and ignore inputs which are unknown.", - "", - "Normally the command will fail (with no reservations made) if an input is already reserved." - ], - "request": { - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "The PSBT to reserve inputs from." - ] - }, - "exclusive": { - "type": "boolean", - "description": [ - "If set to *False*, existing reservations are simply extended, rather than causing failure." - ] - }, - "reserve": { - "type": "u32", - "description": [ - "The number of blocks to reserve. By default, reservations are for the next 72 blocks (approximately 6 hours)." - ] - } - } - }, - "response": { - "required": [ - "reservations" - ], - "properties": { - "reservations": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "properties": { - "txid": { - "type": "txid", - "description": [ - "The input transaction id." - ] + }, + "allOf": [ + { + "if": { + "properties": { + "peer_connected": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "properties": { + "reestablished": { + "type": "boolean", + "description": [ + "True if we have successfully exchanged reestablish messages this connection." + ] + } + } + } }, - "vout": { - "type": "u32", - "description": [ - "The input index output number which was reserved." - ] + { + "if": { + "required": [ + "close_to" + ] + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "lost_state": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "close_to": {}, + "private": {}, + "alias": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "inflight": {}, + "last_tx_fee_msat": {}, + "direction": {}, + "close_to_addr": { + "type": "string", + "description": [ + "The bitcoin address we will close to (present if close_to_addr is a standardized address)." + ] + } + } + } }, - "was_reserved": { - "type": "boolean", - "description": [ - "Whether the input was already reserved." - ] + { + "if": { + "required": [ + "scratch_txid" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "last_tx_fee_msat" + ], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "alias": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "lost_state": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "inflight": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "close_to_addr": {}, + "direction": {}, + "last_tx_fee_msat": { + "type": "msat", + "description": [ + "Fee attached to this the current tx." + ] + } + } + } }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Whether the input is now reserved." - ] + { + "if": { + "required": [ + "short_channel_id" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "direction" + ], + "properties": { + "alias": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "lost_state": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "inflight": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "close_to_addr": {}, + "last_tx_fee_msat": {}, + "direction": { + "type": "u32", + "description": [ + "0 if we're the lesser node_id, 1 if we're the greater (as used in BOLT #7 channel_update)." + ] + } + } + } }, - "reserved_to_block": { - "type": "u32", - "description": [ - "What blockheight the reservation will expire." - ] + { + "if": { + "required": [ + "inflight" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "initial_feerate", + "last_feerate", + "next_feerate" + ], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "lost_state": {}, + "owner": {}, + "alias": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "inflight": {}, + "close_to_addr": {}, + "direction": {}, + "last_tx_fee_msat": {}, + "initial_feerate": { + "type": "string", + "description": [ + "The feerate for the initial funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "last_feerate": { + "type": "string", + "description": [ + "The feerate for the latest funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "next_feerate": { + "type": "string", + "description": [ + "The minimum feerate for the next funding transaction in per-1000-weight, with `kpw` appended." + ] + } + } + } } - } + ] } } - } + }, + "post_return_value_notes": [ + "The *state* field values (and *old_state* / *new_state*) are worth describing further:", + "", + " * `OPENINGD`: The channel funding protocol with the peer is ongoing and both sides are negotiating parameters.", + " * `DUALOPEND_OPEN_INIT`: Like `OPENINGD`, but for v2 connections which are using collaborative opens.", + " * `DUALOPEND_OPEN_COMMIT_READY`: Like `OPENINGD`, but for v2 connections which are using collaborative opens. You're ready to send your commitment signed to your peer.", + " * `DUALOPEND_OPEN_COMMITTED`: Like `OPENINGD`, but for v2 connections which are using collaborative opens. You've gotten an initial signed commitment from your peer.", + " * `CHANNELD_AWAITING_LOCKIN` / `DUALOPEND_AWAITING_LOCKIN`: The peer and you have agreed on channel parameters and are just waiting for the channel funding transaction to be confirmed deeply (original and collaborative open protocols, respectively). Both you and the peer must acknowledge the channel funding transaction to be confirmed deeply before entering the next state. Also, you can increase the onchain fee for channels in `DUALOPEND_AWAITING_LOCKIN` using lightning-openchannel_bump(7).", + " * `CHANNELD_NORMAL`: The channel can be used for normal payments.", + " * `CHANNELD_SHUTTING_DOWN`: A mutual close was requested (by you or peer) and both of you are waiting for HTLCs in-flight to be either failed or succeeded. The channel can no longer be used for normal payments and forwarding. Mutual close will proceed only once all HTLCs in the channel have either been fulfilled or failed.", + " * `CLOSINGD_SIGEXCHANGE`: You and the peer are negotiating the mutual close onchain fee.", + " * `CLOSINGD_COMPLETE`: You and the peer have agreed on the mutual close onchain fee and are awaiting the mutual close getting confirmed deeply.", + " * `AWAITING_UNILATERAL`: You initiated a unilateral close, and are now waiting for the peer-selected unilateral close timeout to complete.", + " * `FUNDING_SPEND_SEEN`: You saw the funding transaction getting spent (usually the peer initiated a unilateral close) and will now determine what exactly happened (i.e. if it was a theft attempt).", + " * `ONCHAIN`: You saw the funding transaction getting spent and now know what happened (i.e. if it was a proper unilateral close by the peer, or a theft attempt)." + ] }, "errors": [ - "On failure, an error is reported and no UTXOs are reserved.", + "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:", "", - "- -32602: Invalid parameter, such as specifying a spent/reserved input in *psbt*." + "- -32602: If the given parameters are wrong." ], "example_json_request": [ { - "id": "example:reserveinputs#1", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BAFwCAAAAAkwJVUqB0xXTO7JZ3PnPdGnxoYfQxhU+xqXGFYXsyX0RAAAAAAD9////TAlVSoHTFdM7slnc+c90afGhh9DGFT7GpcYVhezJfREBAAAAAP3///8AAAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#2", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BAFwCAAAAArT/bqivn8qjzzZLN+39jFoZtxNaKmf+PsoInwfuhWoeAAAAAAD9////tP9uqK+fyqPPNks37f2MWhm3E1oqZ/4+ygifB+6Fah4BAAAAAP3///8AAAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#3", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAYJ1tPfXW4dbg9ed4oeXlOVoZbspy8XpF4wDo5BHTQYPAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#4", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAUVYpC3wL7XLjvjX5t4VKpYBqP0O6/Mc2nG+nFL4YHyXAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#5", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAaE5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#6", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAZ0g0+4a5LqELQFdcjZ26ZCbAeYnyqDNsz/gnCz34rNYAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#7", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAY/Wtb3RRd8PSAiTnyHexfHHLdl8kks/QfUjgmnPL/ztAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#8", - "method": "reserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAAQ0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null - } - }, - { - "id": "example:reserveinputs#9", - "method": "reserveinputs", + "id": "example:listpeerchannels#1", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAARDzbFBaxDmcn426m4fK3x0OAvUUBAsNdp93NcoRapM6AAAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#10", - "method": "reserveinputs", + "id": "example:listpeerchannels#2", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAARBb0sSxKa69Ke9XPL4UOS0zt7BCZmcgkj9MkxqEuZLPAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#11", - "method": "reserveinputs", + "id": "example:listpeerchannels#3", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAAe4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#12", - "method": "reserveinputs", + "id": "example:listpeerchannels#4", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAAU9eWCxppOxwbKy/msHXMYt3W93rKfAHAk0vVxqxJ36AAAAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#13", - "method": "reserveinputs", + "id": "example:listpeerchannels#5", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAASrvEie8STsnQiv1ykpepTaUCtSySRguuKYgTT5hvprZAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#14", - "method": "reserveinputs", + "id": "example:listpeerchannels#6", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAAchBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": null } }, { - "id": "example:reserveinputs#15", - "method": "reserveinputs", + "id": "example:listpeerchannels#7", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", - "exclusive": true, - "reserve": null + "id": null } }, { - "id": "example:reserveinputs#16", - "method": "reserveinputs", + "id": "example:listpeerchannels#8", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", - "exclusive": false, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#17", - "method": "reserveinputs", + "id": "example:listpeerchannels#9", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAK4CAAAABE2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////Jx7xm4ST4gUCuDDh7Li/nXyFYM/5NShu5FlXn3YQsxIBAAAAAP3///9gEO3lbaWKwZF6ZdbLJu14bk81iYXUIX4riAKMjrPvoAEAAAAA/f///1Uuu3RGdKg4qZvX6kH0e6rBV0WHD88ycfjMe5ZyeekMAQAAAAD9////AAAAAAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" } }, { - "id": "example:reserveinputs#18", - "method": "reserveinputs", + "id": "example:listpeerchannels#10", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAAAAAAA", - "exclusive": true, - "reserve": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" } }, { - "id": "example:reserveinputs#19", - "method": "reserveinputs", + "id": "example:listpeerchannels#11", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BADMCAAAAAa68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////AAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" } }, { - "id": "example:reserveinputs#20", - "method": "reserveinputs", + "id": "example:listpeerchannels#12", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgwABAHECAAAAAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYAAQBxAgAAAAEV9PehqxjfHwVYBLoQqbZ0e7HHaVUKlbY0dfsWQ8zYmgAAAAAA/f///wL+VW0pAQAAABYAFDp1w8b/NEvIwTXD0X87XqbQ/abCQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouGUAAAABAR9AQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHgAA", - "exclusive": true, - "reserve": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" } }, { - "id": "example:reserveinputs#21", - "method": "reserveinputs", + "id": "example:listpeerchannels#13", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAFwCAAAAAtNngbU2OZbuxWy1eirCXDelreU6DGRwcgNhK269/gD4AAAAAAD9////02eBtTY5lu7FbLV6KsJcN6Wt5ToMZHByA2Erbr3+APgBAAAAAP3///8AAAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#22", - "method": "reserveinputs", + "id": "example:listpeerchannels#14", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAFwCAAAAAsdAJ+SN40uSR2ASd3Ui8LFwUndF0SLbAY7YKzhCan2MAAAAAAD9////x0An5I3jS5JHYBJ3dSLwsXBSd0XRItsBjtgrOEJqfYwBAAAAAP3///8AAAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } }, { - "id": "example:reserveinputs#23", - "method": "reserveinputs", + "id": "example:listpeerchannels#15", + "method": "listpeerchannels", "params": { - "psbt": "cHNidP8BAFwCAAAAAkg8ewAnzMN2R9ohLUGZ9jO/uR3ykw+eTWxzG48axgNgAAAAAAD9////SDx7ACfMw3ZH2iEtQZn2M7+5HfKTD55NbHMbjxrGA2ABAAAAAP3///8AAAAAAAAAAA==", - "exclusive": true, - "reserve": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } - } - ], - "example_json_response": [ - { - "reservations": [ - { - "txid": "117dc9ec8515c6a5c63e15c6d087a1f16974cff9dc59b23bd315d3814a55094c", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 175 - } - ] - }, - { - "reservations": [ - { - "txid": "1e6a85ee079f08ca3efe672a5a13b7195a8cfded374b36cfa3ca9fafa86effb4", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 176 - } - ] - }, - { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] }, { - "reservations": [ - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#16", + "method": "listpeerchannels", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "reservations": [ - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#17", + "method": "listpeerchannels", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "reservations": [ - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#18", + "method": "listpeerchannels", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "reservations": [ - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#19", + "method": "listpeerchannels", + "params": { + "id": null + } }, { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#20", + "method": "listpeerchannels", + "params": { + "id": null + } }, { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - } - ] + "id": "example:listpeerchannels#21", + "method": "listpeerchannels", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" + } }, { - "reservations": [ - { - "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "12b310769f5759e46e2835f9cf60857c9dbfb8ece130b80205e293849bf11e27", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "a0efb38e8c02882b7e21d48589354f6e78ed26cbd6657a91c18aa56de5ed1060", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "0ce97972967bccf87132cf0f874557c1aa7bf441ead79ba938a8744674bb2e55", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "id": "example:listpeerchannels#22", + "method": "listpeerchannels", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } }, { - "reservations": [ - { - "txid": "a1d42fcfeb3b92cfd018b433c9684a36e67ccc5c7aa7fd0d229fd55744591944", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "89418c4070f0a1bdea76ec26c987cd77e06e453095b6d658f8db85bc221aa348", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "37eb786ee5ce25146d3515ba48ecaa493734f3b356414e4765b1cd12d54329f3", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, + "id": "example:listpeerchannels#23", + "method": "listpeerchannels", + "params": { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" + } + } + ], + "example_json_response": [ + { + "channels": [ { - "txid": "d8e953193e0abf8b52d81668230118fd89bf362e93e2c4f06bddd9b2ed84984f", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "channel_type": { + "bits": [ + 12 + ], + "names": [ + "static_remotekey/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "4e9c2866b9ae1f765b89ea7ec37428c900ea97f717f85f00e3db852cb6aea3a8", + "last_tx_fee_msat": 5430000, + "feerate": { + "perkw": 7500, + "perkb": 30000 + }, + "owner": "channeld", + "direction": 1, + "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "funding_txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "5589251x14022525x17398" + }, + "features": [ + "option_static_remotekey" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709552000, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 973980000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } ] }, { - "reservations": [ + "channels": [ { - "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "channel_type": { + "bits": [ + 12 + ], + "names": [ + "static_remotekey/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "4e9c2866b9ae1f765b89ea7ec37428c900ea97f717f85f00e3db852cb6aea3a8", + "last_tx_fee_msat": 5430000, + "feerate": { + "perkw": 7500, + "perkb": 30000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "7b0bd48371c473ea25b9ab95613c51a936463c41858c8bbdf356f5328f3d0a6c", + "funding_txid": "6c0a3d8f32f556f3bd8b8c85413c4636a9513c6195abb925ea73c47183d40b7b", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "5589251x14022525x17398" + }, + "features": [ + "option_static_remotekey" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709552000, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 973980000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } ] }, { - "reservations": [ - { - "txid": "b40cfd2e6c5010c1993488757dd52967eff03c138761e8832228fec858529320", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "5bad7f61db5fcd0d5e8f90a00b7693eede5f9f27c36022dc9ffbe51ff35a15b5", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, + "channels": [ { - "txid": "87f66cfa07e5715dd5f9522a2c80b7c729baa7a1936c61912c1e0e932930c1f7", - "vout": 0, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "direction": 1, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [ + "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } ] }, { - "reservations": [ + "channels": [ { - "txid": "f800febd6e2b61037270640c3ae5ada5375cc22a7ab56cc5ee963936b58167d3", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 175 + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "15447035x5589520x8959", + "remote": "6036590x13481428x5501" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } ] }, { - "reservations": [ + "channels": [ { - "txid": "8c7d6a42382bd88e01db22d145775270b1f0227577126047924be38de42740c7", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 176 + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "15447035x5589520x8959", + "remote": "6036590x13481428x5501" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } ] }, { - "reservations": [ + "channels": [ { - "txid": "6003c61a8f1b736c4d9e0f93f21db9bf33f699412d21da4776c3cc27007b3c48", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 177 - } - ] - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-unreserveinputs(7)", - "lightning-signpsbt(7)", - "lightning-sendpsbt(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-sendcustommsg.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v0.10.1", - "rpc": "sendcustommsg", - "title": "Low-level interface to send protocol messages to peers", - "description": [ - "The `sendcustommsg` RPC method allows the user to inject a custom message into the communication with the peer with the given `node_id`. This is intended as a low-level interface to implement custom protocol extensions on top, not for direct use by end-users.", - "", - "On the receiving end a plugin may implement the `custommsg` plugin hook and get notified about incoming messages, and allow additional unknown even types in their getmanifest response." - ], - "request": { - "required": [ - "node_id", - "msg" - ], - "properties": { - "node_id": { - "type": "pubkey", - "description": [ - "The node specified by `node_id` must be a peer, i.e., it must have a direct connection with the node receiving the RPC call, and the connection must be established. For a method to send arbitrary messages over multiple hops, including hops that do not understand the custom message, see the `createonion` and `sendonion` RPC methods. Messages can only be injected if the connection is handled by `openingd` or `channeld`. Messages cannot be injected when the peer is handled by `onchaind` or `closingd` since these do not have a connection, or are synchronous daemons that do not handle spontaneous messages." - ] - }, - "msg": { - "type": "hex", - "description": [ - "Must be a hex encoded well-formed message, including the 2-byte type prefix, but excluding the length prefix which will be added by the RPC method. The message types may not be one of the internally handled types, since that may cause issues with the internal state tracking of Core Lightning. We do (as of *v23.11*) allow sending of even types, but note that peers (as per the spec) will disconnect on receiving unknown even types." - ] - } - } - }, - "response": { - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "description": [ - "Information about where message was queued." - ] - } - }, - "pre_return_value_notes": [ - "The method will validate the arguments and queue the message for delivery through the daemon that is currently handling the connection. Queuing provides best effort guarantees and the message may not be delivered if the connection is terminated while the message is queued. The RPC method will return as soon as the message is queued.", - "", - "If any of the above limitations is not respected the method returns an explicit error message stating the issue." - ] - }, - "example_json_request": [ - { - "id": "example:sendcustommsg#1", - "method": "sendcustommsg", - "params": [ - "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - ] - }, - { - "id": "example:sendcustommsg#2", - "method": "sendcustommsg", - "params": [ - "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - ] - }, - { - "id": "example:sendcustommsg#3", - "method": "sendcustommsg", - "params": { - "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "msg": "aaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - } - }, - { - "id": "example:sendcustommsg#4", - "method": "sendcustommsg", - "params": { - "node_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "msg": "aaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - } - }, - { - "id": "example:sendcustommsg#5", - "method": "sendcustommsg", - "params": { - "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "msg": "77770012" - } - }, - { - "id": "example:sendcustommsg#6", - "method": "sendcustommsg", - "params": { - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - } - }, - { - "id": "example:sendcustommsg#7", - "method": "sendcustommsg", - "params": { - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - } - }, - { - "id": "example:sendcustommsg#8", - "method": "sendcustommsg", - "params": { - "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" - } - } - ], - "example_json_response": [ - { - "status": "Message sent to connectd for delivery" - }, - { - "status": "Message sent to connectd for delivery" - }, - { - "status": "Message sent to connectd for delivery" - }, - { - "status": "Message sent to connectd for delivery" - }, - { - "status": "Message sent to connectd for delivery" + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "15447035x5589520x8959", + "remote": "6036590x13481428x5501" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "status": "Message sent to connectd for delivery" + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "ed63827b7a52e7c4c1506a6bb17a2b23769dc9d7a41bb0bccca297e389d656fd", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "6036590x13481428x5501", + "remote": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 978330000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "status": "Message sent to connectd for delivery" + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "ece66657d6203a4ea77807f566fd5b98a78b659f0cd59ce9200aa3bd6875ee25", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "15447035x5589520x8959", + "remote": "6036590x13481428x5501" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "status": "Message sent to connectd for delivery" - } - ], - "author": [ - "Christian Decker <> is mainly responsible." - ], - "see_also": [ - "lightning-createonion(7)", - "lightning-sendonion(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-sendinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "sendinvoice", - "title": "Command for send an invoice for an offer", - "warning": "experimental-offers only", - "description": [ - "The **sendinvoice** RPC command creates and sends an invoice to the issuer of an *invoice_request* for it to pay: lightning-invoicerequest(7).", - "", - "If **fetchinvoice-noconnect** is not specified in the configuation, it will connect to the destination in the (currently common!) case where it cannot find a route which supports `option_onion_messages`." - ], - "request": { - "required": [ - "invreq", - "label" - ], - "properties": { - "invreq": { - "type": "string", - "description": [ - "The bolt12 invoice_request string beginning with `lnr1`." - ] - }, - "label": { - "oneOf": [ - { - "type": "string" + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] }, - { - "type": "integer" - } - ], - "description": [ - "The unique label to use for this invoice." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Required if the *offer* does not specify an amount at all, or specifies it in a different currency. Otherwise you may set it (e.g. to provide a tip)." - ], - "default": "the amount contained in the offer (multiplied by *quantity* if any)" - }, - "timeout": { - "type": "u32", - "description": [ - "Seconds to wait for the offering node to pay the invoice or return an error. This will also be the timeout on the invoice that is sent." - ], - "default": "90 seconds" - }, - "quantity": { - "type": "u64", - "description": [ - "Quantity is is required if the offer specifies quantity_max, otherwise it is not allowed." - ] - } - } - }, - "response": { - "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": [ - "Whether it's paid, unpaid or unpayable." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it will become / became unpayable." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount required to pay this invoice." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The BOLT12 string." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was changed (only present if it has changed since creation)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "0a5f5871335cd2469d69a0671369deb9041d3f2e9f75a3aba39ba2672995011b", + "last_tx_fee_msat": 4866000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "6036590x13481428x5501", + "remote": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": [ - "Unique incrementing index for this payment." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it was paid." - ] - }, - "payment_preimage": { - "type": "secret", - "description": [ - "Proof of payment." - ] + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 966024000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 11000000, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 11000000, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [ + { + "direction": "in", + "id": 0, + "amount_msat": 11000000, + "expiry": 109, + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "state": "SENT_REMOVE_COMMIT" } - } + ] } - } - ] - }, - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error.", - "- 1002: Offer has expired.", - "- 1003: Cannot find a route to the node making the offer.", - "- 1004: The node making the offer returned an error message.", - "- 1005: We timed out waiting for the invoice to be paid" - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-fetchinvoice(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ - { - "id": "example:sendinvoice#1", - "method": "sendinvoice", - "params": { - "invreq": "lnr1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqw5w7y7xqm2rushk5a5n3mcuvqel954raykd5nqa830nq9hpd4s4fcnxw266vp9d5c8f3m3w40hmm6gm8akxx3rsnr7d4usunv0x3q8q", - "label": "payme for real!" - } - }, - { - "id": "example:sendinvoice#2", - "method": "sendinvoice", - "params": { - "invreq": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", - "label": "test sendinvoice 1" - } - }, - { - "id": "example:sendinvoice#3", - "method": "sendinvoice", - "params": { - "invreq": "lnr1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzq99smfawuu6pz0zh9jl6dl8v25u3kzes975x2j9tr0qp0ux0tlzcxjrgehxh9luz5vwjpk92tys9f9zlm038krcz4uqfxgelwf43tgfc", - "label": "test sendinvoice 3" - } - } - ], - "example_json_response": [ - { - "label": "payme for real!", - "bolt12": "lni1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4ngycqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qmcmtl30xtt7jdakfyhzm8f0gny6f4d2ukx5gurem04z8lfd2wza5qs9pz6wp9vu7cm6n4wmmrz77y4w6z5xv4q93yudkdtkl5zmzdzuawzqqex7gd5v0x0r83pqj82udd542fl4krh50s0dkx47d0hd5wh77g52xxl75ccpkt35mc8n282wslju9ufyys2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l99lfspt25zqnyfgu7hznmt2tzkjdt92d2wc3dsq7keph7w8gudjs46spfzqrlu4gqs9vppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqpze8kk43g0wh4h8qlac5lswwesrvsaxcza2f5j90c2h3ts8yzmn9g4mxqe89fngrqny8nf52xxuxep6548etda8lp876jr0nnxgdkdq", - "payment_hash": "4c89473d714f6b52c56935655354ec45b007ad90dfce3a38d942ba8052200ffc", - "amount_msat": 2, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 2, - "paid_at": 1708640865, - "payment_preimage": "305951ab02cb2ea5eb884dbfd8fb110b4e088ecb8338b3e84e8f9c70919c19bf", - "description": "simple test", - "expires_at": 1708640953, - "created_index": 2, - "updated_index": 1 - }, - { - "label": "test sendinvoice 1", - "bolt12": "lni1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rzsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypt4vy3eavkqcjyp08zdus6gf8zemnh3qapsua0dtj63kklx3ua9scpqglf443935xppg8p7ztvpervvudu2v84v67cy6u7kvj028sep2a46qpjxqd3p7jlhkg4hvnrwh47emv23038h5833l57hzkcvedgan2he3mhtvugl28rccpsajllq392r3m9t3gt5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt472k6nqzk4gyp7xl66jdaps6c0g6vjg54q86wx3t7fevdqk9u2wmtuyx59e3wr8m2syqh67zq9syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgq2xzyg0xh28e5ceswgdnynqpcqnynkpv7fxesxg3vlwhz8wqz8h877y8x47kpz4c06yhp45vdcczn3xrzymh23fl8ux8ww0qa7yjryk", - "payment_hash": "7c6feb526f430d61e8d3248a5407d38d15f939634162f14edaf84350b98b867d", - "amount_msat": 100000000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 100000000, - "paid_at": 1708640951, - "payment_preimage": "5687f9bb8a54661e7dadfac3624414412bfb2c4f69a972ced6cfe32c3a944876", - "description": "simple test", - "expires_at": 1708641040, - "created_index": 1, - "updated_index": 1 + ] }, { - "label": "test sendinvoice 3", - "bolt12": "lni1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633gycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqa8zjmfelkglmt09afzdvf2j667wcal0h5ne58cnx8p35spc8sapvqsyn97m8248uskg05psx5d6lqs8rl3f6xw75jhvhtxjcplp5ycmjflqqe2fn09euu4q0605ppmlc9mnmjnhwpkfc77ruthr6nu6atqvmmy0p35f9q9yz6rgpv9pmgy9xjnn0r0u5c2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9t0fspt25zqq0aezkft6sltu46dgw8hh5e25j76lye93c8jnd6ql5u8kavmrdm4gpe395qkqssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e7pqwkr6que4ya4rxx0gy494r25xfet26y2jmrlu4t5h69w8ng3nmylfvgdnhjfrge2f82wmmdvf9957vrrf3n0an6uzfehzad55kr54cf5", - "payment_hash": "01fdc8ac95ea1f5f2ba6a1c7bde995525ed7c992c70794dba07e9c3dbacd8dbb", - "amount_msat": 10000000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 10000000, - "paid_at": 1708640952, - "payment_preimage": "8fcfeed6ddcafdb7267d308251926b41f4bf5d2aae61d51e2232d6b9d82296ed", - "description": "simple test", - "expires_at": 1708641041, - "created_index": 3, - "updated_index": 2 - } - ] - }, - "lightning-sendonion.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "sendonion", - "title": "Send a payment with a custom onion packet", - "description": [ - "The **sendonion** RPC command can be used to initiate a payment attempt with a custom onion packet. The onion packet is used to deliver instructions for hops along the route on how to behave. Normally these instructions are indications on where to forward a payment and what parameters to use, or contain details of the payment for the final hop. However, it is possible to add arbitrary information for hops in the custom onion, allowing for custom extensions that are not directly supported by Core Lightning.", - "", - "If the first element of *route* does not have \"channel\" set, a suitable channel (if any) will be chosen, otherwise that specific short-channel-id is used. The following is an example of a 3 hop onion:", - "", - "```json", - "[", - " \"298606954e9de3e9d938d18a74fed794c440e8eda82e52dc08600953c8acf9c4\",", - " \"2dc094de72adb03b90894192edf9f67919cb2691b37b1f7d4a2f4f31c108b087\",", - " \"a7b82b240dbd77a4ac8ea07709b1395d8c510c73c17b4b392bb1f0605d989c85\"", - "]", - "```" - ], - "request": { - "required": [ - "onion", - "first_hop", - "payment_hash" - ], - "properties": { - "onion": { - "type": "hex", - "description": [ - "Hex-encoded 1366 bytes long blob that was returned by either of the tools that can generate onions. It contains the payloads destined for each hop and some metadata. Please refer to [BOLT 04][bolt04] for further details. If is specific to the route that is being used and the *payment_hash* used to construct, and therefore cannot be reused for other payments or to attempt a separate route. The custom onion can generally be created using the `devtools/onion` CLI tool, or the **createonion** RPC command." - ] - }, - "first_hop": { - "type": "object", - "description": [ - "Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute*." - ], - "required": [ - "id", - "amount_msat", - "delay" - ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "Node id for the peer. Use any available channel available to this peer." + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount to add an HTLC for millisatoshis." - ] + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } }, - "delay": { - "type": "u16", - "description": [ - "The number of blocks delay of blocks on top of the current blockheight." - ] - } - } - }, - "payment_hash": { - "type": "hash", - "description": [ - "Specifies the 32 byte hex-encoded hash to use as a challenge to the HTLC that we are sending. It is specific to the onion and has to match the one the onion was created with." - ] - }, - "label": { - "type": "string", - "description": [ - "Can be used to provide a human readable reference to retrieve the payment at a later time." - ] - }, - "shared_secrets": { - "type": "array", - "description": [ - "A JSON list of 32 byte hex-encoded secrets that were used when creating the onion. Core Lightning can send a payment with a custom onion without the knowledge of these secrets, however it will not be able to parse an eventual error message since that is encrypted with the shared secrets used in the onion. If *shared_secrets* is provided Core Lightning will decrypt the error, act accordingly, e.g., add a `channel_update` included in the error to its network view, and set the details in *listsendpays* correctly. If it is not provided Core Lightning will store the encrypted onion, and expose it in *listsendpays* allowing the caller to decrypt it externally. If it is not provided the Core Lightning node does not know how long the route is, which channels or nodes are involved, and what an eventual error could have been. It can therefore be used for oblivious payments." - ], - "items": { - "type": "secret" + "state": "CHANNELD_NORMAL", + "scratch_txid": "0a5f5871335cd2469d69a0671369deb9041d3f2e9f75a3aba39ba2672995011b", + "last_tx_fee_msat": 4866000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "6036590x13481428x5501", + "remote": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 966024000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 11000000, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 11000000, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [ + { + "direction": "in", + "id": 0, + "amount_msat": 11000000, + "expiry": 109, + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "state": "SENT_REMOVE_COMMIT" + } + ] } - }, - "partid": { - "type": "u16", - "description": [ - "If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "If provided, it will be returned in *waitsendpay* and *listsendpays* results." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Used to annotate the payment, and is returned by *waitsendpay* and *listsendpays*." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "If provided, it will be returned in **listpays** result." - ] - }, - "localinvreqid": { - "type": "hash", - "description": [ - "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7)." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." - ] - }, - "description": { - "added": "v0.11.0", - "type": "string", - "description": [ - "If provided, it will be returned in *waitsendpay* and *listsendpays* results." - ] - } - } - }, - "response": { - "required": [ - "created_index", - "id", - "payment_hash", - "status", - "created_at", - "amount_sent_msat" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was created in." - ] - }, - "id": { - "type": "u64", - "description": [ - "Old synonym for created_index." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "pending", - "complete" - ], - "description": [ - "Status of the payment (could be complete if already sent previously)." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount delivered to destination (if known)." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment if known." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "The amount sent." - ] - }, - "label": { - "type": "string", - "description": [ - "The label, if given to sendpay." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string (if supplied)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string (if supplied: **experimental-offers** only)." - ] - }, - "partid": { - "type": "u64", - "description": [ - "The partid (if supplied) to sendonion/sendpay." - ] - } + ] }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] + { + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "3ccab8684757ae6e20c263b8f128443ea390ce177f6b7aae7af1409cfee42290", + "last_tx_fee_msat": 4220000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "6036590x13481428x5501", + "remote": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 11000000, + "min_to_us_msat": 0, + "max_to_us_msat": 11000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 1000000, + "receivable_msat": 967316000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" ], - "properties": { - "created_index": {}, - "id": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "groupid": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "bolt12": {}, - "partid": {}, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was changed." - ] - }, - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - } - } + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 11000000, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 11000000, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "pending" - ] + ] + }, + { + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "id": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "groupid": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "bolt12": {}, - "partid": {}, - "message": { - "type": "string", - "description": [ - "Monitor status with listpays or waitsendpay." - ] + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "3ccab8684757ae6e20c263b8f128443ea390ce177f6b7aae7af1409cfee42290", + "last_tx_fee_msat": 4220000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "6036590x13481428x5501", + "remote": "15447035x5589520x8959" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 11000000, + "min_to_us_msat": 0, + "max_to_us_msat": 11000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 1000000, + "receivable_msat": 967316000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" } - } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 11000000, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 11000000, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } - } - ] - }, - "errors": [ - "The following error codes may occur:", - "", - "- 202: an parseable onion", - "", - "the error details are decrypted and presented here, if *shared_secrets* was provided and an error was returned by one of the intermediate nodes" - ], - "example_json_request": [ - { - "id": "example:sendonion#1", - "method": "sendonion", - "params": { - "onion": "00034928294556b10308f9aeac7a240223d4d5f72097db1ef36a36b10cab937f2f205ed7218b47d4600eaf7fd390940bf9a6cdac99aafdb4783c468150eeeab9b57e56a06778d023ffb3bb84c7d8c2ad8868b61c28b566634af52c288ed6569583db66f5bd0edfb801c252f078020e1df6359af5969296b4698a71d17c5ca6e5ee4b64b7cce3ad0a1aa31e6be4d5fe3a31fa7a25259c640716020a9a248ca3ebb68eb823f8884b5df3710969f4c2ffb153779a923bab946ed43c1f6658d7f8e7e25303bb78ef4862fb550b8b1c79d522b035eedfda9ab70a61322522acf7233bb8ea2423958448fc8ac3d000835fda04bf661f1bf2ad2d091f506840bb2f10f82c0812149d99267a47824defe90877ed70db526b2200e18dccb92b17516de3778c055645728eadf4c74375aa0aae80a7773a536a908ca1e25c0fdca90e50ce0be05eeb973ec5e83ce3ab6b35818e021780428af81320a694483c1c15f64e685ba1fd3b1e1b926e6b4ec9eeeac8aca60c60e0f0f583e35e7f081dc6f4c64157e100c79c4c25101bed77cd9f93416f9a67d9f1916a782c498c38365af4a5fabb1b745fa840a054a06564c3f4b376aeb72cdd059d3794c82bbbf12a1f62234016a6912b384e7e4cebbd39ee4395aeff43c461e226d1e0151cce508a181a9c61275bf4b89e4556cf24df13b993dec96541555f8b9a699be9488568a11ac7f25849da62765472511ad74a6660c10e37f5fa13d4e4665ef7825ae1f2da4a86d5581912262de89b4b11a722fd127b31aa0d7fab8c679b07bf95e65cb80b2dacb5b90794399fb8f23823f68058431aa1c399b5baceccaf8521d004f45dba6ec1fddc54473343e9e67cd50cc3f2f3d8a5dab8a7ab9ae553dc3cd34e74b858da75975265f7c673a25e8d01a5130ab40eaba712b80c608cd0431b4b45ea0d81af595e21f24976608429127bf586f7507666500bc7245cf9266fa0bd0e58404c496e190c873cd143ace9048e9d5021c23967a24e09f2e54166e54b4ee8888dc1af535624e7ee8b426c1628175017a9e8a73eb1d0d49028a4f4d77897f3c08f1cd7bdee2b00f9bb9eadc49a69bf4f6c0cb2c95a16f03d7958f1b8f83cb40ae87ddf75f26050e2c2ed9f8f8523b3d389a50b217bda651dc21f095fe7d2d3851a0a6cf01051f3f3c6f1ad59ed46d44928d15a0e6e1bd4df4c99bdb82a05b0e781b69a73bc30fe579c8ac9fe8aeb6beb1c0f44def2775b7341af37e6ef58ceb34958b29d3e36112b78644612228761b8badc802f0b2b8fcaeb1db8f3a8db4afa2d7b4540a7c331db6f5141fa3909a513df875ff8a63f5b542d662781ca96a69e3b2925d6a63555b2c5825ffb2ad848d71122f54110e0d203000f3e9cc23b793c3540dfb8d881caedd25055a8f495e9e7a0391dbf9cbd9344f7df659ee8d3ce5ec16217ab83e1394ba991eb8ffd9a869f8ebb2e2428845e779979c57b5f8875f502728229a55ce87b3eba85c75264d30eaf7b373f6b09ba3086d9e98348d87b049468c2c30a6501cb2a3862f1703bbf29895e8b4262353eae720ed8ae678750011e2eb51f4800d3f4725fa873d7deec1c46f77a5f61c73dc938239e77f432bcc245c7b935413c51c0bc92bdaae144452aa95910909e46e500557961203f4e1483b9c09c124464907825e1ff74c87c58d6e2e91970baac9b89a554beca6df9acee16d77dd929d0caa7797e06f2c384c03fdedc89c697b9c34787a50cf399a8d7f195e79b347efc8267c474a477ce210f11049d432b280eaf3fccd451f6218d35c64cbd1006bcc54eeea8b856855c9aa92bc3adc6900a7c7a0eee09834c5a1f2da3d8ea9a478aea90c954952ad2a72d3856350ac3132d17e1e8116fa774066a22c857a827699c98285111a405e74685a3ae579ae78c545774f45491e4935bf4", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 1002, - "delay": 21, - "style": "tlv" - }, - "payment_hash": "f584c14bb23506acdd94cf3cea377f3cc5805f3cba5430bc3756ef83ede1a0dc", - "label": null, - "shared_secrets": null, - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } - }, - { - "id": "example:sendonion#2", - "method": "sendonion", - "params": { - "onion": "00021aa9c672c07bf1a94b0519ed7f2601c36b51dff59ba0bb3bee62a005f04faef8c6baa0e13042d860ae3857bf699221eec2ab90283a383c911a54e5a09696c543de241bb7340168745f9f6e73020764d0677f3da248faf29718e2bf097a7e472834efc45dd8eb5817f0736e83a7213256aea3070c91ea30e8f6b6587441dbaf7bab17990b5f5901be7d380b6ed6b87ee5c5f7c5873d3a694b5d6a462f1a5f0723c2896b4990007f947b30f6a90f97630debca99cfa99de614610576495ce654128607c91a51c5c5a869921f281927859b2b41f279e7a1f8010e569bad3258cf15e38840024b1b3136718b5027eb12fb6ff8997c85d971c50fe9a32dbe574ba9226655466c79a2526851abb4f72cdacd40c119e4a1b1d364bc3ca2735d2e12ccbc5b7d1f6928fc4c168fa73036074fcce88d388a876662e037f03eb9c3fb318e4e12f695a0a51e63fc6fffe71795bbb8293595ca82c3ddf506b7cc46a9d1acfe1e3f22c3ca55aafe0b9271c3c6d129fdd8a61a5a936fafab3757d0574b6fa744e3db22555eae4bdd76f93c23203dc613bcf229022da594c04977c9c24e31914601e2afadc6f48f4c3ee4017968f86d13fa0b13e2c83f5a44c7d913b026557096c8e2c473862cb1f3953b8129deb0c0e02e54f8439a7c8b8521f9f792dd856d9cf1be72bf9c41feddb88f56302209864b74fa1673a1ce85bf9404443c514fe19602580f56101b2e040bc075b8f07645af21d7f00cf98a9f6dd994ee2c6c522579d9422057417b05c1640a78f4fc8019b97f10b6c28ea6d3558114efeca6f6dd013537af629b0af587a65ca23d177c7e7f276609a7d548e60b6af2f94b26b885b6c8b00eb9f46af9de42604f9987450ac85df5a51c503ff6cf2b56d247104bf226bea7e6d5c5bba3abd271a4634b6fa8f0c57a22414fa1eeaa5c740478643d58cbe97d36a75d543681335b7ef420498d911da6ca1ee862d9f1b229b5671a8cf4afaf974a55f4d7a65158ead8b690b46d57a30c60df45257207d105b48e663dff4a841fca1d1ef5043e4276e741627a2d9b53f8efd0cabd7beaf6ddff38feaed980582af6ac830ce867c6ae5721245476f2db4a11c4d7f02288a2f7734d5402daa9c258bd1775c053425d6785a70b8bca9f9b7b4fbc712ddd078c9616c415bdaff87c0b3bb1fc0c4300d1b21b39487530210b10fae7ab51c9930aaae7a4c36614222812721078240dd9d61d5c07d313dd1341a253f30df8532f6457bead494eb690b67e1df4c40d458a21640af080b470a77ad427d36d850b35f97ca537d7fd01af8ee0ac2ba9498470eb4282f6fb1af0cef593b39fc14052f36c50104fdc3a40784c9eb6163828c6af7ff5842dc38d27e5f578aff8848609511c5e15c88808222b97ba0d45f25c1c92fbd5400055d2181d09d8cd7c376750c1f2063eb4fbfde032770719b9f0f999c7fa0de9d71807972536d42d3e8df703c9c6af18c627b12412bcf519b81ea9a73c9cd2aa4a4192a0224106558552aa0fb5382dd42a1c931340ada80287146120117dc07069dda69a36b45ad76706b445e5d524c22f3a0b0cc3ac8aa7030df5e0d9ec5359bfae8d18c098069ff6bbf2db40f442c8196ab266f6a16435ac70bd4e27e5aafef81269621632bc24f017058cd28ebd1af13a5356203b6241318e2fa7b5fc2c1352bbe7ce56e6bc99527766a8d3db5c2865123b1461e952d8faff18ed6e27e974cf3e22b269d23ba4d490e03e959bfc3e735a8bb068693bfbb5977a1b15c08c7534b0c63c6b694d5feec1b5893769eb1f145cbfc66a23015844e047de4cfd2244de9af8076966ee1994cac0bae22cb024f2e31fc3e542f72c416c5b8abf631d94db7f86d3215bad861f31f42a2e0e9d96487fc9c089681aaf811c15207d62eda2d352dfcf2fe4f1824d56", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x3x0", - "direction": 1, - "amount_msat": 1002, - "delay": 21, - "style": "tlv" - }, - "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "label": null, - "shared_secrets": null, - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } - }, - { - "id": "example:sendonion#3", - "method": "sendonion", - "params": { - "onion": "00036b9407a2cd28287af9ec81f90e64b78b0be1f9f4e38501fb52ec741678d13daa5162dd98601bcb1c815fedd8b4713d37a8090dab5387096784e33f6896c66d4862c3a7878594b9a2ec79bdcedff5aedbfeac3ea0d4bc7e70b40ff8e69a5d39d8e7a5f45a1d7dcfecaadff759eac75c055f3d55ff103ad496fe044ae460df4452779806c069f1ef008b00e6a5914c4b8181c8ebcd5154501d378dea22e003c710bd6d639cd8e80087721802609152f84efca89599648d6194a4c724e55e8ab23c70cce81ba5d00cc18b475220c34aa8bf4491cee4e233527de5fa5be254ad83fc4c78d78ca7786cf2dfc364a8370c525ffc6baedce0221ee382d1f267d2e3bdcc98157d55a4bfc3f2923d5d23f8485eb8fa73673100c066f39d5b734f517b217be3365408fe072a938d4272c6c6708bf56b378139f3ddd52d9ffbf4ab728df1768e213698fc7b4881b2d74bc1382562197ab346757ca943776cb980666fe2ac145689bce088fd9d933e322356ec39482ba04026c461b83526ce99c670d63bfb05ea6bdc7049ed1cbe9bdc8a58e1ea6d53638971d6cbcf3947f60c7215ba883ddf8d8adf115488fe56738b5072544eeaa9485d068ac87c0d7f9536f8e9d67518fd972f35f7ca7ffddfcabbee31bd5bb7a22b83447c8628e51cbd55a37a8ef236f0f8302da6504648c546c7e142c6c3e2f9b54a420ca3d5a02e42e88f6faf12e4962ef6d6c349ad2604e499d3c1b1bbc072a6aa19d94ee1765eabb2abf776ee8e87b7df7e974ae522fd75a0631ff994c393ebc3ebdfef1d361e1ccfd75db0a379072a64fb5053a84eccbb1c6d5f5f33e5f3ceee0a661b98524f31a8c72238ce4b6196d75aba16ddf0b8a399e6cf13847c8ed203b46d3509b8d0c15d9be276bd53c312ee53e2bc7b4546b5274a71fbf17f8790a686cfd9dcf41976943e202446ade0f6e66e6204b046cbbea7537a141324a1785c8b49a0ef8cf98d7dc248657de19dfae365cea6671e44a752d02c1f3a706bf4719081f4a9e3085fc0f1870884e617ade5ca895a971317cd8cf96f6e9137d0d7d893fb83ed1f091a768186b3a9b6ba6c0eb486bd8b08678686dcfac9c4dae8ffdaa4fd201308c3ee44ee2f13f358bfb3ccb3e07ad68c72b1d95ab7c1c2bb9f8914af1746a6e435a56efaaa51b7d805ff0353da65ffd8907ccfc17194584e22b04be6e5b9cf661121c1e56281b60b8f47ee5c2bd9cc76bf39fd97ff2cdaf8f7f8e0314051f5007559cae4efc65ec50e8fba4accd8d2ac52b6516efa143d1282f0a6b46950485b7ed59449c5f8975ad96d483fc2b90f1e4f61ec3fc7a40826e8b4394c7dbf1b0f8fa0ecfffebb0b4662f79c9cffe88aadd77eb70b73e4ce2f7430aa67dd3912a75ffd0584573bebf8e0a87afc68114f12a411724f24ac0a994bad0f0e86067d74c156e40e549d2fea21a7c76e691895c6bc5333b308066a09050d618fb24bb736b7f04f806a7a4feabfce3850d328202ea768851ea3c4b789d2109461fd28dc7fd3516ea9e5c95e8ddf565d8f263dcd497fd5ec4e4c12f25f4ed83f0270179ee360713f0f244ea1eb542bce7fad343313c1b7b8e9729e646236f51fcd83d55df231d4bc5029125c8f95bdcc2cc4a7dae8fa5bcea1bfa92c0e8e81061051e90a47a40d17b767f381e322ba41d648e46fc415e6e2f2436dabb4f20dbd112e4ba5446936705ae861798b8e798c2e4c2ac388dbfaedc458a97f2dcd951734c774bccc7ff9cf088480363effe6d0a7afce0dc677f9767c0a6a58783cfa11e1aa3cd90d1cf11bad21daa4d8f4188c30b737baa2a15d8cc97bb1d6e9f3e04959bb255736458a20af6a2d030d56aaa0d736b24e517a087c3e3e504c45d4f49250ae607bc5932013b99c794db8fa75f23ae674449f59cd7b9eea3f48f51355f653f5", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 1002, - "delay": 21, - "style": "tlv" - }, - "payment_hash": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f", - "label": null, - "shared_secrets": null, - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } - }, - { - "id": "example:sendonion#4", - "method": "sendonion", - "params": { - "onion": "00028ce28d347275a016e4e22e8f39e93475f5113d236f21840e2f725961c172795122feb0aee950e9a237f7bfe8daa95420be5e943320a838b8e17c9fe3bd340c61f703de0f3170647b26b2868787b7c9d06ded7a17f7b578b0f2989d1335ceb51e8ba0c2921a7cdd90a5f58ae292881ab7520920099ff67f725db44ea1ff066bd88581c06882690a8d9daa481b22c5bee57be8806ff484ed1bbc84cf560f204db25cc2b53ee72ba7eb67d91f15a8cc8466e29eda795dc2e2fcb9adf511517fb29e7aba0aab59cee61ae3a3c409ac23e17e737ab98acae35953645dd2b1a857610908f121e07ff0eace39145acf9b00b4b0eed384b5464bcf4026fcb97bf104ffea79b817b431a0ee21179978ec7469919e35e049cfb5e98c692f45bd8a7cf37ef9dc44df4bb6c0df9bce581b85ce72b95bcf2848c3e7ddbd0b2702f222e736e82e5a04a9a2d35ccf40762d9318aa1248cd3fc861ac720ff014f1c5cb8b81cdf15b6bb5c368214d52064c7c6ee8d90fc0227dcc6e3e71a982c177bf440b39abef9664f124549b6ab9380a0a7190311d0c66410b98169f10bfcb52e9277c436f16f9f0c8f015f2de05d9297577465ac4e37fe362e9c21161528daab059cc919eeeba0a9df9052e54145d74be05a6d48d2209cdb2377479077106a95bf59fa58fc9bc2b8074b04d3a38bcc7c2b59117d47f412067ad8b14e82f9c6f0d80b55753e4d40eb9b336e2ac781b81fe08a7b9756d7722462da9e919085abd9871e315203f915f2688213bbb5a75a9785f2d6cad20c10210206e1e35bb4fa23575c2b6d144677f9aa7adc0593d620501978bd628fe6535ba19eca9f6264547d05f0a84ce6c02bdd7cfaa646fa42d9a4686cde1c31973665ee1917d403aa205ed35282432a859a53827bf8fc004a670fbad2a1568307d0ca1492a6ab40bd514119817a6498b7cfdb37da3aa0ba94344a84d06ee69432e7e1c33e6a0f9dfa4aae98862f942bce59a31d6fdcaf7bce20bad42d5244cd670ce7110379e575d791de0b2180eedad4838add30c28b30c1864b65f3b3df09a2686c6fbe9846a78cf21b1934e7a854326fcb4701a87459d31e806b223419a018e5055d3e618cba4ade3c6e08ec0bc4369edb427e78d19abb58b3be54b12cf45cebe73f3e360263285e18365c590979c260d837a0afbb318be04f8241467f18630738694588da9a7cd4d05fd646fd206b38465b34d66ce8b4e4eb1d26ceadc4401dee2164df0e8ac91a131f8dbf66a20af984c79a24e1bc0cb16a017438eac151a8cb9c6be78b0dc1f8605d35c5032cbcd6e43509d606cf8d4751b4aefec2d66195d1501ed4dc52dda27bcb45478b9df08e6290e57acc7d20c0c97f5d6f583e2c6806fe8b83b43d1d839c7945d8076dd332a275e96d86661a8e58d6592588103fa897f3185b1b08bc963db99aa725b892d571bc1a4968532e1a7209c89807739ca030d91812cdb99db0c5c1e792cfd94d2b438798722dafe71b5e1aea88fb6c82efe7e608324bad832e5295fbb58817ceb59c1beb97c71a8cb01a61831d7879d80d34872d14584ee1250d15c3d55917baf0a722eb8a1fdeb2b328008049873c739c5c262c232fded96a5bc27bf59c5fa233ba838666ed61bf0c04deeb0e84c4778aca3c246e2f853aa7b52d18954eaaca49c7b52369aa29658aab0157dcba94d0e578f809640072d859d947f0d3fb06977bac5e61be0672dbeb355c2f3a43e88fe294ec02f5325e712b9e140567ac195e9d34f3173c49de896ccb17e9608d8e6cfe21a33a53b4e52f04e3d6e606d748a2d93b629d36a30e836daf7c4b251d4507514d7e06147e0a5dcbbe84fcb5e7313b484ec4d89482cf2096a04dcd461580eac25398a67032c85cfb00934a94e8da8d5103db4ec6d680deda18b58c48933d60ad4fc1985", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 1002, - "delay": 21, - "style": "tlv" - }, - "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "label": null, - "shared_secrets": null, - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } - }, - { - "id": "example:sendonion#5", - "method": "sendonion", - "params": { - "onion": "000279e2d6559ba42c7b800182dca1a7df56ab164cc0b52bd7c7f466aaf7fded27b2fccffa4170c13652fd5640315cd9fefd86116117003f4fe1f9d0daba46c05dc1e2446483f7a5ab9815dc7229b4ec2aaaeb370387e7060d8858a98bf3ddeab7c6e10545603eef93624419e0bf2b6fe9060705f684437169878a810d14f47544c8feeac7b5c679e3f1ba2243b46873f6cf828e3b3c28cece47710d1cfe6fd0534045d4010655f0b7e6d46bb70c24910d8f955d381e923fc6ce47d242430eb52b21c9f9902bcb77ad98b9ff96f4d3971621759814749245b41af89122d31e693449912005de7aa43b43ef0cb1924de78e73d0612141e94b43f9f6d719490233ee23b89d6aa76a5d4b602ca9cd2f96babff10d424ca0f597e2c060aabf8c7b98d4f6da51e29d0940ce5ac67a31eb840dce7fc23053ba203b5831f01bbdc27f49f99487a2b719aee9a92d45099abd4dd0b0ef44a6ac65320c529d67165a84230ab4c0319d20f84770352698097514b3a041f662376492d80cc9894b9c81e615a075b378b1b3cc9cae9d16e21c7b9dda6e4e149193da7533e1d16928ca93a9bd494aeb259844481fad20149ad210f54fe81434841ebc9b3598444df519ca47e97d624ee9cba0c27b7937f188ba093abe2bc2047144862f0b885626b9c15a329710c111174b25833f8ecf0a8c480b4524bf58f7871c2a1a57efa0fb46bfc1275f126812b0480c510a722ef6a513c646b3e72ed7a54ac4dc3943981dd3cb8c18d94793e88495715fd8fd2545fb0934c7b84355ec86778a86240dc18e26677d2a10cafe8103e51481ec7c01ea2d929f46752a6c4669c02c231211dc3fefaddc6472f14e40d48214c0b40f7a57b0dedf6fc980eb432bdee9f259729d558514ef39338c90da26e112d21995f6e8896449184c7da433078a881d82837b50549cb3491118b52fd02de65b4ff619700a89685d3c0c86c21302f4936af8c7dc2acb774a1c8c0ae8595ef9f766f349b16eeedf0a03046a1f131883fd3ccb3b1d848b6d2957a0145840a140dda346da56861889e42593994cbfdd91d3a48dfaf36e19c2746fd47bdfb587d6ff861ea3e611644b95f6c5ab07e75569324cc5656009d9a21d99e0642bf56c6bf9c6cd0b3c244829eab65c2a2d2152aff2f40060b1fa94f02de78d6045c9ab79cd6a610ed4193102ffb934f330cdd14bf5283373ab6d79180c3245fd2ea0c3a3a295a3a2fe7e49a8c41d5c3f5a4df01c9611d9b5ea804995f608903748fba6c103daba023aec38be92c10507275dcd2cad9559b2becb1a2d3090ede9cd6a3e3ea83cf5a7e3a7d4f3e7861685316babb8db992befe8ebae2855c7a7b1ffcbcb400e1f7ce07cb06390aa52db842f2aad75c328aa88fcb692fd88cab2dce4f488a5098031e16c14f16849150a3a269b48748a158f46a2638d7b47e99fd8ea9790c5b47d67c7fc111642c65ddbcc9744ba18694a7d92bb7f7e6913267b7725e2d7f7355c42fbde6d2181410d72225f9080c803f76c0c4c5639400566425e09cc63a2a0b906505c65dc3d9805e115e7f621b95328b4105de8012e5717122ac05a041a5896fd927ea1ea8b1fc68c2efaeea76b49388b8acd8e62f8049bdb61a8a3f13c69c6ce94cb7cc8d4d3270d635c911acb0628d193e41cbdd506f88dc6f798b5caa50d04580fa4e6f40b50db4651001fb309e0fa0d10cd541dad4ac08f91e6eecbfb9e3c9704118e406561cf0efe54437ea80e4deb5b5316c00437a941615ea1e85dc8d7f77476cc074f7549f018b43eeb71c0ae43263dbcbd620704f441bbe3c431e7fc0cc7616c1a3f68e874baf35a1ee8358579c6b395935a82336daee90df0353e4f8428d9007a48d72eecc2454c7abc180422d496cd54acc6fbde831e28fa19190df5b50de728ce04eee7e600cee4b8", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x2x0", - "direction": 1, - "amount_msat": 1002, - "delay": 21, - "style": "tlv" - }, - "payment_hash": "0101010101010101010101010101010101010101010101010101010101010101", - "label": null, - "shared_secrets": [ - "55c87e6dcd4f253088c6f30951a592a80c0eca598b0fec2acbd5be71f1f9bc91", - "14171ae97d9bb1010cf4a491cc87eb07f855e2daf1b888bf3ecca96b09f36a4e", - "5a83831780ec724685f7233fad40aa5da5d95d5fde1df275f40494bb30295181" - ], - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } + ] }, { - "id": "example:sendonion#6", - "method": "sendonion", - "params": { - "onion": "0002cdce4bfaa9faa2c060afafe001b80bde07fc670e882c063a80b4738d5f78c9351825c6461cdfcd4fe4144d3b51f63da6351b28dd49c7bfdb0b4f7d8bda4ad0d99699eda39e551084c0a095746c358d1dc6d2eec8082f2aa2f69ae8f61b1f1437ae0ed673078fec6c0510a34058167ad1a34e819a3813d4cf27b2c4917a8c6ca3d70c3381a2a41b4c1b4540adf0e922e25f57d1cfc3064f29cfec4c17244160121975cab59b44c83b4a4905bf7ebfbd308de376334bf86d8aa92c674f7bcfec85680d73e9fee72642c98c603128e358c86e0bc88a60aaebc2637441a57261c61c6be145f00f2fc56164a6495f4b52d3172cb0ef52e91fa0d32a9ae2502d17433bda58d93fbc24a70ec6b5e740952a61404c7370eafe52599c7ee52e77b1cda87c46da98d2ff0d02fe09db5adcb2d2e9bcd083ef58392907b8a21681fa4ea1e4806b4676656457fea000fa504f9b4d159fe8b241266ac91dcc0351053c6dcc1493a6b02bed652cc8b92a8470c98924ebfde6ddc5cf7fd75f6e83a7350642053b70d4834179c30eb56d8c86656cda784daf3b6cd125779bec51099301e3f79f78d85d0454aef8bf5f9058491881b73e99b662b64080cd3eb16fd7f9d9640c18738736cfc15f391232b7df92f46ceb5abf08732ff833e9409ee541d7c926f7a0fe3e233d3eee4a63b65ab23b7c835b7cdd809ddfac8abb1df471fa66a54092815aa41e6fc1a026b86c5675d39c4e8c5c4b4acd48534165239f5634b9e828a7f9df94efcd2a39045efdee4d2f006a63ae828e6e90e3610c522085da6e0198141d6e501d83aba32057f4e59f9b7dfb0bf949c5ef91917cb54561d45a9e7ead049c57deb62d14ba6e18f5d7b0fb9f15e97bf5bd9f909f99c86c787357946654b87c489d34245d07fbb72119166e338b608a4178b452695235dd96bf7fd338e29a9f054ec1a63a442e12602d2329834297f6a197d8a377d608f402f0bcc936f45f33c8d2f9d40e5aef41816dd883add81ca20f1e0631457fe00aa2bd75c9165ffcd96c100c1db83a53aeee23d59f2a542ee3ba39ba62298ddfbd9ecfafd6b5d2121eb003ee23a2ebb8c6b6b687f42492c962510c5acf5231ff96635eba37354559ba39b042d9b6883cac662f418d7c62f9908b2a67964af5e5471804f7684e0d582b8bfec99816bb3442cca1d1fe4efd75d573ebf09fa9cad811063864fb14be4a7768ec2ddb118a77969e986c6584c4b20f8622941ca73d73562857d36e17a46a68d6e10147aaefff1ffb9809f0652a5f760148ed33550661b63c8176d5679e701c221d8a49d4062eb04010ea74cc1132fbeb8934c6e582ba2a16162b7e9171f95bce4ec3e339e70c781f95aaca406cd718b74397658fdefdd093486664be7ed13efa437012f1f57f9f1f4fb4eef7501ccf0e0ac4edc01fde138038c4dd65cb5c3291ad02a6728d6761b1afa35d49bd6ef117012bdd9bd6ee8a175620feb2249aa18d6175351b4bfc2b2b4fd57ff52f5969b109aa9b6cb2cde8f350917c0da2da1bc3d52eb0c7e6080b8f69c5783f2ed26feceb05ba4e7ed66676041d03d0acd3dd6343a85ac0b9c36f9640ddd0db884822f98dc42ea7911a6938dc14ba19d3d25a2b2f82794a2b5dd751dc856d7a9ccdb2d351a0b84e7030fa925ac949a37594f3aa2ba28ae5155b0aaac9c6820b8888d0b8a9db148513b9e3dbde68333ac30a0720289b6a0145d88629d49e76a6d3538330c5aececc9d54127b0a5a0e92d5a5a73beb71132c208b589cab61d53ed357c907929198c559426ae729b374a803dd3321a45ccca39efd39eddaba6e79a2f8911bdf74e18733dc7efc51132b5608d97fd2d0f22fa8961de04cdf6d0dbfbab21e362e7abaef3976f993088aa97ed3f1f4bcf3fffb012f583558bd2f15face9cba20b3e6754b70", - "first_hop": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "AWAITING_UNILATERAL", + "scratch_txid": "8f166c488ea0cda4e8b8bbc3071eb363080b3585f0555bb24cfdaea927463445", + "last_tx_fee_msat": 4321000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "short_channel_id": "103x1x0", "direction": 1, - "amount_msat": 1000, - "delay": 9, - "style": "tlv" - }, - "payment_hash": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8", - "label": null, - "shared_secrets": [ - "3f53c03f98eb83db88ff97c2c4004051ce23265ed2414a7aebf7a3e7078839ab" - ], - "partid": null, - "bolt11": null, - "amount_msat": null, - "destination": null - } - } - ], - "example_json_response": [ - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "f584c14bb23506acdd94cf3cea377f3cc5805f3cba5430bc3756ef83ede1a0dc", - "groupid": 1, - "amount_sent_msat": 1002, - "created_at": 1706315098, - "status": "pending" - }, - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 2, - "id": 2, - "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "groupid": 1, - "amount_sent_msat": 1002, - "created_at": 1706315105, - "status": "pending" - }, - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f", - "groupid": 1, - "amount_sent_msat": 1002, - "created_at": 1708640195, - "status": "pending" - }, - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 2, - "id": 2, - "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "groupid": 1, - "amount_sent_msat": 1002, - "created_at": 1708640198, - "status": "pending" - }, - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 3, - "id": 3, - "payment_hash": "0101010101010101010101010101010101010101010101010101010101010101", - "groupid": 1, - "amount_sent_msat": 1002, - "created_at": 1708640203, - "status": "pending" - }, - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8", - "groupid": 1, - "amount_sent_msat": 1000, - "created_at": 1708640384, - "status": "pending" - } - ], - "author": [ - "Christian Decker <> is mainly responsible." - ], - "see_also": [ - "lightning-createonion(7)", - "lightning-sendpay(7)", - "lightning-listsendpays(7)" - ], - "resources": [ - "Main web site: ", - "", - "[bolt04]: https://github.com/lightning/bolts/blob/master/04-onion-routing.md" - ] - }, - "lightning-sendonionmessage.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "sendonionmessage", - "title": "low-level command to send an onion message", - "warning": "experimental-onion-messages only", - "description": [ - "The **sendonionmessage** RPC command can be used to send a message via the lightning network. These are currently used by *offers* to request and receive invoices." - ], - "request": { - "required": [ - "first_id", - "blinding", - "hops" - ], - "properties": { - "first_id": { - "type": "pubkey", - "description": [ - "The (presumably well-known) public key of the start of the path." - ] - }, - "blinding": { - "type": "pubkey", - "description": [ - "Blinding factor for this path." - ] - }, - "hops": { - "type": "array", - "description": [ - "", - "" - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "node", - "tlv" + "channel_id": "def5ef03e0d36ed65de814c0a8d6599a502fe1afb8e956529320bb350e876b5f", + "funding_txid": "5f6b870e35bb20935256e9b8afe12f509a59d6a8c014e85dd66ed3e003eff5de", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "closer": "local", + "alias": { + "local": "15447035x5589520x8959", + "remote": "6036590x13481428x5501" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" ], - "properties": { - "node": { - "type": "pubkey", - "description": [ - "Public key of the node." - ] + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 989000000, + "min_to_us_msat": 989000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 967316000, + "receivable_msat": 899999, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:48:57.127Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" }, - "tlv": { - "type": "u8", - "description": [ - "Contains a hexadecimal TLV to include." - ] + { + "timestamp": "2024-02-22T17:48:59.741Z", + "old_state": "CHANNELD_NORMAL", + "new_state": "AWAITING_UNILATERAL", + "cause": "user", + "message": "Failing due to dev-fail command" } - } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 100001, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 1, + "out_offered_msat": 11000000, + "out_payments_fulfilled": 1, + "out_fulfilled_msat": 11000000, + "htlcs": [ + { + "direction": "in", + "id": 0, + "amount_msat": 100001, + "expiry": 109, + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "state": "RCVD_ADD_ACK_REVOCATION", + "local_trimmed": true + } + ] } - } - } - }, - "response": { - "required": [], - "properties": {} - }, - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-fetchinvoice(7)", - "lightning-offer(7)" - ], - "resources": [ - "Main web site: ", - "", - "[bolt04]: https://github.com/lightning/bolts/blob/master/04-onion-routing.md" - ] - }, - "lightning-sendpay.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "sendpay", - "title": "Low-level command for sending a payment via a route", - "description": [ - "The **sendpay** RPC command attempts to send funds associated with the given *payment_hash*, along a route to the final destination in the route.", - "", - "Generally, a client would call lightning-getroute(7) to resolve a route, then use **sendpay** to send it. If it fails, it would call lightning-getroute(7) again to retry. If the route is empty, a payment-to-self is attempted.", - "", - "The response will occur when the payment is on its way to the destination. The **sendpay** RPC command does not wait for definite success or definite failure of the payment (except for already-succeeded payments, or to-self payments). Instead, use the **waitsendpay** RPC command to poll or wait for definite success or definite failure.", - "", - "Once a payment has succeeded, calls to **sendpay** with the same *payment_hash* but a different *amount_msat* or destination will fail; this prevents accidental multiple payments. Calls to **sendpay** with the same *payment_hash*, *amount_msat*, and destination as a previous successful payment (even if a different route or *partid*) will return immediately with success." - ], - "request": { - "required": [ - "route", - "payment_hash" - ], - "properties": { - "route": { - "type": "array", - "items": { - "type": "object", - "required": [ - "amount_msat", - "id", - "delay", - "channel" + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" ], - "properties": { - "id": { - "type": "pubkey", - "description": [ - "The node at the end of this hop." - ] - }, - "channel": { - "type": "short_channel_id", - "description": [ - "The channel joining these nodes." - ] - }, - "delay": { - "type": "u32", - "description": [ - "The total CLTV expected by the node at the end of this hop." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount expected by the node at the end of this hop." - ] + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [ + "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 } - } + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [ + "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the payment_preimage." - ] - }, - "label": { - "type": "string", - "description": [ - "The label provided when creating the invoice_request." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "Amount must be provided if *partid* is non-zero, or the payment is to-self, otherwise it must be equal to the final amount to the destination. it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." - ], - "default": "in millisatoshi precision" - }, - "bolt11": { - "type": "string", - "description": [ - "Bolt11 invoice to pay. If provided, will be returned in *waitsendpay* and *listsendpays* results." - ] - }, - "payment_secret": { - "type": "secret", - "description": [ - "Value that the final recipient requires to accept the payment, as defined by the `payment_data` field in BOLT 4 and the `s` field in the BOLT 11 invoice format. It is required if *partid* is non-zero." - ] - }, - "partid": { - "type": "u64", - "description": [ - "Must not be provided for self-payments. If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*. The *amount_msat* amount (which must be provided) for each **sendpay** with matching *payment_hash* must be equal, and **sendpay** will fail if there are differing values given." - ] - }, - "localinvreqid": { - "type": "hex", - "description": [ - "Indicates that this payment is being made for a local invoice_request. This ensures that we only send a payment for a single-use invoice_request once." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Allows you to attach a number which appears in **listsendpays** so payments can be identified as part of a logical group. The *pay* plugin uses this to identify one attempt at a MPP payment, for example." - ] - }, - "payment_metadata": { - "added": "v0.11.0", - "type": "hex", - "description": [ - "Placed in the final onion hop TLV." - ] - }, - "description": { - "added": "v0.11.0", - "type": "string", - "description": [ - "Description used in the invoice." - ] - } - } - }, - "response": { - "required": [ - "id", - "created_index", - "payment_hash", - "status", - "created_at", - "amount_sent_msat" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was created in." - ] - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was changed (only present if it has changed since creation)." - ] - }, - "id": { - "type": "u64", - "description": [ - "Old synonym for created_index." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "pending", - "complete" - ], - "description": [ - "Status of the payment (could be complete if already sent previously)." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount delivered to destination (if known)." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment if known." - ] - }, - "created_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was initiated." - ] - }, - "completed_at": { - "type": "u64", - "description": [ - "The UNIX timestamp showing when this payment was completed." - ] - }, - "amount_sent_msat": { - "type": "msat", - "description": [ - "The amount sent." - ] - }, - "label": { - "type": "string", - "description": [ - "The *label*, if given to sendpay." - ] - }, - "partid": { - "type": "u64", - "description": [ - "The *partid*, if given to sendpay." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string (if supplied)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The bolt12 string (if supplied: **experimental-offers** only)." - ] - } + ] }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" + }, + "state": "CHANNELD_AWAITING_LOCKIN", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - } - } + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [], + "status": [ + "CHANNELD_AWAITING_LOCKIN:Funding needs 1 more confirmations to be ready." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "pending" - ] + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "message" + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749", + "remote": "5473684x9159292x43153" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "message": { - "type": "string", - "description": [ - "Monitor status with listpays or waitsendpay." - ] + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.948Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" } - } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] } - } - ] - }, - "errors": [ - "On error, if the error occurred from a node other than the final destination, the route table will be updated so that lightning-getroute(7) should return an alternate route (if any). An error from the final destination implies the payment should not be retried.", - "", - "- -1: Catchall nonspecific error.", - "- 201: Already paid with this *hash* using different amount or destination.", - "- 202: Unparseable onion reply. The *data* field of the error will have an *onionreply* field, a hex string representation of the raw onion reply.", - "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", - "- 204: Failure along route; retry a different route. The *data* field of the error will be routing failure object.", - "- 212: *localinvreqid* refers to an invalid, or used, local invoice_request.", - "", - "A routing failure object has the fields below:", - "", - "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", - "*erring_node*: The hex string of the pubkey id of the node that reported the error.", - "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error. In addition *erring_direction* will indicate which direction of the channel caused the failure.", - "*failcode*: The failure code, as per BOLT #4.", - "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the UPDATE bit set, as per BOLT #4." - ], - "example_json_request": [ - { - "id": "example:sendpay#1", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", - "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#2", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 100001, - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk", - "payment_secret": "aec4ff1ed56604e62290f4400b6cc076fb3d2a19070e8983befc2b3b82927f73", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#3", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", - "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#4", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 100001, - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", - "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#5", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 111, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", - "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#6", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 222, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", - "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", - "partid": null, - "groupid": null, - "payment_metadata": null - } + ] }, { - "id": "example:sendpay#7", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 4000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", - "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", - "partid": null, - "groupid": null, - "payment_metadata": null - } + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749", + "remote": "5473684x9159292x43153" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.948Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "id": "example:sendpay#8", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", - "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", - "partid": null, - "groupid": null, - "payment_metadata": null - } + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749", + "remote": "5473684x9159292x43153" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.948Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "id": "example:sendpay#9", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", - "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", - "partid": null, - "groupid": null, - "payment_metadata": null - } + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "f2a4edfabe4b79660f45fb7defe62e6354cfd919b43d2129017d8e0e7609ee80", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "5473684x9159292x43153", + "remote": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 978330000, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.950Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "id": "example:sendpay#10", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", - "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", - "partid": null, - "groupid": null, - "payment_metadata": null - } + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "25752dc9c2d690dde1ef544d7637f460053b526d373367d4b1a4b6f2c2e1e88d", + "last_tx_fee_msat": 4545000, + "lost_state": false, + "feerate": { + "perkw": 3750, + "perkb": 15000 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 1, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1pamt5tqzd49uyessr7437l2vllf20muqmzdauje8x8scjgpc0l0nqhyqcyp", + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6", + "private": false, + "opener": "local", + "alias": { + "local": "10275983x14052594x19749", + "remote": "5473684x9159292x43153" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 1000000000, + "remote_funds_msat": 0, + "pushed_msat": 0 + }, + "to_us_msat": 1000000000, + "min_to_us_msat": 1000000000, + "max_to_us_msat": 1000000000, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 978330000, + "receivable_msat": 0, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.948Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "user", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 0, + "in_offered_msat": 0, + "in_payments_fulfilled": 0, + "in_fulfilled_msat": 0, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [] + } + ] }, { - "id": "example:sendpay#11", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 11000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", - "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", - "partid": null, - "groupid": null, - "payment_metadata": null - } + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "8994bd86ca30200e5e85fcee4559254719de5773a7ba380ccda703dd1acb7e61", + "last_tx_fee_msat": 4551000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "5473684x9159292x43153", + "remote": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 978315889, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.950Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 111, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 111, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [ + { + "direction": "in", + "id": 0, + "amount_msat": 111, + "expiry": 109, + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "state": "SENT_REMOVE_COMMIT", + "local_trimmed": true + } + ] + } + ] }, { - "id": "example:sendpay#12", - "method": "sendpay", - "params": { - "route": [ - { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel": "103x1x0", - "direction": 1, - "amount_msat": 4211, - "style": "tlv", - "delay": 24 + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "peer_connected": true, + "reestablished": true, + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] }, - { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel": "105x1x0", - "direction": 0, - "amount_msat": 3710, - "style": "tlv", - "delay": 16 + "updates": { + "local": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + }, + "remote": { + "htlc_minimum_msat": 0, + "htlc_maximum_msat": 990000000, + "cltv_expiry_delta": 6, + "fee_base_msat": 1, + "fee_proportional_millionths": 10 + } + }, + "state": "CHANNELD_NORMAL", + "scratch_txid": "8994bd86ca30200e5e85fcee4559254719de5773a7ba380ccda703dd1acb7e61", + "last_tx_fee_msat": 4551000, + "lost_state": false, + "feerate": { + "perkw": 3755, + "perkb": 15020 + }, + "owner": "channeld", + "short_channel_id": "103x1x0", + "direction": 0, + "channel_id": "617c54a0b85458af8ef70052cb6b2cd58868942f2901a6a41fa7e9fbb9e35988", + "funding_txid": "8859e3b9fbe9a71fa4a601292f946888d52c6bcb5200f78eaf5854b8a0547c61", + "funding_outnum": 0, + "close_to_addr": "bcrt1p2au6qc8jqr2qaru8rfqwhytpfnzmlfks5hu99czngq98lmlcv9gqy9ctvg", + "close_to": "51205779a060f200d40e8f871a40eb91614cc5bfa6d0a5f852e053400a7feff86150", + "private": false, + "opener": "remote", + "alias": { + "local": "5473684x9159292x43153", + "remote": "10275983x14052594x19749" + }, + "features": [ + "option_static_remotekey", + "option_anchors_zero_fee_htlc_tx" + ], + "funding": { + "local_funds_msat": 0, + "remote_funds_msat": 1000000000, + "pushed_msat": 0 + }, + "to_us_msat": 0, + "min_to_us_msat": 0, + "max_to_us_msat": 0, + "total_msat": 1000000000, + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "dust_limit_msat": 546000, + "max_total_htlc_in_msat": 18446744073709551615, + "their_reserve_msat": 10000000, + "our_reserve_msat": 10000000, + "spendable_msat": 0, + "receivable_msat": 978315889, + "minimum_htlc_in_msat": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "their_to_self_delay": 5, + "our_to_self_delay": 5, + "max_accepted_htlcs": 483, + "state_changes": [ + { + "timestamp": "2024-02-22T17:49:09.950Z", + "old_state": "CHANNELD_AWAITING_LOCKIN", + "new_state": "CHANNELD_NORMAL", + "cause": "remote", + "message": "Lockin complete" + } + ], + "status": [ + "CHANNELD_NORMAL:Channel ready for use." + ], + "in_payments_offered": 1, + "in_offered_msat": 111, + "in_payments_fulfilled": 1, + "in_fulfilled_msat": 111, + "out_payments_offered": 0, + "out_offered_msat": 0, + "out_payments_fulfilled": 0, + "out_fulfilled_msat": 0, + "htlcs": [ + { + "direction": "in", + "id": 0, + "amount_msat": 111, + "expiry": 109, + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "state": "SENT_REMOVE_COMMIT", + "local_trimmed": true + } + ] + } + ] + } + ], + "author": [ + "Michael Hawkins <>." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-fundchannel_start(7)" + ], + "resources": [ + "Main web site: ", + "Lightning RFC site (BOLT #9): ", + "" + ] + }, + "lightning-listpeers.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "listpeers", + "title": "Command returning data on connected lightning nodes", + "description": [ + "The **listpeers** RPC command returns data on nodes that are connected or are not connected but have open channels with this node.", + "", + "Once a connection to another lightning node has been established, using the **connect** command, data on the node can be returned using **listpeers** and the *id* that was used with the **connect** command.", + "", + "If no *id* is supplied, then data on all lightning nodes that are connected, or not connected but have open channels with this node, are returned.", + "", + "If a channel is open with a node and the connection has been lost, then the node will still appear in the output of the command and the value of the *connected* attribute of the node will be \"false\".", + "", + "The channel will remain open for a set blocktime, after which if the connection has not been re-established, the channel will close and the node will no longer appear in the command output." + ], + "request": { + "required": [], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "If supplied, limits the result to just the peer with the given ID, if it exists." + ] + }, + "level": { + "type": "string", + "description": [ + "Supplying level will show log entries related to that peer at the given log level." + ], + "enum": [ + "io", + "debug", + "info", + "unusual" + ] + } + } + }, + "response": { + "required": [ + "peers" + ], + "properties": { + "peers": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "id", + "connected", + "num_channels" + ], + "properties": { + "id": { + "type": "pubkey", + "description": [ + "The unique id of the peer." + ] + }, + "connected": { + "type": "boolean", + "description": [ + "Value showing the connection status." + ] + }, + "netaddr": { + "type": "array", + "description": [ + "List of network addresses the node is listening on." + ], + "items": { + "type": "string", + "description": [ + "Address, e.g. 1.2.3.4:1234." + ] + } + }, + "features": { + "type": "string", + "description": [ + "Bit flags showing supported features (BOLT #9)." + ] + }, + "num_channels": { + "type": "u32", + "description": [ + "The number of channels the peer has with this node." + ], + "added": "v23.02" + }, + "log": { + "type": "array", + "description": [ + "If *level* is specified, logs for this peer." + ], + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "SKIPPED", + "BROKEN", + "UNUSUAL", + "INFO", + "DEBUG", + "IO_IN", + "IO_OUT" + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "enum": [ + "SKIPPED" + ] + } + } + }, + "then": { + "type": "object", + "additionalProperties": false, + "required": [ + "num_skipped" + ], + "properties": { + "type": {}, + "num_skipped": { + "type": "u32", + "description": [ + "Number of deleted/omitted entries." + ] + } + } + } + }, + { + "if": { + "properties": { + "type": { + "enum": [ + "BROKEN", + "UNUSUAL", + "INFO", + "DEBUG" + ] + } + } + }, + "then": { + "type": "object", + "additionalProperties": false, + "required": [ + "time", + "source", + "log", + "node_id" + ], + "properties": { + "type": {}, + "time": { + "type": "string", + "description": [ + "UNIX timestamp with 9 decimal places." + ] + }, + "source": { + "type": "string", + "description": [ + "The particular logbook this was found in." + ] + }, + "log": { + "type": "string", + "description": [ + "The actual log message." + ] + }, + "node_id": { + "type": "pubkey", + "description": [ + "The peer this is associated with." + ] + } + } + } + }, + { + "if": { + "properties": { + "type": { + "enum": [ + "IO_IN", + "IO_OUT" + ] + } + } + }, + "then": { + "type": "object", + "additionalProperties": false, + "required": [ + "time", + "source", + "log", + "node_id", + "data" + ], + "properties": { + "type": {}, + "time": { + "type": "string", + "description": [ + "UNIX timestamp with 9 decimal places." + ] + }, + "source": { + "type": "string", + "description": [ + "The particular logbook this was found in." + ] + }, + "log": { + "type": "string", + "description": [ + "The actual log message." + ] + }, + "node_id": { + "type": "pubkey", + "description": [ + "The peer this is associated with." + ] + }, + "data": { + "type": "hex", + "description": [ + "The IO which occurred." + ] + } + } + } + } + ] + } + }, + "channels": { + "deprecated": [ + "v23.02", + "v24.02" + ], + "type": "array", + "description": [ + "Channels with this peer." + ], + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "state", + "opener", + "features", + "peer_connected", + "peer_id" + ], + "properties": { + "peer_id": { + "type": "pubkey", + "added": "pre-v0.10.1", + "description": [ + "Node Public key." + ] + }, + "peer_connected": { + "type": "boolean", + "added": "pre-v0.10.1", + "description": [ + "A boolean flag that is set to true if the peer is online." + ] + }, + "reestablished": { + "type": "boolean", + "added": "v24.02", + "description": [ + "A boolean flag that is set to true if we have successfully exchanged reestablish messages with this connection." + ] + }, + "state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY", + "CHANNELD_AWAITING_SPLICE", + "CLOSED" + ], + "description": [ + "Current state of the channel:", + " * `OPENINGD`: The channel funding protocol with the peer is ongoing and both sides are negotiating parameters.", + " * `CHANNELD_AWAITING_LOCKIN`: The peer and you have agreed on channel parameters and are just waiting for the channel funding transaction to be confirmed deeply. Both you and the peer must acknowledge the channel funding transaction to be confirmed deeply before entering the next state.", + " * `CHANNELD_NORMAL`: The channel can be used for normal payments.", + " * `CHANNELD_SHUTTING_DOWN`: A mutual close was requested (by you or peer) and both of you are waiting for HTLCs in-flight to be either failed or succeeded. The channel can no longer be used for normal payments and forwarding. Mutual close will proceed only once all HTLCs in the channel have either been fulfilled or failed.", + " * `CLOSINGD_SIGEXCHANGE`: You and the peer are negotiating the mutual close onchain fee.", + " * `CLOSINGD_COMPLETE`: You and the peer have agreed on the mutual close onchain fee and are awaiting the mutual close getting confirmed deeply.", + " * `AWAITING_UNILATERAL`: You initiated a unilateral close, and are now waiting for the peer-selected unilateral close timeout to complete.", + " * `FUNDING_SPEND_SEEN`: You saw the funding transaction getting spent (usually the peer initiated a unilateral close) and will now determine what exactly happened (i.e. if it was a theft attempt).", + " * `ONCHAIN`: You saw the funding transaction getting spent and now know what happened (i.e. if it was a proper unilateral close by the peer, or a theft attempt).", + " * `CLOSED`: The channel closure has been confirmed deeply. The channel will eventually be removed from this array." + ] + }, + "scratch_txid": { + "type": "txid", + "description": [ + "The txid we would use if we went onchain now." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v23.05" + }, + "updates": { + "type": "object", + "added": "v24.02", + "description": [ + "Latest gossip updates sent/received." + ], + "additionalProperties": false, + "required": [ + "local" + ], + "properties": { + "local": { + "type": "object", + "description": [ + "Our gossip for channel." + ], + "additionalProperties": false, + "added": "v24.02", + "required": [ + "htlc_minimum_msat", + "htlc_maximum_msat", + "cltv_expiry_delta", + "fee_base_msat", + "fee_proportional_millionths" + ], + "properties": { + "htlc_minimum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Minimum msat amount we allow." + ] + }, + "htlc_maximum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Maximum msat amount we allow." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "added": "v24.02", + "description": [ + "Blocks delay required between incoming and outgoing HTLCs." + ] + }, + "fee_base_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Amount we charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "added": "v24.02", + "description": [ + "Amount we charge to use the channel in parts-per-million." + ] + } + } + }, + "remote": { + "type": "object", + "added": "v24.02", + "description": [ + "Peer's gossip for channel." + ], + "additionalProperties": false, + "required": [ + "htlc_minimum_msat", + "htlc_maximum_msat", + "cltv_expiry_delta", + "fee_base_msat", + "fee_proportional_millionths" + ], + "properties": { + "htlc_minimum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Minimum msat amount they allow." + ] + }, + "htlc_maximum_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Maximum msat amount they allow." + ] + }, + "cltv_expiry_delta": { + "type": "u32", + "added": "v24.02", + "description": [ + "Blocks delay required between incoming and outgoing HTLCs." + ] + }, + "fee_base_msat": { + "type": "msat", + "added": "v24.02", + "description": [ + "Amount they charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "added": "v24.02", + "description": [ + "Amount they charge to use the channel in parts-per-million." + ] + } + } + } + } + }, + "ignore_fee_limits": { + "type": "boolean", + "added": "v23.08", + "description": [ + "Set if we allow this peer to set fees to anything they want." + ] + }, + "feerate": { + "type": "object", + "description": [ + "Feerates for the current tx." + ], + "additionalProperties": false, + "required": [ + "perkw", + "perkb" + ], + "properties": { + "perkw": { + "type": "u32", + "description": [ + "Feerate per 1000 weight (i.e kSipa)." + ] + }, + "perkb": { + "type": "u32", + "description": [ + "Feerate per 1000 virtual bytes." + ] + } + } + }, + "owner": { + "type": "string", + "description": [ + "The current subdaemon controlling this connection." + ] + }, + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "The short_channel_id (once locked in)." + ] + }, + "channel_id": { + "type": "hash", + "description": [ + "The full channel_id (funding txid Xored with output number)." + ] + }, + "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." + ] + }, + "initial_feerate": { + "type": "string", + "description": [ + "For inflight opens, the first feerate used to initiate the channel open." + ] + }, + "last_feerate": { + "type": "string", + "description": [ + "For inflight opens, the most recent feerate used on the channel open." + ] + }, + "next_feerate": { + "type": "string", + "description": [ + "For inflight opens, the next feerate we'll use for the channel open." + ] + }, + "next_fee_step": { + "type": "u32", + "description": [ + "For inflight opens, the next feerate step we'll use for the channel open." + ] + }, + "inflight": { + "type": "array", + "description": [ + "Current candidate funding transactions." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "funding_txid", + "funding_outnum", + "feerate", + "total_funding_msat", + "splice_amount", + "our_funding_msat" + ], + "properties": { + "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." + ] + }, + "feerate": { + "type": "string", + "description": [ + "The feerate for this funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "total_funding_msat": { + "type": "msat", + "description": [ + "Total amount in the channel." + ] + }, + "splice_amount": { + "type": "integer", + "added": "v23.08", + "description": [ + "The amouont of sats we're splicing in or out." + ] + }, + "our_funding_msat": { + "type": "msat", + "description": [ + "Amount we have in the channel." + ] + }, + "scratch_txid": { + "type": "txid", + "description": [ + "The commitment transaction txid we would use if we went onchain now." + ] + } + } + } + }, + "close_to": { + "type": "hex", + "description": [ + "ScriptPubkey which we have to close to if we mutual close." + ] + }, + "private": { + "type": "boolean", + "description": [ + "If True, we will not announce this channel." + ] + }, + "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)." + ] + }, + "features": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "option_static_remotekey", + "option_anchor_outputs", + "option_anchors_zero_fee_htlc_tx", + "option_scid_alias", + "option_zeroconf" + ], + "description": [ + "BOLT #9 features which apply to this channel." + ] + } + }, + "funding": { + "type": "object", + "additionalProperties": false, + "required": [ + "local_funds_msat", + "remote_funds_msat" + ], + "properties": { + "pushed_msat": { + "type": "msat", + "description": [ + "Amount pushed from opener to peer." + ] + }, + "local_funds_msat": { + "type": "msat", + "description": [ + "Amount of channel we funded." + ] + }, + "remote_funds_msat": { + "type": "msat", + "description": [ + "Amount of channel they funded." + ] + }, + "fee_paid_msat": { + "type": "msat", + "description": [ + "Amount we paid peer at open." + ] + }, + "fee_rcvd_msat": { + "type": "msat", + "description": [ + "Amount we were paid by peer at open." + ] + } + } + }, + "to_us_msat": { + "type": "msat", + "description": [ + "How much of channel is owed to us." + ] + }, + "min_to_us_msat": { + "type": "msat", + "description": [ + "Least amount owed to us ever. If the peer were to successfully 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." + ] + }, + "total_msat": { + "type": "msat", + "description": [ + "Total amount in the channel." + ] + }, + "fee_base_msat": { + "type": "msat", + "description": [ + "Amount we charge to use the channel." + ] + }, + "fee_proportional_millionths": { + "type": "u32", + "description": [ + "Amount we charge to use the channel in parts-per-million." + ] + }, + "dust_limit_msat": { + "type": "msat", + "description": [ + "Minimum amount for an output on the channel transactions." + ] + }, + "max_total_htlc_in_msat": { + "type": "msat", + "description": [ + "Max amount accept in a single payment." + ] + }, + "their_reserve_msat": { + "type": "msat", + "description": [ + "Minimum we insist they keep in channel. If they have less than this in the channel, they cannot send to us on that channel." + ], + "default": "1% of the total channel capacity" + }, + "our_reserve_msat": { + "type": "msat", + "description": [ + "Minimum they insist we keep in channel. If you have less than this in the channel, you cannot send out via this channel." + ] + }, + "spendable_msat": { + "type": "msat", + "description": [ + "An estimate of the total we could send through channel (can be wrong because adding HTLCs requires an increase in fees paid to onchain miners, and onchain fees change dynamically according to onchain activity)." + ] + }, + "receivable_msat": { + "type": "msat", + "description": [ + "An estimate of the total peer could send through channel." + ] + }, + "minimum_htlc_in_msat": { + "type": "msat", + "description": [ + "The minimum amount HTLC we accept." + ] + }, + "minimum_htlc_out_msat": { + "type": "msat", + "description": [ + "The minimum amount HTLC we will send." + ] + }, + "maximum_htlc_out_msat": { + "type": "msat", + "description": [ + "The maximum amount HTLC we will send." + ] + }, + "their_to_self_delay": { + "type": "u32", + "description": [ + "The number of blocks before they can take their funds if they unilateral close." + ] + }, + "our_to_self_delay": { + "type": "u32", + "description": [ + "The number of blocks before we can take our funds if we unilateral close." + ] + }, + "max_accepted_htlcs": { + "type": "u32", + "description": [ + "Maximum number of incoming HTLC we will accept at once." + ] + }, + "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." + ] + } + } + }, + "state_changes": { + "type": "array", + "description": [ + "Prior state changes." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "timestamp", + "old_state", + "new_state", + "cause", + "message" + ], + "properties": { + "timestamp": { + "type": "string", + "description": [ + "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ." + ] + }, + "old_state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY", + "CHANNELD_AWAITING_SPLICE", + "CLOSED" + ], + "description": [ + "Previous state." + ] + }, + "new_state": { + "type": "string", + "enum": [ + "OPENINGD", + "CHANNELD_AWAITING_LOCKIN", + "CHANNELD_NORMAL", + "CHANNELD_SHUTTING_DOWN", + "CLOSINGD_SIGEXCHANGE", + "CLOSINGD_COMPLETE", + "AWAITING_UNILATERAL", + "FUNDING_SPEND_SEEN", + "ONCHAIN", + "DUALOPEND_OPEN_INIT", + "DUALOPEND_AWAITING_LOCKIN", + "DUALOPEND_OPEN_COMMITTED", + "DUALOPEND_OPEN_COMMIT_READY", + "CHANNELD_AWAITING_SPLICE", + "CLOSED" + ], + "description": [ + "New state." + ] + }, + "cause": { + "type": "string", + "enum": [ + "unknown", + "local", + "user", + "remote", + "protocol", + "onchain" + ], + "description": [ + "What caused the change." + ] + }, + "message": { + "type": "string", + "description": [ + "Human-readable explanation." + ] + } + } + } + }, + "status": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Billboard log of significant changes." + ] + } + }, + "in_payments_offered": { + "type": "u64", + "description": [ + "Number of incoming payment attempts." + ] + }, + "in_offered_msat": { + "type": "msat", + "description": [ + "Total amount of incoming payment attempts." + ] + }, + "in_payments_fulfilled": { + "type": "u64", + "description": [ + "Number of successful incoming payment attempts." + ] + }, + "in_fulfilled_msat": { + "type": "msat", + "description": [ + "Total amount of successful incoming payment attempts." + ] + }, + "out_payments_offered": { + "type": "u64", + "description": [ + "Number of outgoing payment attempts." + ] + }, + "out_offered_msat": { + "type": "msat", + "description": [ + "Total amount of outgoing payment attempts." + ] + }, + "out_payments_fulfilled": { + "type": "u64", + "description": [ + "Number of successful outgoing payment attempts." + ] + }, + "out_fulfilled_msat": { + "type": "msat", + "description": [ + "Total amount of successful outgoing payment attempts." + ] + }, + "last_stable_connection": { + "type": "u64", + "added": "v24.02", + "description": [ + "Last time we reestablished the open channel and stayed connected for 1 minute." + ] + }, + "htlcs": { + "type": "array", + "description": [ + "Current HTLCs in this channel." + ], + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "direction", + "id", + "amount_msat", + "expiry", + "payment_hash", + "state" + ], + "properties": { + "direction": { + "type": "string", + "enum": [ + "in", + "out" + ], + "description": [ + "Whether it came from peer, or is going to peer." + ] + }, + "id": { + "type": "u64", + "description": [ + "Unique ID for this htlc on this channel in this direction." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount send/received for this HTLC." + ] + }, + "expiry": { + "type": "u32", + "description": [ + "Block this HTLC expires at (after which an `in` direction HTLC will be returned to the peer, an `out` returned to us). If this expiry is too close, lightningd(8) will automatically unilaterally close the channel in order to enforce the timeout onchain." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the payment_preimage which will prove payment." + ] + }, + "local_trimmed": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "If this is too small to enforce onchain; it doesn't appear in the commitment transaction and will not be enforced in a unilateral close. Generally true if the HTLC (after subtracting onchain fees) is below the `dust_limit_msat` for the channel." + ] + }, + "status": { + "type": "string", + "description": [ + "Set if this HTLC is currently waiting on a hook (and shows what plugin)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "direction": { + "enum": [ + "out" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "state" + ], + "properties": { + "direction": {}, + "id": {}, + "amount_msat": {}, + "msatoshi": {}, + "expiry": {}, + "payment_hash": {}, + "local_trimmed": {}, + "status": {}, + "alias": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": { + "type": "string", + "enum": [ + "SENT_ADD_HTLC", + "SENT_ADD_COMMIT", + "RCVD_ADD_REVOCATION", + "RCVD_ADD_ACK_COMMIT", + "SENT_ADD_ACK_REVOCATION", + "RCVD_REMOVE_HTLC", + "RCVD_REMOVE_COMMIT", + "SENT_REMOVE_REVOCATION", + "SENT_REMOVE_ACK_COMMIT", + "RCVD_REMOVE_ACK_REVOCATION" + ], + "description": [ + "Status of the HTLC." + ] + } + } + } + }, + { + "if": { + "properties": { + "direction": { + "enum": [ + "in" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "state" + ], + "properties": { + "direction": {}, + "id": {}, + "amount_msat": {}, + "msatoshi": {}, + "expiry": {}, + "payment_hash": {}, + "local_trimmed": {}, + "status": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": { + "type": "string", + "enum": [ + "RCVD_ADD_HTLC", + "RCVD_ADD_COMMIT", + "SENT_ADD_REVOCATION", + "SENT_ADD_ACK_COMMIT", + "RCVD_ADD_ACK_REVOCATION", + "SENT_REMOVE_HTLC", + "SENT_REMOVE_COMMIT", + "RCVD_REMOVE_REVOCATION", + "RCVD_REMOVE_ACK_COMMIT", + "SENT_REMOVE_ACK_REVOCATION" + ], + "description": [ + "Status of the HTLC." + ] + } + } + } + } + ] + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "peer_connected": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "properties": { + "reestablished": { + "type": "boolean", + "description": [ + "True if we have successfully exchanged reestablish messages this connection." + ] + } + } + } + }, + { + "if": { + "required": [ + "close_to" + ] + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "close_to": {}, + "private": {}, + "alias": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "inflight": {}, + "last_tx_fee_msat": {}, + "direction": {}, + "close_to_addr": { + "type": "string", + "description": [ + "The bitcoin address we will close to (present if close_to_addr is a standardized address)." + ] + } + } + } + }, + { + "if": { + "required": [ + "scratch_txid" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "last_tx_fee_msat" + ], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "alias": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "inflight": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "close_to_addr": {}, + "direction": {}, + "last_tx_fee_msat": { + "type": "msat", + "description": [ + "Fee attached to this the current tx." + ] + } + } + } + }, + { + "if": { + "required": [ + "short_channel_id" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "direction" + ], + "properties": { + "alias": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "state": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "owner": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "inflight": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "initial_feerate": {}, + "last_feerate": {}, + "next_feerate": {}, + "close_to_addr": {}, + "last_tx_fee_msat": {}, + "direction": { + "type": "u32", + "description": [ + "0 if we're the lesser node_id, 1 if we're the greater (as used in BOLT #7 channel_update)." + ] + } + } + } + }, + { + "if": { + "required": [ + "inflight" + ] + }, + "then": { + "additionalProperties": false, + "required": [ + "initial_feerate", + "last_feerate", + "next_feerate" + ], + "properties": { + "state": {}, + "peer_id": {}, + "peer_connected": {}, + "reestablished": {}, + "scratch_txid": {}, + "channel_type": {}, + "feerate": {}, + "ignore_fee_limits": {}, + "owner": {}, + "alias": {}, + "short_channel_id": {}, + "channel_id": {}, + "updates": {}, + "funding_txid": {}, + "funding_outnum": {}, + "close_to": {}, + "private": {}, + "opener": {}, + "closer": {}, + "features": {}, + "funding": {}, + "to_us_msat": {}, + "min_to_us_msat": {}, + "max_to_us_msat": {}, + "total_msat": {}, + "fee_base_msat": {}, + "fee_proportional_millionths": {}, + "dust_limit_msat": {}, + "max_total_htlc_in_msat": {}, + "their_reserve_msat": {}, + "our_reserve_msat": {}, + "spendable_msat": {}, + "receivable_msat": {}, + "minimum_htlc_in_msat": {}, + "minimum_htlc_out_msat": {}, + "maximum_htlc_out_msat": {}, + "spendable_msatoshi": {}, + "receivable_msatoshi": {}, + "their_to_self_delay": {}, + "our_to_self_delay": {}, + "max_accepted_htlcs": {}, + "msatoshi_to_us": {}, + "msatoshi_to_us_min": {}, + "msatoshi_to_us_max": {}, + "msatoshi_total": {}, + "dust_limit_satoshis": {}, + "max_htlc_value_in_flight_msat": {}, + "our_channel_reserve_satoshis": {}, + "their_channel_reserve_satoshis": {}, + "spendable_satoshis": {}, + "receivable_satoshis": {}, + "htlc_minimum_msat": {}, + "state_changes": {}, + "status": {}, + "in_payments_offered": {}, + "in_offered_msat": {}, + "in_msatoshi_offered": {}, + "in_payments_fulfilled": {}, + "in_fulfilled_msat": {}, + "in_msatoshi_fulfilled": {}, + "out_payments_offered": {}, + "out_offered_msat": {}, + "out_msatoshi_offered": {}, + "out_payments_fulfilled": {}, + "out_fulfilled_msat": {}, + "out_msatoshi_fulfilled": {}, + "last_stable_connection": {}, + "htlcs": {}, + "inflight": {}, + "close_to_addr": {}, + "direction": {}, + "last_tx_fee_msat": {}, + "initial_feerate": { + "type": "string", + "description": [ + "The feerate for the initial funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "last_feerate": { + "type": "string", + "description": [ + "The feerate for the latest funding transaction in per-1000-weight, with `kpw` appended." + ] + }, + "next_feerate": { + "type": "string", + "description": [ + "The minimum feerate for the next funding transaction in per-1000-weight, with `kpw` appended." + ] + } + } + } + } + ] + } + } }, - { - "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel": "107x1x0", - "direction": 1, - "amount_msat": 3210, - "style": "tlv", - "delay": 8 - } - ], - "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", - "label": null, - "amount_msat": null, - "bolt11": null, - "payment_secret": "c36a2fe9aced78c06960e2f21b369ed03f0492c97e53ba3b662163bcdaf1d7fa", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#13", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 200000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", - "payment_secret": "0d04da0e55104a906a27c513af2bb1b6d1c0ac3e40887bf686395bf30bab0bae", - "partid": null, - "groupid": null, - "payment_metadata": null - } - }, - { - "id": "example:sendpay#14", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 200000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", - "payment_secret": "c84ca8495a24ab6ba4ef21c891e3dd0da66ee29e11b30abadea39f6b3ea08b89", - "partid": null, - "groupid": null, - "payment_metadata": null + "allOf": [ + { + "if": { + "additionalProperties": true, + "properties": { + "connected": { + "enum": [ + true + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "netaddr", + "features" + ], + "properties": { + "id": {}, + "channels": {}, + "connected": {}, + "num_channels": {}, + "htlcs": {}, + "log": {}, + "netaddr": { + "type": "array", + "minItems": 1, + "maxItems": 1, + "description": [ + "A single entry array." + ], + "items": { + "type": "string", + "description": [ + "Address, e.g. 1.2.3.4:1234." + ] + } + }, + "remote_addr": { + "type": "string", + "description": [ + "The public IPv4/6 address the peer sees us from, e.g. 1.2.3.4:1234." + ] + }, + "features": { + "type": "hex", + "description": [ + "Bitmap of BOLT #9 features from peer's INIT message." + ] + } + } + } + } + ] + } } - }, + } + }, + "errors": [ + "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." + ], + "example_json_request": [ { - "id": "example:sendpay#15", - "method": "sendpay", + "id": "example:listpeers#1", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 200000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", - "payment_secret": "428888fdcc3f62933e86de029123739c94ee1911e2547b598052cf4353fe1a0b", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null } }, { - "id": "example:sendpay#16", - "method": "sendpay", + "id": "example:listpeers#2", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "delay": 5, - "channel": "103x2x0" - } - ], - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", - "payment_secret": "ac1fa2590feb152de819465a30d6862b713efaecddd2a938fc2504df99214896", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": null, + "level": null } }, { - "id": "example:sendpay#17", - "method": "sendpay", + "id": "example:listpeers#3", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "delay": 5, - "channel": "103x4x0" - } - ], - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", - "payment_secret": "00c2b79bb89b764df4c3a283a4351bd9b91ad254f274d92fa5667e8055b28934", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null } }, { - "id": "example:sendpay#18", - "method": "sendpay", + "id": "example:listpeers#4", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 200000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", - "payment_secret": "5b9d7d2ef23b3e981861505cd9f89560268f3b742803393cb33f332abc4695de", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": null, + "level": null } }, { - "id": "example:sendpay#19", - "method": "sendpay", + "id": "example:listpeers#5", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", - "payment_secret": "8cafc0fe8eacd45686c2475f5ae38d12cc25bea3cb397e49bb70fdcb4ac1c8d0", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "level": null } }, { - "id": "example:sendpay#20", - "method": "sendpay", + "id": "example:listpeers#6", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "delay": 5, - "channel": "105x1x0" - } - ], - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", - "payment_secret": "db3ca32adb640f7cee2d5542832a0613eded84cdc7e938e8944d0bcecd3f538e", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null } }, { - "id": "example:sendpay#21", - "method": "sendpay", + "id": "example:listpeers#7", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "delay": 5, - "channel": "107x1x0" - } - ], - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", - "payment_secret": "9a5e4864d7df7e38c627c934aba9e8054333fa5eec542a368119ae0ab6e129bc", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": null, + "level": null } }, { - "id": "example:sendpay#22", - "method": "sendpay", + "id": "example:listpeers#8", + "method": "listpeers", "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", - "payment_secret": "455212998fa379dfe832111755ec99e3ccd74757b56600a398044d855cee9202", - "partid": null, - "groupid": null, - "payment_metadata": null + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null } }, { - "id": "example:sendpay#23", - "method": "sendpay", - "params": { - "route": [ - { - "amount_msat": 100000000, - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "delay": 5, - "channel": "103x1x0" - } - ], - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "label": null, - "amount_msat": null, - "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", - "payment_secret": "4c75b8e132112cbb659bab0bc61b98db0685f8b79ecbfedbcea6c6f446127c43", - "partid": null, - "groupid": null, - "payment_metadata": null - } - } - ], - "example_json_response": [ - { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1706152930, - "status": "pending", - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk" + "id": "example:listpeers#9", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", - "groupid": 1, - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 100001, - "amount_sent_msat": 100001, - "created_at": 1706152935, - "status": "pending", - "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk" + "id": "example:listpeers#10", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624137, - "status": "pending", - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24" + "id": "example:listpeers#11", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", - "groupid": 1, - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 100001, - "amount_sent_msat": 100001, - "created_at": 1708624138, - "status": "pending", - "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v" + "id": "example:listpeers#12", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 111, - "amount_sent_msat": 111, - "created_at": 1708624150, - "status": "pending", - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6" + "id": "example:listpeers#13", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 2, - "id": 2, - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 222, - "amount_sent_msat": 222, - "created_at": 1708624152, - "status": "pending", - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l" + "id": "example:listpeers#14", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 3, - "id": 3, - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 4000000, - "amount_sent_msat": 4000000, - "created_at": 1708624153, - "status": "pending", - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76" + "id": "example:listpeers#15", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624189, - "status": "pending", - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy" + "id": "example:listpeers#16", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624212, - "status": "pending", - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq" + "id": "example:listpeers#17", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624223, - "status": "pending", - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl" + "id": "example:listpeers#18", + "method": "listpeers", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624242, - "status": "pending", - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474" + "id": "example:listpeers#19", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", - "groupid": 1, - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 3210, - "amount_sent_msat": 4211, - "created_at": 1708624260, - "status": "pending" + "id": "example:listpeers#20", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624682, - "status": "pending", - "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn" + "id": "example:listpeers#21", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624696, - "status": "pending", - "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx" + "id": "example:listpeers#22", + "method": "listpeers", + "params": { + "id": null, + "level": null + } }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624705, - "status": "pending", - "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg" - }, + "id": "example:listpeers#23", + "method": "listpeers", + "params": { + "id": null, + "level": null + } + } + ], + "example_json_response": [ { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "groupid": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624732, - "status": "pending", - "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:44619" + ], + "features": "08a0000a0a69a2" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 2, - "id": 2, - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "groupid": 1, - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624733, - "status": "pending", - "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:48862" + ], + "features": "08a0000a0a69a2" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624742, - "status": "pending", - "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:46563" + ], + "features": "08a0000a8a5961" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624761, - "status": "pending", - "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:36310" + ], + "features": "08a0000a8a5961" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 2, - "id": 2, - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "groupid": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624763, - "status": "pending", - "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:36310" + ], + "features": "08a0000a8a5961" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 3, - "id": 3, - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "groupid": 1, - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624763, - "status": "pending", - "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:32945" + ], + "features": "08a0000a8a5961" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624827, - "status": "pending", - "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:37844" + ], + "features": "08a0000a8a5961" + } + ] }, { - "message": "Monitor status with listpays or waitsendpay", - "created_index": 1, - "id": 1, - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "groupid": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624839, - "status": "pending", - "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm" - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listinvoice(7)", - "lightning-delinvoice(7)", - "lightning-getroute(7)", - "lightning-invoice(7)", - "lightning-pay(7)", - "lightning-waitsendpay(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-sendpsbt.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "sendpsbt", - "title": "Command to finalize, extract and send a partially signed bitcoin transaction (PSBT).", - "description": [ - "The **sendpsbt** is a low-level RPC command which sends a fully-signed PSBT." - ], - "request": { - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "The fully signed psbt to be sent." - ] - }, - "reserve": { - "type": "u32", - "description": [ - "Number of blocks to increase reservation of any of our inputs by." - ], - "default": "72" - } - } - }, - "response": { - "required": [ - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", - "description": [ - "The raw transaction which was sent." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the **tx**." - ] - } - } - }, - "example_json_request": [ + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:32945" + ], + "features": "08a0000a8a5961" + } + ] + }, { - "id": "example:sendpsbt#1", - "method": "sendpsbt", - "params": { - "psbt": "some_psbt" - } + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:37844" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#2", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAM0CAAAABEV+dnFRINmyeHxi4Id0OrcuzI5au5/BlPtTfu7E2m3EAAAAAAD9////cv8oioDx+0NCEnjBSYtnwF0H4VR13j+bkyb5gOOQLUUBAAAAAP3///8ehOrKm7JEq6zflkp9+zmSwE1iPe1yh3KTXvk+om/legEAAAAA/f///2s31wNrI1UavMgjC1GyrOHNbxOm68KYa13WX/mGfmjcAQAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABTzfqjIqV1wPpqc/3/Cb+tMX5EDrLmnhb5BMNx3aB/hYAAAAAAP3///8CQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMg/+juSkBAAAAFgAUJB0adsMdjkacZWrLwyteqfOaTrRlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBwFb9rA0nUVlIPGd2aaiRbJ+KH4MLM3Bu+f0JuXB/hwAIgT2rrIUG9gXBZoH9fcPjCnbbM1SR4GiLYGLeALB8yENoBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAGANpEFI+CgfALTim/MWsAa62g+EmFWrFrzBDBCmCB3MgAAAAAA/f///wKZKdgpAQAAABYAFB+xhfU1pgl9WIvDKzAHZp8UeNkzQEIPAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUGUAAAABAR9AQg8AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQIgICXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9HMEQCIDtx/kEoc4PHDDm4eX5SEOmuRGu7ShpEG7xKBbuD/NjiAiBYkIKod39dcBarCT7Dbchkuwx70tJhOxQSJi2EMioGrwEiBgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wgHHEnKAAAAAAABAHECAAAAAVHU7RCZylzRMdlMBJ2ba4XKxv0l7LdWVnPYS6mhkf60AAAAAAD9////Av5VbSkBAAAAFgAU0BhRKzRbIC6H+s6j86d6cMpTNNhAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgNAeIVGvUj9MWM18am0dx3JtEf79iQMX7Rqz1tttes3ICIAtNCglUlvpSidAxc/xoiy9cA13bgimJx25G+eZXfYJeASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABRX52cVEg2bJ4fGLgh3Q6ty7Mjlq7n8GU+1N+7sTabcQBAAAAAP3///8CMmGqKQEAAAAWABSxLq0p9YAKl+hX7pFc0K/X+PIWmUBCDwAAAAAAFgAUZhwjt5DdNJE3OvCx2L7Qh31c3iJlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIiICA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsORzBEAiBKABqNV7cF5DKhtd+m+ZEmWF21vBt2uBKnzeDuUFqvDwIgJc6+/6GQqIfz869kJpUFTAMYTeL2qWR6d28EQEOJgkMBIgYD+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w4IZhwjtwAAAAAAAA==", - "reserve": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:32945" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#3", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFIsDpF2EuaGJtRrhYx+IbzOd/M7kniQIblkMgXiJcdgBAAAAAP3///9R1O0Qmcpc0THZTASdm2uFysb9Jey3VlZz2EupoZH+tAEAAAAA/f///xHyxgYldW/5XQeaJq5EZi39F3iXPA9IJldWMrs0RdWlAAAAAAD9////lXEYYW7S2ebGQrEHH/6fF+EYbVSCrLQMO1aW0KtGdkcAAAAAAP3////as4fUngjF1704BbqIc4BEqwVJO2zEHP8xp1RmOO7XqAAAAAAA/f///4A2kQUj4KB8AtOKb8xawBrraD4SYVasWvMEMEKYIHcyAQAAAAD9////DfpknFkgmSr0m9lSWhPIGCw+rXbHudSRFvs7NVArSAgBAAAAAP3///+3IhlAYc2gN6QEMWbKdvMaXJCzfI9ZN5hJeoPoSA9d3QAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAbciGUBhzaA3pAQxZsp28xpckLN8j1k3mEl6g+hID13dAQAAAAD9////AmTQTikBAAAAFgAUmTayL34qV6d/J2Spi23HG9ujufdAQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wZQAAAAEBH0BCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AiAgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02kcwRAIgQPIS1hHPvv2YYxqC9E4nAzI6bJ8VM+xtqij2QYEw9dkCIHvJR91D4B99HjFmqW8XGv4XzMG2YOxH7TSrFymMiZ8EASIGA/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCPb/tEgAAAAAAAEAcQIAAAAB+BRksO8M93IOGyoz2ktymYV+u+BgKKuGMa6vNh7gCuMBAAAAAP3///8Cy5h8KQEAAAAWABT9eBm+lMXbuwtsx912HDPdEXAYxEBCDwAAAAAAFgAUqYuGF8lWzlZmylpuQc2vZRzxay1lAAAAAQEfQEIPAAAAAAAWABSpi4YXyVbOVmbKWm5Bza9lHPFrLSICAlxthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsRzBEAiAY0FysnZ9OUBv65aP6co+E3jI5iDFtwdE8gkvDEQQ+8AIgHmmHZAHtHTqX8gZEEQyBUB+yYsNfdQ2nXUNDKlwCBkABIgYCXG2GGW9KyjHaw7kzoxHi88sYrirjOWnfvG0Eu+m3B2wIqYuGFwAAAAAAAQBxAgAAAAFWbarD49MSeyGu8cpTWoBgO5W+afwWrpF3XMFb6lTxWgAAAAAA/f///wJAQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyZmznKQEAAAAWABSQxYMKMFKJXprq5bQyuhXxywwjPmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyIgIDuBs9FtAwe26X0/wiqBxArW2tNc+GgvWigGwQBF0GIr9HMEQCIB+w52X4+Cm98R+qE8vuGQZR4mc5BAALkE9jwgncqUfeAiB/2xs2N0qIrIJ9GrieIySfrVUA/xcGbdNrAOKAqgvspAEiBgO4Gz0W0DB7bpfT/CKoHECtba01z4aC9aKAbBAEXQYivwijI8KCAAAAAAABAHECAAAAAUJUZ+FOlPBPUwCm2tSJpYlK06wi02Fo1tbKv94X4hHLAAAAAAD9////AkBCDwAAAAAAFgAUYe0GwGMq8oTsnhkul3WPwEaSyCkzr/YpAQAAABYAFEmcEiR0nMsQJfIzkb6BeYEY1lnsZwAAAAEBH0BCDwAAAAAAFgAUYe0GwGMq8oTsnhkul3WPwEaSyCkiAgPBB4gjpPZJefBRIMuNVT6sYPBHqgjl6widcQvb1+dIUEcwRAIgM7YsYm1nI0AKz/UHwVpWoE1pfpLzSQtW/f1QIwO3mqkCICuWpj+irLgBGLGwl+A+EesEHSVDBklr2wz/FBoHZJtkASIGA8EHiCOk9kl58FEgy41VPqxg8EeqCOXrCJ1xC9vX50hQCGHtBsAAAAAAAAEAcQIAAAABlXEYYW7S2ebGQrEHH/6fF+EYbVSCrLQMO1aW0KtGdkcBAAAAAP3///8CQEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRGZs5ykBAAAAFgAUeGQMLyq87AxUov9YHR0pSIhHwOAOAAAAAQEfQEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRCICAn3gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeRzBEAiA4Hjxrt2rGbHKh2w174PThl2IMX0FfLD8XbB6vcq+GdQIgO0glGAsKyvMZLwIyx9ntvtgFaNpHRulahp2Fbjoic3EBIgYCfeCrF6vvIcTq680G6wiZotbqEQuS3w8wOu19e8LPwZ4IsF2tKAAAAAAAAQBxAgAAAAHc47UY6+hBCRYVjTF/eqUROg5d5ottwcvPkIwCFqNybQEAAAAA/f///wJmbOcpAQAAABYAFI51Yr5kg6rheJP+RcP2ZcICgDAFQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIG/bRJoMHjDtpviUtmMF9ZG2T1RcCeqtTpkDqPPGtWeMAiB9SvInmu4b7beqakY9imdlPrALpzh1feqpgFe7utaEswEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAAYItOT/KldCqYuOyhNDisEFiMfW3iEcpyL7EMdw3G49gAAAAAAD9////AszmyCkBAAAAFgAULeDWw1uKYKT737M9Hm8dj68HcWNAQg8AAAAAABYAFMAAy0HBhHOsWjLYEn0kq8dzbNBPZwAAAAEBH0BCDwAAAAAAFgAUwADLQcGEc6xaMtgSfSSrx3Ns0E8iAgIsollky14OlDwF9wQ6tIAQK6Ss8z11d5qZdERYK0ZHUEcwRAIgXEwRsk0IidpqTDARPn7a4nUQNCCf0ETrsFkYDoDSGDUCIHLvYL+oUXVpw3l6/SnWqdE09UCgIHTcnAkKGeC7ePjDASIGAiyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCMAAy0EAAAAAAAEAcQIAAAABHoTqypuyRKus35ZKffs5ksBNYj3tcodyk175PqJv5XoAAAAAAP3///8CQEIPAAAAAAAWABTVXEk5g9tlHhBHdFWx1AjDHn6eMTETXikBAAAAFgAUBPgHzqlJJQuCl+9EToMpUTJy5pplAAAAAQEfQEIPAAAAAAAWABTVXEk5g9tlHhBHdFWx1AjDHn6eMSICAicqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuRzBEAiB09t929E5OWZ9MN2O3SwC6DusSYonT4oQN141EOwMWcgIgLJq+LlsmxJL6UZrYzL4/RmkKhO5o+d86sFsUS8l7HCIBIgYCJyqaJfH/7VL6sEosyIrqsTW1NyOFao8UgcJkF/iKki4I1VxJOQAAAAAAAA==", - "reserve": null - } + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:37844" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#4", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aARNAtDSpOsffBOprkLlqNTXa6ngoXT78mcEBXbnbsTlbZNtAhQ0eWDiBAAhpbhnp9XuMTDbbiR/mNMLG/JQowLD7BiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAAACEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAAAAAhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAAhB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAAhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAAhB5/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CQDBIO1CCAAAAAAhB1xthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsCQCpi4YXCQAAAAAhB4pZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCQA9Q9ImCgAAAAAhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAAhB/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCQD2/7RIDAAAAAAhB9A094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhDQAAAAAhB2f0Ro/6/m+Rmuhx9X8JaQRn9JToPgNY3GTRBHL5By9MCQCkO4IaDgAAAAA=", - "reserve": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:37031" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#5", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqARNAWKxvQv/YtKTHF436Ztuu148sPQq3QDB4ch/vm9oqscfqN+NWXZ+csyOIXrmm50rFq0DZEOoLFgSsrJUqwQ7PcCEWwQeII6T2SXnwUSDLjVU+rGDwR6oI5esInXEL29fnSFAJAGHtBsAAAAAAACEHOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4JAKnNUIcFAAAAAAAhB33gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeCQCwXa0oBgAAAAAhByhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CQC3bdYeBwAAAAAhB7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/CQCjI8KCCAAAAAAhBzCnWsrtJYvmvALan6sFirvg53DKzrfGSW6q6nAUw9ObCQCmBZWCCQAAAAAhB72SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6CQDK3xgoCgAAAAAhB84QbIvXo39Om7hPsSCztnxpw4x6G6G/sRCtGsxzM47pCQAznE7uCwAAAAAhByyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCQDAAMtBDAAAAAAhB6Jvzf+c2c5Qrvvj78smeIzuWAjjEtHW01YDo2je0daMCQBxtd2rDQAAAAAhB8SkNSQBiTs1cYIq8kWiODRmmFlnt+VkoODlBh1PjXFxCQCLx6pcDgAAAAAhB/ezBtxauw6UTQFvjhaT8ztqh+dAYi+W2/WHIEQ/e965CQBPad/3DwAAAAA=", - "reserve": null - } + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:48236" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#6", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBLAyce/uqKUFmwu+P3IwBFhBWnw55rgCgRtnTlhSGgCQIgCWIyWeu9A/UAAE4BOJUT2vHTtMF2ungQaXtsz+gCubMBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAF60sDlp9Wwt9wicQqdH0hEnOsZbib0D1p92GZ8NVLT4QAAAAAA/f///wJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmZmznKQEAAAAWABS6SbDH8uBBXLRkahFSMVlzCOJQkmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIHF16oX4FlxZ9S3DpGGEMJDUPpBENnK0doOSnZQb4yQzAiAu+bXJc/CBgM6LoZL4oG17WNBExUsWz1kiAm5CzMueLQEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgV/U0DpbgeDFsMtJqNfV4WrYwYLSUbCRfo6Qz2F+ji78CIGyTvhfzl6tig9nTK0fPAZFvNW3cuepcxUoX446hQlLNASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHiICAyjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJRzBEAiBkzGfXPiVmNXdnTcZl+30f4GVcy708U1WTMeRY9BFwugIgcxl+7PLJ/5rn2CK0Sj77HMNGkXFz6z6r6NLbDSp24HkBIgYDKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kIn7Z7/AAAAAAAAA==", - "reserve": null - } + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:45661" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#7", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYiAgKv8NfCnGLPlGp5DZolEOblC+6iHqDuS5wwE7yMdh8N2kcwRAIgKZbrgzvU8JunsglhtSUt9UXNCRnegB+crmWCRCC084cCIEPOx1AMWH2fvurtDWBWhjH9A12FlKNzrV+jVIBx9yLgASIGAq/w18KcYs+UankNmiUQ5uUL7qIeoO5LnDATvIx2Hw3aCCrxoFQAAAAAAAEAcQIAAAABFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYBAAAAAP3///8CZmznKQEAAAAWABQgkiQQ/cGP1cMZwXJxYrtbQOghk0BCDwAAAAAAFgAUoyPCgqmhl/wRjsCc2vIcorsbiHJnAAAAAQEfQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIciICA7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/RzBEAiA/09H8QMKPfD7WpN0IjFvQAT+6D3tv3UWPlu5KxMYJYgIgMRatwrIZycp1HEyy7Om9lLtvuJ9PpIgGUbEHnWFM8tcBIgYDuBs9FtAwe26X0/wiqBxArW2tNc+GgvWigGwQBF0GIr8IoyPCggAAAAAAAQBxAgAAAAH3wTApkw4eLJFhbJOhp7opx7eALCpS+dVdceUH+mz2hwEAAAAA/f///wKY24spAQAAABYAFDiujHD6mFgd6VpGvvUNgHcUTL/fQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OWUAAAABAR9AQg8AAAAAABYAFMEg7UImOz1bwXO8MOemO9mCEHY5IgICn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfZHMEQCIFgv8xBzH8/LQJ3lxoJr/Y3HvnzrFyTX7+ZdKDKPDcNlAiB4UsxBnIuJOz6/aBNi6zUohmULP0PzbketicmGGjBxwwEiBgKfwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9gjBIO1CAAAAAAABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8iAgMoX1zu0CwQFm3TYwd0zf2F4CvNk15QX3Vjr1MpVCo6eUcwRAIgF7bow1ywpuUMpg+10qceV2zz5tZGVq83t95LZRLevdoCIDKOKhbJOKM9mFxQfpf98LF7vWZoxY+DYF8NDwqYuWTfASIGAyhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CLdt1h4AAAAAAAEAcQIAAAABEwt8DAr/ait5b1ZFSbvW/79lYDHqWbZ354DKdsTF0Z8AAAAAAP3///8CZNBOKQEAAAAWABRCLHOHAZfgUzd9yp/NPmGH5DLfnEBCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37BlAAAAAQEfQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsCICA/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaRzBEAiAkZnt0GJG9Lpw2dvN9VkJtIfDMJZ5Dq7OuEVl2bU32iQIgIEza8yga23nfNF/rolNVNqz2DS7zwig2GxXNAtcr/o8BIgYD82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAAAAAAAAQBxAgAAAAEDwn86cL5y4fv1nrBmbPB0COEENo8dq+HfK+Gvih0NdAEAAAAA/f///wLKSjApAQAAABYAFNUe47xwo45f8mWYxTrqifpRzniaQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1WcAAAABAR9AQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVIgIDLnmaFipNeIBXZ4iteHU2t+7T55Jye2Th6jRBZ6e4blJGMEMCH0WKnu0mLtPg134T64Ou+Pm9xTQSY1OfKjw1i/OjN5wCIBOEw+ISb3jgBjqPjAl8TgkdNEl+1qyn57RRV9cVBlP/ASIGAy55mhYqTXiAV2eIrXh1Nrfu0+eScntk4eo0QWenuG5SCLp2TGYAAAAAAAEAcQIAAAAB9HEFplncV8MbDGFlAtgK6s37uQmPTHqfMKGDjfh2eNEAAAAAAP3///8CzObIKQEAAAAWABQtKpGnnhtqsX/tH1c6awsMJVZ0AUBCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIhlAAAAAQEfQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiAFvxEKtGIzFpn3A3pyx8RMWiNZ/zy9iNChdqKf48VUewIgJt+I+5t4kCA4CHKBSo5692MfKrM8w9WP3VPHm9UAlk0BIgYCucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wAAAAAAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIG90DSr+fGNoWhCrgLbJG3Wt8PJNMWYqaa5MLWRwA0oTAiA9rsLEqqVhjV6wENfzzpudaE949uLlVqWgDjE/FSgKNAEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAAA", - "reserve": null - } + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:34558" + ], + "features": "08a0000a8a5961" + } + ] }, { - "id": "example:sendpsbt#8", - "method": "sendpsbt", - "params": { - "psbt": "cHNidP8BAM0CAAAABJ5+OxmuqVr9pwr8oU8qfasHLA0Ln6T9j0U5Nsmi5mZ1AAAAAAD9////kf9K8Je8NbtvypvnkIMLgz6OBnrUf97ytmcAZpen5n4BAAAAAP3///8Dwn86cL5y4fv1nrBmbPB0COEENo8dq+HfK+Gvih0NdAAAAAAA/f///4qO8P2kZc8+Pa/vxgMpB4/Zirt18eepG3dW0uRVzVNxAQAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABio7w/aRlzz49r+/GAykHj9mKu3Xx56kbd1bS5FXNU3EAAAAAAP3///8CQEIPAAAAAAAWABTK3xgoi4tGZzgmPNxESidbC2DGPDDFESkBAAAAFgAUuJlB5o2ub6opssSnlAINbqTgpANnAAAAAQEfQEIPAAAAAAAWABTK3xgoi4tGZzgmPNxESidbC2DGPCICAr2SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6RzBEAiBf6yisUK1bz9Qdd2qNeWXxCLe2UHTmes9qBnMpXfFpwAIgAf+JP/CrD61YfWORL4nkw1bDBBf7SoTCyPW1COndoFIBIgYCvZI/zJ5gMwIKRWhwvhoONSpzuE+hMin+5LvMB/uiSToIyt8YKAAAAAAAAQBxAgAAAAF0qbS2udI1XCWKuN3OJd+pR1gZrqDTVaYEq85C56aakwEAAAAA/f///wJmbOcpAQAAABYAFPzBL/XSkygJN4YdoRkoYhWg40B0QEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRGcAAAABAR9AQg8AAAAAABYAFLBdrSiME0lFrag83Vzeufv5j21EIgICfeCrF6vvIcTq680G6wiZotbqEQuS3w8wOu19e8LPwZ5HMEQCIEGXgo8DCuph8QInR0YmYZKkSQmtMvnFDmSmfrOvem+GAiAqjvUQXr3EQrXRDjkLNpdC94AKqjsna8hXV7/yME10hgEiBgJ94KsXq+8hxOrrzQbrCJmi1uoRC5LfDzA67X17ws/BngiwXa0oAAAAAAABAHECAAAAAQqvgHASUBJzHdsDll1q+sfCHhmH6sU2+QT/7uC7VZueAAAAAAD9////AkBCDwAAAAAAFgAUJyE+Ihe09WvRm2yDk9yfYb5pEjOXjT8pAQAAABYAFOsVL8GHeerXnkDJ/bjVMp8XbSmxZwAAAAEBH0BCDwAAAAAAFgAUJyE+Ihe09WvRm2yDk9yfYb5pEjMiAgIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZkcwRAIgBqqMVd9jCYfRMJpt1UOoxnWSQ0JsF+8kiJfGJXo48SMCIA3MG/clhcrQiN8nus7DxNsjNyz1oxG9/MWW97FVb0GWASIGAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmCCchPiIAAAAAAAEAcQIAAAABdR6LuPeT9vm2eMUa81mF7aJbPw7oVCNMSkzlcih242wAAAAAAP3///8C/QchKQEAAAAWABQuzXURT67/hmzoBgpri3DJ2iv/GkBCDwAAAAAAFgAUqc1Qh7Q5kY1noDksmj7cJmHaIbRnAAAAAQEfQEIPAAAAAAAWABSpzVCHtDmRjWegOSyaPtwmYdohtCICAjl7BEmmDZ01Y0QBvOrzvrYRj8IpuFUr1xIvc1gIsoruRzBEAiBZf5t/A1oSDxsO+c34k3Wlx83ugWIenHT3xhe9OCpq/wIgHVq7MfOerBL5ONrvikMfoImzP4/5cuZSK3uw542lnYwBIgYCOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4Iqc1QhwAAAAAAAA==", - "reserve": null - } - } - ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters or some error happened during the command process." - ], - "example_json_response": [ - { - "txid": "05985072bbe20747325e69a159fe08176cc1bbc96d25e8848edad2dddc1165d0", - "tx": "02000000027032912651fc25a3e0893acd5f9640598707e2dfef92143bb5a4020e335442800100000017160014a5f48b9aa3cb8ca6cc1040c11e386745bb4dc932ffffffffd229a4b4f78638ebcac10a68b0561585a5d6e4d3b769ad0a909e9b9afaeae24e00000000171600145c83da9b685f9142016c6f5eb5f98a45cfa6f686ffffffff01915a01000000000017a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf8700000000" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:38595" + ], + "features": "08a0000a8a5961" + } + ] }, { - "tx": "02000000000104457e76715120d9b2787c62e087743ab72ecc8e5abb9fc194fb537eeec4da6dc40000000000fdffffff72ff288a80f1fb43421278c1498b67c05d07e15475de3f9b9326f980e3902d450100000000fdffffff1e84eaca9bb244abacdf964a7dfb3992c04d623ded728772935ef93ea26fe57a0100000000fdffffff6b37d7036b23551abcc8230b51b2ace1cd6f13a6ebc2986b5dd65ff9867e68dc0100000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402207015bf6b0349d456520f19dd9a6a245b27e287e0c2ccdc1bbe7f426e5c1fe1c002204f6aeb2141bd817059a07f5f70f8c29db6ccd524781a22d818b7802c1f3210da0121035a79bbbb406d4bc28df05fa6a87328cfb02a7e13743becdcd1dfcfe071c2e0100247304402203b71fe41287383c70c39b8797e5210e9ae446bbb4a1a441bbc4a05bb83fcd8e20220589082a8777f5d7016ab093ec36dc864bb0c7bd2d2613b1412262d84322a06af0121025d37280829f186cb995cdccbf238ab45640139397351396324a36575df34ddff024730440220340788546bd48fd316335f1a9b4771dc9b447fbf6240c5fb46acf5b6db5eb37202200b4d0a095496fa5289d03173fc688b2f5c035ddb822989c76e46f9e6577d825e0121028a599168d3c97debc71bc66e6270ecf054f300d888309ba05471a482175dd9300247304402204a001a8d57b705e432a1b5dfa6f99126585db5bc1b76b812a7cde0ee505aaf0f022025cebeffa190a887f3f3af642695054c03184de2f6a9647a776f044043898243012103fa9c95085e42b1e5003cd1f418178c30c96e4ae77954ca0fc48c58826ff4eb0e00000000", - "txid": "43bb1c1bce6763ffe4d5df6b49f152f907f36f7849e55bb56075e2b256d17502" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:55376" + ], + "features": "08a0000a8a5961" + } + ] }, { - "tx": "02000000000108148b03a45d84b9a189b51ae1631f886f339dfccee49e24086e590c81788971d80100000000fdffffff51d4ed1099ca5cd131d94c049d9b6b85cac6fd25ecb7565673d84ba9a191feb40100000000fdffffff11f2c60625756ff95d079a26ae44662dfd1778973c0f4826575632bb3445d5a50000000000fdffffff957118616ed2d9e6c642b1071ffe9f17e1186d5482acb40c3b5696d0ab4676470000000000fdffffffdab387d49e08c5d7bd3805ba88738044ab05493b6cc41cff31a7546638eed7a80000000000fdffffff8036910523e0a07c02d38a6fcc5ac01aeb683e126156ac5af3043042982077320100000000fdffffff0dfa649c5920992af49bd9525a13c8182c3ead76c7b9d49116fb3b35502b48080100000000fdffffffb722194061cda037a4043166ca76f31a5c90b37c8f593798497a83e8480f5ddd0000000000fdffffff0182017a0000000000160014c9096d43f408ea526020262ccdad7c8516b92a8102473044022040f212d611cfbefd98631a82f44e2703323a6c9f1533ec6daa28f6418130f5d902207bc947dd43e01f7d1e3166a96f171afe17ccc1b660ec47ed34ab17298c899f04012103f36cf9cf72147bd98004dffdcbc38fe45f540a6abef0eb49a8855a05ddb6f4da02473044022018d05cac9d9f4e501bfae5a3fa728f84de323988316dc1d13c824bc311043ef002201e69876401ed1d3a97f20644110c81501fb262c35f750da75d43432a5c0206400121025c6d86196f4aca31dac3b933a311e2f3cb18ae2ae33969dfbc6d04bbe9b7076c0247304402201fb0e765f8f829bdf11faa13cbee190651e2673904000b904f63c209dca947de02207fdb1b36374a88ac827d1ab89e23249fad5500ff17066dd36b00e280aa0beca4012103b81b3d16d0307b6e97d3fc22a81c40ad6dad35cf8682f5a2806c10045d0622bf02473044022033b62c626d6723400acff507c15a56a04d697e92f3490b56fdfd502303b79aa902202b96a63fa2acb80118b1b097e03e11eb041d254306496bdb0cff141a07649b64012103c1078823a4f64979f05120cb8d553eac60f047aa08e5eb089d710bdbd7e74850024730440220381e3c6bb76ac66c72a1db0d7be0f4e197620c5f415f2c3f176c1eaf72af867502203b4825180b0acaf3192f0232c7d9edbed80568da4746e95a869d856e3a2273710121027de0ab17abef21c4eaebcd06eb0899a2d6ea110b92df0f303aed7d7bc2cfc19e0247304402206fdb449a0c1e30eda6f894b66305f591b64f545c09eaad4e9903a8f3c6b5678c02207d4af2279aee1bedb7aa6a463d8a67653eb00ba738757deaa98057bbbad684b3012103914532812a440a4d766c71cd39193694a340ae11e012e5ba1ad9efba6e76ca530247304402205c4c11b24d0889da6a4c30113e7edae2751034209fd044ebb059180e80d21835022072ef60bfa8517569c3797afd29d6a9d134f540a02074dc9c090a19e0bb78f8c30121022ca25964cb5e0e943c05f7043ab480102ba4acf33d75779a997444582b46475002473044022074f6df76f44e4e599f4c3763b74b00ba0eeb126289d3e2840dd78d443b03167202202c9abe2e5b26c492fa519ad8ccbe3f46690a84ee68f9df3ab05b144bc97b1c22012102272a9a25f1ffed52fab04a2cc88aeab135b53723856a8f1481c26417f88a922e00000000", - "txid": "aef3f8e18d792f50a2fd284713e3aa36df4d502273e76c411214e8f3ce7819f1" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:38851" + ], + "features": "08a0800a8a5961" + } + ] }, { - "tx": "02000000000101fc1b129be98ba0f5e1857854b9ee541e3b634b85e359171322512f822eb324920100000000fdffffff0c22020000000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be07de0e00000000001600142af1a054bfd3863584fcfd6839155787f39bb9c6d0070000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5d0070000000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aad007000000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5d00700000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ead0070000000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdcd0070000000000002251200518e92cd94e0f62c06f126dff98b9abe79b7ed845a156d5245678e26554475dd007000000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be2459d0070000000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218cad0070000000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c61d0070000000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c80140b434a93ac7df04ea6b90b96a3535daea78285d3efc99c1015db9dbb1395b64db40850d1e5838810008696e19e9f57b8c4c36db891fe634c2c6fc9428c0b0fb0667000000", - "txid": "c185568e1c4ad7a6ce2c3e94fc2eb56c48700d4659c3f2ce1cfa279573ed6654" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:54278" + ], + "features": "08a0800a8a5961" + } + ] }, { - "tx": "02000000000101e7860b84f433cd7f4710a48d10b364cd8b465689b9e67563ef33b55628a5b0b40100000000fdffffff0c220200000000000022512085d72025e78fd08bb61119f0987ab0041f50561ada6e130c645343db8c44c2afd9940d000000000016001438c10854c11e10cb3786460143c963c8530df8911027000000000000225120f575185f6f81c9422c7ce90d1a9fd214f3f1dda40c2958435099e525c6204ce210270000000000002251209d68645892a57906f0a70ff7512301ae29263126d932676374b62282260396fb1027000000000000225120370bae2303e8b17792a34ee04ada86a6b2b84fd76a01143babd899c7ed9e83721027000000000000225120b6fb00602d3cb305945ef2c83df9e13fcb827b1fc183002317928d0869c3acc81027000000000000225120fdab7c01fae70c08e0b1f9acacca110a53121e75dc54a25e7542416f342aeaf7102700000000000022512064de25aa07c3350b8d66391af15cafbb8d57078090c3f4883cc4f6dcfac3a8221027000000000000225120c6066f277b6a350839cf87354e6c2410d6f71d30896f87af8fa8b673e57fc8201027000000000000225120bac23c32e23d550364e073c832330f46a7a6b941e3b36fe0334932af46d20a6f102700000000000022512052021c61da23b2eda3d5000c6d812d0c9b088c237ed2a510abd94d8c3f7c421d10270000000000002251202b5dd0613b6e534f572dbcf4311b66e6cc8bb07e285928ddb6fa5791e4737874014058ac6f42ffd8b4a4c7178dfa66dbaed78f2c3d0ab7403078721fef9bda2ab1c7ea37e3565d9f9cb323885eb9a6e74ac5ab40d910ea0b1604acac952ac10ecf703c000000", - "txid": "ded7e3e6fe7c01b081f3eee510b5248a61589c159e10cfb6f5cfd41a18a7ce2e" + "peers": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:35191" + ], + "features": "08a0000a8a5961" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:59792" + ], + "features": "08a0000a8a5961" + } + ] }, { - "tx": "0200000000010420935258c8fe282283e86187133cf0ef6729d57d75883499c110506c2efd0cb40100000000fdffffffb5155af31fe5fb9fdc2260c3279f5fdeee93760ba0908f5e0dcd5fdb617fad5b0000000000fdffffffaebc0fc83081b821c1037d83fe43b36e19bb4c54be589265d82ca850db6a38260100000000fdfffffff7c13029930e1e2c91616c93a1a7ba29c7b7802c2a52f9d55d71e507fa6cf6870000000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402204b03271efeea8a5059b0bbe3f72300458415a7c39e6b802811b674e58521a009022009623259ebbd03f500004e01389513daf1d3b4c176ba7810697b6ccfe802b9b30121035a79bbbb406d4bc28df05fa6a87328cfb02a7e13743becdcd1dfcfe071c2e0100247304402207175ea85f8165c59f52dc3a461843090d43e90443672b47683929d941be3243302202ef9b5c973f08180ce8ba192f8a06d7b58d044c54b16cf5922026e42cccb9e2d012103914532812a440a4d766c71cd39193694a340ae11e012e5ba1ad9efba6e76ca5302473044022057f5340e96e078316c32d26a35f5785ab63060b4946c245fa3a433d85fa38bbf02206c93be17f397ab6283d9d32b47cf01916f356ddcb9ea5cc54a17e38ea14252cd0121028a599168d3c97debc71bc66e6270ecf054f300d888309ba05471a482175dd93002473044022064cc67d73e25663577674dc665fb7d1fe0655ccbbd3c53559331e458f41170ba022073197eecf2c9ff9ae7d822b44a3efb1cc346917173eb3eabe8d2db0d2a76e07901210328cc8fc978e209f1695fa5b5655061db1aab2311b524176945bf1015ef2d4b8900000000", - "txid": "88a639ed18789b1fe56de538980ee5b5d01165e5f17ad3501fb76c296ae26532" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:41064" + ], + "features": "08a0000a8a5961" + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:33379" + ], + "features": "08a0000a8a5961" + } + ] }, { - "tx": "0200000000010815379fdbb1f6180241ccfe1464c78378fb035648253b8effab88ea2b5f226c260000000000fdffffff9ac706a9e962a7107bcb8c82595f465e27cedcb3b3ca91705fc2f6c65668e94d0100000000fdffffff0435715cdbf4d47b9d769dc91ba1401bfeda2aa166486f500fac3e8e73fd2b120100000000fdffffff95743bf3c99e52d4b18415f5de6c765e1c8cdc3768df442d98d5b462e1364c300100000000fdffffff0aaf8070125012731ddb03965d6afac7c21e1987eac536f904ffeee0bb559b9e0100000000fdffffff751e8bb8f793f6f9b678c51af35985eda25b3f0ee854234c4a4ce5722876e36c0100000000fdffffff7e6e4e9b83288dc9df6624e6af06f86f9072c3d7a6ae32138bf9e412a4caf4cb0100000000fdffffff25c1da59aaddc82cf470848358e0f1af920d824b0eda81c30f4ae1681c30e4210000000000fdffffff0182017a0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402202996eb833bd4f09ba7b20961b5252df545cd0919de801f9cae65824420b4f387022043cec7500c587d9fbeeaed0d60568631fd035d8594a373ad5fa3548071f722e0012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda0247304402203fd3d1fc40c28f7c3ed6a4dd088c5bd0013fba0f7b6fdd458f96ee4ac4c6096202203116adc2b219c9ca751c4cb2ece9bd94bb6fb89f4fa4880651b1079d614cf2d7012103b81b3d16d0307b6e97d3fc22a81c40ad6dad35cf8682f5a2806c10045d0622bf024730440220582ff310731fcfcb409de5c6826bfd8dc7be7ceb1724d7efe65d28328f0dc36502207852cc419c8b893b3ebf681362eb352886650b3f43f36e47ad89c9861a3071c30121029fc1cd01f2d2770b8281e2babc1a4c245edd37bb72d12e20723a69df4f5f01f602473044022017b6e8c35cb0a6e50ca60fb5d2a71e576cf3e6d64656af37b7de4b6512debdda0220328e2a16c938a33d985c507e97fdf0b17bbd6668c58f83605f0d0f0a98b964df012103285f5ceed02c10166dd3630774cdfd85e02bcd935e505f7563af5329542a3a7902473044022024667b741891bd2e9c3676f37d56426d21f0cc259e43abb3ae1159766d4df6890220204cdaf3281adb79df345feba2535536acf60d2ef3c228361b15cd02d72bfe8f012103f36cf9cf72147bd98004dffdcbc38fe45f540a6abef0eb49a8855a05ddb6f4da02463043021f458a9eed262ed3e0d77e13eb83aef8f9bdc5341263539f2a3c358bf3a3379c02201384c3e2126f78e0063a8f8c097c4e091d34497ed6aca7e7b45157d7150653ff0121032e799a162a4d7880576788ad787536b7eed3e792727b64e1ea344167a7b86e5202473044022005bf110ab462331699f7037a72c7c44c5a2359ff3cbd88d0a176a29fe3c5547b022026df88fb9b789020380872814a8e7af7631f2ab33cc3d58fdd53c79bd500964d012102b9c0c6844e12a531c968e55c55078ec16d9bf76be9290fd87d1cca72b4839a170247304402206f740d2afe7c63685a10ab80b6c91b75adf0f24d31662a69ae4c2d6470034a1302203daec2c4aaa5618d5eb010d7f3ce9b9d684f78f6e2e556a5a00e313f15280a34012103fa9c95085e42b1e5003cd1f418178c30c96e4ae77954ca0fc48c58826ff4eb0e00000000", - "txid": "418c075c624806a8d4b1a2e734025fcb60856aeba4fa9b42e0497d5c11d36f2d" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:33173" + ], + "features": "08a0000a8a5961" + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "connected": true, + "num_channels": 1, + "netaddr": [ + "127.0.0.1:50002" + ], + "features": "08a0000a8a5961" + } + ] }, { - "tx": "020000000001049e7e3b19aea95afda70afca14f2a7dab072c0d0b9fa4fd8f453936c9a2e666750000000000fdffffff91ff4af097bc35bb6fca9be790830b833e8e067ad47fdef2b667006697a7e67e0100000000fdffffff03c27f3a70be72e1fbf59eb0666cf07408e104368f1dabe1df2be1af8a1d0d740000000000fdffffff8a8ef0fda465cf3e3dafefc60329078fd98abb75f1e7a91b7756d2e455cd53710100000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402205feb28ac50ad5bcfd41d776a8d7965f108b7b65074e67acf6a0673295df169c0022001ff893ff0ab0fad587d63912f89e4c356c30417fb4a84c2c8f5b508e9dda052012102bd923fcc9e6033020a456870be1a0e352a73b84fa13229fee4bbcc07fba2493a0247304402204197828f030aea61f102274746266192a44909ad32f9c50e64a67eb3af7a6f8602202a8ef5105ebdc442b5d10e390b369742f7800aaa3b276bc85757bff2304d74860121027de0ab17abef21c4eaebcd06eb0899a2d6ea110b92df0f303aed7d7bc2cfc19e02473044022006aa8c55df630987d1309a6dd543a8c6759243426c17ef248897c6257a38f12302200dcc1bf72585cad088df27bacec3c4db23372cf5a311bdfcc596f7b1556f419601210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab66024730440220597f9b7f035a120f1b0ef9cdf89375a5c7cdee81621e9c74f7c617bd382a6aff02201d5abb31f39eac12f938daef8a431fa089b33f8ff972e6522b7bb0e78da59d8c012102397b0449a60d9d35634401bceaf3beb6118fc229b8552bd7122f735808b28aee00000000", - "txid": "1b2be7dbb24b76509ee96ee991c0f7d55dd4babfaaed9a4992acae970faf4fe5" + "peers": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "connected": true, + "num_channels": 0, + "netaddr": [ + "127.0.0.1:34365" + ], + "features": "08a0000a8a5961" + } + ] } ], "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." + "Michael Hawkins <>." ], "see_also": [ - "lightning-fundpsbt(7)", - "lightning-signpsbt(7)", - "lightning-listtransactions(7)" + "lightning-connect(7)", + "lightning-fundchannel_start(7)", + "lightning-setchannel(7)" ], "resources": [ - "Main web site: " + "Main web site: ", + "Lightning RFC site (BOLT #9):", + "" ] }, - "lightning-setchannel.json": { + "lightning-listsendpays.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "setchannel", - "title": "Command for configuring fees / htlc range advertized for a channel", + "rpc": "listsendpays", + "title": "Low-level command for querying sendpay status", "description": [ - "The **setchannel** RPC command sets channel specific routing fees, and `htlc_minimum_msat` or `htlc_maximum_msat` as defined in BOLT #7. The channel has to be in normal or awaiting state. This can be checked by **listpeers** reporting a *state* of CHANNELD_NORMAL or CHANNELD_AWAITING_LOCKIN for the channel.", + "The **listsendpays** RPC command gets the status of all *sendpay* commands (which is also used by the *pay* command), or with *bolt11* or *payment_hash* limits results to that specific payment. You cannot specify both. It is possible to filter the payments also by *status*.", "", - "These changes (for a public channel) will be broadcast to the rest of the network (though many nodes limit the rate of such changes they will accept: we allow 2 a day, with a few extra occasionally)." + "Note that there may be more than one concurrent *sendpay* command per *pay*, so this command should be used with caution." ], "request": { - "required": [ - "id" - ], + "required": [], "properties": { - "id": { + "bolt11": { "type": "string", "description": [ - "Should contain a scid (short channel ID), channel id or peerid (pubkey) of the channel to be modified. If *id* is set to `all`, the updates are applied to all channels in states CHANNELD_NORMAL CHANNELD_AWAITING_LOCKIN or DUALOPEND_AWAITING_LOCKIN. If *id* is a peerid, all channels with the +peer in those states are changed." + "Bolt11 invoice." ] }, - "feebase": { - "type": "msat", + "payment_hash": { + "type": "hash", "description": [ - "Value in millisatoshi that is added as base fee to any routed payment: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." + "The hash of the payment_preimage." ] }, - "feeppm": { - "type": "u32", + "status": { + "type": "string", + "enum": [ + "pending", + "complete", + "failed" + ], "description": [ - "Value that is added proportionally per-millionths to any routed payment volume in satoshi. For example, if ppm is 1,000 and 1,000,000 satoshi is being routed through the channel, an proportional fee of 1,000 satoshi is added, resulting in a 0.1% fee." + "Whether the invoice has been paid, pending, or failed." ] }, - "htlcmin": { - "type": "msat", - "description": [ - "Value that limits how small an HTLC we will forward: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that the peer also enforces a minimum for the channel: setting it below that will simply set it to that value with a warning. Also note that *htlcmin* only applies to forwarded HTLCs: we can still send smaller payments ourselves." + "index": { + "type": "string", + "added": "v23.11", + "enum": [ + "created", + "updated" ], - "default": "no lower limit" - }, - "htlcmax": { - "type": "msat", "description": [ - "Value that limits how large an HTLC we will forward: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that *htlcmax* only applies to forwarded HTLCs: we can still send larger payments ourselves." - ], - "default": "no effective limit" + "If neither bolt11 or payment_hash is specified, `index` controls ordering, by `created` (default) or `updated`." + ] }, - "enforcedelay": { - "type": "u32", + "start": { + "type": "u64", + "added": "v23.11", "description": [ - "Number of seconds to delay before enforcing the new fees/htlc max. This gives the network a chance to catch up with the new rates and avoids rejecting HTLCs before they do. This only has an effect if rates are increased (we always allow users to overpay fees) or *htlcmax* is decreased, and only applied to a single rate increase per channel (we don't remember an arbitrary number of prior feerates) and if the node is restarted the updated configuration is enforced immediately." - ], - "default": "600, which is ten minutes" + "If `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)." + ] }, - "ignorefeelimits": { - "added": "v23.08", - "type": "boolean", + "limit": { + "type": "u32", + "added": "v23.11", "description": [ - "If set to True means to allow the peer to set the commitment transaction fees (or closing transaction fees) to any value they want. This is dangerous: they could set an exorbitant fee (so HTLCs are unenforcable), or a tiny fee (so that commitment transactions cannot be relayed), but avoids channel breakage in case of feerate disagreements. (Note: the global `ignore_fee_limits` setting overrides this)." + "If `index` is specified, `limit` can be used to specify the maximum number of entries to return." ] } + }, + "dependentUpon": { + "index": [ + "start", + "limit" + ] } }, "response": { "required": [ - "channels" + "payments" ], "properties": { - "channels": { + "payments": { "type": "array", - "description": [ - "Channel(s) set, and their resulting configuration." - ], "items": { "type": "object", - "additionalProperties": false, + "additionalProperties": true, "required": [ - "peer_id", - "channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "minimum_htlc_out_msat", - "maximum_htlc_out_msat", - "ignore_fee_limits" + "id", + "created_index", + "payment_hash", + "status", + "groupid", + "created_at", + "amount_sent_msat" ], "properties": { - "peer_id": { - "type": "pubkey", + "created_index": { + "added": "v23.11", + "type": "u64", "description": [ - "The node_id of the peer." + "1-based index indicating order this payment was created in." ] }, - "channel_id": { + "id": { + "type": "u64", + "description": [ + "Old synonym for created_index." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] + }, + "partid": { + "type": "u64", + "description": [ + "Part number (for multiple parts to a single payment)." + ] + }, + "payment_hash": { "type": "hash", "description": [ - "The channel_id of the channel." + "The hash of the *payment_preimage* which will prove payment." ] }, - "short_channel_id": { - "type": "short_channel_id", + "updated_index": { + "added": "v23.11", + "type": "u64", "description": [ - "The short_channel_id (if locked in)." + "1-based index indicating order this payment was changed (only present if it has changed since creation)." ] }, - "fee_base_msat": { + "status": { + "type": "string", + "enum": [ + "pending", + "failed", + "complete" + ], + "description": [ + "Status of the payment." + ] + }, + "amount_msat": { "type": "msat", "description": [ - "The resulting feebase (this is the BOLT #7 name)." + "The amount delivered to destination (if known)." ] }, - "fee_proportional_millionths": { - "type": "u32", + "destination": { + "type": "pubkey", "description": [ - "The resulting feeppm (this is the BOLT #7 name)." + "The final destination of the payment if known." ] }, - "ignore_fee_limits": { - "type": "boolean", - "added": "v23.08", + "created_at": { + "type": "u64", "description": [ - "If we are now allowing peer to set feerate on commitment transaction without restriction." + "The UNIX timestamp showing when this payment was initiated." ] }, - "minimum_htlc_out_msat": { + "amount_sent_msat": { "type": "msat", "description": [ - "The resulting htlcmin we will advertize (the BOLT #7 name is htlc_minimum_msat)." + "The amount sent." ] }, - "warning_htlcmin_too_low": { + "label": { "type": "string", "description": [ - "The requested htlcmin was too low for this peer, so we set it to the minimum they will allow." + "The label, if given to sendpay." ] }, - "maximum_htlc_out_msat": { - "type": "msat", + "bolt11": { + "type": "string", "description": [ - "The resulting htlcmax we will advertize (the BOLT #7 name is htlc_maximum_msat)." + "The bolt11 string (if pay supplied one)." + ] + }, + "description": { + "type": "string", + "description": [ + "The description matching the bolt11 description hash (if pay supplied one)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied for pay: **experimental-offers** only)." ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "complete" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "payment_preimage" + ], + "properties": { + "id": {}, + "created_index": {}, + "updated_index": {}, + "partid": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "bolt11": {}, + "description": {}, + "bolt12": {}, + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] + } + } + } + }, + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "failed" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "id": {}, + "created_index": {}, + "updated_index": {}, + "partid": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "bolt11": {}, + "description": {}, + "bolt12": {}, + "erroronion": { + "type": "hex", + "description": [ + "The onion message returned." + ] + } + } + } }, - "warning_htlcmax_too_high": { - "type": "string", - "description": [ - "The requested htlcmax was greater than the channel capacity, so we set it to the channel capacity." - ] + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "pending" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [], + "properties": { + "id": {}, + "created_index": {}, + "updated_index": {}, + "partid": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "bolt11": {}, + "description": {}, + "bolt12": {} + } + } } - } + ] } } - } + }, + "pre_return_value_notes": [ + "Note that the returned array is ordered by increasing *id*." + ] }, - "errors": [ - "The following error codes may occur:", - "", - "- -1: Channel is in incorrect state, i.e. Catchall nonspecific error.", - "- -32602: JSONRPC2_INVALID_PARAMS, i.e. Given id is not a channel ID or short channel ID." - ], "example_json_request": [ { - "id": "example:setchannel#1", - "method": "setchannel", + "id": "example:listsendpays#1", + "method": "listsendpays", "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": true + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#2", - "method": "setchannel", + "id": "example:listsendpays#2", + "method": "listsendpays", "params": { - "id": "111x1x1", - "feebase": 123, - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#3", - "method": "setchannel", + "id": "example:listsendpays#3", + "method": "listsendpays", "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": true + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#4", - "method": "setchannel", + "id": "example:listsendpays#4", + "method": "listsendpays", "params": { - "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "feebase": 4000, - "feeppm": 300, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": 0, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#5", - "method": "setchannel", + "id": "example:listsendpays#5", + "method": "listsendpays", "params": { - "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "feebase": 3000, - "feeppm": 350, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": 0, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#6", - "method": "setchannel", + "id": "example:listsendpays#6", + "method": "listsendpays", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "feebase": 20, - "feeppm": 1000, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#7", - "method": "setchannel", + "id": "example:listsendpays#7", + "method": "listsendpays", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "feebase": 21, - "feeppm": 1001, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#8", - "method": "setchannel", + "id": "example:listsendpays#8", + "method": "listsendpays", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "feebase": 20, - "feeppm": 1000, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#9", - "method": "setchannel", + "id": "example:listsendpays#9", + "method": "listsendpays", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "feebase": 21, - "feeppm": 1001, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#10", - "method": "setchannel", + "id": "example:listsendpays#10", + "method": "listsendpays", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "feebase": 20, - "feeppm": 1000, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#11", - "method": "setchannel", + "id": "example:listsendpays#11", + "method": "listsendpays", "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "feebase": 21, - "feeppm": 1001, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#12", - "method": "setchannel", + "id": "example:listsendpays#12", + "method": "listsendpays", "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": true + "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#13", - "method": "setchannel", + "id": "example:listsendpays#13", + "method": "listsendpays", "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "feebase": 1337, - "feeppm": 137, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": 0, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } }, { - "id": "example:setchannel#14", - "method": "setchannel", + "id": "example:listsendpays#14", + "method": "listsendpays", "params": { - "id": "103x1x0", - "feebase": 1337, - "feeppm": 137, - "htlcmin": 17, - "htlcmax": 133337, - "enforcedelay": null, - "ignorefeelimits": null + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#15", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#16", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#17", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#18", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#19", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#20", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#21", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#22", + "method": "listsendpays", + "params": { + "bolt11": null, + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null + } + }, + { + "id": "example:listsendpays#23", + "method": "listsendpays", + "params": { + "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9", + "payment_hash": null, + "status": null, + "index": null, + "start": null, + "limit": null } + } + ], + "example_json_response": [ + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "e3b43574acd074b0c4ba1b13b5155ff5f9c76742e643ed003e17301c5a2db149", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1706225269, + "status": "pending", + "bolt11": "lnbcrt200n1pjm9mn5sp5gq84lgga959m6gg4g0kj29ypwjaxxnm4cu5csymq8p6nqxv800mspp5uw6r2a9v6p6tp396rvfm292l7huuwe6zuep76qp7zucpck3dk9ysdpqf9grgmt62fmk5stswefh23n2tpykvcmzxqyjw5qcqp99qxpqysgqz8s496zmwed278jvp075zlhrnj0ncg45kcfw5s2lkhtxd3wc39f8wflp5gmd827dk470xpasfpx0azsfu0k8ttwae7620h8d050w28cqan776g" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "f55d92cfe019b5a015f5e5956e9255053cda14786171d5002feb12ae5254e5a5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1706225269, + "status": "pending", + "bolt11": "lnbcrt300n1pjm9mn5sp5zqfkr93rp92mdyj6m8lzpcu90rfefcaqff8fxdd2sc5mace23ujspp574we9nlqrx66q904uk2kayj4q57d59rcv9ca2qp0avf2u5j5ukjsdpq29j55nfcgfcnsvzw2er57knhwcmhzwt0xqyjw5qcqp99qxpqysgq76p2jpnegtzlxmn0aqt6d3f89q4p6y5v3v2qz7t2mm6xt90nt324cq400tl82k28562aux8jxs57d603g7s0q4g3dapu9a7vln94j7spsut799" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "e3b43574acd074b0c4ba1b13b5155ff5f9c76742e643ed003e17301c5a2db149", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1706225269, + "status": "pending", + "bolt11": "lnbcrt200n1pjm9mn5sp5gq84lgga959m6gg4g0kj29ypwjaxxnm4cu5csymq8p6nqxv800mspp5uw6r2a9v6p6tp396rvfm292l7huuwe6zuep76qp7zucpck3dk9ysdpqf9grgmt62fmk5stswefh23n2tpykvcmzxqyjw5qcqp99qxpqysgqz8s496zmwed278jvp075zlhrnj0ncg45kcfw5s2lkhtxd3wc39f8wflp5gmd827dk470xpasfpx0azsfu0k8ttwae7620h8d050w28cqan776g" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "f55d92cfe019b5a015f5e5956e9255053cda14786171d5002feb12ae5254e5a5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1706225269, + "status": "pending", + "bolt11": "lnbcrt300n1pjm9mn5sp5zqfkr93rp92mdyj6m8lzpcu90rfefcaqff8fxdd2sc5mace23ujspp574we9nlqrx66q904uk2kayj4q57d59rcv9ca2qp0avf2u5j5ukjsdpq29j55nfcgfcnsvzw2er57knhwcmhzwt0xqyjw5qcqp99qxpqysgq76p2jpnegtzlxmn0aqt6d3f89q4p6y5v3v2qz7t2mm6xt90nt324cq400tl82k28562aux8jxs57d603g7s0q4g3dapu9a7vln94j7spsut799" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] + }, + { + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#15", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": 42, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#16", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": 43, - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#17", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": null, - "htlcmin": 45, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#18", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": null, - "feeppm": null, - "htlcmin": null, - "htlcmax": 43333, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "status": "pending", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#19", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": 0, - "feeppm": 0, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "d18e3b24a50d50e8692f729f13e80367cfba2f4cdc061a7617bfd75436a9f5e9", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708627901, + "completed_at": 1708627907, + "status": "complete", + "payment_preimage": "0433e11876dde2a7d8e4151c5c315b701a62ce7d96659e5ca793c5a8b681cff3", + "bolt11": "lnbcrt200n1pja09aasp5kl7c0sstmgl85k40u5eyeddr222lwhjmkzww70yp0zt9j6qnsemspp56x8rkf99p4gws6f0w20386qrvl8m5t6vmsrp5ashhlt4gd4f7h5sdpq8pvkxc22x3hk6uzc2vcxg7j5dscxsum9xqyjw5qcqp99qxpqysgqsspmqc9whyle3geptym7tzzm8snuyr75wtmy6mafzk9nsu958k2z7jx5mlyvahy7kud39elpqzsg8pu5ty0ua7mrl92g57t3lhdfrlcqpzga3a" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "01db86ae38d95dc468a1e2ef6edbd3bd54f9addd3e09ec4043a6d475681f7eb5", + "groupid": 1, + "updated_index": 2, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708627901, + "completed_at": 1708627907, + "status": "complete", + "payment_preimage": "722e4e616283745f7539e1e8d80d6c7dce9523f2bacb29e88236a056c38e9bb5", + "bolt11": "lnbcrt300n1pja09aasp5rmg9tykv88zzgq8ghsyg5z0tzkup8jj0vxpf7ls4pphn9yyryeuqpp5q8dcdt3cm9wug69puthkak7nh420ntwa8cy7cszr5m2826ql066sdpqf9vy256gfdfngmeewpkh2n3cdat5vdf3xqyjw5qcqp99qxpqysgqunuy0tz9np3t4y3452kmc8x3vhndn69sgmr0y8gktwe6srcz2ccjj766f243uvnzph004dnan334s9ja6cw5qlf8tup2q5xf8lx2kmcpvjexkk" + } + ] }, { - "id": "example:setchannel#20", - "method": "setchannel", - "params": { - "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "feebase": 142, - "feeppm": 143, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "809962873fad2f6c29060ca10487f9c0312b9d2bb879d89bed42cc16d65db1cf", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 16777216000, + "amount_sent_msat": 16777216000, + "created_at": 1708628092, + "completed_at": 1708628093, + "status": "complete", + "payment_preimage": "5f65e8c6894170e36134cba067c21cea6d65fdec98ed5448d511208ddb868ac6", + "bolt11": "lnbcrt167772160n1pja0xrusp5smclhdup35jqwup67vn27n73dwj68vpy7dn6m49nn9070z36c7mqpp5szvk9pel45hkc2gxpjssfplecqcjh8fthpua3xldgtxpd4jak88sdq4wa6k6cn0ypcxz7tdv4h8gxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqwsqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgqempkwr9ejk40f0n4zvaamklzy25y5zed2u5c98mupn7wpqvv25jynssln27rrfewgw40l5rq5lpensd28ams5r2jr4c4ylm5hkl53ucqpp0aw5" + } + ] }, { - "id": "example:setchannel#21", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": "1sat", - "feeppm": null, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", + "groupid": 1, + "updated_index": 1, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 123000, + "amount_sent_msat": 123000, + "created_at": 1708631223, + "completed_at": 1708631224, + "status": "complete", + "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", + "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "031c31b32be542e5e267ed9abe59b8bd7fc2ce691ae7402955fde3610e0df30d", + "groupid": 1, + "updated_index": 2, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 655794, + "amount_sent_msat": 655794, + "created_at": 1708631224, + "completed_at": 1708631225, + "status": "complete", + "payment_preimage": "28d4185e0acf3b796e02237c9943d551ea0e61da15661ab611935809ba9a957a", + "bolt11": "lnbcrt1pja0f9csp5k9q85nedenk8gqwladdzc05ejxwrc02gxsyjejy4yvx3guj4xypqpp5qvwrrvetu4pwtcn8akdtukdch4lu9nnfrtn5q224lh3kzrsd7vxsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqsfxza53ys64slu08h2fpy3jr025ye6av8ngu5809azwuvu9pm0ts33t2rd2xupq3xwhstzlftww8w6re8dr7gxqaaxm8x6jjq4p9jrqpu5768c" + }, + { + "created_index": 3, + "id": 3, + "payment_hash": "b4dfeef62bd3fcc4da0ce92a6ad9c200ff890ea498274df0fe0676c2b546d4c9", + "groupid": 1, + "updated_index": 3, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 40947, + "amount_sent_msat": 40947, + "created_at": 1708631225, + "completed_at": 1708631227, + "status": "complete", + "payment_preimage": "808b2f49552445346ef6fe923cb6b21ff22cdaf7eb56da62ab65f0e464628945", + "bolt11": "lnbcrt1pja0f9esp5yf32alzff9nf0vehepp2uhf8e5cg6knck2glgwt4eg9w003ca55spp5kn07aa3t607vfksvay4x4kwzqrlcjr4ynqn5mu87qemv9d2x6nysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq8l7armfugjlzmhldvw4c64tpuggr5v0lyld8da62elkacz4mn76xll3ampfrvhddt2grc4vjym0efxcf3fm7trrm9dx6kwpm2jdp9wqqdlj8dq" + }, + { + "created_index": 4, + "id": 4, + "payment_hash": "f0f57d68548ef99a92a01c6f848ecff2e450e6afb28b372ae828fa58ae613d8b", + "groupid": 1, + "updated_index": 4, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 305589, + "amount_sent_msat": 305589, + "created_at": 1708631227, + "completed_at": 1708631228, + "status": "complete", + "payment_preimage": "c987de46e2a821efc4790db09f3cba01c7073ce8b65e154138df84ad6e0e414e", + "bolt11": "lnbcrt1pja0f9msp57kent27ketj64y6pwuaqqs2hddknfv8ca5ws9uerah2973td2pzspp57r6h66z53mue4y4qr3hcfrk07tj9pe40k29nw2hg9ra93tnp8k9sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqk3euqmn47lnt694e76cu6dr4vmtmag0slwe4ffawduyhf03kx3xp85myz83xqwheuzdjfza9t9laqxe7n8t55dxzk5j59wvvc6kg5ecp6pl6y0" + }, + { + "created_index": 5, + "id": 5, + "payment_hash": "6811e74459bd408cb1515afd3073494e3889c744f4b04e6e603e25dfee4ff855", + "groupid": 1, + "updated_index": 5, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 268401, + "amount_sent_msat": 268401, + "created_at": 1708631228, + "completed_at": 1708631229, + "status": "complete", + "payment_preimage": "274129553d5f8b513be557986c014d917c68624ae912a16daf79bb0db1240b31", + "bolt11": "lnbcrt1pja0f9usp54kn5x3prhltcw9sz49mjnurcsm9ynezc8708uz4fnjq8je2lelqqpp5dqg7w3zeh4qgev23tt7nqu6ffcugn36y7jcyumnq8cjalmj0lp2sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqw89judp88yp4ej9d7hjvdrlzhpy9hts43pngm7sf6r0u4t7zc3s44gf5964zarc8xmf3h2xuddwkt4v35j3d4yl6ngu740f0dslqrvsqe35hu3" + }, + { + "created_index": 6, + "id": 6, + "payment_hash": "c0e1c5b4b743e9f312e20ddb8e1268d0a3698e0dee4f1d99dd774f55205164a3", + "groupid": 1, + "updated_index": 6, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 548925, + "amount_sent_msat": 548925, + "created_at": 1708631229, + "completed_at": 1708631230, + "status": "complete", + "payment_preimage": "a635e92d024beebfc58519e6544888aa560ba3bcaba7e74924e4b8432eaa56f5", + "bolt11": "lnbcrt1pja0f9asp50kzadmeyy78eymjvhnlk5dznl3g5k5x8agh52ewjtg0jclas4ylspp5crsutd9hg05lxyhzphdcuyng6z3knrsdae83mxwawa842gz3vj3sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqr5yzhxmup4muyaz6x8u2dy4qyu9t5qzuf5k9xayvj5kg7tve60gjk4jrv2l76exnj2xkuzhtwky23pkkxedzy6p9yrsgyqdwj7dv5gsp4zcw6v" + } + ] }, { - "id": "example:setchannel#22", - "method": "setchannel", - "params": { - "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "feebase": 42, - "feeppm": 0, - "htlcmin": null, - "htlcmax": null, - "enforcedelay": null, - "ignorefeelimits": null - } + "payments": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", + "groupid": 1, + "updated_index": 1, + "partid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 123000, + "amount_sent_msat": 123000, + "created_at": 1708631223, + "completed_at": 1708631224, + "status": "complete", + "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", + "bolt11": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5" + } + ] }, { - "id": "example:setchannel#23", - "method": "setchannel", - "params": { - "id": "103x1x0", - "feebase": 1337, - "feeppm": 137, - "htlcmin": 17, - "htlcmax": 4000000, - "enforcedelay": 0, - "ignorefeelimits": null - } - } - ], - "example_json_response": [ - { - "channels": [ + "payments": [ { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel_id": "90210d39d12a65d239ece267c5f48e0a82e7cb95724e658f6d99f370064faad1", - "short_channel_id": "103x1x0", - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": true + "created_index": 1, + "id": 1, + "payment_hash": "100a076ba5bf41bb0854ceb44066430dbb96f1d9ed51216afb635084cea2e6db", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 42, + "amount_sent_msat": 42, + "created_at": 1708633906, + "completed_at": 1708633907, + "status": "complete", + "payment_preimage": "577a610e269b4e27bde58e4abe46937ea1204897aaeed1a663b3181b534cee11", + "bolt11": "lnbcrt420p1pja0tejsp5k5dmqwrq30mxkx07hp6w6tws33vns6gu346ke6lz3l6jxwhxcedspp5zq9qw6a9haqmkzz5e66yqejrpkaeduwea4gjz6hmvdggfn4zumdshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsxqyjw5qcqp99qxpqysgqkc39s7rrts95tuxlr27xq5ltla3dly5kjq7u4cr2hmktjx8r0am98yl8c3wak7gtuhmp6n3x9d5586qc0fjunxagr2fc9y8ru2sygggqpekfct", + "description": "One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "b463b157cd75008e103efe4f75c7d1f2f1df789689d465a49525c67f8349d43c", - "short_channel_id": "111x1x1", - "fee_base_msat": 123, - "fee_proportional_millionths": 10, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel_id": "4f78afe243774f761675839a57da858f1b6ed3bf31a57fe2cf54b121480d17a2", - "short_channel_id": "103x1x0", - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": true + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "channel_id": "9c54c71bbbe59591cc3162e14fc4ff58c146f085c07d0f206ea679a8231d03ab", - "short_channel_id": "103x3x0", - "fee_base_msat": 4000, - "fee_proportional_millionths": 300, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "channel_id": "6988b765fa506f4f8b97051b948444fb69cfad090b89c711e50b7e51cec03ae3", - "short_channel_id": "103x2x0", - "fee_base_msat": 3000, - "fee_proportional_millionths": 350, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "2e4015b00117f84267aa1301eb77fdda8a896a1469ca7f9c7c716e5fb368b76c", - "short_channel_id": "103x2x0", - "fee_base_msat": 20, - "fee_proportional_millionths": 1000, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "2e4015b00117f84267aa1301eb77fdda8a896a1469ca7f9c7c716e5fb368b76c", - "short_channel_id": "103x2x0", - "fee_base_msat": 21, - "fee_proportional_millionths": 1001, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "status": "pending", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "e9c2727dd1f4b84e999fd252883b529ebd08c221bd58a2a31604ffa014171f43", - "short_channel_id": "103x2x0", - "fee_base_msat": 20, - "fee_proportional_millionths": 1000, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "f615539714fed50fff3b53e6463e75f720088a6ef6797aefc1b08504ed8eec39", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 30000, + "amount_sent_msat": 30000, + "created_at": 1708637635, + "completed_at": 1708637642, + "status": "complete", + "payment_preimage": "34e0d8b599c8dcf9135396668806eaa1b854fcfed7300c18f92d8f7a79d8cf3c", + "bolt11": "lnbcrt300n1pja00wrsp5sva6jmju9zqw8n5js753mz8k5vyyvdvjtwdyeajagr78730ckatspp57c2489c5lm2sllem20nyv0n47usq3znw7euh4m7pkzzsfmvwasusdpqfy6xwj632p4x6nfnfaexzvtp2qe5k3jcxqyjw5qcqp99qxpqysgqkr7vm56xp48ljfvwgslcft65zj94lesvehljelsmzxleh2zl7atqvklfc9cxmw4mcnfwm7q30uutpxtuez42g37qgsmwcurn9jx94nspht5fmx" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "b2dc9ec86a3cf1dba872d7c0a22f0e9d67deaa0923e52c9a9607d66ad388872a", + "groupid": 1, + "updated_index": 2, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 20000, + "amount_sent_msat": 20000, + "created_at": 1708637635, + "completed_at": 1708637642, + "status": "complete", + "payment_preimage": "b56fce54628f7fc3808ea99c8ef2068c8a2c8c76b829c5a8aaeb1231c61f0942", + "bolt11": "lnbcrt200n1pja00wrsp5rq9lwnewwf3p5r3wnljktuwkhyfr7ktzq5p99w9w56gwp34jtrvspp5ktwfajr28ncah2rj6lq2ytcwn4naa2sfy0jjex5kqltx45ugsu4qdpqguc8qdnpg3y4y3pswfsh55mf2dx5wnrwxqyjw5qcqp99qxpqysgq0k7sdma2udz57tl2tz23wwxuwwgspqyya7y4y86tqzj4l2x80wak8s2nx7m5h4gw6k5avp3yrj5z7gpypjrxyq9zya2dwmtcnp7s8lgqdsm9hk" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "e9c2727dd1f4b84e999fd252883b529ebd08c221bd58a2a31604ffa014171f43", - "short_channel_id": "103x2x0", - "fee_base_msat": 21, - "fee_proportional_millionths": 1001, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "71caf56b380d01a0a300582d123270a71aa0261cab5777082a69f06164839230", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 16777216000, + "amount_sent_msat": 16777216000, + "created_at": 1708637893, + "completed_at": 1708637894, + "status": "complete", + "payment_preimage": "12ed87b4ffd421016d8e78bd0a1758a03f979664a935acdeb53dd769f750598b", + "bolt11": "lnbcrt167772160n1pja00k9sp5kprkxy4rcmvaqazc79s43855grmhzak4q554n58au0msx9njx0mspp5w89026ecp5q6pgcqtqk3yvns5ud2qfsu4dthwzp2d8cxzeyrjgcqdq4wa6k6cn0ypcxz7tdv4h8gxqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqwsqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgqdrjamqmvdpxv5y0uxgf3hehkqeumlzmy0h6trse9wva3tznl9kvyccfm98xmsl8yuswfz5ellhvevt24p4sxps9e5e4hdjevv2hup0cqajlu70" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "92876225f42ffed7fae1e672fa9ae904b9a6361a83bc5ff8d5b4cf7a81b8f7e7", - "short_channel_id": "103x2x0", - "fee_base_msat": 20, - "fee_proportional_millionths": 1000, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "6f1ca61f10bbc57a990507e3dde7653f59fb6159c0f252ad1b1aa357f7692db7", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 123000, + "amount_sent_msat": 123000, + "created_at": 1708639237, + "completed_at": 1708639238, + "status": "complete", + "payment_preimage": "91f8366681fdfd309c048082fcde81a79116f85a7b2dd09aef1e34f5f7c3397b", + "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9" + }, + { + "created_index": 2, + "id": 2, + "payment_hash": "e5a3725577f3b7cd6c0470d7016d1dbb9429f0a1d3f159f36bf2256e1effe9d0", + "groupid": 1, + "updated_index": 2, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 190727, + "amount_sent_msat": 190727, + "created_at": 1708639238, + "completed_at": 1708639239, + "status": "complete", + "payment_preimage": "653ad4ae186da966b40a8d7077cee60c44e7420b63f7399d387127aa68878a4d", + "bolt11": "lnbcrt1pja03qxsp5j2hhpl0uxvrn862uduqr4y6xe5mtrwqkzkpzxwlfdtwr94nxzhyspp5uk3hy4th7wmu6mqywrtszmgahw2znu9p60c4numt7gjku8hla8gqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqkxerfyd86lyyfsp7jpyg72fylqmfydngpewnjf874vu4kr57fh7sxtnfyyfwp873nleutxd9kqj7u7h7x4rst383f26wuk7ptnjsxwsqrqyts7" + }, + { + "created_index": 3, + "id": 3, + "payment_hash": "6b6b6f7e14265c912db8e40eca64b4de4f9f7860d6954f81cbb5ea5bda67a828", + "groupid": 1, + "updated_index": 3, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 403773, + "amount_sent_msat": 403773, + "created_at": 1708639239, + "completed_at": 1708639240, + "status": "complete", + "payment_preimage": "699074de18b3b030385f0642a1ed6b90451779f6d5f43c8a125353b09b7cd04c", + "bolt11": "lnbcrt1pja03q8sp56nqszv4w632vm8yq0zuntt4aywpw34hj0ghsn9fwpx97nd4u8ytspp5dd4k7ls5yewfztdcus8v5e95me8e77rq6625lqwtkh49hkn84q5qdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqmpel0r0vud8etml4yrpxcf70gk2vyhc2cfjul79xe0agkntsr28ydrlnmluze6nme7ynpxeqkr3gsfkx5snu9k9689gz4fekr9kgy2sq0z8q50" + }, + { + "created_index": 4, + "id": 4, + "payment_hash": "b41a0504198434303da2bf2c63deb960f1e5812990c96c80ac2bccfa939a2c17", + "groupid": 1, + "updated_index": 4, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 473264, + "amount_sent_msat": 473264, + "created_at": 1708639240, + "completed_at": 1708639242, + "status": "complete", + "payment_preimage": "33a8c87d8447e7e4911dbf9b73614e5ca23030fa96962a5982ee300428231b06", + "bolt11": "lnbcrt1pja03qgsp5vzdaxl9l87cgwm7r0a9v2u0yke5tvk4a6h7n9n3y4fw5xm976h7qpp5ksdq2pqess6rq0dzhukx8h4evrc7tqffjrykeq9v90x04yu69stsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqmh5559dcffhwthewhsefycyn30kgu43r3pkchs6q95zc4uta0r75dg6t8r7amkylwvjzzwsz7ewl8cr7tzdyz80f49q6eyckrk86kysqkz8g57" + }, + { + "created_index": 5, + "id": 5, + "payment_hash": "f20bf8543b20a7e46bd662a9226d83c88fa6dd2caf921e051778481920e59bed", + "groupid": 1, + "updated_index": 5, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 768322, + "amount_sent_msat": 768322, + "created_at": 1708639242, + "completed_at": 1708639243, + "status": "complete", + "payment_preimage": "bab6ff81255ce813433f13a4aacceb4611e7a012d46911ca3d82c7e56e549de9", + "bolt11": "lnbcrt1pja03q2sp5v4jfl8tg68hry2tj40r5fphs2kkuwkclk0ywjtdyyxp0nh8m8fwqpp57g9ls4pmyzn7g67kv25jymvrez86dhfv47fpupgh0pypjg89n0ksdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq0npehqarm5ss284y3fhjzpmps0ur0vjp3aaltxvjlqaz5lf8vwq8jjy4nk5rrafeuq05q6pldeyd99dqkqtmz04jfllhh5zmwwtkfhqprr8r0t" + }, + { + "created_index": 6, + "id": 6, + "payment_hash": "2a95eaf0a466ed1dde3e5704d61f14fd5b2faed6c86058ccff07c7e04587dee0", + "groupid": 1, + "updated_index": 6, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 937193, + "amount_sent_msat": 937193, + "created_at": 1708639243, + "completed_at": 1708639244, + "status": "complete", + "payment_preimage": "f9b2bd4a23ade01d127c642ce80a5c39bfb90963059408aacd427bcfec95ed09", + "bolt11": "lnbcrt1pja03qtsp50dseqmc5vweslfcv0e0zy5ax4zeuamu5l9vstgf6qal00t2ethmqpp592274u9yvmk3mh372uzdv8c5l4djltkkeps93n8lqlr7q3v8mmsqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqd50uvmqrxfuhr3wzqrfv75xjtw7jqt239ecdy62s2gcx8nlkalszmtpgp20deylvn9vjgfur5eyaefeeqd279hd3emdhhkzsxy79fxsp8ylmp0" } ] }, { - "channels": [ + "payments": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "92876225f42ffed7fae1e672fa9ae904b9a6361a83bc5ff8d5b4cf7a81b8f7e7", - "short_channel_id": "103x2x0", - "fee_base_msat": 21, - "fee_proportional_millionths": 1001, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "created_index": 1, + "id": 1, + "payment_hash": "6f1ca61f10bbc57a990507e3dde7653f59fb6159c0f252ad1b1aa357f7692db7", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 123000, + "amount_sent_msat": 123000, + "created_at": 1708639237, + "completed_at": 1708639238, + "status": "complete", + "payment_preimage": "91f8366681fdfd309c048082fcde81a79116f85a7b2dd09aef1e34f5f7c3397b", + "bolt11": "lnbcrt1230n1pja03q9sp5xu9aypccf3n6vld2waxcysy47ct2wl5x5adtm7k8u30knqes22lspp5duw2v8csh0zh4xg9ql3amem98avlkc2ecre99tgmr2340amf9kmsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqwh78s8wqg0kepspw0epcxmxteh5wu8n6ddlwdnyj758fqxpqk8ejf597x8ju3r32xqgae3yzjjz9e5s6l2vs5zxvkayhmemmx74wvyqqyqf8c9" } ] + } + ], + "author": [ + "Christian Decker <> is mainly responsible." + ], + "see_also": [ + "lightning-listpays(7)", + "lightning-sendpay(7)", + "lightning-listinvoice(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-listsqlschemas.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.02", + "rpc": "listsqlschemas", + "title": "Command to example lightning-sql schemas", + "description": [ + "This allows you to examine the schemas at runtime; while they are fully documented for the current release in lightning-sql(7), as fields are added or deprecated, you can use this command to determine what fields are present.", + "", + "If *table* is given, only that table is in the resulting list, otherwise all tables are listed." + ], + "request": { + "required": [], + "properties": { + "table": { + "type": "string" + } + } + }, + "response": { + "required": [ + "schemas" + ], + "properties": { + "schemas": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "tablename", + "columns" + ], + "properties": { + "tablename": { + "type": "string", + "description": [ + "The name of the table." + ] + }, + "columns": { + "type": "array", + "description": [ + "The columns, in database order." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "type": "string", + "description": [ + "The name of the column." + ] + }, + "type": { + "type": "string", + "enum": [ + "INTEGER", + "BLOB", + "TEXT", + "REAL" + ], + "description": [ + "The SQL type of the column." + ] + } + } + } + }, + "indices": { + "type": "array", + "description": [ + "Any index we created to speed lookups." + ], + "items": { + "type": "array", + "description": [ + "The columns for this index." + ], + "items": { + "type": "string", + "description": [ + "The column name." + ] + } + } + } + } + } + } + } + }, + "example_json_request": [ + { + "id": "example:listsqlschemas#1", + "method": "listsqlschemas", + "params": { + "table": "offers" + } }, { - "channels": [ - { - "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "channel_id": "bfa3f57e255341313710c051561b69336a397d8a2fa3055fd92e0c114d21aa6e", - "short_channel_id": "103x1x0", - "fee_base_msat": 1, - "fee_proportional_millionths": 10, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": true - } + "id": "example:listsqlschemas#2", + "method": "listsqlschemas", + "params": [ + "channels" ] }, { - "channels": [ - { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "1e4a21e1c7aa17eb0ea2022595ac2c1971e378f9fc4f844f6c315a5fa04ea254", - "short_channel_id": "103x1x0", - "fee_base_msat": 1337, - "fee_proportional_millionths": 137, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false - } + "id": "example:listsqlschemas#3", + "method": "listsqlschemas", + "params": [ + "closedchannels" ] }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 1337, - "fee_proportional_millionths": 137, - "minimum_htlc_out_msat": 17, - "maximum_htlc_out_msat": 133337, - "ignore_fee_limits": false - } + "id": "example:listsqlschemas#4", + "method": "listsqlschemas", + "params": [ + "channels" ] }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 1337, - "fee_proportional_millionths": 42, - "minimum_htlc_out_msat": 17, - "maximum_htlc_out_msat": 133337, - "ignore_fee_limits": false - } + "id": "example:listsqlschemas#5", + "method": "listsqlschemas", + "params": [ + "closedchannels" ] }, { - "channels": [ - { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 43, - "fee_proportional_millionths": 42, - "minimum_htlc_out_msat": 17, - "maximum_htlc_out_msat": 133337, - "ignore_fee_limits": false - } + "id": "example:listsqlschemas#6", + "method": "listsqlschemas", + "params": [ + "channels" ] }, { - "channels": [ + "id": "example:listsqlschemas#7", + "method": "listsqlschemas", + "params": [ + "closedchannels" + ] + } + ], + "example_json_response": [ + { + "schemas": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 43, - "fee_proportional_millionths": 42, - "minimum_htlc_out_msat": 45, - "maximum_htlc_out_msat": 133337, - "ignore_fee_limits": false + "tablename": "offers", + "columns": [ + { + "name": "offer_id", + "type": "BLOB" + }, + { + "name": "active", + "type": "INTEGER" + }, + { + "name": "single_use", + "type": "INTEGER" + }, + { + "name": "bolt12", + "type": "TEXT" + }, + { + "name": "bolt12_unsigned", + "type": "TEXT" + }, + { + "name": "used", + "type": "INTEGER" + }, + { + "name": "label", + "type": "TEXT" + } + ], + "indices": [ + [ + "offer_id" + ] + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 43, - "fee_proportional_millionths": 42, - "minimum_htlc_out_msat": 45, - "maximum_htlc_out_msat": 43333, - "ignore_fee_limits": false + "tablename": "channels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "source", + "type": "BLOB" + }, + { + "name": "destination", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "direction", + "type": "INTEGER" + }, + { + "name": "public", + "type": "INTEGER" + }, + { + "name": "amount_msat", + "type": "INTEGER" + }, + { + "name": "message_flags", + "type": "INTEGER" + }, + { + "name": "channel_flags", + "type": "INTEGER" + }, + { + "name": "active", + "type": "INTEGER" + }, + { + "name": "last_update", + "type": "INTEGER" + }, + { + "name": "base_fee_millisatoshi", + "type": "INTEGER" + }, + { + "name": "fee_per_millionth", + "type": "INTEGER" + }, + { + "name": "delay", + "type": "INTEGER" + }, + { + "name": "htlc_minimum_msat", + "type": "INTEGER" + }, + { + "name": "htlc_maximum_msat", + "type": "INTEGER" + }, + { + "name": "features", + "type": "BLOB" + } + ], + "indices": [ + [ + "short_channel_id" + ] + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 0, - "fee_proportional_millionths": 0, - "minimum_htlc_out_msat": 45, - "maximum_htlc_out_msat": 43333, - "ignore_fee_limits": false + "tablename": "closedchannels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "peer_id", + "type": "BLOB" + }, + { + "name": "channel_id", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "alias_local", + "type": "TEXT" + }, + { + "name": "alias_remote", + "type": "TEXT" + }, + { + "name": "opener", + "type": "TEXT" + }, + { + "name": "closer", + "type": "TEXT" + }, + { + "name": "private", + "type": "INTEGER" + }, + { + "name": "total_local_commitments", + "type": "INTEGER" + }, + { + "name": "total_remote_commitments", + "type": "INTEGER" + }, + { + "name": "total_htlcs_sent", + "type": "INTEGER" + }, + { + "name": "funding_txid", + "type": "BLOB" + }, + { + "name": "funding_outnum", + "type": "INTEGER" + }, + { + "name": "leased", + "type": "INTEGER" + }, + { + "name": "funding_fee_paid_msat", + "type": "INTEGER" + }, + { + "name": "funding_fee_rcvd_msat", + "type": "INTEGER" + }, + { + "name": "funding_pushed_msat", + "type": "INTEGER" + }, + { + "name": "total_msat", + "type": "INTEGER" + }, + { + "name": "final_to_us_msat", + "type": "INTEGER" + }, + { + "name": "min_to_us_msat", + "type": "INTEGER" + }, + { + "name": "max_to_us_msat", + "type": "INTEGER" + }, + { + "name": "last_commitment_txid", + "type": "BLOB" + }, + { + "name": "last_commitment_fee_msat", + "type": "INTEGER" + }, + { + "name": "close_cause", + "type": "TEXT" + } + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 142, - "fee_proportional_millionths": 143, - "minimum_htlc_out_msat": 45, - "maximum_htlc_out_msat": 43333, - "ignore_fee_limits": false + "tablename": "channels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "source", + "type": "BLOB" + }, + { + "name": "destination", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "direction", + "type": "INTEGER" + }, + { + "name": "public", + "type": "INTEGER" + }, + { + "name": "amount_msat", + "type": "INTEGER" + }, + { + "name": "message_flags", + "type": "INTEGER" + }, + { + "name": "channel_flags", + "type": "INTEGER" + }, + { + "name": "active", + "type": "INTEGER" + }, + { + "name": "last_update", + "type": "INTEGER" + }, + { + "name": "base_fee_millisatoshi", + "type": "INTEGER" + }, + { + "name": "fee_per_millionth", + "type": "INTEGER" + }, + { + "name": "delay", + "type": "INTEGER" + }, + { + "name": "htlc_minimum_msat", + "type": "INTEGER" + }, + { + "name": "htlc_maximum_msat", + "type": "INTEGER" + }, + { + "name": "features", + "type": "BLOB" + } + ], + "indices": [ + [ + "short_channel_id" + ] + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", - "short_channel_id": "103x1x0", - "fee_base_msat": 1000, - "fee_proportional_millionths": 143, - "minimum_htlc_out_msat": 45, - "maximum_htlc_out_msat": 43333, - "ignore_fee_limits": false + "tablename": "closedchannels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "peer_id", + "type": "BLOB" + }, + { + "name": "channel_id", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "alias_local", + "type": "TEXT" + }, + { + "name": "alias_remote", + "type": "TEXT" + }, + { + "name": "opener", + "type": "TEXT" + }, + { + "name": "closer", + "type": "TEXT" + }, + { + "name": "private", + "type": "INTEGER" + }, + { + "name": "total_local_commitments", + "type": "INTEGER" + }, + { + "name": "total_remote_commitments", + "type": "INTEGER" + }, + { + "name": "total_htlcs_sent", + "type": "INTEGER" + }, + { + "name": "funding_txid", + "type": "BLOB" + }, + { + "name": "funding_outnum", + "type": "INTEGER" + }, + { + "name": "leased", + "type": "INTEGER" + }, + { + "name": "funding_fee_paid_msat", + "type": "INTEGER" + }, + { + "name": "funding_fee_rcvd_msat", + "type": "INTEGER" + }, + { + "name": "funding_pushed_msat", + "type": "INTEGER" + }, + { + "name": "total_msat", + "type": "INTEGER" + }, + { + "name": "final_to_us_msat", + "type": "INTEGER" + }, + { + "name": "min_to_us_msat", + "type": "INTEGER" + }, + { + "name": "max_to_us_msat", + "type": "INTEGER" + }, + { + "name": "last_commitment_txid", + "type": "BLOB" + }, + { + "name": "last_commitment_fee_msat", + "type": "INTEGER" + }, + { + "name": "close_cause", + "type": "TEXT" + } + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "634463d08ba690754b60ac50c1bf051ba272082e9330c221631a69a8d4a47607", - "fee_base_msat": 42, - "fee_proportional_millionths": 0, - "minimum_htlc_out_msat": 0, - "maximum_htlc_out_msat": 990000000, - "ignore_fee_limits": false + "tablename": "channels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "source", + "type": "BLOB" + }, + { + "name": "destination", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "direction", + "type": "INTEGER" + }, + { + "name": "public", + "type": "INTEGER" + }, + { + "name": "amount_msat", + "type": "INTEGER" + }, + { + "name": "message_flags", + "type": "INTEGER" + }, + { + "name": "channel_flags", + "type": "INTEGER" + }, + { + "name": "active", + "type": "INTEGER" + }, + { + "name": "last_update", + "type": "INTEGER" + }, + { + "name": "base_fee_millisatoshi", + "type": "INTEGER" + }, + { + "name": "fee_per_millionth", + "type": "INTEGER" + }, + { + "name": "delay", + "type": "INTEGER" + }, + { + "name": "htlc_minimum_msat", + "type": "INTEGER" + }, + { + "name": "htlc_maximum_msat", + "type": "INTEGER" + }, + { + "name": "features", + "type": "BLOB" + } + ], + "indices": [ + [ + "short_channel_id" + ] + ] } ] }, { - "channels": [ + "schemas": [ { - "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "channel_id": "1234ba12bf1730ddbf9efddcea1cc02e6d21b7e1ea2533da141ce8cd86e3e0f7", - "short_channel_id": "103x1x0", - "fee_base_msat": 1337, - "fee_proportional_millionths": 137, - "minimum_htlc_out_msat": 17, - "maximum_htlc_out_msat": 4000000, - "ignore_fee_limits": false + "tablename": "closedchannels", + "columns": [ + { + "name": "rowid", + "type": "INTEGER" + }, + { + "name": "peer_id", + "type": "BLOB" + }, + { + "name": "channel_id", + "type": "BLOB" + }, + { + "name": "short_channel_id", + "type": "TEXT" + }, + { + "name": "alias_local", + "type": "TEXT" + }, + { + "name": "alias_remote", + "type": "TEXT" + }, + { + "name": "opener", + "type": "TEXT" + }, + { + "name": "closer", + "type": "TEXT" + }, + { + "name": "private", + "type": "INTEGER" + }, + { + "name": "total_local_commitments", + "type": "INTEGER" + }, + { + "name": "total_remote_commitments", + "type": "INTEGER" + }, + { + "name": "total_htlcs_sent", + "type": "INTEGER" + }, + { + "name": "funding_txid", + "type": "BLOB" + }, + { + "name": "funding_outnum", + "type": "INTEGER" + }, + { + "name": "leased", + "type": "INTEGER" + }, + { + "name": "funding_fee_paid_msat", + "type": "INTEGER" + }, + { + "name": "funding_fee_rcvd_msat", + "type": "INTEGER" + }, + { + "name": "funding_pushed_msat", + "type": "INTEGER" + }, + { + "name": "total_msat", + "type": "INTEGER" + }, + { + "name": "final_to_us_msat", + "type": "INTEGER" + }, + { + "name": "min_to_us_msat", + "type": "INTEGER" + }, + { + "name": "max_to_us_msat", + "type": "INTEGER" + }, + { + "name": "last_commitment_txid", + "type": "BLOB" + }, + { + "name": "last_commitment_fee_msat", + "type": "INTEGER" + }, + { + "name": "close_cause", + "type": "TEXT" + } + ] } ] } ], "author": [ - "Michael Schmoock <> is the author of this feature." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightningd-config(5)", - "lightning-fundchannel(7)", - "lightning-listchannels(7)", - "lightning-listpeers(7)" + "lightning-sql(7)" ], "resources": [ "Main web site: " ] }, - "lightning-setconfig.json": { + "lightning-listtransactions.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "setconfig", - "title": "Dynamically change some config options", + "rpc": "listtransactions", + "title": "Command to get the list of transactions that was stored in the wallet.", "description": [ - "The **setconfig** RPC command allows you set the (dynamic) configuration option named by `config`: options which take a value (as separate from simple flag options) also need a `val` parameter.", - "", - "This new value will *also* be written at the end of the config file, for persistence across restarts (and any old value commented out).", - "", - "You can see what options are dynamically adjustable using lightning- listconfigs(7). Note that you can also adjust existing options for stopped plugins; they will have an effect when the plugin is restarted." + "The **listtransactions** command returns transactions tracked in the wallet. This includes deposits, withdrawals and transactions related to channels. A transaction may have multiple types, e.g., a transaction may both be a close and a deposit if it closes the channel and returns funds to the wallet." ], "request": { - "required": [ - "config" - ], - "properties": { - "config": { - "type": "string", - "description": [ - "Name of the config variable which should be set to the value of the variable." - ] - }, - "val": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - } - ], - "description": [ - "Value of the config variable to be set or updated." - ] - } - } + "required": [], + "properties": {} }, "response": { "required": [ - "config" + "transactions" ], "properties": { - "config": { - "type": "object", - "description": [ - "Config settings after completion." - ], - "additionalProperties": false, - "required": [ - "config", - "source", - "dynamic" - ], - "properties": { - "config": { - "type": "string", - "description": [ - "Name of the config variable which was set." - ] - }, - "source": { - "type": "string", - "description": [ - "Source of configuration setting (`file`:`linenum`)." - ] - }, - "plugin": { - "type": "string", - "description": [ - "The plugin this configuration setting is for." - ] - }, - "dynamic": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Whether this option is settable via setconfig." - ] - }, - "set": { - "type": "boolean", - "description": [ - "For simple flag options." - ] - }, - "value_str": { - "type": "string", - "description": [ - "For string options." - ] - }, - "value_msat": { - "type": "msat", - "description": [ - "For msat options." - ] - }, - "value_int": { - "type": "integer", - "description": [ - "For integer options." - ] - }, - "value_bool": { - "type": "boolean", - "description": [ - "For boolean options." - ] + "transactions": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "hash", + "rawtx", + "blockheight", + "txindex", + "locktime", + "version", + "inputs", + "outputs" + ], + "properties": { + "hash": { + "type": "txid", + "description": [ + "The transaction id." + ] + }, + "rawtx": { + "type": "hex", + "description": [ + "The raw transaction." + ] + }, + "blockheight": { + "type": "u32", + "description": [ + "The block height of this tx." + ] + }, + "txindex": { + "type": "u32", + "description": [ + "The transaction number within the block." + ] + }, + "locktime": { + "type": "u32", + "description": [ + "The nLocktime for this tx." + ] + }, + "version": { + "type": "u32", + "description": [ + "The nVersion for this tx." + ] + }, + "inputs": { + "type": "array", + "description": [ + "Each input, in order." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "txid", + "index", + "sequence" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The transaction id spent." + ] + }, + "index": { + "type": "u32", + "description": [ + "The output spent." + ] + }, + "sequence": { + "type": "u32", + "description": [ + "The nSequence value." + ] + } + } + } + }, + "outputs": { + "type": "array", + "description": [ + "Each output, in order." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "index", + "amount_msat", + "scriptPubKey" + ], + "properties": { + "index": { + "type": "u32", + "description": [ + "The 0-based output number." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount of the output." + ] + }, + "scriptPubKey": { + "type": "hex", + "description": [ + "The scriptPubKey." + ] + } + } + } + } } } } } }, - "errors": [ - "The following error codes may occur:", - "", - "- -32602: JSONRPC2_INVALID_PARAMS, i.e. the parameter is not dynamic, or the val was invalid." - ], "example_json_request": [ { - "id": "example:setconfig#1", - "method": "setconfig", - "params": [ - "autoclean-expiredinvoices-age", - 2 - ] - }, - { - "id": "example:setconfig#2", - "method": "setconfig", - "params": [ - "autoclean-cycle", - 10 - ] - }, - { - "id": "example:setconfig#3", - "method": "setconfig", - "params": [ - "autoclean-expiredinvoices-age", - 2 - ] - }, - { - "id": "example:setconfig#4", - "method": "setconfig", - "params": [ - "autoclean-cycle", - 10 - ] + "id": "example:listtransactions#1", + "method": "listtransactions", + "params": {} }, { - "id": "example:setconfig#5", - "method": "setconfig", - "params": [ - "autoclean-expiredinvoices-age", - 0 - ] + "id": "example:listtransactions#2", + "method": "listtransactions", + "params": "{}" }, { - "id": "example:setconfig#6", - "method": "setconfig", - "params": [ - "autoclean-expiredinvoices-age", - 2 - ] + "id": "example:listtransactions#3", + "method": "listtransactions", + "params": "{}" }, { - "id": "example:setconfig#7", - "method": "setconfig", - "params": [ - "autoclean-paidinvoices-age", - 1 - ] + "id": "example:listtransactions#4", + "method": "listtransactions", + "params": "{}" }, { - "id": "example:setconfig#8", - "method": "setconfig", - "params": [ - "autoclean-failedpays-age", - 1 - ] + "id": "example:listtransactions#5", + "method": "listtransactions", + "params": "{}" }, { - "id": "example:setconfig#9", - "method": "setconfig", - "params": [ - "autoclean-cycle", - 5 - ] - }, + "id": "example:listtransactions#6", + "method": "listtransactions", + "params": "{}" + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "example_json_response": [ { - "id": "example:setconfig#10", - "method": "setconfig", - "params": [ - "autoclean-succeededpays-age", - 2 + "transactions": [ + { + "hash": "05985072bbe20747325e69a159fe08176cc1bbc96d25e8848edad2dddc1165d0", + "rawtx": "02000000027032912651fc25a3e0893acd5f9640598707e2dfef92143bb5a4020e335442800100000017160014a5f48b9aa3cb8ca6cc1040c11e386745bb4dc932ffffffffd229a4b4f78638ebcac10a68b0561585a5d6e4d3b769ad0a909e9b9afaeae24e00000000171600145c83da9b685f9142016c6f5eb5f98a45cfa6f686ffffffff01915a01000000000017a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf8700000000", + "blockheight": 0, + "txindex": 0, + "locktime": 0, + "version": 2, + "inputs": [ + { + "txid": "804254330e02a4b53b1492efdfe207875940965fcd3a89e0a325fc5126913270", + "index": 1, + "sequence": 4294967295 + }, + { + "txid": "4ee2eafa9a9b9e900aad69b7d3e4d6a5851556b0680ac1caeb3886f7b4a429d2", + "index": 0, + "sequence": 4294967295 + } + ], + "outputs": [ + { + "index": 0, + "satoshis": "88721000msat", + "scriptPubKey": "a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf87" + } + ] + } ] }, { - "id": "example:setconfig#11", - "method": "setconfig", - "params": [ - "autoclean-cycle", - 5 + "transactions": [ + { + "hash": "7ad0ca0979d5b20f5320b249e92f98b0146687767722b43196aa33ead5cdf9c2", + "rawtx": "02000000000101384a36cc11e83500c48db6bd24bf65e639733bb1b4968f42d06b6afa54cb54580100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220181eea80cc88227911bd0439e80dd77b50658e6c34b633cb0cbe33374f57a30a022031800aab2db95974b1ae28d27e18a42466daabbc373d0500d3f90298f7b1bcc0012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "blockheight": 0, + "txindex": 0, + "locktime": 102, + "version": 2, + "inputs": [ + { + "txid": "5854cb54fa6a6bd0428f96b4b13b7339e665bf24bdb68dc40035e811cc364a38", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000, + "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" + }, + { + "index": 1, + "amount_msat": 895073000, + "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" + } + ] + }, + { + "hash": "5854cb54fa6a6bd0428f96b4b13b7339e665bf24bdb68dc40035e811cc364a38", + "rawtx": "020000000001016654ccdd5cd76b18603524eceb913e236fdc1df4d59576e8b975f893d46f59af0000000000fdffffff0233aff6290100000016001469709fe0f59052483d9ed73c84918fb9cf4bb8c640420f000000000016001401fad90abcd66697e2592164722de4a95ebee1650247304402202a92783a693f863fcf9595ee2b30b5801cc3d2d133f11b3ffb2a2b8177ab6f6d02204b02f9f37898c9e35a7f701d92bbf69304f5d8cfc9a42a1b784ec52e548efb4a0121027fda618b14b3d2b753f98082e3da359ec320ae0483c14a201e2052632463926465000000", + "blockheight": 102, + "txindex": 1, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "af596fd493f875b9e87695d5f41ddc6f233e91ebec243560186bd75cddcc5466", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4998999859000, + "scriptPubKey": "001469709fe0f59052483d9ed73c84918fb9cf4bb8c6" + }, + { + "index": 1, + "amount_msat": 1000000000, + "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" + } + ] + } ] }, { - "id": "example:setconfig#12", - "method": "setconfig", - "params": [ - "autoclean-failedforwards-age", - 2 + "transactions": [ + { + "hash": "6c441ee5ef5bf81f43c84f67009fbd69c50d5b2986067b732b2e086d66324fa7", + "rawtx": "02000000000106325dcf9e550a9c301f30391c2ffdd7dea628331d09dd40c05bfcf5d2fbe1847d0000000000fdffffffa8b81e10f438dd1597468c369225d3a064389e7ef1fbe3c0eaba373306952e570100000000fdffffffc6bad710e4abde70c9e7f634a7b53679a1a4163b5ea3098da79bf934dc783af90000000000fdffffff4857ec34df693a3aecbea33a84ab3b1beeb9ae80fb0f55fce4dc28c6684b2c540100000000fdffffff3dc61e5b18db909fba3ae554189ff7d6fbce811ecb8edec1671cd8d280daf3dc0000000000fdffffff4677f8a6144460b15798c6cf85ba207a9f7e3cf826df5ceb74ffef0de51e5f650100000000fdffffff020065cd1d000000002251206664e7ba05e61e3f37720f2b92e5cd60ffc8b5bd02e542ce8562f616bd7bab030ea6f50500000000225120991062a7bfdfe38fdf94639dbd2a43dccb9c7651ab0d9d8cd8192a0b170ce5830140265910d91ece103a85a414967b76b53021cde6e9a67fde7b63b087f92bb092783f02432d270bcf2bcb5b68f25a3888e7e2364c5f7f830a2894ed5839fea0dc180247304402201f3cb57b6d1ef7d087c24bc8402b3a2e61bf7d9e8c65b059d1c162d602427986022073dbe3659ee62e66799189c50722c437db9b067487029dd5a0f0c4b114208edb012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f0247304402201ec4380bdfd9a28fe1120fd44f23998d31238f5b11cbcc6cb972244f19279bde02200c925476e018a5dbccfc6fb6ef3ce798ab63a13adcab61573fed337c8970bfd7012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f014016c355d0e6d54ba667bf8fe73e8fe671100bfb773639d47d1b46a30ce09302aa67ec4f0572aea9fefd25a333c6f937398a5f33141e89bd5fcccfc705b2d7c28702473044022055f7287e0a808d9124974849250376f28a59bf2203a141493c0e86f84e12136f02204206fe7785ee200dd44af2b0241569908abfb95c80e82c9f71eee13bc992bdb5012102e57140fece2d5d6485fd26dc4857389cd6aac00036295c326529387c6b05bc8f0140f6982def547f5cc2c2ecfaa948e7cb30c4ad369bff4be03612e9991b8473536014ccbc854ae94f7fcebc60106881bcd14f1b29b09d95ac714d9aaeb37563c02d66000000", + "blockheight": 0, + "txindex": 0, + "locktime": 102, + "version": 2, + "inputs": [ + { + "txid": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", + "index": 0, + "sequence": 4294967293 + }, + { + "txid": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "f93a78dc34f99ba78d09a35e3b16a4a17936b5a734f6e7c970deabe410d7bac6", + "index": 0, + "sequence": 4294967293 + }, + { + "txid": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", + "index": 0, + "sequence": 4294967293 + }, + { + "txid": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 500000000000, + "scriptPubKey": "51206664e7ba05e61e3f37720f2b92e5cd60ffc8b5bd02e542ce8562f616bd7bab03" + }, + { + "index": 1, + "amount_msat": 99984910000, + "scriptPubKey": "5120991062a7bfdfe38fdf94639dbd2a43dccb9c7651ab0d9d8cd8192a0b170ce583" + } + ] + }, + { + "hash": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", + "rawtx": "020000000001012e03bc38fbaa43a9dfa2d647befb409fec3dab9ebd2c3142bc5895036f0d48d50000000000fdffffff025b10102401000000225120560627f1055f09a5a6aa63ac1e8fabb4063b04ad33e41cf078dd8147634835d400e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd102473044022023c79dc5c34ec82f2ba4eb72e0a73bf7dd7d39af2c9b18c43fad5a4227e4339302200b11755e4ebaf508c004036e7bc8d0ec9c9f18df698a303de8b5e8ec43d3c814012102c53981b67a95acc063c893201e63e1416657abf0c43ed1282e5d443fa0069c6165000000", + "blockheight": 102, + "txindex": 1, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "d5480d6f039558bc42312cbd9eab3dec9f40fbbe47d6a2dfa943aafb38bc032e", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4899999835000, + "scriptPubKey": "5120560627f1055f09a5a6aa63ac1e8fabb4063b04ad33e41cf078dd8147634835d4" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" + } + ] + }, + { + "hash": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", + "rawtx": "020000000001014857ec34df693a3aecbea33a84ab3b1beeb9ae80fb0f55fce4dc28c6684b2c540000000000fdffffff02c02e1a1e01000000225120892ba69c00e9d467b6472d79e9dbc0c5faedd7efd03bb821ecb47028c5811bbb00e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1014013931e8a44332197d5da8073de2ed0c4bc532349e867f8164facbc1d45c5dc05fc8f342cff146764f76774aa7371059cb0afa1d44eca44f7dce576019d9108c965000000", + "blockheight": 102, + "txindex": 2, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "542c4b68c628dce4fc550ffb80aeb9ee1b3bab843aa3beec3a3a69df34ec5748", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4799999680000, + "scriptPubKey": "5120892ba69c00e9d467b6472d79e9dbc0c5faedd7efd03bb821ecb47028c5811bbb" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" + } + ] + }, + { + "hash": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", + "rawtx": "020000000001014677f8a6144460b15798c6cf85ba207a9f7e3cf826df5ceb74ffef0de51e5f650000000000fdffffff0200e1f505000000002251205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1254d24180100000022512091dba3a48ad4e9fcf357fa73188d89f61c6c39bd804cc030144e4ff9446e93f10140d021b95411981fb19be2d07a3bb102f3a811d1361aa59b7c04f0710bc70a910e6061ff4a83ae9f21b8a7e467690948f5d7fa7b453bc0668a073611c7e606a2f665000000", + "blockheight": 102, + "txindex": 3, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "655f1ee50defff74eb5cdf26f83c7e9f7a20ba85cfc69857b1604414a6f87746", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000000, + "scriptPubKey": "51205214e15d2bcabdfff352ad6df150a91dd8cd6577227ce5e9f80fe8558c867cd1" + }, + { + "index": 1, + "amount_msat": 4699999525000, + "scriptPubKey": "512091dba3a48ad4e9fcf357fa73188d89f61c6c39bd804cc030144e4ff9446e93f1" + } + ] + }, + { + "hash": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", + "rawtx": "02000000000101325dcf9e550a9c301f30391c2ffdd7dea628331d09dd40c05bfcf5d2fbe1847d0100000000fdffffff0200e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627ca26b2e12010000001600141793aaf17ccb4111b278f268fefe53ef42800f470140f14cd7f720dcbd5d36eb317ab335ad8dc162bc85b107951afac136cee78f28c916e78c03ae3209337a017eb49ffda6bfa53d190ee0519f4d7b539d92dd60037d65000000", + "blockheight": 102, + "txindex": 4, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "7d84e1fbd2f5fc5bc040dd091d3328a6ded7fd2f1c39301f309c0a559ecf5d32", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000000, + "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" + }, + { + "index": 1, + "amount_msat": 4599999394000, + "scriptPubKey": "00141793aaf17ccb4111b278f268fefe53ef42800f47" + } + ] + }, + { + "hash": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", + "rawtx": "020000000001013dc61e5b18db909fba3ae554189ff7d6fbce811ecb8edec1671cd8d280daf3dc0100000000fdffffff02158a380c010000001600144d08e25205ee00ca4314983c579bac7e13b7dae700e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627c02473044022042a5f42b2de5d84040a40750bab4b3c1e6b857b21c13ae90c5214dd5c015633a02201704df773aa67d94839357c8e99b17eeb1051eaa3cd35cb8cea8317e699c2e900121028f3b5478cc6af69438f7a95f602e81c9edda24d3a724f606ea4feb40bd51019a65000000", + "blockheight": 102, + "txindex": 5, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "dcf3da80d2d81c67c1de8ecb1e81cefbd6f79f1854e53aba9f90db185b1ec63d", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4499999253000, + "scriptPubKey": "00144d08e25205ee00ca4314983c579bac7e13b7dae7" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" + } + ] + }, + { + "hash": "f93a78dc34f99ba78d09a35e3b16a4a17936b5a734f6e7c970deabe410d7bac6", + "rawtx": "02000000000101a8b81e10f438dd1597468c369225d3a064389e7ef1fbe3c0eaba373306952e570000000000fdffffff0200e1f5050000000016001493aeb2bed163bede4083eba990fa1a110744627c88a84206010000001600145ae6e38c4588c11497fecec129d8c150cba23ad302473044022068c8705a9ffe90076c58fbadeefe1faa23f8aaabd7b42ef97e1fb8d093bcbd2f02205174f009f623db441005175dd147d57cd7b577d0727088890530d6dc230b7cc1012103b4403fe6c532e9c0715f318cafd60f2cd0ccc04f771eb5e799eec58fc24aebae65000000", + "blockheight": 102, + "txindex": 6, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "572e95063337baeac0e3fbf17e9e3864a0d32592368c469715dd38f4101eb8a8", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000000, + "scriptPubKey": "001493aeb2bed163bede4083eba990fa1a110744627c" + }, + { + "index": 1, + "amount_msat": 4399999112000, + "scriptPubKey": "00145ae6e38c4588c11497fecec129d8c150cba23ad3" + } + ] + } ] }, { - "id": "example:setconfig#13", - "method": "setconfig", - "params": [ - "autoclean-succeededforwards-age", - 2 + "transactions": [ + { + "hash": "30746b86e10c19b2a3b7183099bd02b2c3f21d2df7c185d92a81f37472e08f81", + "rawtx": "0200000000010178a2a05d9bd3699bb4af18fc7ca7eb385068b858fa6e585ab3012220d8320a080100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022020fc5b2b8b0395e2684d45dfe9a5143f4dabe74437425cd850879c88431c19d30220713bceeb0c5659ce2ff5f6590debc30b271267473da7468b91deda03f0b35a4e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "blockheight": 0, + "txindex": 0, + "locktime": 102, + "version": 2, + "inputs": [ + { + "txid": "080a32d8202201b35a586efa58b8685038eba77cfc18afb49b69d39b5da0a278", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000, + "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" + }, + { + "index": 1, + "amount_msat": 895073000, + "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" + } + ] + }, + { + "hash": "080a32d8202201b35a586efa58b8685038eba77cfc18afb49b69d39b5da0a278", + "rawtx": "020000000001010ce714e65defd48af28248d2ae412822258d38d50e811b894346a3b99c96c1030000000000fdffffff0233aff62901000000160014faa59d627eb9c05e879d0fdeb60f5364c71fbdf640420f000000000016001401fad90abcd66697e2592164722de4a95ebee1650247304402205fc3910ca60d8e3cab006e848a23132418b00dcff0a60d8005febf5b63bd493602201268546c5c17c741d8a44add7ce0274f7d2004a03eec913376ad11a554017df40121031592a443239b0a4211f7dff2086c4a602c05c7b614c5929277b7c3a1f9e911b665000000", + "blockheight": 102, + "txindex": 1, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "03c1969cb9a34643891b810ed5388d25222841aed24882f28ad4ef5de614e70c", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4998999859000, + "scriptPubKey": "0014faa59d627eb9c05e879d0fdeb60f5364c71fbdf6" + }, + { + "index": 1, + "amount_msat": 1000000000, + "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" + } + ] + } ] }, { - "id": "example:setconfig#14", - "method": "setconfig", - "params": [ - "test-dynamic-config", - "changed" + "transactions": [ + { + "hash": "46b692c22302effb4d3874a5ec6524c7f5be771deb6529bcdaefeeaf2e8eb488", + "rawtx": "02000000000106f41eaf528937d0e313596730790bee48d6b76a346c97f45f2208749f4f01e90f0100000000fdffffffa6598ff563e397f77dffdba738ed5218fdf1bd3ba3a273167a73f8a9110bed050100000000fdffffff6de6b764d0b6d0b2e6a615f93cc3c5432c51d8477fd4ae908d53412e72333fc00100000000fdffffffa9c04839d6cc9afac7411d582d5eeb3c98038d0023218f6d8c0264f6aca989470100000000fdffffffd10882a6a0d50d9c45893d8381f6c1f36a56b132cfdb2e7a6518f2d82e236e630100000000fdffffff4d5b65fd962e06009058ce0156ec81ceab99efb88a125297bedca69bfe756f270000000000fdffffff020065cd1d0000000022512070cef5614eef1eead42f7ffb2da8b9688cd9042a2b18682166e5a58b74ea2c710ea6f50500000000225120cdd8ad54187deb7f7376f9676cd952a3ac132a27cb72ff9d882e1f401b5e9cf40140a87e8d8dbb4a6e6d8bfd83c8a54cf6fdbf17f3a97634dd620f3ea1586c710be65e77d0f9307fd22a20a6b45740f1d0e6533a6975347694a1a62a340e84c0f64602473044022068bcd46eee14bee17dbbe950eb364a91ac3bfbcea07d359d4457de54978e9dba02201e596912b146715c94ca23aa1a5971a5ad10b8af1e535b13ad50afef682060ea012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae50140e076bb6c8c22ca89ec634fec31f4843c26579955600bdcc5363b9546f9db1d6a73e1bb76201bf6d0eab8826b9255de5b52eb027a1b3ad6760e557beee216b9c202473044022025a1fcc2f31a0a65b2e981760e3c1533cfd6fa0a48b7167abdc3deb94086a02502204815e7881ce25b1f392215a24a94f788ded02fa4dffdd9e0601ed4b9a404f0f1012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae502473044022073a63fa354766fe6635ac7b8c3995183f875da3335a9864e2d0ae2d1b2b35d05022064197b444413897777649b1007b38f86451cd3c686278da82d7996bbb2914d71012103904770bf05ab5317d91c9fb3f4eb43da2d59ab2390e359b63d9700fe8797bae5014049174163e95f5aff71876abe28d1042e12db243dbc1b3d81e6a7c4b70cde31348007855883be75f1ea8c6eb22e1b942bcf3809c6e6506d14f15ef9fc60e84b7f66000000", + "blockheight": 0, + "txindex": 0, + "locktime": 102, + "version": 2, + "inputs": [ + { + "txid": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "636e232ed8f218657a2edbcf32b1566af3c1f681833d89459c0dd5a0a68208d1", + "index": 1, + "sequence": 4294967293 + }, + { + "txid": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 500000000000, + "scriptPubKey": "512070cef5614eef1eead42f7ffb2da8b9688cd9042a2b18682166e5a58b74ea2c71" + }, + { + "index": 1, + "amount_msat": 99984910000, + "scriptPubKey": "5120cdd8ad54187deb7f7376f9676cd952a3ac132a27cb72ff9d882e1f401b5e9cf4" + } + ] + }, + { + "hash": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", + "rawtx": "02000000000101915f8deffc81b2c0285a1fcfa897c3694f501a27b4d1c15cc088743d0bbf22b50000000000fdffffff025b10102401000000225120c80be6cea3824d68d9c117bf66fd27b81663365356e9d178f5630d26646435f900e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a0247304402204bdee8a7507f9f62e3ce0d5a4614f4aeaed7fe41648c26bf6e9386faea12069a022014e6511d15a52cab1f02cd536623d0a5b5341adc5cfd64219fb4d7ea5c4d329801210318e17e8d2bcd36bc5d6de7a82cf1b0725dab85344b1da4695ba59c45363e879465000000", + "blockheight": 102, + "txindex": 1, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "b522bf0b3d7488c05cc1d1b4271a504f69c397a8cf1f5a28c0b281fcef8d5f91", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4899999835000, + "scriptPubKey": "5120c80be6cea3824d68d9c117bf66fd27b81663365356e9d178f5630d26646435f9" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" + } + ] + }, + { + "hash": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", + "rawtx": "02000000000101f41eaf528937d0e313596730790bee48d6b76a346c97f45f2208749f4f01e90f0000000000fdffffff02c02e1a1e010000002251204e90e79314d9c89ac931bbe814ad9a0fc01235166be769feea5897722801a04100e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a0140ff6fb19bde6bc24bb04cd3358e768c9eaa38dde0609abdd0c4831213c2529729dc4a423a27d01658f04bbd334d3ed1b511fdba7f290c3b5abb59e55466dfdddb65000000", + "blockheight": 102, + "txindex": 2, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "0fe9014f9f7408225ff4976c346ab7d648ee0b7930675913e3d0378952af1ef4", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4799999680000, + "scriptPubKey": "51204e90e79314d9c89ac931bbe814ad9a0fc01235166be769feea5897722801a041" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" + } + ] + }, + { + "hash": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", + "rawtx": "020000000001016de6b764d0b6d0b2e6a615f93cc3c5432c51d8477fd4ae908d53412e72333fc00000000000fdffffff0200e1f505000000002251201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a254d241801000000225120bd3cabbab8ac1d24a8e1b510b40c92aba15360c4ff708114c6591f624b15f41801405b32c35d3da023059ba9907112c7fde08e76dffbc7f7a22656a8b48bf4f92a86583f2b02d4203fec72fe6437503ed8261231e139bccf37f3f6e4a2aca54d291265000000", + "blockheight": 102, + "txindex": 3, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "c03f33722e41538d90aed47f47d8512c43c5c33cf915a6e6b2d0b6d064b7e66d", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000000, + "scriptPubKey": "51201dfbb9dda61f6e7e9a6b96052a303715bdf0c083840c374ff4ea4adeee4b030a" + }, + { + "index": 1, + "amount_msat": 4699999525000, + "scriptPubKey": "5120bd3cabbab8ac1d24a8e1b510b40c92aba15360c4ff708114c6591f624b15f418" + } + ] + }, + { + "hash": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", + "rawtx": "020000000001014d5b65fd962e06009058ce0156ec81ceab99efb88a125297bedca69bfe756f270100000000fdffffff02a26b2e1201000000160014d2f884622cb8a6a3405355c1d90677bbca28472900e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba0140c81e507c2d2889dc2b637f3936a4b9bdfcb21363d89ef03f576f58d55ba8dd203cd9c9451e5be5face28d8de7946647023ddba2726eea8cab789576eaf6e355665000000", + "blockheight": 102, + "txindex": 4, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "276f75fe9ba6dcbe9752128ab8ef99abce81ec5601ce589000062e96fd655b4d", + "index": 1, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4599999394000, + "scriptPubKey": "0014d2f884622cb8a6a3405355c1d90677bbca284729" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" + } + ] + }, + { + "hash": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", + "rawtx": "02000000000101a6598ff563e397f77dffdba738ed5218fdf1bd3ba3a273167a73f8a9110bed050000000000fdffffff02158a380c01000000160014ffcff271765dfcfcafdd8ed35937b9f68e9dd7e700e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba02473044022024795f35e208eca7a4f2da2212c2a1a7172ad9bb9a192d1389453c4f387652890220464b17f8c3ec7015ea8bde410b19195b233e5c7ab88df0f7877527d993d77e58012103a1f79558e4ea76b7ec2c723ff791b80d98fed50eb4856d33b33148f5b6c95e0065000000", + "blockheight": 102, + "txindex": 5, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "05ed0b11a9f8737a1673a2a33bbdf1fd1852ed38a7dbff7df797e363f58f59a6", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4499999253000, + "scriptPubKey": "0014ffcff271765dfcfcafdd8ed35937b9f68e9dd7e7" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" + } + ] + }, + { + "hash": "636e232ed8f218657a2edbcf32b1566af3c1f681833d89459c0dd5a0a68208d1", + "rawtx": "02000000000101a9c04839d6cc9afac7411d582d5eeb3c98038d0023218f6d8c0264f6aca989470000000000fdffffff0288a8420601000000160014bbdf6304285764d5f46cd07b18ef54f97d9fc08e00e1f505000000001600147a7dbe81329dac3a9f6ff2f086075cbd680d63ba0247304402205a6bbfdbae25a3d324b9c49db99f68a5d668063466211462f1afd99af6c51aed022044ef4a2b6eda7c315d62fddca30808607efb974c209b390bfa6450f8df0d7d5001210320419b7cc9f1884b7a23d3a2b13cc53ab04587a94a59a66d5e46bda83a9d84e365000000", + "blockheight": 102, + "txindex": 6, + "locktime": 101, + "version": 2, + "inputs": [ + { + "txid": "4789a9acf664028c6d8f2123008d03983ceb5e2d581d41c7fa9accd63948c0a9", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 4399999112000, + "scriptPubKey": "0014bbdf6304285764d5f46cd07b18ef54f97d9fc08e" + }, + { + "index": 1, + "amount_msat": 100000000000, + "scriptPubKey": "00147a7dbe81329dac3a9f6ff2f086075cbd680d63ba" + } + ] + } ] }, { - "id": "example:setconfig#15", - "method": "setconfig", - "params": { - "config": "min-capacity-sat", - "val": 500000 - } - }, - { - "id": "example:setconfig#16", - "method": "setconfig", - "params": { - "config": "min-capacity-sat", - "val": 400000 - } - }, - { - "id": "example:setconfig#17", - "method": "setconfig", - "params": { - "config": "min-capacity-sat", - "val": 400000 - } - } - ], - "example_json_response": [ - { - "config": { - "config": "autoclean-expiredinvoices-age", - "value_int": 2, - "source": "/tmp/ltests-9fwwgjc_/test_autoclean_1/lightning-3/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-cycle", - "value_int": 10, - "source": "/tmp/ltests-9fwwgjc_/test_autoclean_1/lightning-3/regtest/config:4", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-expiredinvoices-age", - "value_int": 2, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-cycle", - "value_int": 10, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:4", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-expiredinvoices-age", - "value_int": 0, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-expiredinvoices-age", - "value_int": 2, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-paidinvoices-age", - "value_int": 1, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:6", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-failedpays-age", - "value_int": 1, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-cycle", - "value_int": 5, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:4", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-succeededpays-age", - "value_int": 2, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:6", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-cycle", - "value_int": 5, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-failedforwards-age", - "value_int": 2, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:4", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "autoclean-succeededforwards-age", - "value_int": 2, - "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:6", - "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", - "dynamic": true - } - }, - { - "config": { - "config": "test-dynamic-config", - "value_str": "changed", - "source": "/tmp/ltests-7u_8_rtu/test_dynamic_option_python_plugin_1/lightning-1/regtest/config:2", - "plugin": "/home/shahana/workspace/lightning/tests/plugins/dynamic_option.py", - "dynamic": true - } - }, - { - "config": { - "config": "min-capacity-sat", - "value_int": 500000, - "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:2", - "dynamic": true - } - }, - { - "config": { - "config": "min-capacity-sat", - "value_int": 400000, - "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:2", - "dynamic": true - } - }, - { - "config": { - "config": "min-capacity-sat", - "value_int": 400000, - "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:3", - "dynamic": true - } + "transactions": [ + { + "hash": "fbf8459bc01b213b114ea4abce37fff933fd3a899cb615b8d74aec23f214da23", + "rawtx": "02000000000101206227f17f9ccaebb5ee9833b56eccd998d2357527972ef9667692a80879f91b0000000000fdffffff0240420f000000000016001401fad90abcd66697e2592164722de4a95ebee16533aff62901000000160014b85e70987f9db34c4a28c56771f3535754a74a210247304402200af6e72c2c8c08e7ccfb8ded6f4fd66e4540431e51d6b3396fd50ad7a663a3f802205d992d09a868a10ccb82bb18678f55c60ae14908823f39f841d97f9f8e0556c50121020f07f9e46602d137ac3369b2fc5102a12e110252e3f0287b88e6b6e527eb61e313000000", + "blockheight": 102, + "txindex": 1, + "locktime": 19, + "version": 2, + "inputs": [ + { + "txid": "1bf97908a8927666f92e97277535d298d9cc6eb53398eeb5ebca9c7ff1276220", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 1000000000, + "scriptPubKey": "001401fad90abcd66697e2592164722de4a95ebee165" + }, + { + "index": 1, + "amount_msat": 4998999859000, + "scriptPubKey": "0014b85e70987f9db34c4a28c56771f3535754a74a21" + } + ] + }, + { + "hash": "e1f2f68e15464920c711811398b1fb0deb7d53a8bb0f705a271bb107ea069fb4", + "rawtx": "0200000000010123da14f223ec4ad7b815b69c893afd33f9ff37ceaba44e113b211bc09b45f8fb0000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd61a80d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022040379a05d3c76ae2c5f99fcc989cb047716f4e68603957fc5c2a261e8312c22e02205e770e281cad71373b379a0368d006a40ea5c21451d26ffa10bcd1ab9d77dc0b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf07000000", + "blockheight": 103, + "txindex": 1, + "locktime": 7, + "version": 2, + "inputs": [ + { + "txid": "fbf8459bc01b213b114ea4abce37fff933fd3a899cb615b8d74aec23f214da23", + "index": 0, + "sequence": 4294967293 + } + ], + "outputs": [ + { + "index": 0, + "amount_msat": 100000000, + "scriptPubKey": "00205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd" + }, + { + "index": 1, + "amount_msat": 895073000, + "scriptPubKey": "512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a" + } + ] + } + ] } ], "author": [ - "Rusty Russell <> is mainly responsible for this feature." + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." ], "see_also": [ - "lightningd-config(5)", - "lightning-listconfigs(7)" + "lightning-newaddr(7)", + "lightning-listfunds(7)" ], "resources": [ "Main web site: " ] }, - "lightning-setpsbtversion.json": { + "lightning-makesecret.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "setpsbtversion", - "title": "Command for setting PSBT version", + "rpc": "makesecret", + "title": "Command for deriving pseudorandom key from HSM", "description": [ - "The **setpsbtversion** RPC command converts the provided PSBT to the given version, and returns the base64 result of the conversion. Returns an error if version is invalid." + "The **makesecret** RPC command derives a secret key from the HSM_secret." ], "request": { - "required": [ - "psbt", - "version" - ], + "required": [], "properties": { - "psbt": { - "type": "string", + "hex": { + "type": "hex", "description": [ - "The PSBT to change versions." + "One of `hex` or `string` must be specified: `hex` can be any hex data." ] }, - "version": { - "type": "u32", + "string": { + "type": "string", "description": [ - "The version to set." + "One of `hex` or `string` must be specified: `string` is a UTF-8 string interpreted literally." ] } } }, "response": { "required": [ - "psbt" + "secret" ], "properties": { - "psbt": { - "type": "string", + "secret": { + "type": "secret", "description": [ - "A converted PSBT of the requested version." + "The pseudorandom key derived from HSM_secret." ] } } }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error." + ], "example_json_request": [ { - "id": "example:setpsbtversion#1", - "method": "setpsbtversion", + "id": "example:makesecret#1", + "method": "makesecret", + "params": [ + "73636220736563726574" + ] + }, + { + "id": "example:makesecret#2", + "method": "makesecret", "params": { - "psbt": "cHNidP8BAAoCAAAAAAAAAAAAAA==", - "version": "2" + "hex": "73636220736563726574" } }, { - "id": "example:setpsbtversion#2", - "method": "setpsbtversion", + "id": "example:makesecret#3", + "method": "makesecret", "params": [ - "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", - 0 + "73636220736563726574" ] }, { - "id": "example:setpsbtversion#3", - "method": "setpsbtversion", - "params": [ - "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQECAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=", - 0 - ] + "id": "example:makesecret#4", + "method": "makesecret", + "params": { + "hex": "73636220736563726574" + } }, { - "id": "example:setpsbtversion#4", - "method": "setpsbtversion", - "params": [ - "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", - 0 - ] + "id": "example:makesecret#5", + "method": "makesecret", + "params": { + "hex": "73636220736563726575" + } }, { - "id": "example:setpsbtversion#5", - "method": "setpsbtversion", - "params": [ - "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQECAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=", - 0 - ] + "id": "example:makesecret#6", + "method": "makesecret", + "params": { + "hex": "736362207365637265" + } }, { - "id": "example:setpsbtversion#6", - "method": "setpsbtversion", - "params": [ - "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEDAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgABAwjV3DIAAAAAAAEEIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YA", - 0 - ] + "id": "example:makesecret#7", + "method": "makesecret", + "params": { + "hex": "7363622073656372657401" + } }, { - "id": "example:setpsbtversion#7", - "method": "setpsbtversion", - "params": [ - "cHNidP8BADMCAAAAAXuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQAAAAD9////AGYAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - 2 - ] + "id": "example:makesecret#8", + "method": "makesecret", + "params": { + "string": "scb secret" + } }, { - "id": "example:setpsbtversion#8", - "method": "setpsbtversion", + "id": "example:makesecret#9", + "method": "makesecret", "params": [ - "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEAAQYBAwH7BAIAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIHuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQ8EAQAAAAEQBP3///8A", - 0 + null, + "scb secret" ] } ], - "errors": [ - "The following error codes may occur:", - "", - "- -32602: Parameter missed or malformed." - ], "example_json_response": [ { - "psbt": "cHNidP8BAgQCAAAAAQQBAAEFAQABBgEDAfsEAgAAAAA=" + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" }, { - "psbt": "cHNidP8BADUCAAAAAAFAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4ubwAAAAAA" + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" }, { - "psbt": "cHNidP8BAGACAAAAAAJAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/Wm8AAAAAAAA=" + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" }, { - "psbt": "cHNidP8BADUCAAAAAAFAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4ubwAAAAAA" + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" }, { - "psbt": "cHNidP8BAGACAAAAAAJAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/Wm8AAAAAAAA=" + "secret": "702fcbdce9bab15df112b1d1a94abc6fd723c39e4b59f2bce7ef7c5135e19116" }, { - "psbt": "cHNidP8BAIsCAAAAAANAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WtXcMgAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZvAAAAAAAAAA==" + "secret": "223788ae2e15d61c496645e5e7d72752c50cb1aaee500a499bbc5ad8e4758b76" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEAAQYBAwH7BAIAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIHuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQ8EAQAAAAEQBP3///8A" + "secret": "61d0d2134267396359bd091e9676ca847491c073664811362341f42dacc03167" }, { - "psbt": "cHNidP8BADMCAAAAAXuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQAAAAD9////AGYAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=" + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" + }, + { + "secret": "a9a2e742405c28f059349132923a99337ae7f71168b7485496e3365f5bc664ed" } ], "author": [ - "Gregory Sanders <> is mainly responsible." - ], - "see_also": [ - "lightning-fundpsbt(7)", - "lightning-utxopsbt(7)", - "lightning-signpsbt(7)" + "Aditya <> is mainly responsible." ], "resources": [ "Main web site: " ] }, - "lightning-showrunes.json": { + "lightning-multifundchannel.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "showrunes", - "title": "Command to list previously generated runes", + "rpc": "multifundchannel", + "title": "Command for establishing many lightning channels", "description": [ - "The **showrunes** RPC command either lists runes that we stored as we generate them (see lightning-createrune(7)) or decodes the rune given on the command line." + "The **multifundchannel** RPC command opens multiple payment channels with nodes by committing a single funding transaction to the blockchain that is shared by all channels.", + "", + "If not already connected, **multifundchannel** will automatically attempt to connect; you may provide a *@host:port* hint appended to the node ID so that Core Lightning can learn how to connect to the node; see lightning-connect(7).", + "", + "Once the transaction is confirmed, normal channel operations may begin. Readiness is indicated by **listpeers** reporting a *state* of `CHANNELD_NORMAL` for the channel." ], "request": { - "required": [], + "required": [ + "destinations" + ], "properties": { - "rune": { - "type": "string", + "destinations": { + "type": "array", + "description": [ + "There must be at least one entry in *destinations*; it cannot be an empty array." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "amount" + ], + "properties": { + "id": { + "type": "string", + "description": [ + "Node ID, with an optional *@host:port* appended to it in a manner understood by **connect**; see lightning-connect(7). Each entry in the *destinations* array must have a unique node *id*. If not already connected, **multifundchannel** will automatically attempt to connect to the node." + ] + }, + "amount": { + "type": "msat", + "description": [ + "Amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). The string *all* can be used to specify all available funds (or 16,777,215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently 546 satoshi as of this writing, nor more than 16,777,215 satoshi (unless large channels were negotiated with the peer)." + ] + }, + "announce": { + "type": "boolean", + "description": [ + "Flag that indicates whether to announce the channel with this. If set to `False`, the channel is unpublished." + ], + "default": "`True`" + }, + "push_msat": { + "type": "msat", + "description": [ + "Amount of millisatoshis to outright give to the node. This is a gift to the peer, and you do not get a proof-of-payment out of this." + ] + }, + "close_to": { + "type": "string", + "description": [ + "Bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script` Returns `close_to` set to closing script iff is negotiated." + ] + }, + "request_amt": { + "type": "msat", + "description": [ + "Amount of liquidity you'd like to lease from peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." + ] + }, + "compact_lease": { + "type": "string", + "description": [ + "Compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel to this destination." + ] + }, + "mindepth": { + "type": "u32", + "description": [ + "Number of confirmations before we consider the channel active." + ] + }, + "reserve": { + "type": "msat", + "description": [ + "Amount we want the peer to maintain on its side of the channel. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ], + "default": "1% of the funding amount" + } + } + } + }, + "feerate": { + "type": "feerate", + "description": [ + "Feerate used for the opening transaction, and if *commitment_feerate* is not set, as initial feerate for commitment and HTLC transactions. See NOTES in lightning-feerates(7) for possible values." + ], + "default": "*normal*" + }, + "minconf": { + "type": "integer", + "description": [ + "Minimum number of confirmations that used outputs should have." + ], + "default": 1 + }, + "utxos": { + "type": "array", + "items": { + "type": "outpoint", + "description": [ + "Utxos to be used to fund the channel, as an array of `txid:vout`." + ] + } + }, + "minchannels": { + "type": "integer", + "description": [ + "Re-attempt funding as long as at least this many peers remain (must not be zero). The **multifundchannel** command will only fail if too many peers fail the funding process." + ] + }, + "commitment_feerate": { + "type": "feerate", "description": [ - "If specified, only details of that rune will be returned." + "Initial feerate for commitment and HTLC transactions. See *feerate* for valid values." ] } } }, "response": { "required": [ - "runes" + "tx", + "txid", + "channel_ids" ], "properties": { - "runes": { + "tx": { + "type": "hex", + "description": [ + "The raw transaction which funded the channel." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction which funded the channel." + ] + }, + "channel_ids": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ - "rune", - "unique_id", - "restrictions", - "restrictions_as_english" + "id", + "channel_id", + "channel_type", + "outnum" ], "properties": { - "rune": { - "type": "string", + "id": { + "type": "pubkey", "description": [ - "Base64 encoded rune." + "The peer we opened the channel with." ] }, - "unique_id": { - "type": "string", + "outnum": { + "type": "u32", "description": [ - "Unique id assigned when the rune was generated; this is always a u64 for commando runes." + "The 0-based output index showing which output funded the channel." ] }, - "restrictions": { - "type": "array", + "channel_id": { + "type": "hash", "description": [ - "The restrictions on what commands this rune can authorize." + "The channel_id of the resulting channel." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "alternatives", - "english" - ], - "properties": { - "alternatives": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "fieldname", - "value", - "condition", - "english" - ], - "properties": { - "fieldname": { - "type": "string", - "description": [ - "The field this restriction applies to; see commando-rune(7)." - ] - }, - "value": { - "type": "string", - "description": [ - "The value accepted for this field." - ] - }, - "condition": { - "type": "string", - "description": [ - "The way to compare fieldname and value." - ] - }, - "english": { - "type": "string", - "description": [ - "English readable description of this alternative." - ] - } - } - } - }, - "english": { + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } + }, + "names": { + "type": "array", + "description": [ + "Feature name for each bit set in this channel_type." + ], + "added": "v24.02", + "items": { "type": "string", + "enum": [ + "static_remotekey/even", + "anchor_outputs/even", + "anchors_zero_fee_htlc_tx/even", + "scid_alias/even", + "zeroconf/even" + ], "description": [ - "English readable summary of alternatives above." + "Name of feature bit." ] } } } }, - "restrictions_as_english": { - "type": "string", + "close_to": { + "type": "hex", "description": [ - "English readable description of the restrictions array above." + "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`." ] - }, - "stored": { - "type": "boolean", - "enum": [ - false - ], + } + } + } + }, + "failed": { + "type": "array", + "description": [ + "Any peers we failed to open with (if *minchannels* was specified less than the number of destinations)." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "method", + "error" + ], + "properties": { + "id": { + "type": "pubkey", "description": [ - "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)." + "The peer we failed to open the channel with." ] }, - "blacklisted": { - "type": "boolean", + "method": { + "type": "string", "enum": [ - true + "connect", + "openchannel_init", + "fundchannel_start", + "fundchannel_complete" ], "description": [ - "The rune has been blacklisted; see commando-blacklist(7)." + "What stage we failed at." ] }, - "last_used": { - "type": "number", - "description": [ - "The last time this rune was successfully used." - ], - "added": "23.11" - }, - "our_rune": { - "type": "boolean", - "enum": [ - false + "error": { + "type": "object", + "additionalProperties": false, + "required": [ + "code", + "message" ], - "description": [ - "This is not a rune for this node (only possible when `rune` is specified)." - ] + "properties": { + "code": { + "type": "integer", + "description": [ + "JSON error code from failing stage." + ] + }, + "message": { + "type": "string", + "description": [ + "Message from stage." + ] + }, + "data": { + "untyped": true, + "description": [ + "Additional error data." + ] + } + } } } } } - } + }, + "pre_return_value_notes": [ + "This command opens multiple channels with a single large transaction, thus only one transaction is returned.", + "", + "If *minchannels* was specified and is less than the number of destinations, then it is possible that one or more of the destinations do not have a channel even if **multifundchannel** succeeded." + ], + "post_return_value_notes": [ + "On failure, none of the channels are created." + ] }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 300: The maximum allowed funding amount is exceeded.", + "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", + "- 302: The output amount is too small, and would be considered dust.", + "- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.", + "- 313: The `min-emergency-msat` reserve not be preserved (and we have or are opening anchor channels).", + "", + "Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.). See lightning-fundchannel_start(7) and lightning-fundchannel_complete(7).", + "", + "There may be rare edge cases where a communications failure later in the channel funding process will cancel the funding locally, but the peer thinks the channel is already waiting for funding lockin. In that case, the next time we connect to the peer, our node will tell the peer to forget the channel, but some nodes (in particular, Core Lightning nodes) will disconnect when our node tells them to forget the channel. If you immediately **multifundchannel** with that peer, it could trigger this connect-forget-disconnect behavior, causing the second **multifundchannel** to fail as well due to disconnection. Doing a **connect** with the peers separately, and waiting for a few seconds, should help clear this hurdle; running **multifundchannel** a third time would also clear this." + ], + "example_usage": [ + "This example opens three channels at once, with amounts 200,000 sats, 3,000,000 sats and the final channel using all remaining funds (actually, capped at 16,777,215 sats because large-channels is not enabled):", + "", + "```shell", + "$ lightning-cli multifundchannel '[{\"id\":\"0201f42e167959c74d396ac57652fcea63c63940f78e8239cce5720df4d85ef857@127.0.0.1:7272\", \"amount\":\"200000sat\"}, {\"id\":\"0304a2468065535f9459567686e0f02b40f06e341d3eb2a62ec6763bcf2ccfd207@127.0.0.1:7373\", \"amount\":\"0.03btc\"}, {\"id\":\"0391f4c475050bb15871da5a72b1f3a1798de3d2e5fb4ffa262899b8d8e1f0b764@127.0.0.1:7474\", \"amount\":\"all\"}]'", + "{", + " \"tx\": \"02000000000101fbe3c68db87b72f82c3f5447b0bc032469c78e71f229ac99c230807ff378a9d80000000000fdffffff04400d0300000000002200202e9897ed5f9b237aa27fd5d02d24157cd452b0d3f0a5bb03d38ff73f9f8f384bffffff0000000000220020439d797ada249e1e12f8d27cabb7330de3c8de0456fb54892deb7b9c72b0ff7c1dc9b50400000000225120046e3966a2d5e43c1f1e0676161905782e1e7c00811485c618f5144f328f4e2bc0c62d0000000000220020e36fd5c03c3586c3763d8b4c9d8650f396ff1c8a460137fb09b60ee82536a3b20140ea4d564e91c919b50a2d32886f1d414de773491119beb1364b92f15d6d03e1810e5ddea89c265e42f2e96bb028dfb3aa0b5b30072ddcc78daad727503c53e37fa9010000\",", + " \"txid\": \"90dc53922b70628fc9e7804ad0b8cd0fb41f050d94ffa2db3b16e918c96c022a\",", + " \"channel_ids\": [", + " {", + " \"id\": \"0201f42e167959c74d396ac57652fcea63c63940f78e8239cce5720df4d85ef857\",", + " \"channel_id\": \"25c8253e66a860d17916cc0c21386e310eba9900030a68ec6ff6f59a8401a872\",", + " \"outnum\": 0", + " },", + " {", + " \"id\": \"0304a2468065535f9459567686e0f02b40f06e341d3eb2a62ec6763bcf2ccfd207\",", + " \"channel_id\": \"51749d724892a406896f6bf2e2f8c0b03399d0436691f294839897fa167e6521\",", + " \"outnum\": 3", + " },", + " {", + " \"id\": \"0391f4c475050bb15871da5a72b1f3a1798de3d2e5fb4ffa262899b8d8e1f0b764\",", + " \"channel_id\": \"7e1414e72c081f0754fa18c1657cedabe696aa9ffeaf0b936bfbe3a28f2829d1\",", + " \"outnum\": 1", + " }", + " ],", + " \"failed\": []", + "}", + "```" + ], + "author": [ + "ZmnSCPxj <> is mainly responsible." + ], + "see_also": [ + "lightning-connect(7)", + "lightning-listfunds()", + "lightning-listpeers(7)", + "lightning-fundchannel(7)" + ], + "resources": [ + "Main web site: " + ], "example_json_request": [ { - "id": "example:showrunes#1", - "method": "showrunes", + "id": "example:multifundchannel#1", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:40605", + "amount": 25000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:33395", + "amount": 25000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:41921", + "amount": 25000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#2", - "method": "showrunes", + "id": "example:multifundchannel#2", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount": 1000000 + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 1000000 + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount": 1000000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#3", - "method": "showrunes", - "params": "{}" - }, - { - "id": "example:showrunes#4", - "method": "showrunes", - "params": "{}" - }, - { - "id": "example:showrunes#5", - "method": "showrunes", - "params": "{}" + "id": "example:multifundchannel#3", + "method": "multifundchannel", + "params": { + "destinations": [ + { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "amount": 1000000 + }, + { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "amount": 1000000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null + } }, { - "id": "example:showrunes#6", - "method": "showrunes", + "id": "example:multifundchannel#4", + "method": "multifundchannel", "params": { - "rune": "lI6iPwM1R9OkcRW25SH0a06PscPDinTfLFAjzSGFGE09OQ==" + "destinations": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount": 1000000 + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 1000000 + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount": 1000000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#7", - "method": "showrunes", + "id": "example:multifundchannel#5", + "method": "multifundchannel", "params": { - "rune": "oNJAqigqDrHBGzsm7gV3z87oGpzq-KqFlOxx2O9iEQk9MA==" + "destinations": [ + { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "amount": 1000000 + }, + { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "amount": 1000000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#8", - "method": "showrunes", + "id": "example:multifundchannel#6", + "method": "multifundchannel", "params": { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:46563", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:35887", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38263", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#9", - "method": "showrunes", + "id": "example:multifundchannel#7", + "method": "multifundchannel", "params": { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39313", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:43259", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:46199", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#10", - "method": "showrunes", + "id": "example:multifundchannel#8", + "method": "multifundchannel", "params": { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:37863", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#11", - "method": "showrunes", + "id": "example:multifundchannel#9", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 50000 + } + ], + "feerate": null, + "minconf": 0, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#12", - "method": "showrunes", + "id": "example:multifundchannel#10", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40999", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#13", - "method": "showrunes", + "id": "example:multifundchannel#11", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:36351", + "amount": 16777216 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:46003", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": null } }, { - "id": "example:showrunes#14", - "method": "showrunes", + "id": "example:multifundchannel#12", + "method": "multifundchannel", "params": { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:41939", + "amount": 50000 + } + ], + "feerate": "10000perkw", + "minconf": null, + "utxos": null, + "minchannels": null, + "commitment_feerate": "2000perkw" } }, { - "id": "example:showrunes#15", - "method": "showrunes", + "id": "example:multifundchannel#13", + "method": "multifundchannel", "params": { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:38371", + "amount": 50000 + } + ], + "feerate": "10000perkw", + "minconf": null, + "utxos": null, + "minchannels": null, + "commitment_feerate": "2000perkw" } }, { - "id": "example:showrunes#16", - "method": "showrunes", + "id": "example:multifundchannel#14", + "method": "multifundchannel", "params": { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 2 } }, { - "id": "example:showrunes#17", - "method": "showrunes", + "id": "example:multifundchannel#15", + "method": "multifundchannel", "params": { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 2 } }, { - "id": "example:showrunes#18", - "method": "showrunes", + "id": "example:multifundchannel#16", + "method": "multifundchannel", "params": { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 2 } }, { - "id": "example:showrunes#19", - "method": "showrunes", + "id": "example:multifundchannel#17", + "method": "multifundchannel", "params": { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:39163", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:40049", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:38505", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 1 } }, { - "id": "example:showrunes#20", - "method": "showrunes", + "id": "example:multifundchannel#18", + "method": "multifundchannel", "params": { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 2 } }, { - "id": "example:showrunes#21", - "method": "showrunes", + "id": "example:multifundchannel#19", + "method": "multifundchannel", "params": { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 2 } }, { - "id": "example:showrunes#22", - "method": "showrunes", + "id": "example:multifundchannel#20", + "method": "multifundchannel", "params": { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 1 } }, { - "id": "example:showrunes#23", - "method": "showrunes", + "id": "example:multifundchannel#21", + "method": "multifundchannel", "params": { - "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==" + "destinations": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59@localhost:44663", + "amount": 50000 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d@localhost:34631", + "amount": 50000 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199@localhost:34617", + "amount": 50000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null, + "minchannels": 1 } } ], "example_json_response": [ { - "runes": [ + "tx": "02000000000101bdfd707487904cfe3ed7d0a2a74c2ff6bdb0018111d3378f4f3c85618f7d07000100000000fdffffff04a861000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d870a86100000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e8087395a8610000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cdb57fea0b0000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200dbfa95096b7b44d951f4e88c5939ad85c7f86561fe5fef55972490fee78fe0202206a79e3046eb5539817b56cb4926a28c23eb01c6af3d2dd9296c95322d03d9a7b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "e3785dd939617133f111302e283727161e60485ebabe2960c355bae47765b676", + "channel_ids": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e1", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "76b66577e4ba55c36029beba5e48601e162737282e3011f133716139d95d78e2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101f2cfaf1f1ff761c41ac04f86379737017e4976f0ab2b4e1351f7abe302c2c9560100000000fdffffff0540420f000000000022002017ad71e7de808f01dbdd2b770882bd1d114b7ed6ef270c60b54df4ecaf5f35d340420f0000000000220020ec36b0ea85124b4f12859976e519e7203af71cd537e86a0d007dafee6b55312f40420f0000000000220020cdf0f8a60467be8adcc4782c86b42acc6f80e0367fb46ce1053f1e2083a3c09b40420f0000000000220020068d37b5067535d8174e544faf45871261b2418c0eba1b4c954590f0d22e380843640100000000002251202bdd81f95d64ed2cc37d2eae725de428c91bff072d7503d87446970eedc6303002473044022014707736358b369448d5be83239b401a4c4407630c35716273818fa241b70c9802206f12c98568be1332f05a9784bc09860af0d713c774f998110bb11b67da7d72620121024740cce0e548f4ffe80c9914e43444d8e66ee8991dc9d93ec56dff4c56b9331567000000", + "txid": "224e56e6a974322b99ae0c0f577739b849fae182371582f042f81eec1c2bb859", + "channel_ids": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "last_used": 1706297277.7276134, - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e23", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e21", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 3 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e22", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "channel_id": "59b82b1cec1ef842f082153782e1fa49b83977570f0cae992b3274a9e6564e20", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101254f792323e69d41d12fe504f74c868d3a88f1ad036e0d2ee3bc68a7813f786f0000000000fdffffff0340420f0000000000220020e91cbce88ff30e9451019d91946f8a0716f1802a0d995c52a30af4160ea4bfc640420f00000000002200201706e80aab270c1b19cbef122bbbdeb2fc4d72109432e54c3689c93da6429b0e576e010000000000225120483d96996487f37027d7ce16f2f8a39566eb84e3c269280d3e57dca01f441b9402473044022014ab0dbc85747044b7fc4f17a8d842837dd976078c67e427193416f6fd1eba14022011ca8d742a4f24c9898924bf58a2b347f055f9a8333d23d3686fddfba90d409b012102b0fb4cc86fe95c63bf28265ccfff587301cfb52224db33ce5d554118b042bee067000000", + "txid": "9a5c1e05015134944a8fa1def1ebbd9e3babeedaf51be66d525e3a8d00ad4b8a", + "channel_ids": [ { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "channel_id": "8a4bad008d3a5e526de61bf5daeeab3b9ebdebf1dea18f4a94345101051e5c9a", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "channel_id": "8a4bad008d3a5e526de61bf5daeeab3b9ebdebf1dea18f4a94345101051e5c9b", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + } + ], + "failed": [] + }, + { + "tx": "02000000000101b6712eb7514bde118045f0c34b7deda5e242d0281befb6725026cf65a30445f10000000000fdffffff0540420f000000000022002017ad71e7de808f01dbdd2b770882bd1d114b7ed6ef270c60b54df4ecaf5f35d340420f0000000000220020068d37b5067535d8174e544faf45871261b2418c0eba1b4c954590f0d22e380840420f0000000000220020ec36b0ea85124b4f12859976e519e7203af71cd537e86a0d007dafee6b55312f40420f0000000000220020cdf0f8a60467be8adcc4782c86b42acc6f80e0367fb46ce1053f1e2083a3c09b43640100000000002251202bdd81f95d64ed2cc37d2eae725de428c91bff072d7503d87446970eedc63030024730440220724c89b64846d1351f3ae115e8d2f1677c81080c30aaeffe1878d8f4d9e9542c0220384580e60cd3df81cb08d9fd855ec0d783d7b3b50bbb3b372f11f5d37bb8c47f0121024740cce0e548f4ffe80c9914e43444d8e66ee8991dc9d93ec56dff4c56b9331567000000", + "txid": "73efe5175f76c234f03838d25009ff02cc99ff163e0c0749608f124471657866", + "channel_ids": [ + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef71", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 + }, + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef72", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef73", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "channel_id": "6678657144128f6049070c3e16ff99cc02ff0950d23838f034c2765f17e5ef70", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 3 + } + ], + "failed": [] + }, + { + "tx": "02000000000101bb0dcd34ec2c17b2d2b8caa6c5a58f6c1f57f78a3875135276e5b5c2f96df4530100000000fdffffff0340420f0000000000220020e91cbce88ff30e9451019d91946f8a0716f1802a0d995c52a30af4160ea4bfc640420f00000000002200201706e80aab270c1b19cbef122bbbdeb2fc4d72109432e54c3689c93da6429b0e576e010000000000225120483d96996487f37027d7ce16f2f8a39566eb84e3c269280d3e57dca01f441b940247304402207de3177800ff6668a670edd5ee91c6004773f2c42a00db5f825d2e32a53d741502207ef6cb66d262cdd592a274424006b841f0802b8f3743dbc7e51c78b901eb640f012102b0fb4cc86fe95c63bf28265ccfff587301cfb52224db33ce5d554118b042bee067000000", + "txid": "6ac93b4f7b83bc6481cc5ae59d56170260ac97b05783ad75950123cc922c97d5", + "channel_ids": [ + { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "channel_id": "d5972c92cc23019575ad8357b097ac600217569de55acc8164bc837b4f3bc96a", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "channel_id": "d5972c92cc23019575ad8357b097ac600217569de55acc8164bc837b4f3bc96b", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "020000000001018fad5c89a501e606645af227c6476df4d74d6f76591425d7aa6bd8480c4adaf90000000000fdffffff0450c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd261d1c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a50c300000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739550c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8700247304402201909f3096c03b4dc50f11622aab60940e02c0cd4eb71f1feca1dfc231717df6f022049c3772d6a5fc150ce9e8de369d32a2c0952c7970622a7121ab7c2712d6d1789012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf68000000", + "txid": "4cf1ee56b2af39fc6f6a325414f7dd2c2e7ec7b8fc570106a9f4f129339a6ab4", + "channel_ids": [ { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 3 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "b46a9a3329f1f4a9060157fcb8c77e2e2cddf71454326a6ffc39afb256eef14e", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101b078a13e8c3dac8305e6ee62e04c156de2a42a9523a106f934f72c935bbd13a40000000000fdffffff0450c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87050c300000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739550c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd3d1d1c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402200d146c1e37045901a5d0a3a484c5a67dd27d16cab60b0f8186789472ff09a7f402201c6ed2d3026cee907b1ee46710cbb462f01d83494bfc3723586fac4cc6864846012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "f1a9129a679baa5b48c66d34f267592c26dd0557301a94340f25add3ea235b07", + "channel_ids": [ { - "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 }, { - "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", - "unique_id": "1", - "restrictions": [], - "restrictions_as_english": "" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f1", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "075b23ead3ad250f34941a305705dd262c5967f2346dc6485baa9b679a12a9f0", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101c986d78e9a232854c73e40f1fee16e21a7b50008686c1487e325cef25fa7e86b0000000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cdf1ad1d000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402207374fba375ee6737a40ba0765e379c29b3e211b0846071e533c5534f2a22bd0302203873a86a00804cd69a437aec1a1108aec1413495f7974dfe3b3a4330a287de33012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "d5d17ead4d05aa8d41c80f8f9aebc2eaa9502f65af4d5bf4082b1c070254feaa", + "channel_ids": [ { - "rune": "lI6iPwM1R9OkcRW25SH0a06PscPDinTfLFAjzSGFGE09OQ==", - "stored": false, - "unique_id": "9", - "restrictions": [], - "restrictions_as_english": "" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "aafe5402071c2b08f45b4daf652f50a9eac2eb9a8f0fc8418daa054dad7ed1d5", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101aafe5402071c2b08f45b4daf652f50a9eac2eb9a8f0fc8418daa054dad7ed1d50100000000fdffffff0250c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87062d71c00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be01405381305ca7e0a1b7b1eb75b5db7515d17de08a2cde0885a29c4e3b21b0c1ace52d6cc24b7e19b2130b3ac3b35ba4aa1c7e17058b35ea0ed3e55a64c7a9b547b966000000", + "txid": "f3f0fd4e653628814de751c6e148bb99fcc76531a1ac753eb51de749c982a175", + "channel_ids": [ { - "rune": "oNJAqigqDrHBGzsm7gV3z87oGpzq-KqFlOxx2O9iEQk9MA==", - "stored": false, - "our_rune": false, - "unique_id": "0", - "restrictions": [], - "restrictions_as_english": "" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "75a182c949e71db53e75aca13165c7fc99bb48e1c651e74d812836654efdf0f3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101464e00931727d02873047c184c516bb7658f8c457e9d5b1fb04128a8ae8e36840000000000fdffffff0250c30000000000002200206a7be660a2221bdc24529564bc019d626c15aa6191b0626ec917c6bc971475cbf1ad1d00000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5024730440220235e6fee5e78ba58f84c2fcc2ad3d7f52b12ba8fe0997768f4a64a6811c551e70220054bd4dd164ee690dc25458cec541e040589ed1ab68603a5ae63424ce453b831012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "eab66f1a3fdef8cb07573ffe7c9a83efd2ad1d77d0d21f5060fdc95bd2fca7d6", + "channel_ids": [ { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "method", - "value": "getinfo", - "condition": "=", - "english": "method equal to getinfo" - } - ], - "english": "method equal to getinfo" - } - ], - "restrictions_as_english": "method equal to getinfo" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "d6a7fcd25bc9fd60501fd2d0771dadd2ef839a7cfe3f5707cbf8de3f1a6fb6ea", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "02000000000101f85f411894e20652689b0bd78b98e47b38624cdbed06df56031bd3b73523b48a0000000000fdffffff0350c3000000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d87000000001000000002200200720e60354ef00c459060b556c01cdf54c93c9464e71beb32362887fcfba08146724ff0200000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe602473044022048ccf86261f1b2d2e5c9db7d74abd6f51a7f821cda6f882840963567a38de9f602205d3c019b71232de2179c40e0df9a944b5fa68d1b35eaede7dd911e7bd2519c9a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "1259de87ddcf8e1bbb706e7e6fc101f859d3c9c8af158a10a5a3d26c1ab4dedb", + "channel_ids": [ { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "method", - "value": "getinfo", - "condition": "=", - "english": "method equal to getinfo" - } - ], - "english": "method equal to getinfo" - } - ], - "restrictions_as_english": "method equal to getinfo" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "dbdeb41a6cd2a3a5108a15afc8c9d359f801c16f7e6e70bb1b8ecfdd87de5913", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "dbdeb41a6cd2a3a5108a15afc8c9d359f801c16f7e6e70bb1b8ecfdd87de5912", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "0200000000010100a8ceb6f76c49c8c0c809ca359461540708a9a5ac56e56e6a7aaafb35f4d3850000000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0623ff030000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022064763837f2cc84507eb1fc28c9e95d51174e1da4b8755da8e67fe21e37d0a8b402206295d0f19625f014819361a20572b936d81f6c5ba419e56997e882f3a7be094a012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "ecba36e93bcf40542d43a05ef550bb0e4be51d766aa2ec8c5640a0d431ab0d06", + "channel_ids": [ { - "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", - "last_used": 1708630994.1033866, - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "method", - "value": "getinfo", - "condition": "=", - "english": "method equal to getinfo" - } - ], - "english": "method equal to getinfo" - } - ], - "restrictions_as_english": "method equal to getinfo" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "060dab31d4a040568ceca26a761de54b0ebb50f55ea0432d5440cf3be936baec", + "channel_type": { + "bits": [ + 12 + ], + "names": [ + "static_remotekey/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "020000000001010f022ee4f9d4ff4503e76487770f2b108cd063ae01c243de2d18dfe3f5ba46ea0100000000fdffffff0250c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0623ff030000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a02473044022034f09d595d55831db903925214c0a4264b1082b0483bd7fdb78ebc42886dd7730220254c34690c0356252ba02b654a57b0677200905968d4a9a6cfb780800ff6598e012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "fe08e9d9e1810c6aff601411b0ee427d715612fdbfd1327d70d99b189f3703cd", + "channel_ids": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "cd03379f189bd9707d32d1bffd1256717d42eeb0111460ff6a0c81e1d9e908fe", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] + ], + "failed": [] }, { - "runes": [ + "tx": "020000000001010aff2279cd61fdb47692c0320a5f6ed73a4726f99d22cbccbdcf2d54cddddb250000000000fdffffff0350c3000000000000220020a604dace1867e44e37a041e656101121d1f5c03b8439bafe6698b53cd22c0d2150c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd97e51c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a024730440220284034ecf1e4f9e99f317370c4526f157b07da21b1390e8673c506014f09837d02207b8dcb6e056b8a6986c6aa89e7eed2c499c6de8e21e0f7c35d88c36269041e15012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf5f000000", + "txid": "1822a51169311434e687a23b4f9157c032c65fcdadb0094d10fb32038382868f", + "channel_ids": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "last_used": 1708631736.8291712, - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "8f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a52219", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "8f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a52218", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] - }, - { - "runes": [ + ], + "failed": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "last_used": 1708631736.8291712, - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:40049: Exchanging init messages: peer closed connection. " + } } ] }, { - "runes": [ + "tx": "020000000001018f8682830332fb104d09b0adcd5fc632c057914f3ba287e63414316911a522180200000000fdffffff0350c30000000000002200206e7a1822d9297b16e2cd3de424471d03db22a80899c224ca1f0a91aeb379708050c30000000000002200200ae3ff1f1d62a1a41f6ff71fbcac6650a1d7e8fd45460bdad289cde9b0c44b8bae461b00000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa0140adde00523a3dad0473584fd575d8992ebb26477a2d041b9cb058b8fb1583f480e14c56b37129d73795c9cad1a415a08611af7ae026c3fc6a2a434299d637141117000000", + "txid": "f432a3da2e9bb94acdef8506cbf71c25346c08fb0dfd79122a809b8da8458e76", + "channel_ids": [ { - "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", - "last_used": 1708631738.8525143, - "unique_id": "0", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000000000nsec", - "condition": "=", - "english": "per equal to 1000000000nsec" - } - ], - "english": "per equal to 1000000000nsec" - } - ], - "restrictions_as_english": "per equal to 1000000000nsec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f5", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f4", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + } + ], + "failed": [ + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "fundchannel_start", + "error": { + "code": -1, + "message": "Owning subdaemon openingd died (62208)" + } } ] }, { - "runes": [ + "tx": "02000000000103553ec4fb9e7b2e74b962b1783de0f100d5067e6549d555701d85af3116fa88a90000000000fdffffffbea1f0f7259cb8d10b08cd55635a63a5caa2345e71d130d3f14a2ac0033fb7cf0000000000fdffffff768e45a88d9b802a1279fd0dfb086c34251cf7cb0685efcd4ab99b2edaa332f40200000000fdffffff0350c3000000000000220020c055a7180d1733e6832fe293f2e5469f062f34fef20d9335b272badc1fac146a50c3000000000000220020fac13c717674a9542d92d2cdf8cb7f8ab3135a4e37749be641509a2cb630503fe60c1b00000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca014022defc5c5358ecd2be2e7379bfee31e711e24a101acdf4d8c164ca378ef9587fcb277c26aeb097b78cd96e78a2e77de49e4ab164b6dfd7a8013a0cbf27b9423f014084c46bf328f7d2703ae33cf037eeaededa761470c48478b675849622e6dc89fef7f3d0cd7e4f233cd8c86c4b45301b916e4b893e8a88035a165f5ed45e44ce6401406c032081d6a19462b0c40e506fd08b1dc3fd9ba7d25824464d63778c462a39e4958f1c7e4c9f2ecf2e3a933ed1d8c7c7b91ffbb8b194586dee32193e91d227ec72000000", + "txid": "e2e969f5a093a05e0de470e8c8d5e0834056ec215df02b2fc10562f8e18a7666", + "channel_ids": [ { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "unique_id": "1", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "2000000usec", - "condition": "=", - "english": "per equal to 2000000usec" - } - ], - "english": "per equal to 2000000usec" - } - ], - "restrictions_as_english": "per equal to 2000000usec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e3", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] - }, - { - "runes": [ + ], + "failed": [ { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "last_used": 1708631738.9107368, - "unique_id": "1", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "2000000usec", - "condition": "=", - "english": "per equal to 2000000usec" - } - ], - "english": "per equal to 2000000usec" - } - ], - "restrictions_as_english": "per equal to 2000000usec" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "fundchannel_complete", + "error": { + "code": -1, + "message": "Owning subdaemon openingd died (62208)" + } } ] }, { - "runes": [ + "tx": "02000000000102067326b86ca965dae07ec8877214d4cba56039ac317c17dbf7807f58c1a6f15f0000000000fdffffff66768ae1f86205c12f2bf05d21ec564083e0d5c8e870e40d5ea093a0f569e9e20200000000fdffffff0250c3000000000000220020ffd9fbd880f06eddf9680c4a2f0c67b29b370f1e855abeb2407e206885f4d44fe7e81a0000000000225120eef2c37cc851b95151c76108b4a3745c49b181eedacd18dbd6d3d1b18019d71b01408efc73ac3ee07f6ea4291d1e194a45112e98809ff3f5fc4df731a91d79e85758d42b7408144a4bfd034459d6264066189bc1d623b47e549f2d4133faede4cc940140125ea54159a93d547f102eeb2e2ce023e0951ca9ec72251ce79b6b78e5afc183e7c80744066779583b2c35996bfd0ca8d18b4d80e9496f54a7ac2fcb0b8cb9cc78000000", + "txid": "786002f3c8934d8f39ab2453de2d7b58aa329d7980990bbbcea7664826e4ec04", + "channel_ids": [ { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "last_used": 1708631738.9107368, - "unique_id": "1", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "2000000usec", - "condition": "=", - "english": "per equal to 2000000usec" - } - ], - "english": "per equal to 2000000usec" - } - ], - "restrictions_as_english": "per equal to 2000000usec" + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "04ece4264866a7cebb0b9980799d32aa587b2dde5324ab398f4d93c8f3026078", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] - }, - { - "runes": [ + ], + "failed": [ { - "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", - "last_used": 1708631741.9628165, - "unique_id": "1", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "2000000usec", - "condition": "=", - "english": "per equal to 2000000usec" - } - ], - "english": "per equal to 2000000usec" - } - ], - "restrictions_as_english": "per equal to 2000000usec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:39163: Connection establishment: Connection refused. " + } + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:40049: Connection establishment: Connection refused. " + } } ] }, { - "runes": [ + "tx": "02000000000101f4582330edf7b722433a444333309ed0b22374e2d3973b0e950b60a8a13dc92b0100000000fdffffff0380e51c000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a50c30000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd50c3000000000000220020a604dace1867e44e37a041e656101121d1f5c03b8439bafe6698b53cd22c0d2102473044022078789b7a2c1adf9023840a473f041a37da2b087041bb43e9d9d9609c5617bba8022029b66922abe327e7b958128ac3d7945938bce77711ce722750918673a496560b012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "a07ed4336e8e9011807dff9bac0799a671c326eb9275a2aec62b7120c88e41ed", + "channel_ids": [ { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000msec", - "condition": "=", - "english": "per equal to 1000msec" - } - ], - "english": "per equal to 1000msec" - } - ], - "restrictions_as_english": "per equal to 1000msec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "ed418ec820712bc6aea27592eb26c371a69907ac9bff7d8011908e6e33d47ea2", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 } - ] - }, - { - "runes": [ + ], + "failed": [ { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "last_used": 1708631742.041398, - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000msec", - "condition": "=", - "english": "per equal to 1000msec" - } - ], - "english": "per equal to 1000msec" - } - ], - "restrictions_as_english": "per equal to 1000msec" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:34631: Exchanging init messages: peer closed connection. " + } } ] }, { - "runes": [ + "tx": "02000000000101ed418ec820712bc6aea27592eb26c371a69907ac9bff7d8011908e6e33d47ea00000000000fdffffff0380461b00000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa50c30000000000002200200ae3ff1f1d62a1a41f6ff71fbcac6650a1d7e8fd45460bdad289cde9b0c44b8b50c30000000000002200206e7a1822d9297b16e2cd3de424471d03db22a80899c224ca1f0a91aeb379708001403cfed97754f23d5f2f65ce7d428d1a0dc349e5123535df07b33c545c80fa474a7963a6239db64dc83a59195a84b155682cf550a5b3ba02c34a397b07e478f7b76c000000", + "txid": "657fab446e4477c932170533398df7fccaaa998d5e4180ef7d5976b8abcf1e0b", + "channel_ids": [ { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "last_used": 1708631742.041398, - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000msec", - "condition": "=", - "english": "per equal to 1000msec" - } - ], - "english": "per equal to 1000msec" - } - ], - "restrictions_as_english": "per equal to 1000msec" + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "5880b551e9df3a68fa4369c6cdccb83edc27ad23f63bcc3948fc8d6c20d7c8bd", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 1 + }, + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "0b1ecfabb876597def80415e8d99aacafcf78d3933051732c977446e44ab7f67", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 2 } - ] - }, - { - "runes": [ + ], + "failed": [ { - "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", - "last_used": 1708631744.0758824, - "unique_id": "2", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "1000msec", - "condition": "=", - "english": "per equal to 1000msec" - } - ], - "english": "per equal to 1000msec" - } - ], - "restrictions_as_english": "per equal to 1000msec" + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "fundchannel_start", + "error": { + "code": -1, + "message": "Owning subdaemon openingd died (62208)" + } } ] }, { - "runes": [ + "tx": "0200000000010220d017433edbd18714d190fbf655dcf3e4fd70333e3d461d8c257ee2408350140000000000fdffffff376441f5443e1ef76aad8ab555b4d7c1e1e87dd2cdc6137e2781718fe04249ca0000000000fdffffff0250c30000000000002200205c6beb10b4518660fe7eeffbeacb1f6427b80f8dcc594c7b42fae582141f47bc82960000000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca0140a563a67151d4b9217baaa7b2264f031329a9d34b7db8c9ec95d76cd060eac9eff7b328e07bf607cbd8385957da7f2d2f05aefb2bd6e054e46f5c35ba9a42a0ac0140097df2ecc8466212094a2763e377466f19ce86ab386df5f1c4e7ecd37988fa42c2a7abd82db0073801e46fe8a08514920d7af27bb35258915e2c735208567c1972000000", + "txid": "36859fb8d9131a4932dbea8b98b6c0a2391ac70e40888a58c96654569c514656", + "channel_ids": [ { - "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", - "unique_id": "3", - "restrictions": [ - { - "alternatives": [ - { - "fieldname": "per", - "value": "2sec", - "condition": "=", - "english": "per equal to 2sec" - } - ], - "english": "per equal to 2sec" - } - ], - "restrictions_as_english": "per equal to 2sec" + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "5646519c565466c9588a88400ec71a39a2c0b6988beadb32491a13d9b89f8536", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 } - ] - } - ], - "author": [ - "Shahana Farooqui <> is mainly responsible." - ], - "see_also": [ - "lightning-commando-showrunes(7)", - "lightning-blacklistrune(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-signinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "rpc": "signinvoice", - "title": "Low-level invoice signing", - "description": [ - "The **signinvoice** RPC command signs an invoice. Unlike **createinvoice** it does not save the invoice into the database and thus does not require the preimage." - ], - "request": { - "required": [ - "invstring" - ], - "properties": { - "invstring": { - "type": "string", - "description": [ - "Bolt11 form, but the final signature is ignored. Minimal sanity checks are done." - ] - } - } - }, - "response": { - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": [ - "The bolt11 string." - ] - } - } - }, - "errors": [ - "The following error codes may occur:", - "", - "- -1: Catchall nonspecific error." - ], - "example_json_request": [ - { - "id": "example:signinvoice#1", - "method": "signinvoice", - "params": [ - "lnbcrt10n1pjmxt3lsp5jumuz2sv3ca68kzd92hp3wdtpx8ghnxur65fs6maw6dyxsleqd0spp5nadvvh7uzk2qzh8d9d7tsxr08l9uaz2vjeuuahqtufjv52d0eassdq8d9h8vvgxqyjw5qcqp99qxpqysgq4rrn702eum6c9ld9khlz39vdyd8zcwrav5ygqvu6w54aep6yarkyfrnk990yf5prpasgzmj52stektf6mzwdl5hc6qlsglt2a0pwp0spwww44w" - ] - }, - { - "id": "example:signinvoice#2", - "method": "signinvoice", - "params": [ - "lnbcrt10n1pja0thgsp55sy2zxdvj666nlfwcjd7wmw22d4xpejafpvp70grqtr6dj5nwf4spp58mqk29ra52mmkxu3j5tvjssr0qr6q2t9hc8fedz4cyc0gj7evhwqdq8d9h8vvgxqyjw5qcqp99qxpqysgqjtpf0mx7c0jf5clm6r504mum6phc0e32ef7muxswcjfzjz2f2ffsapj9uf8shx886g4glq2zsyrvv4lr3x70mh8x4wyvdmpqumc86rspq8drx3" - ] - } - ], - "example_json_response": [ - { - "bolt11": "lnbcrt10n1pjmxt3lsp5jumuz2sv3ca68kzd92hp3wdtpx8ghnxur65fs6maw6dyxsleqd0spp5nadvvh7uzk2qzh8d9d7tsxr08l9uaz2vjeuuahqtufjv52d0eassdq8d9h8vvgxqyjw5qcqp99qxpqysgq3nhrd72qe7wmc2hvwhaqnx05y6dzxh2tal02kw055er7uutkkrcreccm37ce6wv7ee8q70ktlr9fy3fd635hc2k98a4svd9c8v4cpjsppm2eee" - }, - { - "bolt11": "lnbcrt10n1pja0thgsp55sy2zxdvj666nlfwcjd7wmw22d4xpejafpvp70grqtr6dj5nwf4spp58mqk29ra52mmkxu3j5tvjssr0qr6q2t9hc8fedz4cyc0gj7evhwqdq8d9h8vvgxqyjw5qcqp99qxpqysgqwv74vdlengurnhdcpllztde6en6kgwq02lup6c89e3p5j8y33r3p0wr7eauwxeed6r5qpj5ergye6vchspnff4gev2rrsym3g4uhqscq2qq7rq" - } - ], - "author": [ - "Carl Dong <> is mainly responsible." - ], - "see_also": [ - "lightning-createinvoice(7)", - "lightning-invoice(7)", - "lightning-listinvoices(7)", - "lightning-delinvoice(7)", - "lightning-getroute(7)", - "lightning-sendpay(7)", - "lightning-offer(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-signmessage.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "signmessage", - "title": "Command to create a signature from this node", - "description": [ - "The **signmessage** RPC command creates a digital signature of *message* using this node's secret key. A receiver who knows your node's *id* and the *message* can be sure that the resulting signature could only be created by something with access to this node's secret key." - ], - "request": { - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string", - "description": [ - "Less than 65536 characters long message to be signed by the node." - ] - } - } - }, - "response": { - "required": [ - "signature", - "recid", - "zbase" - ], - "properties": { - "signature": { - "type": "hex", - "description": [ - "The signature." - ], - "minLength": 128, - "maxLength": 128 - }, - "recid": { - "type": "hex", - "description": [ - "The recovery id (0, 1, 2 or 3)." - ], - "minLength": 2, - "maxLength": 2 - }, - "zbase": { - "type": "string", - "description": [ - "*signature* and *recid* encoded in a style compatible with **lnd**'s [SignMessageRequest](https://api.lightning.community/#grpc-request- signmessagerequest)." - ] - } - } - }, - "example_json_request": [ - { - "id": "example:signmessage#1", - "method": "signmessage", - "params": { - "message": "this is a test!" - } - }, - { - "id": "example:signmessage#2", - "method": "signmessage", - "params": { - "message": "message for you" - } - }, - { - "id": "example:signmessage#3", - "method": "signmessage", - "params": { - "message": "this is a test!" - } - }, - { - "id": "example:signmessage#4", - "method": "signmessage", - "params": { - "message": "message for you" - } - }, - { - "id": "example:signmessage#5", - "method": "signmessage", - "params": { - "message": "this is a test!" - } - }, - { - "id": "example:signmessage#6", - "method": "signmessage", - "params": { - "message": "message for you" - } - } - ], - "example_json_response": [ - { - "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", - "recid": "00", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" - }, - { - "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", - "recid": "00", - "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" - }, - { - "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", - "recid": "00", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" - }, - { - "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", - "recid": "00", - "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" - }, - { - "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", - "recid": "00", - "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" + ], + "failed": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "method": "fundchannel_complete", + "error": { + "code": 312, + "message": "Attempting retry, yet this peer already has exchanged commitments and is using the v2 open protocol. Must spend input to reset." + } + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "fundchannel_complete", + "error": { + "code": -1, + "message": "Owning subdaemon openingd died (62208)" + } + } + ] }, { - "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", - "recid": "00", - "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" + "tx": "020000000001023041611dac05004825ab64781b4a33bf622380bf90196fae689196b1850a1f8f0000000000fdffffff5646519c565466c9588a88400ec71a39a2c0b6988beadb32491a13d9b89f85360100000000fdffffff0250c3000000000000220020181492c29a989f099fd2cf412c74b192dd095e81f4e4f6bec45bd1fbfdd2cfd983720000000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c80140caa3b93c6667e4fe0026417cc87ae9dfd16d80018e7c6dcd6dfcee4d6cab7c7e84181baeb95ba25934ad1aa6b57f83c8287bf1b727123350b35549a3abe15b060140b3c6626b9b57081cc7eb5e4f518669764d265fb84316d8fb610e19ede13c5a370c1072861b909ec923acec980adb4a3e488ee3c6f9c49164bd4596945b52f62678000000", + "txid": "1fcc6d46200443ad21e3a1a1628b862bafd0d75c0b4454f5494957097bc7930d", + "channel_ids": [ + { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "0d93c77b09574949f554440b5cd7d0af2b868b62a1a1e321ad430420466dcc1f", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "outnum": 0 + } + ], + "failed": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:44663: Connection establishment: Connection refused. " + } + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "method": "connect", + "error": { + "code": 401, + "message": "All addresses failed: 127.0.0.1:34631: Connection establishment: Connection refused. " + } + } + ] } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-checkmessage(7)" - ], - "resources": [ - "Main web site: ", - "", - "[SignMessageRequest](https://api.lightning.community/#grpc-request-signmessagerequest)" ] }, - "lightning-signpsbt.json": { + "lightning-multiwithdraw.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "signpsbt", - "title": "Command to sign a wallet's inputs on a provided bitcoin transaction (PSBT).", + "rpc": "multiwithdraw", + "title": "Command for withdrawing to multiple addresses", "description": [ - "**signpsbt** is a low-level RPC command which signs a PSBT as defined by BIP-174.", - "", - "By default, all known inputs are signed, and others ignored: with *signonly*, only those inputs are signed, and an error is returned if one of them cannot be signed.", - "", - "Note that the command will fail if there are no inputs to sign, or if the inputs to be signed were not previously reserved." + "The **multiwithdraw** RPC command sends funds from Core Lightning's internal wallet to the addresses specified in *outputs*." ], "request": { "required": [ - "psbt" + "outputs" ], "properties": { - "psbt": { - "type": "string", + "outputs": { + "type": "array", + "items": { + "type": "outputdesc" + }, "description": [ - "The psbt to be signed." + "An array containing objects of the form `{address: amount}`. The `amount` may be the string *all*, indicating that all onchain funds be sent to the specified address. Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." ] }, - "signonly": { - "type": "array", + "feerate": { + "type": "feerate", "description": [ - "Input numbers to sign." + "Feerate used for the withdrawals. See NOTES in lightning-feerates(7) for possible values." + ], + "default": "*normal*" + }, + "minconf": { + "type": "u32", + "description": [ + "Minimum number of confirmations that used outputs should have." ], + "default": 1 + }, + "utxos": { + "type": "array", "items": { - "type": "u32" + "type": "outpoint", + "description": [ + "Utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." + ] } } } }, "response": { "required": [ - "signed_psbt" + "tx", + "txid" ], "properties": { - "signed_psbt": { - "type": "string", + "tx": { + "type": "hex", "description": [ - "The fully signed PSBT." + "The raw transaction which was sent." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the **tx**." ] } } }, + "errors": [ + "On failure, an error is reported and the withdrawal transaction is not created.", + "", + "- -1: Catchall nonspecific error.", + "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", + "- 302: The dust limit is not met." + ], + "author": [ + "ZmnSCPxj <> is mainly responsible." + ], + "see_also": [ + "lightning-listfunds(7)", + "lightning-fundchannel(7)", + "lightning-newaddr(7)", + "lightning-txprepare(7)", + "lightning-withdraw(7)" + ], + "resources": [ + "Main web site: " + ], "example_json_request": [ { - "id": "example:signpsbt#1", - "method": "signpsbt", - "params": { - "psbt": "some_psbt" - } - }, - { - "id": "example:signpsbt#2", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCMbeD+3qn9/kAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI4upB+mjl6AIA", - "signonly": null - } - }, - { - "id": "example:signpsbt#3", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI+hxMzu14vTIA", - "signonly": null - } - }, - { - "id": "example:signpsbt#4", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAAAAAA==", - "signonly": null - } - }, - { - "id": "example:signpsbt#5", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAAAAAA==", - "signonly": null - } - }, - { - "id": "example:signpsbt#6", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIr++SR9L3pxYA", - "signonly": null - } - }, - { - "id": "example:signpsbt#7", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8M/AlsaWdodG5pbmcBCEqp7j+Fzz26AAEDCODIEAAAAAAAAQQiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwz8CWxpZ2h0bmluZwEI6Akvp0mZjYYA", - "signonly": null - } - }, - { - "id": "example:signpsbt#8", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0M/AlsaWdodG5pbmcBCKM6W9ikNMuIAAEDCODIEAAAAAAAAQQiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQz8CWxpZ2h0bmluZwEI2cr+W0Zxee4A", - "signonly": null - } - }, - { - "id": "example:signpsbt#9", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34M/AlsaWdodG5pbmcBCFQ0TOBBlgMSAA==", - "signonly": null - } - }, - { - "id": "example:signpsbt#10", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVQz8CWxpZ2h0bmluZwEIY2Ov6P6i1BoA", - "signonly": null - } - }, - { - "id": "example:signpsbt#11", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrcM/AlsaWdodG5pbmcBCAI02w5E3raGAAEDCODIEAAAAAAAAQQiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z3wz8CWxpZ2h0bmluZwEI0FwC5BQBVzoA", - "signonly": null - } - }, - { - "id": "example:signpsbt#12", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIsxXzTDldwaoA", - "signonly": null - } - }, - { - "id": "example:signpsbt#13", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCFol1305RLSEAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI6hXVngxUsjAA", - "signonly": null - } - }, - { - "id": "example:signpsbt#14", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIZUU/3RYkOYAA", - "signonly": null - } - }, - { - "id": "example:signpsbt#15", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIiig65O+Y6+YA", - "signonly": null - } - }, - { - "id": "example:signpsbt#16", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCCJAK2EimaaoAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI5lJHZzirrkoA", - "signonly": null - } - }, - { - "id": "example:signpsbt#17", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI2X7UNHx1NPoA", - "signonly": null - } - }, - { - "id": "example:signpsbt#18", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCHLFtWk7Kj3aAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEInK6NtLtmEmgA", - "signonly": null - } - }, - { - "id": "example:signpsbt#19", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAAAAAAA", - "signonly": null - } - }, - { - "id": "example:signpsbt#20", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgwABAHECAAAAAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYAAQBxAgAAAAEV9PehqxjfHwVYBLoQqbZ0e7HHaVUKlbY0dfsWQ8zYmgAAAAAA/f///wL+VW0pAQAAABYAFDp1w8b/NEvIwTXD0X87XqbQ/abCQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouGUAAAABAR9AQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHgAA", - "signonly": null - } - }, - { - "id": "example:signpsbt#21", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", - "signonly": [ - 2 - ] - } - }, - { - "id": "example:signpsbt#22", - "method": "signpsbt", - "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", - "signonly": [ - 4 - ] - } - }, - { - "id": "example:signpsbt#23", - "method": "signpsbt", + "id": "example:multiwithdraw#1", + "method": "multiwithdraw", "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", - "signonly": [ - 6 - ] + "outputs": [ + { + "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs": "2222000msat" + }, + { + "bcrt1q6r4vvt7uack33qf9n05umfxy8h5s2rdcmq7ra3": "3333000msat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null } }, { - "id": "example:signpsbt#24", - "method": "signpsbt", + "id": "example:multiwithdraw#2", + "method": "multiwithdraw", "params": { - "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", - "signonly": [ - 7 - ] + "outputs": [ + { + "BCRT1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KYGT080": 1000 + }, + { + "bcrt1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qzf4jry": 1000 + }, + { + "bcrt1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k0ylj56": 1000 + }, + { + "BCRT1SW50QT2UWHA": 1000 + }, + { + "bcrt1zw508d6qejxtdg4y5r3zarvaryv2wuatf": 1000 + }, + { + "bcrt1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvseswlauz7": 1000 + }, + { + "bcrt1pqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesyga46z": 1000 + }, + { + "bcrt1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqc8gma6": 1000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null } } ], - "errors": [ - "On failure, one of the following error codes may be returned:", - "", - "- -32602: Error in given parameters, or there aren't wallet's inputs to sign, or we couldn't sign all of *signonly*, or inputs are not reserved." - ], "example_json_response": [ { - "psbt": "some_psbt" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////ARNACI9TcWG+6uC9ElBFN3qhND7amsor/dtBhJ5ujEQAT/80548avrt7d7IJiOAaCNzzYLSXITdL2xjx6mhbBi9hTiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////ARNAJR0Xm/Q2ij7y0I643ad+hbhUgWyEcq6SwuATpEq2zWpSZO28Tzv1Aa3ODEOHlFw/UBpHsTAg1KM2I92Btb5q2iEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" - }, - { - "signed_psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aARNAtDSpOsffBOprkLlqNTXa6ngoXT78mcEBXbnbsTlbZNtAhQ0eWDiBAAhpbhnp9XuMTDbbiR/mNMLG/JQowLD7BiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAAACEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAAAAAhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAAhB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAAhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAAhB5/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CQDBIO1CCAAAAAAhB1xthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsCQCpi4YXCQAAAAAhB4pZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCQA9Q9ImCgAAAAAhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAAhB/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCQD2/7RIDAAAAAAhB9A094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhDQAAAAAhB2f0Ro/6/m+Rmuhx9X8JaQRn9JToPgNY3GTRBHL5By9MCQCkO4IaDgAAAAA=" - }, - { - "signed_psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqARNAWKxvQv/YtKTHF436Ztuu148sPQq3QDB4ch/vm9oqscfqN+NWXZ+csyOIXrmm50rFq0DZEOoLFgSsrJUqwQ7PcCEWwQeII6T2SXnwUSDLjVU+rGDwR6oI5esInXEL29fnSFAJAGHtBsAAAAAAACEHOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4JAKnNUIcFAAAAAAAhB33gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeCQCwXa0oBgAAAAAhByhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CQC3bdYeBwAAAAAhB7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/CQCjI8KCCAAAAAAhBzCnWsrtJYvmvALan6sFirvg53DKzrfGSW6q6nAUw9ObCQCmBZWCCQAAAAAhB72SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6CQDK3xgoCgAAAAAhB84QbIvXo39Om7hPsSCztnxpw4x6G6G/sRCtGsxzM47pCQAznE7uCwAAAAAhByyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCQDAAMtBDAAAAAAhB6Jvzf+c2c5Qrvvj78smeIzuWAjjEtHW01YDo2je0daMCQBxtd2rDQAAAAAhB8SkNSQBiTs1cYIq8kWiODRmmFlnt+VkoODlBh1PjXFxCQCLx6pcDgAAAAAhB/ezBtxauw6UTQFvjhaT8ztqh+dAYi+W2/WHIEQ/e965CQBPad/3DwAAAAA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////ARNABQcEvF7uoEPAbhZCNMknJHzDjoHkG1XyLSk5VJXYd3U6RRLOKb4ompV8h+P4UhJvoxwPiIOqGh1ZoxYLvYJnYSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiv75JH0venFgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////ARNAqSvK6XXJi7FDvh3cd+ZErgN/5n/9eDltNEZm2ze7/pufFc156Qj4LkQbCgC4lS1Ruc4o47YlZ1Wczkp802gGeyEWIlzhZuhLODPZ9iCGO05xMJneYW9Vnodo9E/2dAVLsH0JADjBCFQAAAAADPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8hB3CAw1/JvTXMtaK0xhF8IkXU+9Efjkym4dever68ttXWCQAH25HaBAAAAAz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMI4MgQAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////ARNAPjf4XVl3WFTh1v+SzS5oUwsigqqGNk324zkxgYehDXepYaFUM/wLgINaJnwkHN5nbU1f7E5xtKuqse063GaWNSEWksaqE5AFBOwsOjOB264fLeBPJNQ5g1q/rchy5+HAXGEJAJQzAycAAAAADPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0hB4K/sHl7zkP5rrPAzTaAcQJPrn1P3i9bH1vaKjEaycC7CQC+H2EVBAAAAAz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMI4MgQAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wETQBhLehl4jatF3ayDDNubA0Iyuh1NvqqKyPm6bXvllFWZBbRNuGQpfHu1C5BHoqeXR+LxGu+eBXpKamK0rnAXWjMhFvGECqicf7Y9xs91jwAbMcPiBOS7Rq7e/4BUDVz2ATiHCQBBoPcfAAAAAAz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34hB24ZKTdlaLtkygxjUFAJ33ZjMv9KnWwbY5ro44uOF9DACQANe4R+BAAAAAz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8BE0DCDwdObCXlsdaWuBcmKrK2CmI/T/WtxKcYQnUYJ793YSsk0rzUgLsHcKNt/+QQXFD3JqXCKWLW9Rv5AcKYVaDdIRaA8vHh3zSrfz0qQ+zlYXI4dytIKOikf9779NIq4cEtGgkAj3YM8AAAAAAM/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVSEHSGn5H1BOLW1cQuaAXwZz7OyTu4UYInxyYnJzwKCebrUJAJcA1qsEAAAADPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8BE0DpUPzjAPBIiyiBQjOavU1nokrXClo+fAJVSlZrtKyMklHLDWVJSen8k+VpK7aCftTvbpF95qsJXOCxivax0pMdIRasL+bRV5lfwMW1DXAcDTj+4gEYA5xoHnELhLlOm7s9TgkA5Uc/iQAAAAAM/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrchBxNHIqAqqqtlGdp6cUIvUOg1zWYXjgzOheBoxx0t10nBCQBv3LVMBAAAAAz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMI4MgQAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8BE0BdJHiX7sErT15ULrKrq7fpyQxmI7dsZ5gGHVypREqUBD41YE0Lx9BbIqs5oxqpuQyKNTZBfWJ84MLAsftAWx0lIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAM/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////ARNAYKQLTQqSOsXCff59GQf7J4819uzPuP0WxdxMksdEyR7KUO1TkfQxZ6hBQtMgSGgjAFOsRZ4/JvO4ckZ9O4akMiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////ARNAYP1VnL+/6YQZqE77/wg6T7XjriX12pGDMuOEjkebVFnpSnE1sfz7wJ7oy/DQnYeuAAn4GXmmuKJZDBQ22lY0lCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////ARNANvpkh9embgt74SJ1971S8zbYdekRzb1+6Qwg5NzBMi31I60s2BaS+asEzqlSE+n8nOPS+8k9+aZILzVH7y6rLCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////ARNAQEKmIehoW3hRALbLBT+tXoA6YXdQfPIgtfiMkpeYOvRSuHmgJFhVzHUgTLFlprt8ItRjQueznT/Qh4djvxulAiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////ARNAJXn/exEY5zrlawEisgjuMX/CnutadCsjEu1yW2tSZX9WqFFqcxsgtfpUGFFpJG5t0rbZxhFY3gDWrvFdWEk+gSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" - }, - { - "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////ARNAtQ86v4+DnHWsJFqqWU5jbB32nnpfgx8hxpJxRq7wDcajZ0MIVGwQi3moYsbO0fsVgP8FW3zjjgVu9jY2oDRpcyEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" - }, - { - "signed_psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUiAgPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz0cwRAIgXgFlc+42o5hJmnHENXEhgwyrZ2v2X+4iT4sb6XJ5MRwCIDRGbwKezzbkSNtch2LocWPqnEQXkpZIq04M+IRocrkJASIGA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPCAH62QoAAAAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYiAgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKU0cwRAIgXIq7qrnemfLo3A8UdRUJhr4A67/ldca+ueY2deY5xxUCIHN5a+UHbx8vUU6KuIc5hmJmsAEP+x/E5BDZQFG35tOeASIGA5FFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTCMLMqxcAAAAAAAEBH0BCDwAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgeuHuBdJNlTFK+E0PWyLcyX2kK4h/0IiOHgiQ3zsolcMCIE+9zRN4Bbg9mj7KZtHpftY1PN8JSAP4C0QIv3sdvgjlASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF0cwRAIgG2TapevAJ2lrQL0oiM9Gfkpds384nDm0SpK/kywrTUUCIAh6UVY0rFjAqv009n8+5kQNbYquX9sRSVGBi7zoq/DyASIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAACICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCH0I2ZcFAAAAAA==" - }, - { - "signed_psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBLAyce/uqKUFmwu+P3IwBFhBWnw55rgCgRtnTlhSGgCQIgCWIyWeu9A/UAAE4BOJUT2vHTtMF2ungQaXtsz+gCubMBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAF60sDlp9Wwt9wicQqdH0hEnOsZbib0D1p92GZ8NVLT4QAAAAAA/f///wJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmZmznKQEAAAAWABS6SbDH8uBBXLRkahFSMVlzCOJQkmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIHF16oX4FlxZ9S3DpGGEMJDUPpBENnK0doOSnZQb4yQzAiAu+bXJc/CBgM6LoZL4oG17WNBExUsWz1kiAm5CzMueLQEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgV/U0DpbgeDFsMtJqNfV4WrYwYLSUbCRfo6Qz2F+ji78CIGyTvhfzl6tig9nTK0fPAZFvNW3cuepcxUoX446hQlLNASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHiICAyjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJRzBEAiBkzGfXPiVmNXdnTcZl+30f4GVcy708U1WTMeRY9BFwugIgcxl+7PLJ/5rn2CK0Sj77HMNGkXFz6z6r6NLbDSp24HkBIgYDKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kIn7Z7/AAAAAAAAA==" - }, - { - "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OSICAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2RzBEAiBYL/MQcx/Py0Cd5caCa/2Nx7586xck1+/mXSgyjw3DZQIgeFLMQZyLiTs+v2gTYus1KIZlCz9D825HrYnJhhowccMBIgYCn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYIwSDtQgAAAAAAAQBxAgAAAAGR/0rwl7w1u2/Km+eQgwuDPo4GetR/3vK2ZwBml6fmfgAAAAAA/f///wKZKdgpAQAAABYAFHP2PrCKt6GMhHuNBpCibF2sJM8BQEIPAAAAAAAWABS3bdYeQbXvBSryHNoyYIiMBwu5r2cAAAABAR9AQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvAAEAcQIAAAABEwt8DAr/ait5b1ZFSbvW/79lYDHqWbZ354DKdsTF0Z8AAAAAAP3///8CZNBOKQEAAAAWABRCLHOHAZfgUzd9yp/NPmGH5DLfnEBCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37BlAAAAAQEfQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsAABAHECAAAAAQPCfzpwvnLh+/WesGZs8HQI4QQ2jx2r4d8r4a+KHQ10AQAAAAD9////AspKMCkBAAAAFgAU1R7jvHCjjl/yZZjFOuqJ+lHOeJpAQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVZwAAAAEBH0BCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dUAAQBxAgAAAAH0cQWmWdxXwxsMYWUC2Arqzfu5CY9Mep8woYON+HZ40QAAAAAA/f///wLM5sgpAQAAABYAFC0qkaeeG2qxf+0fVzprCwwlVnQBQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iGUAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" - }, - { - "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wIgID82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NpHMEQCICRme3QYkb0unDZ2831WQm0h8MwlnkOrs64RWXZtTfaJAiAgTNrzKBrbed80X+uiU1U2rPYNLvPCKDYbFc0C1yv+jwEiBgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02gj2/7RIAAAAAAABAHECAAAAAQPCfzpwvnLh+/WesGZs8HQI4QQ2jx2r4d8r4a+KHQ10AQAAAAD9////AspKMCkBAAAAFgAU1R7jvHCjjl/yZZjFOuqJ+lHOeJpAQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVZwAAAAEBH0BCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dUAAQBxAgAAAAH0cQWmWdxXwxsMYWUC2Arqzfu5CY9Mep8woYON+HZ40QAAAAAA/f///wLM5sgpAQAAABYAFC0qkaeeG2qxf+0fVzprCwwlVnQBQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iGUAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" - }, - { - "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF0cwRAIgBb8RCrRiMxaZ9wN6csfETFojWf88vYjQoXain+PFVHsCICbfiPubeJAgOAhygUqOevdjHyqzPMPVj91Tx5vVAJZNASIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" + "tx": "02000000000101b75863b811587b4c15bb94d9285c31d6369b8ff609e44de399936f8acb268f600000000000fdffffff03050d000000000000160014d0eac62fdcee2d1881259be9cda4c43de9050db8ae0800000000000016001427213e2217b4f56bd19b6c8393dc9f61be691233d4b5f5050000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a0247304402203a001463da125de5615ff1c18f9cd4a1d2a138c91d40189d350821ac8fb3ae4f02207a507eec27e15fe43476233cd9fe8b690ebd265073a58ed18ff79a1416886f18012103d745445c9362665f22e0d96e9e766f273f3260dea39c8a76bfa05dd2684ddccf66000000", + "txid": "94e803b98257855569d35b675d65fb4fa0061a8b5f828992e2104a2882bb18bf" }, { - "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIG90DSr+fGNoWhCrgLbJG3Wt8PJNMWYqaa5MLWRwA0oTAiA9rsLEqqVhjV6wENfzzpudaE949uLlVqWgDjE/FSgKNAEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAAA" + "tx": "02000000000101dc5a50dfbafc30697b930b44e763ff7a255475d17d975fa0e2003431312098cf0100000000fdffffff09e803000000000000225120000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433e803000000000000046002751ee8030000000000002a5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6e80300000000000022512079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817983b939700000000002251200518e92cd94e0f62c06f126dff98b9abe79b7ed845a156d5245678e26554475de803000000000000160014751e76e8199196d454941c45d1b3a323f1433bd6e8030000000000002200201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262e803000000000000125210751e76e8199196d454941c45d1b3a323e803000000000000220020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e8643301407f0d9bc098c5439ff611507b6a7d403047ed4e0b883f293db19d4e109d350a24f790acb55547384ff2a23fcfde0eba9af7cebc321c19cfc4817ecd47d50c2cd854000000", + "txid": "062383a7c9a19a2768939087a5c89826a4ea3531080f20cc06aa1cbf431be505" } - ], - "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." - ], - "see_also": [ - "lightning-fundpsbt(7)", - "lightning-sendpsbt(7)" - ], - "resources": [ - "Main web site: " ] }, - "lightning-splice_init.json": { + "lightning-newaddr.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "splice_init", - "title": "Command to initiate a channel to a peer", - "warning": "experimental-splicing only", + "rpc": "newaddr", + "title": "Command for generating a new address to be used by Core Lightning", "description": [ - "`splice_init` is a low level RPC command which initiates a channel splice for a given channel specified by `channel_id`." + "The **newaddr** RPC command generates a new address which can subsequently be used to fund channels managed by the Core Lightning node.", + "", + "The funding transaction needs to be confirmed before funds can be used.", + "", + "To send an on-chain payment from the Core Lightning node wallet, use `withdraw`." ], "request": { - "required": [ - "channel_id", - "relative_amount" - ], + "required": [], "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel to be spliced." - ] - }, - "relative_amount": { - "type": "integer", - "description": [ - "A positive or negative amount of satoshis to add or subtract from the channel. Note you may need to add a double dash (--) after splice_init if using a negative *relative_amount* so it is not interpretted as a command modifier. For example: ```shell lightning-cli splice_init -- $CHANNEL_ID -100000 ```." - ] - }, - "initialpsbt": { + "addresstype": { "type": "string", "description": [ - "The (optional) base 64 encoded PSBT to begin with. If not specified, one will be generated automatically." - ] - }, - "feerate_per_kw": { - "type": "u32", - "description": [ - "The miner fee we promise our peer to pay for our side of the splice transaction. It is calculated by `feerate_per_kw` * our_bytes_in_splice_tx / 1000." - ] - }, - "force_feerate": { - "type": "boolean", - "description": [ - "By default splices will fail if the fee provided looks too high. This is to protect against accidentally setting your fee higher than intended. Set `force_feerate` to true to skip this saftey check." + "It specifies the type of address wanted; currently *bech32* (e.g. `tb1qu9j4lg5f9rgjyfhvfd905vw46eg39czmktxqgg` on bitcoin testnet or `bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej` on bitcoin mainnet), or *p2tr* taproot addresses. The special value *all* generates all known address types for the same underlying key." + ], + "default": "*bech32* address", + "enum": [ + "bech32", + "p2tr", + "all" ] } } }, "response": { - "required": [ - "psbt" - ], + "required": [], "properties": { - "psbt": { + "p2tr": { + "added": "v23.08", "type": "string", "description": [ - "The (incomplete) PSBT of the splice transaction." + "The taproot address." + ] + }, + "bech32": { + "type": "string", + "description": [ + "The bech32 (native segwit) address." ] } } }, - "example_usage": [ - "Here is an example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", - "", - "```shell", - "RESULT=$(lightning-cli listpeerchannels)", - "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", - "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", - "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", - "echo $RESULT", - "", - "lightning-cli splice_signed $CHANNEL_ID $PSBT", - "```", - "", - "Here is an example set of splice commands that will splice out 100,000 sats from first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", - "", - "```shell", - "RESULT=$(lightning-cli listpeerchannels)", - "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli addpsbtoutput 100000)", - "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_init -- $CHANNEL_ID -100500 $INITIALPSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "lightning-cli splice_signed $CHANNEL_ID $PSBT", - "```" + "errors": [ + "If an unrecognized address type is requested an error message will be returned." ], "example_json_request": [ { - "id": "example:splice_init#1", - "method": "splice_init", + "id": "example:newaddr#1", + "method": "newaddr", "params": { - "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#2", - "method": "splice_init", + "id": "example:newaddr#2", + "method": "newaddr", "params": { - "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAYvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4cAAAAAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#3", - "method": "splice_init", + "id": "example:newaddr#3", + "method": "newaddr", "params": { - "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAbEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#4", - "method": "splice_init", + "id": "example:newaddr#4", + "method": "newaddr", "params": { - "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAARG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQAAAAD9////AU58DQAAAAAAIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM95AAAAAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#5", - "method": "splice_init", + "id": "example:newaddr#5", + "method": "newaddr", "params": { - "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAeH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQAAAAD9////AU58DQAAAAAAIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X2GAAAAAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0AAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#6", - "method": "splice_init", + "id": "example:newaddr#6", + "method": "newaddr", "params": { - "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAf/K9YsbCxoVAiDgMpE/MI3Dp3JAIYZ13i3GIgYwiM3nAQAAAAD9////AU58DQAAAAAAIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu36TAAAAAAEA9QIAAAAAAQGE6uaap2O3s6nD36OqwOYb5sPUAE0GymVeLQfSgwmEXQAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQJGMEMCIEismeiIrCJvJPzr3KG/7vcfFMMhbb6vx9YRLwz0rNUBAh9G71jfeCkk+mJXtes4Bm8CgZoTFPpCrSGgRGw7RtcDASECZhTrOMPPls113NzCmuu111rSIVaJ2kOaRGbZsa41WZ6NAAAAAQErAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQAA", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#7", - "method": "splice_init", + "id": "example:newaddr#7", + "method": "newaddr", "params": { - "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAaOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQAAAAD9////AU58DQAAAAAAIlEgEGf6wTvoGuGQnB1yXXQBbve/bt8bAzh9RhtJJfg26FWgAAAAAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBKwEvDwAAAAAAIlEg8Tk0Z8cXzVDeJ2AWfUMRFBqPdQyJ9U/SyQBgGn2oQ0wAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#8", - "method": "splice_init", + "id": "example:newaddr#8", + "method": "newaddr", "params": { - "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAY6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQAAAAD9////AU58DQAAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreXAAAAAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBKwEvDwAAAAAAIlEgVcDvqqdKsxN3kvoAQphndXd9tNBcLIzxU0vPlIxmVcwAAA==", - "feerate_per_kw": null + "addresstype": "bech32" } }, { - "id": "example:splice_init#9", - "method": "splice_init", + "id": "example:newaddr#9", + "method": "newaddr", "params": { - "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAexljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": "bech32" } }, { - "id": "example:splice_init#10", - "method": "splice_init", + "id": "example:newaddr#10", + "method": "newaddr", "params": { - "channel_id": "d4aa1a72d383a4b1fbfb33408a46bcf1292db4bbfadc6e4496810ed2f3af89b6", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAdSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": "bech32" } }, { - "id": "example:splice_init#11", - "method": "splice_init", + "id": "example:newaddr#11", + "method": "newaddr", "params": { - "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAS72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#12", - "method": "splice_init", + "id": "example:newaddr#12", + "method": "newaddr", "params": { - "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAWcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#13", - "method": "splice_init", + "id": "example:newaddr#13", + "method": "newaddr", "params": { - "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAVjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5OAAAAAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#14", - "method": "splice_init", + "id": "example:newaddr#14", + "method": "newaddr", "params": { - "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", - "relative_amount": -105000, - "initialpsbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+AA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#15", - "method": "splice_init", + "id": "example:newaddr#15", + "method": "newaddr", "params": { - "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", - "relative_amount": 100000, - "initialpsbt": null, - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#16", - "method": "splice_init", + "id": "example:newaddr#16", + "method": "newaddr", "params": { - "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAdxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null } }, { - "id": "example:splice_init#17", - "method": "splice_init", + "id": "example:newaddr#17", + "method": "newaddr", "params": { - "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", - "relative_amount": 100000, - "initialpsbt": "cHNidP8BAF4CAAAAAXjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", - "feerate_per_kw": null + "addresstype": null + } + }, + { + "id": "example:newaddr#18", + "method": "newaddr", + "params": { + "addresstype": null + } + }, + { + "id": "example:newaddr#19", + "method": "newaddr", + "params": { + "addresstype": null + } + }, + { + "id": "example:newaddr#20", + "method": "newaddr", + "params": { + "addresstype": null + } + }, + { + "id": "example:newaddr#21", + "method": "newaddr", + "params": { + "addresstype": null + } + }, + { + "id": "example:newaddr#22", + "method": "newaddr", + "params": { + "addresstype": null + } + }, + { + "id": "example:newaddr#23", + "method": "newaddr", + "params": { + "addresstype": null } } ], "example_json_response": [ { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gVndyHDWkJKI9bcx8kJA25QWuaGUOCdWXM7S35zADpNwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIK/Jiqp0i3SYAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDmPhBY5ChQUAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gi9JWJfF8ve8M2OwCjZPhNqVFy5CjbYJrKRo/peixYysBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIQYRATkaED2wAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCM7CJA2jNB0qAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIbENoCf5Hio4AAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gsR/jiZP8E8PEuRSMrLVvJaSzIvK4zqFt7yyHMRtteEYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEILOYcUhjAzkYAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCLz21Xp+Dk0CAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIDAEpuamKq3QAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEFR1IhAhwpdG5BNt3/RWSD3zmAwtDV8xyT713tVk9ylKENdBSqIQLrdfEO0gHsEvvRysYZ07lg1IMlGhYYAQDPOptMHiPv/1KuAQ4gEbiXQj5Moz17RCYiBVLkdn+HC0lfWO6UfSqYxjoviMEBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIGnfCPdZul94AAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCFWi5vcrQ5lEAAEDCE58DQAAAAAAAQQiUSCXTBnV7ZamKhvRCtGH/uXC4xRvdyIoxa56QrNudM8kzwz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMIAAAAAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEFR1IhA2KgO1jORx0r1OHDa6BpROaVKkhZKbJZWKOPxM/g9FdjIQPc4OHFtEn8TeuN/T9K6ZvmQrMrF0QTTeUgkl7RTfgD3FKuAQ4g4foM9nP6gjQ7CEmOzrV6A4VVFlvOE5Hup5Wj6aKy8OwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIMhTVGj4EalYAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKexrdwmY1F4AAEDCE58DQAAAAAAAQQiUSBLnNqLJpEMXXUaAgEGxY402YaBLZyzejLO3E49ezXxfQz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMIAAAAAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQVHUiECVw7AtutUVmMwIYOmLqx10I/e62TzE1IZIGXWAcjKUh0hAmaGfDQrglCra07axtuuL95TeCtpzRcTmUn71PIISH/yUq4BDiD/yvWLGwsaFQIg4DKRPzCNw6dyQCGGdd4txiIGMIjN5wEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiVVBGTmPomqAABAwgAAAAAAAAAAAEEIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYM/AlsaWdodG5pbmcBCCHyowtU6dbaAAEDCE58DQAAAAAAAQQiUSCvUWBdkY26o7/8o8NbJTy3mrAAU6K037EanxJCdke7fgz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BBUdSIQJhLcWHe6l9d/BGGrIBeuMcBT+FwE1Q/b3FwdAp2u6QAyEDRZKhxQrV8eSubcyWgM6dBoiuADwM3sG9xpRswiDmkZNSrgEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCH1VIAqQd6ZAAAEDCAAAAAAAAAAAAQQiACCgVjY76MfbtREJjMUPvKJIQ+btbeA/gWRl8ZmKmoKgnQz8CWxpZ2h0bmluZwEIURpO7CkZ3dAAAQMITnwNAAAAAAABBCJRIBBn+sE76BrhkJwdcl10AW73v27fGwM4fUYbSSX4NuhVDPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BBUdSIQN6P3aWA4VIxek/Wuj4i3eEzv72gc8bz9e1sN0QmSXLxyEDfNZXevWSCzTyHWB2lOHVK0mwGXgvDsgwyRgI40W76/xSrgEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCOFOEzXQ59v4AAEDCE58DQAAAAAAAQQiUSA74Tflo81LdhBFqIwHKNMkNRg28E7Vnf2jebjYRkZStwz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMIAAAAAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BBUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKVEmpG4fXRsAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIEnLndwbE4HgAAQMITo6HAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g1KoactODpLH7+zNAika88SkttLv63G5EloEO0vOvibYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIqZaYfujo2BwAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCP0mEB0ZGKJuAAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gLvYxu+lLpVPBqKH9d2Cb5qzIAwsXpyqcyvQ5oH5nwF4BDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIB89Az8bSUbAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCOU1wuT/1NQ+AAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIHljdzrPDqcwAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gZyZw0D6ys94JBp3Uep5Uje1qf0rMtKlZyxfl0KxZ5UsBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIdhLmRH0voHIAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCL2hF0YVoCNeAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIGp7T9myw9goAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gWMIDcohpczFwLx0xYRAdL1P9WIeAZr74Mot6u2fkINABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIcFBwW8PCblQAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCPnRQRszVflAAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gpAu0QtqwIxtR2PhC2VqtVIqjXh0TxM/PKZc0T4BUU6EBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIn2Ac8fyFEJwAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQgu7JK9IpBWOAABAwighgEAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCOZ1GpRwbKfuAA==" + "bech32": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu" }, { - "psbt": "cHNidP8BAgQCAAAAAQQBAQEFAQEBBgEDAfsEAgAAAAABAPYCAAAAAAEB7beoXmZkY9pXjrP59RLW0mrR/PYdWchP6PsSXFBNBVcBAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiALXpZvMNlV6IVDDOx4kn5Ih5N32ltfK09IABmoJSIttAIgIURsthD9uyGm60gtF752jcx5FpYeauyAtz8Ko/mPY+sBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABAStAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAQVHUiECMkJm3oQDs6sVegnx94TVh69hgxyZjBUbzCG7dMKyMUshAuO9OACYZsnajsSqmcxOqcbA3UbfFcYe8M4fJxKRcU5XUq4BDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiYsDEp+abz/AABAwgAAAAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJa7BJ4fwTwAA==" + "bech32": "bcrt1q8rqss4xprcgvkduxgcq58jtrepfsm7y3e6er4e" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g3GndU0mBa3/m9IPV7nFTM7kTMnnzcbwR+jzq103E/isBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEItwxCusFf01QAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMgFmkSe2m9gAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIxulwFA6teKoAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + "bech32": "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4geOeYSfdnAF5Jy+uSkKsVUGv33QExwv38vC+K6Be4jOABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIIATHYCCJHzAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCHXamYBiH1QqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" + }, + { + "bech32": "bcrt1qyusnugshkn6kh5vmdjpe8hylvxlxjy3ns0hmrs" + }, + { + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" + }, + { + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" + }, + { + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" + }, + { + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" + }, + { + "bech32": "bcrt1qq8adjz4u6enf0cjey9j8yt0y490tact93fzgsf" } ], "author": [ - "Dusty <<@dusty_daemon>> is mainly responsible." + "Felix <> is mainly responsible." ], "see_also": [ - "lightning-splice_signed(7)", - "lightning-splice_update(7)" + "lightning-listfunds(7)", + "lightning-fundchannel(7)", + "lightning-withdraw(7)", + "lightning-listtransactions(7)" ], "resources": [ "Main web site: " ] }, - "lightning-splice_signed.json": { + "lightning-notifications.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "splice_signed", - "title": "Command to initiate a channel to a peer", - "warning": "experimental-splicing only", + "rpc": "notifications", + "title": "Command to set up notifications.", "description": [ - "`splice_signed` is a low level RPC command which finishes the active channel splice associated with `channel_id`.", + "The **notifications** the RPC command enabled notifications for this JSON-RPC connection. By default (and for backwards-compatibility) notifications are disabled.", "", - "The *psbt* must have all signatures attached to all inputs that you have added to it or it will fail." + "Various commands, especially complex and slow ones, offer notifications which indicate their progress." ], "request": { "required": [ - "channel_id", - "psbt" + "enable" + ], + "properties": { + "enable": { + "type": "boolean", + "description": [ + "Whether to enable or disable notifications." + ] + } + } + }, + "response": { + "properties": {}, + "post_return_value_notes": [ + "On success, if *enable* was *true*, notifications will be forwarded from then on." + ] + }, + "example_json_request": [ + { + "id": "example:notifications#1", + "method": "notifications", + "params": { + "enable": true + } + } + ], + "notifications": [ + "Notifications are JSON-RPC objects without an *id* field. *lightningd* sends notifications (once enabled with this *notifications* command) with a *params* *id* field indicating which command the notification refers to.", + "", + "Implementations should ignore notifications without an *id* parameter, or unknown *method*.", + "", + "Common *method*s include:", + " *message*: param *message*: a descriptional string indicating something which occurred relating to the command. Param *level* indicates the level, as per lightning-getlog(7): *info* and *debug* are typical.", + " *progress*: param *num* and *total*, where *num* starts at 0 and is always less than *total*. Optional param *stage* with fields *num* and *total*, indicating what stage we are progressing through." + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters." + ], + "example_json_notifications": [ + { + "method": "message", + "params": { + "id": 1, + "message": "This is a test message", + "level": "DEBUG" + } + }, + { + "method": "progress", + "params": { + "id": 2, + "num": 0, + "total": 30, + "stage": { + "num": 0, + "total": 2 + } + } + } + ], + "author": [ + "Rusty Russell <> wrote the initial version of this man page." + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-offer.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "offer", + "title": "Command for accepting payments", + "warning": "experimental-offers only", + "description": [ + "The **offer** RPC command creates an offer (or returns an existing one), which is a precursor to creating one or more invoices. It automatically enables the processing of an incoming invoice_request, and issuing of invoices.", + "", + "Note that for making an offer to *pay* someone else, see lightning- invoicerequest(7)." + ], + "request": { + "required": [ + "amount", + "description" + ], + "properties": { + "amount": { + "type": "msat_or_any_or_currency", + "description": [ + "Can be the string `any`, which creates an offer that can be paid with any amount (e.g. a donation). Otherwise it can be a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. It can also have an ISO 4217 postfix (e.g. USD), in which case currency conversion will need to be done for the invoice itself. A plugin is needed which provides the `currencyconvert` API for this currency, otherwise the offer creation will fail." + ] + }, + "description": { + "type": "string", + "description": [ + "A short description of purpose of the offer, e.g. *coffee*. This value is encoded into the resulting offer and is viewable by anyone you expose this offer to. It must be UTF-8, and cannot use *\\u* JSON escape codes." + ] + }, + "issuer": { + "type": "string", + "description": [ + "Who is issuing this offer (i.e. you) if appropriate." + ] + }, + "label": { + "type": "string", + "description": [ + "An internal-use name for the offer, which can be any UTF-8 string. This is *NOT* encoded in the offer not sent to the issuer." + ] + }, + "quantity_max": { + "type": "u64", + "description": [ + "Invoice can specify more than one of the items up (and including) this maximum: 0 is a special value meaning `no maximuim`. The *amount* for the invoice will need to be multiplied accordingly. This is encoded in the offer." + ] + }, + "absolute_expiry": { + "type": "u64", + "description": [ + "Time the offer is valid until,in seconds since the first day of 1970 UTC. If not set, the offer remains valid (though it can be deactivated by the issuer of course). This is encoded in the offer." + ] + }, + "recurrence": { + "type": "string", + "description": [ + "An invoice is expected at regular intervals. The argument is a positive number followed by one of `seconds`, `minutes`, `hours`, `days`, `weeks`, `months` or `years` (variants without the trailing `s` are also permitted). This is encoded in the offer. The semantics of recurrence is fairly predictable, but fully documented in BOLT 12. e.g. `4weeks`." + ] + }, + "recurrence_base": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], + "description": [ + "Time in seconds since the first day of 1970 UTC, optionally with a `@` prefix. This indicates when the first period begins; without this, the recurrence periods start from the first invoice. The `@` prefix means that the invoice must start by paying the first period; otherwise it is permitted to start at any period. This is encoded in the offer. e.g. `@1609459200` indicates you must start paying on the 1st January 2021." + ] + }, + "recurrence_paywindow": { + "type": "string", + "description": [ + "Argument of form `-time+time[%]`. The first time is the number of seconds before the start of a period in which an invoice and payment is valid, the second time is the number of seconds after the start of the period. For example *-604800+86400* means you can fetch an pay the invoice 4 weeks before the given period starts, and up to 1 day afterwards. The optional *%* indicates that the amount of the invoice will be scaled by the time remaining in the period. This is encoded in the offer." + ], + "default": "that payment is allowed during the current and previous periods" + }, + "recurrence_limit": { + "type": "u32", + "description": [ + "To indicate the maximum period which exists. eg. `12` means there are 13 periods, from 0 to 12 inclusive. This is encoded in the offer." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Indicates that the offer is only valid once; we may issue multiple invoices, but as soon as one is paid all other invoices will be expired (i.e. only one person can pay this offer)." + ], + "default": "False" + } + } + }, + "response": { + "required": [ + "offer_id", + "active", + "single_use", + "bolt12", + "used", + "created" ], "properties": { - "channel_id": { + "offer_id": { "type": "hash", "description": [ - "The channel id of the channel to be spliced." + "The id of this offer (merkle hash of non-signature fields)." ] }, - "psbt": { + "active": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether this can still be used." + ] + }, + "single_use": { + "type": "boolean", + "description": [ + "Whether this expires as soon as it's paid (reflects the *single_use* parameter)." + ] + }, + "bolt12": { "type": "string", "description": [ - "The final version of the psbt to complete the splice with." + "The bolt12 encoding of the offer." ] }, - "sign_first": { + "used": { "type": "boolean", "description": [ - "A flag that makes our node offer the final splice signature first (defaults to false). When false, the node will calculate who should sign first based off who is adding inputting the least sats to the splice as per spec." + "True if an associated invoice has been paid." ] - } - } - }, - "response": { - "required": [ - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", + }, + "created": { + "type": "boolean", "description": [ - "The hex representation of the final transaction that is published." + "False if the offer already existed." ] }, - "txid": { - "type": "txid", + "label": { + "type": "string", "description": [ - "The txid is of the final transaction." + "The (optional) user-specified label." ] } } }, - "example_usage": [ - "In this example we funded the psbt from our lightning node, so we can use the lightning node to sign for its funds.", - "", - "```shell", - "RESULT=$(lightning-cli signpsbt $PSBT)", - "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", - "echo $RESULT", - "", - "lightning-cli splice_signed $CHANNEL_ID $PSBT", - "```", - "", - "Here is a full example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", - "", - "```shell", - "RESULT=$(lightning-cli listpeerchannels)", - "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", - "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT={\"commitments_secured\":false}", - "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", - "do", - " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", - " PSBT=$(echo $RESULT | jq -r \".psbt\")", - " echo $RESULT", - "done", + "errors": [ + "On failure, an error is returned and no offer is created. If the lightning process fails before responding, the caller should use lightning-listoffers(7) to query whether this offer was created or not.", "", - "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", - "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", - "echo $RESULT", + "If the offer already existed, and is still active, that is returned; if it's not active then this call fails.", "", - "lightning-cli splice_signed $CHANNEL_ID $PSBT", - "```" + "- -1: Catchall nonspecific error.", + "- 1000: Offer with this offer_id already exists (but is not active)." ], "example_json_request": [ { - "id": "example:splice_signed#1", - "method": "splice_signed", + "id": "example:offer#1", + "method": "offer", + "params": [ + 100, + "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2" + ] + }, + { + "id": "example:offer#2", + "method": "offer", + "params": [ + 1, + "desc" + ] + }, + { + "id": "example:offer#3", + "method": "offer", + "params": [ + 100, + "test \"bolt12\" description, \ud83e\udd70\ud83e\udea2" + ] + }, + { + "id": "example:offer#4", + "method": "offer", + "params": [ + 9, + "" + ] + }, + { + "id": "example:offer#5", + "method": "offer", "params": { - "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////ARNACI9TcWG+6uC9ElBFN3qhND7amsor/dtBhJ5ujEQAT/80548avrt7d7IJiOAaCNzzYLSXITdL2xjx6mhbBi9hTiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + "amount": "1msat", + "description": "test for 1msat" } }, { - "id": "example:splice_signed#2", - "method": "splice_signed", + "id": "example:offer#6", + "method": "offer", "params": { - "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", - "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////ARNAJR0Xm/Q2ij7y0I643ad+hbhUgWyEcq6SwuATpEq2zWpSZO28Tzv1Aa3ODEOHlFw/UBpHsTAg1KM2I92Btb5q2iEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + "amount": "0.1btc", + "description": "test for 0.1btc" } }, { - "id": "example:splice_signed#3", - "method": "splice_signed", + "id": "example:offer#7", + "method": "offer", "params": { - "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////ARNABQcEvF7uoEPAbhZCNMknJHzDjoHkG1XyLSk5VJXYd3U6RRLOKb4ompV8h+P4UhJvoxwPiIOqGh1ZoxYLvYJnYSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + "amount": "any", + "description": "test for any" } }, { - "id": "example:splice_signed#4", - "method": "splice_signed", + "id": "example:offer#8", + "method": "offer", "params": { - "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", - "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////ARNAqSvK6XXJi7FDvh3cd+ZErgN/5n/9eDltNEZm2ze7/pufFc156Qj4LkQbCgC4lS1Ruc4o47YlZ1Wczkp802gGeyEWIlzhZuhLODPZ9iCGO05xMJneYW9Vnodo9E/2dAVLsH0JADjBCFQAAAAADPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8hB3CAw1/JvTXMtaK0xhF8IkXU+9Efjkym4dever68ttXWCQAH25HaBAAAAAz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMI4MgQAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + "amount": "1USD", + "description": "test for 1USD" } }, { - "id": "example:splice_signed#5", - "method": "splice_signed", + "id": "example:offer#9", + "method": "offer", "params": { - "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", - "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////ARNAPjf4XVl3WFTh1v+SzS5oUwsigqqGNk324zkxgYehDXepYaFUM/wLgINaJnwkHN5nbU1f7E5xtKuqse063GaWNSEWksaqE5AFBOwsOjOB264fLeBPJNQ5g1q/rchy5+HAXGEJAJQzAycAAAAADPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0hB4K/sHl7zkP5rrPAzTaAcQJPrn1P3i9bH1vaKjEaycC7CQC+H2EVBAAAAAz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMI4MgQAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + "amount": "1.10AUD", + "description": "test for 1.10AUD" } }, { - "id": "example:splice_signed#6", - "method": "splice_signed", + "id": "example:offer#10", + "method": "offer", "params": { - "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", - "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wETQBhLehl4jatF3ayDDNubA0Iyuh1NvqqKyPm6bXvllFWZBbRNuGQpfHu1C5BHoqeXR+LxGu+eBXpKamK0rnAXWjMhFvGECqicf7Y9xs91jwAbMcPiBOS7Rq7e/4BUDVz2ATiHCQBBoPcfAAAAAAz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34hB24ZKTdlaLtkygxjUFAJ33ZjMv9KnWwbY5ro44uOF9DACQANe4R+BAAAAAz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + "amount": "0.1btc", + "description": "description \\ \" \t \n \u30ca\u30f3\u30bb\u30f3\u30b9 1\u676f", + "label": "label \\ \" \t \n" } }, { - "id": "example:splice_signed#7", - "method": "splice_signed", + "id": "example:offer#11", + "method": "offer", "params": { - "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", - "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8BE0DCDwdObCXlsdaWuBcmKrK2CmI/T/WtxKcYQnUYJ793YSsk0rzUgLsHcKNt/+QQXFD3JqXCKWLW9Rv5AcKYVaDdIRaA8vHh3zSrfz0qQ+zlYXI4dytIKOikf9779NIq4cEtGgkAj3YM8AAAAAAM/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVSEHSGn5H1BOLW1cQuaAXwZz7OyTu4UYInxyYnJzwKCebrUJAJcA1qsEAAAADPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + "amount": "100000sat", + "description": "issuer test", + "issuer": "description \\ \" \t \n \u30ca\u30f3\u30bb\u30f3\u30b9 1\u676f" } }, { - "id": "example:splice_signed#8", - "method": "splice_signed", + "id": "example:offer#12", + "method": "offer", "params": { - "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", - "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8BE0DpUPzjAPBIiyiBQjOavU1nokrXClo+fAJVSlZrtKyMklHLDWVJSen8k+VpK7aCftTvbpF95qsJXOCxivax0pMdIRasL+bRV5lfwMW1DXAcDTj+4gEYA5xoHnELhLlOm7s9TgkA5Uc/iQAAAAAM/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrchBxNHIqAqqqtlGdp6cUIvUOg1zWYXjgzOheBoxx0t10nBCQBv3LVMBAAAAAz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMI4MgQAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + "amount": "100000sat", + "description": "quantity_max existence test", + "quantity_max": 0 } }, { - "id": "example:splice_signed#9", - "method": "splice_signed", + "id": "example:offer#13", + "method": "offer", "params": { - "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8BE0BdJHiX7sErT15ULrKrq7fpyQxmI7dsZ5gGHVypREqUBD41YE0Lx9BbIqs5oxqpuQyKNTZBfWJ84MLAsftAWx0lIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAM/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + "amount": "100000sat", + "description": "quantity_max test", + "quantity_max": 2 } }, { - "id": "example:splice_signed#10", - "method": "splice_signed", + "id": "example:offer#14", + "method": "offer", "params": { - "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////ARNAYP1VnL+/6YQZqE77/wg6T7XjriX12pGDMuOEjkebVFnpSnE1sfz7wJ7oy/DQnYeuAAn4GXmmuKJZDBQ22lY0lCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + "amount": "100000sat", + "description": "quantity_max test", + "absolute_expiry": 1708640673 } }, { - "id": "example:splice_signed#11", - "method": "splice_signed", + "id": "example:offer#15", + "method": "offer", "params": { - "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////ARNANvpkh9embgt74SJ1971S8zbYdekRzb1+6Qwg5NzBMi31I60s2BaS+asEzqlSE+n8nOPS+8k9+aZILzVH7y6rLCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "1second" } }, { - "id": "example:splice_signed#12", - "method": "splice_signed", + "id": "example:offer#16", + "method": "offer", "params": { - "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", - "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////ARNAQEKmIehoW3hRALbLBT+tXoA6YXdQfPIgtfiMkpeYOvRSuHmgJFhVzHUgTLFlprt8ItRjQueznT/Qh4djvxulAiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "10seconds" } }, { - "id": "example:splice_signed#13", - "method": "splice_signed", + "id": "example:offer#17", + "method": "offer", "params": { - "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIKQLtELasCMbUdj4QtlarVSKo14dE8TPzymXNE+AVFOhAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCJ9gHPH8hRCcAAEDCBioDQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEILuySvSKQVjgAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjmdRqUcGyn7gA=" + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "1minute" } }, { - "id": "example:splice_signed#14", - "method": "splice_signed", + "id": "example:offer#18", + "method": "offer", "params": { - "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////ARNAJXn/exEY5zrlawEisgjuMX/CnutadCsjEu1yW2tSZX9WqFFqcxsgtfpUGFFpJG5t0rbZxhFY3gDWrvFdWEk+gSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "10minutes" } }, { - "id": "example:splice_signed#15", - "method": "splice_signed", + "id": "example:offer#19", + "method": "offer", "params": { - "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////ARNAtQ86v4+DnHWsJFqqWU5jbB32nnpfgx8hxpJxRq7wDcajZ0MIVGwQi3moYsbO0fsVgP8FW3zjjgVu9jY2oDRpcyEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "1hour" + } + }, + { + "id": "example:offer#20", + "method": "offer", + "params": { + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "10hours" + } + }, + { + "id": "example:offer#21", + "method": "offer", + "params": { + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "1day" + } + }, + { + "id": "example:offer#22", + "method": "offer", + "params": { + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "10days" + } + }, + { + "id": "example:offer#23", + "method": "offer", + "params": { + "amount": "100000sat", + "description": "quantity_max test", + "recurrence": "1week" } } ], "example_json_response": [ { - "tx": "020000000001025677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc0000000000000000005677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc0100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022053269f3951a1fc942174ac0dde8462405a86c89b31b444890664ee9735872cff02204cd822c4456c15e90ad342b23e9bb252d383d4e17a8a04818c4919e4fd61efd80147304402205ac0787c79e74ebfa0eaf18964625c53eb672cc4bed2c65303bd9cc192dad6f902206c6c0cded47201dae0020f50a8998555e654d3420c64e801fc668238e3c1cdfa0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140088f537161beeae0bd125045377aa1343eda9aca2bfddb41849e6e8c44004fff34e78f1abebb7b77b20988e01a08dcf360b49721374bdb18f1ea685b062f614e6c000000", - "txid": "f00d5e230b401274c88d3e6205e2c6117028cb9878b7d2bc52b1441f0b589427" + "offer_id": "60a3dbd693a934fe04b01826ef6c0da878add75b6102c4f21eee10e785fbfae9", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", + "used": false, + "created": true }, { - "tx": "020000000001028bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b0000000000000000008bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402205b24a4055db9f6f16d67cd6e06ba067eff853cbd34cfe4896923dd484b15dba602201c8e4bcd8a385a4ea4f414f3c0319d867a18141827e18c1bd08fd6df254b53330147304402205247352fb9be88652c9dcef9758610a35ed4465b61e24c709f39848d5b233b920220728b5e0301625b491378287016e9c5421487ba5ea42eced8a17b6e4b01dc7bf80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140251d179bf4368a3ef2d08eb8dda77e85b854816c8472ae92c2e013a44ab6cd6a5264edbc4f3bf501adce0c4387945c3f501a47b13020d4a33623dd81b5be6ada1c000000", - "txid": "ae3f4b463e26f008d8aaf2579f63a5ec81a19671f8d57b4cb5304efbb96ab0b0" + "offer_id": "8bd7ff221b608c165cf9a09add3da9ac39f4845bf0400d41cde9babe226d5cb2", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5pryv4ekx93pqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4j", + "used": false, + "created": true }, { - "tx": "02000000000102b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846000000000000000000b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d78460100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402203dc0ca44eb37fb9b3477bccc174e61b085c585a1c477b4219da907e9ae2ec66002202ed842db04b7c62d729eac00b06c98cc2bc0c9025b31c984e845439af4f3aa8a0147304402203bb1ebf07422090a65874c974aa735d2eabe385946565e2674f8647919e3829402200b23a7ac92f6a1ff2cc34b9ee51ffbe1015c50fca18a427082e3bea968e53e6c0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140050704bc5eeea043c06e164234c927247cc38e81e41b55f22d29395495d877753a4512ce29be289a957c87e3f852126fa31c0f8883aa1a1d59a3160bbd8267616c000000", - "txid": "d6e3e31cce65da31aed36aafcb0bf2180e1f5342f4fe833a98b69882f06500b0" + "offer_id": "60a3dbd693a934fe04b01826ef6c0da878add75b6102c4f21eee10e785fbfae9", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq9jq5gm5v4ehggpzvfhkcap3xg3zqer9wd3hy6tsw35k7m3vyrcflfds7z064gskyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", + "used": false, + "created": true }, { - "tx": "0200000000010211b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c100000000000000000011b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c10100000000fdffffff024e7c0d0000000000225120974c19d5ed96a62a1bd10ad187fee5c2e3146f772228c5ae7a42b36e74cf24cfe0c81000000000002200206013ab2b7f5160d7d0d806c99ec3d1c3ba70a02be46051db5bec9c3c9bf6bfc30400473044022057e60e3d5ee0e89c9ba84e08c773316851098bc70000ff02e8931e7ae2a067b802205038fccf7ec110a24f7f01db4302050bba4f44471ad1986c42c3d6fbbf7e38c40147304402203e880e14fd5daacc21f5d6142c9137f41be4c51e87860e1b55eac2036270790902204f6c719030359d424317dc93cb1f09a09498a246454c3e27ca9f8cdaad7c478501475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae0140a92bcae975c98bb143be1ddc77e644ae037fe67ffd78396d344666db37bbfe9b9f15cd79e908f82e441b0a00b8952d51b9ce28e3b62567559cce4a7cd368067b79000000", - "txid": "acab3f7a74ab81065d3a30dd944edc42a72082616f1c2cebb76ccaa2713e1772" + "offer_id": "d33dde0e383b30fe6a44cebb295c2e5baefb7a15f76e3ada18287bab5e5aa54f", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyys5qqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq", + "used": false, + "created": true }, { - "tx": "02000000000102e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec000000000000000000e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec0100000000fdffffff024e7c0d00000000002251204b9cda8b26910c5d751a020106c58e34d986812d9cb37a32cedc4e3d7b35f17de0c810000000000022002057a390cefa90d94c0e4f2c52f87215f65b028d6867b3ad674fb70fe9e032e9ad0400473044022001c77d0c54396da6337c30d8966a0db092e65f493359bdfac994e25fce7e8cae0220122b25066ef0c82b7f4f9daccbc6fbbe6b37483438dc15d2235412d58c071ba30147304402207697c16dc19946acff3508177a2c233a10f33bbf5423917be17e3bf6f817417a022079a97a8f85c6429289fb2c9e0842a2182b1b6bd9367cd755d58427ea5bb9c08f014752210362a03b58ce471d2bd4e1c36ba06944e6952a485929b25958a38fc4cfe0f457632103dce0e1c5b449fc4deb8dfd3f4ae99be642b32b1744134de520925ed14df803dc52ae01403e37f85d59775854e1d6ff92cd2e68530b2282aa86364df6e339318187a10d77a961a15433fc0b80835a267c241cde676d4d5fec4e71b4abaab1ed3adc66963586000000", - "txid": "37673573d318e34e37f64332a545a782b0747d4ea811358fcd67f05e8d1538a4" + "offer_id": "f61cca153d1948dade19349792d9bcdc9cef687fd27db0b553a67979f55aae48", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyqs5rn5v4ehggrxdaezqvtdwdshg93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false, + "created": true }, { - "tx": "02000000000102ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde70100000000fdffffffffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde700000000000000000002e0c810000000000022002093dedd0c265bca868576d3ee2e59eebbb20ebc296e58f7edca93d5eeaec089964e7c0d0000000000225120af51605d918dbaa3bffca3c35b253cb79ab00053a2b4dfb11a9f12427647bb7e0140184b7a19788dab45ddac830cdb9b034232ba1d4dbeaa8ac8f9ba6d7be594559905b44db864297c7bb50b9047a2a79747e2f11aef9e057a4a6a62b4ae70175a33040047304402203b7f7a3a7dea2711720d5cdb3b9c17c7789d54839ccee5679ab6860746bfa23402203ebfefb9bac5bf1dbb3aae53d8855a35c6c32d684d1e0793d2d315472d69e7420147304402204c4f09575ab1de684520f905976a61c84f7677c267712859935376c36690871202201bfd67eab4db896f7575cbf29882a7c38722a3f518d26030f6fea3f8c0ca14720147522102570ec0b6eb545663302183a62eac75d08fdeeb64f31352192065d601c8ca521d210266867c342b8250ab6b4edac6dbae2fde53782b69cd17139949fbd4f208487ff252ae93000000", - "txid": "b48c80c2e02bf442d01dc078c81a798ae7497ffa27690e9eb179e3530bb32947" + "offer_id": "a97264304a272b0c6afdd5b58cf0c8250599211b8079b670fe5ca4c21cdf5e0e", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9q7ar9wd6zqen0wgsrqt33vf6xx93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false, + "created": true }, { - "tx": "02000000000102a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be26350100000000fdffffffa388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be263500000000000000000002e0c8100000000000220020a056363be8c7dbb511098cc50fbca24843e6ed6de03f816465f1998a9a82a09d4e7c0d00000000002251201067fac13be81ae1909c1d725d74016ef7bf6edf1b03387d461b4925f836e8550140c20f074e6c25e5b1d696b817262ab2b60a623f4ff5adc4a71842751827bf77612b24d2bcd480bb0770a36dffe4105c50f726a5c22962d6f51bf901c29855a0dd0400473044022030352283a516af6a505aff317c16176fcb287e2a9c120886f2090ddfa02e7004022033b5fef2fda20b46d53dfcdf1899f36b3150640641c7d9c66fd6e4ef7b76d7f20147304402200e4148231f60a7d5b65cba0cfb3899cff4821c5038e2c67d0708496b11fbb38402206fdbdb2354b803f79f911c55f6dab8dbe4a28b95e37eba3b458ce5bdf348e9170147522102612dc5877ba97d77f0461ab2017ae31c053f85c04d50fdbdc5c1d029daee900321034592a1c50ad5f1e4ae6dcc9680ce9d0688ae003c0cdec1bdc6946cc220e6919352aea0000000", - "txid": "021d4fa6a156618ec43d6838047391afb8492c9f9a9dae56aceda1f10ae629f9" + "offer_id": "adfea9beae50c7c127363e73c1a37cd0de417659ba4b2ab3746f49e9d61543bc", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2p36x2um5ypnx7u3qv9h8j93pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false, + "created": true }, { - "tx": "020000000001028e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a00100000000fdffffff8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0000000000000000000024e7c0d00000000002251203be137e5a3cd4b761045a88c0728d324351836f04ed59dfda379b8d8464652b7e0c8100000000000220020c9bc5c063caefbf7a6c7814407b5627b4f81a8b56ecbe932c682f9cbac0d19df0140e950fce300f0488b288142339abd4d67a24ad70a5a3e7c02554a566bb4ac8c9251cb0d654949e9fc93e5692bb6827ed4ef6e917de6ab095ce0b18af6b1d2931d040047304402203bcac36acaee045fd023af045e17e7904aa0db3f94415f3e7739a336465817ed02205a6ec6406e1c3523558eeb997de2b34c78c14dafbefe360d3593d53baaab97a501473044022067ba94c04efde43bdd66d3e611a4e8da2361c397e21636230343211b66d77d9e022011cc0ebb25f7002cf3a0388e08b3b06264a7739b191d3113cd72e351889c0cf001475221037a3f7696038548c5e93f5ae8f88b7784cefef681cf1bcfd7b5b0dd109925cbc721037cd6577af5920b34f21d607694e1d52b49b019782f0ec830c91808e345bbebfc52ae97000000", - "txid": "8489ddf9c95ed49273fd050bef6cfe4b6cfdd869cb9cac711f2906681d077c3e" + "offer_id": "b72e368ce05d3d0a71f3d737744533e0c8b26ede0f257f7c673abfdf4c0c8c75", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqd24x3qgq9jq5rt5v4ehggrxdaezqv242dzpvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", + "used": false, + "created": true }, { - "tx": "02000000000102ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb780100000000fdffffffec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb7800000000000000000002e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e8e8700000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be01405d247897eec12b4f5e542eb2ababb7e9c90c6623b76c6798061d5ca9444a94043e35604d0bc7d05b22ab39a31aa9b90c8a3536417d627ce0c2c0b1fb405b1d25040047304402207e8d0a8ee58fdb6ca46be9815810d3d74ebe8f008f1ea102ce8852cabd04fe6502205c090f65396c3940004215dd9a3574fdfc6e036e3ffa9c21db433930d82653ae014730440220230efa6d3f7acbcec389ae7856e25807e117b0d156cc3dee7b639d242d74229f02202f0caf316f19d0685a81376bf3029a0db95b424cdc5c979986a98a048d7927b60147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae6c000000", - "txid": "efe3f30ee1b141b3870e58eaefe8a352dec605b6b473394944c21fed01c33bde" + "offer_id": "158b45d2766ab041940f7a74c09cffe0de36dd0d990ffdc79f6fa188cb058ef8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcxqdq423qgq9hq5yr5v4ehggrxdaezqvfwxycyz42yzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false, + "created": true }, { - "tx": "020000000001022ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e0000000000000000002ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be0400473044022017d23cc911fdcc2d24cb1e702f57246e282ded2fd559bed274999901d7540a060220182a23aef2c69075a715b8c8cff948f801106efe817d5a1083682d0285f2db2d0147304402204d7b51c196c42953bb7fd19a9d3044c657e4de2e361d086003febbbdd95baffd02204318660efec2a530463baaec4c1a24d3f69c1c834e53ca92a1e9b62ecc6e572f0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae014060fd559cbfbfe98419a84efbff083a4fb5e3ae25f5da918332e3848e479b5459e94a7135b1fcfbc09ee8cbf0d09d87ae0009f81979a6b8a2590c1436da5634946c000000", - "txid": "3765b07ea8677cbfdc1593f83a0c0e5f5413e6c6f87fe6cfc7dabb79ded90d63" + "offer_id": "677b42565d29a11d4cfa96a65a2ff6dd9d453100dab0cce86fdf50901ccd8746", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgq5p9gzlyqq9zser9wd3hy6tsw35k7m3qtsszygqfyq9zpcur3t3c8vlrs2a78qanuwptjgp3u6w6793pqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63s", + "used": false, + "label": "label \\ \" \t \n", + "created": true }, { - "tx": "02000000000102672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b000000000000000000672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402204b022898c9777868bb5edc54f8fa08f809b239c36711e4cb64086f116d39c4a0022051feb7e430e04dfb649b360b709a3876b821336007ec95995f1b81ec186be9c4014730440220188d4c2b63057111f70b0207cea118a1ef1e6e1a3ddefb96ef37fdd0891a138a02203b1a15cb507253310f83d30d3717523446c156befdbc617fcbf5032b8d51b1b80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae014036fa6487d7a66e0b7be12275f7bd52f336d875e911cdbd7ee90c20e4dcc1322df523ad2cd81692f9ab04cea95213e9fc9ce3d2fbc93df9a6482f3547ef2eab2c6c000000", - "txid": "1278b6ec16938796fa2f0cbbff95435f8b8665cb8c80858ae8c45416341bdb4b" + "offer_id": "11398de26e05fe4a75a2983b47787112f9975503db3e19db4f18ef333193eeaa", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpg9kjumnw4jhygr5v4ehgy3gv3jhxcmjd9c8g6t0dcs9cgpzyqyjqz3quwpc4curk03c9wlrswe78q4eyqc7d8d0zcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false, + "created": true }, { - "tx": "0200000000010258c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d000000000000000000058c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d00100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022064c30b88879243cf33b782f4a39f485cb3a516e6f39c2e62b5c6714c6ebae7cf022061b4424d0abb0122c25e6a029c11c592c996bfef10ada7887d6477424ea96f650147304402200b4e357783e25e7ef15a782d792176026c0e0059fd507e942e741448a85b2d3b022061df1373201365488222bf02e90bb141b722196c70197ffe03a0466f1136ea8e0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae01404042a621e8685b785100b6cb053fad5e803a6177507cf220b5f88c9297983af452b879a0245855cc75204cb165a6bb7c22d46342e7b39d3fd0878763bf1ba5024e000000", - "txid": "bf8abfa53663bf1948753da882f762c989cb6227187285bd4638ba8ee70abf10" + "offer_id": "5a25c1182ebeaba12b29cce3166606d3d4b6f5cb686003cc6f42d34dba9ae7d8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgdhzatpde6xjaretakkz7pqv4uxjum5v4hxxefqw3jhxaq5qqtzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rq", + "used": false, + "created": true }, { - "tx": "02000000000101a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a10000000000000000000218a80d00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cda0860100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402201560d5601d4399a9518884ff8d4072dafd1d177fe7044b4a7ad05f292ebf40f7022000ad22fc0a999d7fd38408142ce6282bb83e31dadb1df99c7c8ca4251b622a850147304402201b8016536e8d783ec85cb11f2d24f192ad25ce77d39baafc2130b7cb8913c78902204fb4e5551d5420d6bc6173290d0e6c374998ce9c75a109964367fd391ff984c50147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae6c000000", - "txid": "922a6f56f9fd5356ca8865b0a3b0e0ab33b2da04f99cfc72997758b89ee5633d" + "offer_id": "aa5ad64401eb6bb5844c02bf2e80fe18e42a129fccf8f08a006dfa2e6d2f3a89", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaq5qyppvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5vq", + "used": false, + "created": true }, { - "tx": "02000000000102dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b000000000000000000dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402204b56d6b3cf7f77289657818c10ec907741f61041bfb937ea9afd7be6a4d4725402201efb63cb7c11cdd5dd01a0ca1cb528cbc38848ce0e8f14eb523c6f353044b0a701473044022001347e42ac52eac07437fa9de267ba59d81a491c91293e65ce4a9d412c9483d302203d48fc57ed444ba5c14e548bae075cbc3101c8ac9cd9cf406dfe4ec40c3e74840147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae01402579ff7b1118e73ae56b0122b208ee317fc29eeb5a742b2312ed725b6b52657f56a8516a731b20b5fa54185169246e6dd2b6d9c61158de00d6aef15d58493e816c000000", - "txid": "9ce51c947b221bfcd1c8ab4576cc5b96583ed520dfacd3e42a7e161b2c21ff10" + "offer_id": "398c7e268cb0cad59c0780c893dcd0ac7a0d36f2e31fd3f2cd0ec420176df8ef", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqwq3ja0jdpzcssyehytxx360zptatj4pygsv9kpal8gnkeyd0tpvd6jv5rkv2uqdgc", + "used": false, + "created": true }, { - "tx": "0200000000010278e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce000000000000000000078e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce00100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022018546d459431e6e4cdc5bb1f5117001c5070829a18c4818053a9e56767461afb02205a7968ac7997ec6d59e06d2985746ef2e7c2ea68082c01c0365d1ba5775ec6310147304402205d5e8135819bf53afd4ef836e3c25ecd573bdcf61755f293a32aeea4ada9ade7022064b6f947b7e9c98ddc72cdafd86f96f9c0873c8dde0b46fc01b29ff982a8bf230147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140b50f3abf8f839c75ac245aaa594e636c1df69e7a5f831f21c6927146aef00dc6a3674308546c108b79a862c6ced1fb1580ff055b7ce38e056ef63636a03469736c000000", - "txid": "f1274b6a4d1421ca6f816850a648ef362a21ed4f6160ae9577ebcb6b8745d1f5" + "offer_id": "e071c16038547230882d9cd0f3a42f5f7a504408f1c8873a319806028287fdfb", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqqz", + "used": false, + "created": true + }, + { + "offer_id": "6501decc648752b8628db176cf010a53556457e04456d5f9916c09126ceb80b9", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqq5", + "used": false, + "created": true + }, + { + "offer_id": "489c8fc25b5b20bb9ea9322e4d2bc0eda46fb45df350db7c9e9eed107ab4decb", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqrc", + "used": false, + "created": true + }, + { + "offer_id": "0323545a8595b588a4faa5e9b89917b20349c6527694970fad94a14450d5d4f3", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqqykq", + "used": false, + "created": true + }, + { + "offer_id": "4df855547bf2d2dee2212a77a3be21c24912e047a7ef165d24baee8b2370aba8", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqquyq", + "used": false, + "created": true + }, + { + "offer_id": "7c37628265547795e9f4ae951583c44b453767fb37b3b53f247df6c02fc190d3", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qvqgegq", + "used": false, + "created": true + }, + { + "offer_id": "11b421a0717452ef1af82016c222efcc8eeeffaef99092a927ffdfe947367c89", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsz", + "used": false, + "created": true + }, + { + "offer_id": "0bc07ac5eb9f2b350d8437a19f1a8f87dd724490996759c9e88cb2d9ce18662b", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqs5", + "used": false, + "created": true + }, + { + "offer_id": "f7a501e51e2a90d032150b9100b1977c625f05cfda22469bdc81d8a20b1e303f", + "active": true, + "single_use": false, + "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqszltcgqpgghzatpde6xjaretakkz7pqw3jhxaqkyypxdeze35wncs2l2u4gfzyrpds00e6yakfrt6ctrw5n9qanzhqr2xq6qgqsw", + "used": false, + "created": true } ], "author": [ - "Dusty <<@dusty_daemon>> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-splice_init(7)", - "lightning-splice_update(7)" + "lightning-listoffers(7)", + "lightning-disableoffer(7)", + "lightning-invoicerequest(7)" ], "resources": [ "Main web site: " ] }, - "lightning-splice_update.json": { + "lightning-openchannel_abort.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.08", - "rpc": "splice_update", - "title": "Command to initiate a channel to a peer", - "warning": "experimental-splicing only", + "rpc": "openchannel_abort", + "title": "Command to abort a channel to a peer", "description": [ - "`splice_update` is a low level RPC command which updates the active channel splice associated with `channel_id`.", - "", - "`splice_update` must be called repeatidly until the result `commitments_secured` is `true`. Each time `splice_update` is called, it will return a new PSBT that may have changes. In the simplest case, you take the returned `psbt` and pass it back into `splice_update` for the incoming `psbt` field.", - "", - "For more complex use cases, you may modify the `psbt` both before calling `splice_update` and inbetween subsequent calls until `commitments_secured` is `true`. After which point you can no long make modifications to the PSBT (beyond signing, which comes later with `splice_signed`).", - "", - "Each `splice_update` result may include changes to the PSBT specified by your channel peer. You can review these changes between calls to `splice_update` to perform additional validation or strategy adjustment.", - "", - "Typically, `splice_update` will return `commitments_secured` true after one call but you should assume it will need multiple calls." + "`openchannel_init` is a low level RPC command which initiates a channel open with a specified peer. It uses the openchannel protocol which allows for interactive transaction construction." ], "request": { "required": [ - "channel_id", - "psbt" + "channel_id" ], "properties": { - "channel_id": { - "type": "hash", - "description": [ - "The channel id of the channel to be spliced." - ] - }, - "psbt": { - "type": "string", + "channel_id": { + "type": "hash", "description": [ - "The base 64 encoded PSBT returned from `splice_init` with any changes added by the user." + "Channel id of the channel to be aborted." ] } } }, "response": { "required": [ - "psbt", - "commitments_secured" + "channel_id", + "channel_canceled", + "reason" ], "properties": { - "psbt": { - "type": "string", + "channel_id": { + "type": "hash", "description": [ - "The (incomplete) PSBT of the splice transaction." + "The channel id of the aborted channel." ] }, - "commitments_secured": { + "channel_canceled": { "type": "boolean", "description": [ - "Whether or not the commitments were secured." + "Whether this is completely canceled (there may be remaining in-flight transactions)." + ] + }, + "reason": { + "type": "string", + "description": [ + "Usually \"Abort requested\", but if it happened to fail at the same time it could be different." ] } } }, - "example_usage": [ - "Here is an example way to call `splice_update`", - "", - "```shell", - "RESULT={\"commitments_secured\":false}", - "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", - "do", - " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", - " PSBT=$(echo $RESULT | jq -r \".psbt\")", - " echo $RESULT", - "done", - "```", - "", - "Before each call to `splice_update` you have the opportunity to make additional changes.", - "", - "Here is a full example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", - "", - "```shell", - "RESULT=$(lightning-cli listpeerchannels)", - "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", - "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", - "PSBT=$(echo $RESULT | jq -r \".psbt\")", - "echo $RESULT", - "", - "RESULT={\"commitments_secured\":false}", - "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", - "do", - " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", - " PSBT=$(echo $RESULT | jq -r \".psbt\")", - " echo $RESULT", - "done", - "", - "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", - "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", - "echo $RESULT", + "errors": [ + "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:", "", - "lightning-cli splice_signed $CHANNEL_ID $PSBT", - "```" + "- -32602: If the given parameters are wrong.", + "- -1: Catchall nonspecific error.", + "- 305: Peer is not connected.", + "- 311: Unknown channel id.", + "- 312: Channel in an invalid state" + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_bump(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel(7)", + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-multifundchannel(7)" + ], + "resources": [ + "Main web site: " ], "example_json_request": [ { - "id": "example:splice_update#1", - "method": "splice_update", + "id": "example:openchannel_abort#1", + "method": "openchannel_abort", "params": { - "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gVndyHDWkJKI9bcx8kJA25QWuaGUOCdWXM7S35zADpNwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIK/Jiqp0i3SYAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDmPhBY5ChQUAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6" } }, { - "id": "example:splice_update#2", - "method": "splice_update", + "id": "example:openchannel_abort#2", + "method": "openchannel_abort", "params": { - "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", - "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gi9JWJfF8ve8M2OwCjZPhNqVFy5CjbYJrKRo/peixYysBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIQYRATkaED2wAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCM7CJA2jNB0qAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIbENoCf5Hio4AAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8" } }, { - "id": "example:splice_update#3", - "method": "splice_update", + "id": "example:openchannel_abort#3", + "method": "openchannel_abort", "params": { - "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gsR/jiZP8E8PEuRSMrLVvJaSzIvK4zqFt7yyHMRtteEYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEILOYcUhjAzkYAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCLz21Xp+Dk0CAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIDAEpuamKq3QAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" } }, { - "id": "example:splice_update#4", - "method": "splice_update", + "id": "example:openchannel_abort#4", + "method": "openchannel_abort", "params": { - "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", - "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEFR1IhAhwpdG5BNt3/RWSD3zmAwtDV8xyT713tVk9ylKENdBSqIQLrdfEO0gHsEvvRysYZ07lg1IMlGhYYAQDPOptMHiPv/1KuAQ4gEbiXQj5Moz17RCYiBVLkdn+HC0lfWO6UfSqYxjoviMEBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIGnfCPdZul94AAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCFWi5vcrQ5lEAAEDCE58DQAAAAAAAQQiUSCXTBnV7ZamKhvRCtGH/uXC4xRvdyIoxa56QrNudM8kzwz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMIAAAAAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7" } }, { - "id": "example:splice_update#5", - "method": "splice_update", + "id": "example:openchannel_abort#5", + "method": "openchannel_abort", "params": { - "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", - "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEFR1IhA2KgO1jORx0r1OHDa6BpROaVKkhZKbJZWKOPxM/g9FdjIQPc4OHFtEn8TeuN/T9K6ZvmQrMrF0QTTeUgkl7RTfgD3FKuAQ4g4foM9nP6gjQ7CEmOzrV6A4VVFlvOE5Hup5Wj6aKy8OwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIMhTVGj4EalYAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKexrdwmY1F4AAEDCE58DQAAAAAAAQQiUSBLnNqLJpEMXXUaAgEGxY402YaBLZyzejLO3E49ezXxfQz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMIAAAAAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13" } }, { - "id": "example:splice_update#6", - "method": "splice_update", + "id": "example:openchannel_abort#6", + "method": "openchannel_abort", "params": { - "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", - "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQVHUiECVw7AtutUVmMwIYOmLqx10I/e62TzE1IZIGXWAcjKUh0hAmaGfDQrglCra07axtuuL95TeCtpzRcTmUn71PIISH/yUq4BDiD/yvWLGwsaFQIg4DKRPzCNw6dyQCGGdd4txiIGMIjN5wEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiVVBGTmPomqAABAwgAAAAAAAAAAAEEIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYM/AlsaWdodG5pbmcBCCHyowtU6dbaAAEDCE58DQAAAAAAAQQiUSCvUWBdkY26o7/8o8NbJTy3mrAAU6K037EanxJCdke7fgz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379" } }, { - "id": "example:splice_update#7", - "method": "splice_update", + "id": "example:openchannel_abort#7", + "method": "openchannel_abort", "params": { - "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", - "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BBUdSIQJhLcWHe6l9d/BGGrIBeuMcBT+FwE1Q/b3FwdAp2u6QAyEDRZKhxQrV8eSubcyWgM6dBoiuADwM3sG9xpRswiDmkZNSrgEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCH1VIAqQd6ZAAAEDCAAAAAAAAAAAAQQiACCgVjY76MfbtREJjMUPvKJIQ+btbeA/gWRl8ZmKmoKgnQz8CWxpZ2h0bmluZwEIURpO7CkZ3dAAAQMITnwNAAAAAAABBCJRIBBn+sE76BrhkJwdcl10AW73v27fGwM4fUYbSSX4NuhVDPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4" } }, { - "id": "example:splice_update#8", - "method": "splice_update", + "id": "example:openchannel_abort#8", + "method": "openchannel_abort", "params": { - "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", - "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BBUdSIQN6P3aWA4VIxek/Wuj4i3eEzv72gc8bz9e1sN0QmSXLxyEDfNZXevWSCzTyHWB2lOHVK0mwGXgvDsgwyRgI40W76/xSrgEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCOFOEzXQ59v4AAEDCE58DQAAAAAAAQQiUSA74Tflo81LdhBFqIwHKNMkNRg28E7Vnf2jebjYRkZStwz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMIAAAAAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3" } }, { - "id": "example:splice_update#9", - "method": "splice_update", + "id": "example:openchannel_abort#9", + "method": "openchannel_abort", "params": { - "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BBUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKVEmpG4fXRsAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIEnLndwbE4HgAAQMITo6HAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae" } }, { - "id": "example:splice_update#10", - "method": "splice_update", + "id": "example:openchannel_abort#10", + "method": "openchannel_abort", "params": { - "channel_id": "d4aa1a72d383a4b1fbfb33408a46bcf1292db4bbfadc6e4496810ed2f3af89b6", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g1KoactODpLH7+zNAika88SkttLv63G5EloEO0vOvibYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIqZaYfujo2BwAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCP0mEB0ZGKJuAAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" + "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52" } }, { - "id": "example:splice_update#11", - "method": "splice_update", + "id": "example:openchannel_abort#11", + "method": "openchannel_abort", "params": { - "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gLvYxu+lLpVPBqKH9d2Cb5qzIAwsXpyqcyvQ5oH5nwF4BDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIB89Az8bSUbAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCOU1wuT/1NQ+AAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIHljdzrPDqcwAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2" } }, { - "id": "example:splice_update#12", - "method": "splice_update", + "id": "example:openchannel_abort#12", + "method": "openchannel_abort", "params": { - "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gZyZw0D6ys94JBp3Uep5Uje1qf0rMtKlZyxfl0KxZ5UsBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIdhLmRH0voHIAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCL2hF0YVoCNeAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIGp7T9myw9goAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b" } }, { - "id": "example:splice_update#13", - "method": "splice_update", + "id": "example:openchannel_abort#13", + "method": "openchannel_abort", "params": { - "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", - "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gWMIDcohpczFwLx0xYRAdL1P9WIeAZr74Mot6u2fkINABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIcFBwW8PCblQAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCPnRQRszVflAAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d" } }, { - "id": "example:splice_update#14", - "method": "splice_update", + "id": "example:openchannel_abort#14", + "method": "openchannel_abort", "params": { - "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gpAu0QtqwIxtR2PhC2VqtVIqjXh0TxM/PKZc0T4BUU6EBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIn2Ac8fyFEJwAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQgu7JK9IpBWOAABAwighgEAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCOZ1GpRwbKfuAA==" + "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850" } }, { - "id": "example:splice_update#15", - "method": "splice_update", + "id": "example:openchannel_abort#15", + "method": "openchannel_abort", "params": { - "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g3GndU0mBa3/m9IPV7nFTM7kTMnnzcbwR+jzq103E/isBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEItwxCusFf01QAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMgFmkSe2m9gAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIxulwFA6teKoAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + "channel_id": "f6b0dd7b022065cae32f02b5d4b0bab7c4ce4755d389b8203e6c5b012f33801c" } }, { - "id": "example:splice_update#16", - "method": "splice_update", + "id": "example:openchannel_abort#16", + "method": "openchannel_abort", "params": { - "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4geOeYSfdnAF5Jy+uSkKsVUGv33QExwv38vC+K6Be4jOABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIIATHYCCJHzAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCHXamYBiH1QqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + "channel_id": "ed8047c5ccc83e65bbc76274cfdc077b130522b9a3dcb677216cd9c5b6c0520d" + } + }, + { + "id": "example:openchannel_abort#17", + "method": "openchannel_abort", + "params": { + "channel_id": "68a52164b5a1f042beab3bbcf2de61731e2923fe0a00bbec75ed38ea7d4a35da" + } + }, + { + "id": "example:openchannel_abort#18", + "method": "openchannel_abort", + "params": { + "channel_id": "1c7598fd63146e9dcd85ed0c1143d3c90a00da2152c94e133946ba6d9365e0cf" + } + }, + { + "id": "example:openchannel_abort#19", + "method": "openchannel_abort", + "params": { + "channel_id": "a162c72da35706a17e8c4746ee0f463eb244c24483bf6da2e3a214f8a034195e" + } + }, + { + "id": "example:openchannel_abort#20", + "method": "openchannel_abort", + "params": { + "channel_id": "d73efbee41519c41d6094f89aee195b73af0049108dc45e7d748b7212dfa24d0" + } + }, + { + "id": "example:openchannel_abort#21", + "method": "openchannel_abort", + "params": { + "channel_id": "9d1d1bca82711729d79a757cdeb47ad123749c182b552ac04f085cbca03218ea" } } ], "example_json_response": [ { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCMbeD+3qn9/kAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI4upB+mjl6AIA", - "commitments_secured": true + "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI+hxMzu14vTIA", - "commitments_secured": true + "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIr++SR9L3pxYA", - "commitments_secured": true + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8M/AlsaWdodG5pbmcBCEqp7j+Fzz26AAEDCODIEAAAAAAAAQQiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwz8CWxpZ2h0bmluZwEI6Akvp0mZjYYA", - "commitments_secured": true + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0M/AlsaWdodG5pbmcBCKM6W9ikNMuIAAEDCODIEAAAAAAAAQQiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQz8CWxpZ2h0bmluZwEI2cr+W0Zxee4A", - "commitments_secured": true + "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34M/AlsaWdodG5pbmcBCFQ0TOBBlgMSAA==", - "commitments_secured": true + "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVQz8CWxpZ2h0bmluZwEIY2Ov6P6i1BoA", - "commitments_secured": true + "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrcM/AlsaWdodG5pbmcBCAI02w5E3raGAAEDCODIEAAAAAAAAQQiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z3wz8CWxpZ2h0bmluZwEI0FwC5BQBVzoA", - "commitments_secured": true + "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIsxXzTDldwaoA", - "commitments_secured": true + "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCFol1305RLSEAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI6hXVngxUsjAA", - "commitments_secured": true + "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIZUU/3RYkOYAA", - "commitments_secured": true + "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIiig65O+Y6+YA", - "commitments_secured": true + "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCCJAK2EimaaoAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI5lJHZzirrkoA", - "commitments_secured": true + "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIKQLtELasCMbUdj4QtlarVSKo14dE8TPzymXNE+AVFOhAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCJ9gHPH8hRCcAAEDCBioDQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEILuySvSKQVjgAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjmdRqUcGyn7gA=", - "commitments_secured": true + "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI2X7UNHx1NPoA", - "commitments_secured": true + "channel_id": "f6b0dd7b022065cae32f02b5d4b0bab7c4ce4755d389b8203e6c5b012f33801c", + "channel_canceled": true, + "reason": "Abort requested" }, { - "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCHLFtWk7Kj3aAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEInK6NtLtmEmgA", - "commitments_secured": true + "channel_id": "ed8047c5ccc83e65bbc76274cfdc077b130522b9a3dcb677216cd9c5b6c0520d", + "channel_canceled": true, + "reason": "Abort requested" + }, + { + "channel_id": "68a52164b5a1f042beab3bbcf2de61731e2923fe0a00bbec75ed38ea7d4a35da", + "channel_canceled": true, + "reason": "Abort requested" + }, + { + "channel_id": "1c7598fd63146e9dcd85ed0c1143d3c90a00da2152c94e133946ba6d9365e0cf", + "channel_canceled": true, + "reason": "Abort requested" + }, + { + "channel_id": "a162c72da35706a17e8c4746ee0f463eb244c24483bf6da2e3a214f8a034195e", + "channel_canceled": true, + "reason": "Abort requested" + }, + { + "channel_id": "d73efbee41519c41d6094f89aee195b73af0049108dc45e7d748b7212dfa24d0", + "channel_canceled": true, + "reason": "Abort requested" + }, + { + "channel_id": "9d1d1bca82711729d79a757cdeb47ad123749c182b552ac04f085cbca03218ea", + "channel_canceled": true, + "reason": "Abort requested" + } + ] + }, + "lightning-openchannel_bump.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "openchannel_bump", + "title": "Command to initiate a channel RBF", + "description": [ + "`openchannel_bump` is a RPC command which initiates a channel RBF (Replace-By-Fee) for the specified channel. It uses the openchannel protocol which allows for interactive transaction construction.", + "", + "Warning: bumping a leased channel will lose the lease." + ], + "request": { + "required": [ + "channel_id", + "amount", + "initialpsbt" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "Id of the channel to RBF." + ] + }, + "amount": { + "type": "sat", + "description": [ + "Satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel." + ] + }, + "initialpsbt": { + "type": "string", + "description": [ + "The funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met." + ] + }, + "funding_feerate": { + "type": "feerate", + "description": [ + "Feerate for the funding transaction." + ], + "default": "1/64th greater than the last feerate used for this channel" + } } + }, + "response": { + "required": [ + "channel_id", + "channel_type", + "psbt", + "commitments_secured", + "funding_serial" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } + }, + "names": { + "type": "array", + "description": [ + "Feature name for each bit set in this channel_type." + ], + "added": "v24.02", + "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." + ] + } + } + } + }, + "psbt": { + "type": "string", + "description": [ + "The (incomplete) PSBT of the RBF transaction." + ] + }, + "commitments_secured": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether the *psbt* is complete." + ] + }, + "funding_serial": { + "type": "u64", + "description": [ + "The serial_id of the funding output in the *psbt*." + ] + }, + "requires_confirmed_inputs": { + "type": "boolean", + "description": [ + "Does peer require confirmed inputs in psbt?" + ] + } + }, + "post_return_value_notes": [ + "If the peer does not support `option_dual_fund`, this command will return an error.", + "", + "If the channel is not in a state that is eligible for RBF, this command will return an error." + ] + }, + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 300: The amount exceeded the maximum configured funding amount.", + "- 301: The provided PSBT cannot afford the funding amount.", + "- 305: Peer is not connected.", + "- 309: PSBT missing required fields", + "- 311: Unknown channel id.", + "- 312: Channel in an invalid state" ], "author": [ - "Dusty <<@dusty_daemon>> is mainly responsible." + "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightning-splice_init(7)", - "lightning-splice_signed(7)" + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_abort(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel(7)", + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-multifundchannel(7)" ], "resources": [ "Main web site: " ] }, - "lightning-sql.json": { + "lightning-openchannel_init.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "added": "v23.02", - "rpc": "sql", - "title": "Command to do complex queries on list commands", + "rpc": "openchannel_init", + "title": "Command to initiate a channel to a peer", "description": [ - "The **sql** RPC command runs the given query across a sqlite3 database created from various list commands.", - "", - "When tables are accessed, it calls the below commands, so it's no faster than any other local access (though it goes to great length to cache `listnodes` and `listchannels`) which then processes the results.", - "", - "It is, however faster for remote access if the result of the query is much smaller than the list commands would be." + "`openchannel_init` is a low level RPC command which initiates a channel open with a specified peer. It uses the openchannel protocol which allows for interactive transaction construction." ], "request": { "required": [ - "query" + "id", + "amount", + "initialpsbt" ], "properties": { - "query": { + "id": { + "type": "pubkey", + "description": [ + "Node id of the remote peer." + ] + }, + "amount": { + "type": "sat", + "description": [ + "Satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel." + ] + }, + "initialpsbt": { "type": "string", "description": [ - "The standard sqlite3 query to run.", - "Note that queries like \"SELECT *\" are fragile, as columns will change across releases; see lightning-listsqlschemas(7)." + "Funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met." + ] + }, + "commitment_feerate": { + "type": "feerate", + "description": [ + "Feerate for commitment transactions for non-anchor channels: see **fundchannel**. For anchor channels, it is ignored." + ] + }, + "funding_feerate": { + "type": "feerate", + "description": [ + "Feerate for the funding transaction." + ], + "default": "'opening' feerate" + }, + "announce": { + "type": "boolean", + "description": [ + "Whether or not to announce this channel." + ] + }, + "close_to": { + "type": "string", + "description": [ + "Bitcoin address to which the channel funds should be sent on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`." + ] + }, + "request_amt": { + "type": "msat", + "description": [ + "An amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*." + ] + }, + "compact_lease": { + "type": "hex", + "description": [ + "A compact representation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel." ] + }, + "channel_type": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } } } }, "response": { "required": [ - "rows" + "channel_id", + "psbt", + "channel_type", + "commitments_secured", + "funding_serial" ], "properties": { - "rows": { - "type": "array", - "items": { - "type": "array" - } + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel." + ] }, - "warning_db_failure": { + "psbt": { "type": "string", "description": [ - "A message if the database encounters an error partway through." + "The (incomplete) PSBT of the funding transaction." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } + }, + "names": { + "type": "array", + "description": [ + "Feature name for each bit set in this channel_type." + ], + "added": "v24.02", + "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." + ] + } + } + } + }, + "commitments_secured": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "Whether the *psbt* is complete." + ] + }, + "funding_serial": { + "type": "u64", + "description": [ + "The serial_id of the funding output in the *psbt*." + ] + }, + "requires_confirmed_inputs": { + "type": "boolean", + "description": [ + "Does peer require confirmed inputs in psbt?" ] } }, - "pre_return_value_notes": [ - "On success, an object containing **rows** is returned. It is an array. Each array entry contains an array of values, each an integer, real number, string or *null*, depending on the sqlite3 type.", + "post_return_value_notes": [ + "If the peer does not support `option_dual_fund`, this command will return an error.", "", - "The object may contain **warning_db_failure** if the database fails partway through its operation." + "If you sent a *request_amt* and the peer supports `option_will_fund` and is interested in leasing you liquidity in this channel, returns their updated channel fee max (*channel_fee_proportional_basis*, *channel_fee_base_msat*), updated rate card for the lease fee (*lease_fee_proportional_basis*, *lease_fee_base_sat*) and their on-chain weight *weight_charge*, which will be added to the lease fee at a rate of *funding_feerate* * *weight_charge* / 1000." ] }, - "treatment_of_types": [ - "The following types are supported in schemas, and this shows how they are presented in the database. This matters: a JSON boolean is represented as an integer in the database, so a query will return 0 or 1, not true or false.", - "", - "* *hex*. A hex string.", - " * JSON: a string", - " * sqlite3: BLOB", - "", - "* *hash*/*secret*/*pubkey*/*txid*: just like *hex*.", - "", - "* *msat*/*integer*/*u64*/*u32*/*u16*/*u8*. Normal numbers.", - " * JSON: an unsigned integer", - " * sqlite3: INTEGER", - "", - "* *boolean*. True or false.", - " * JSON: literal **true** or **false**", - " * sqlite3: INTEGER", - "", - "* *number*. A floating point number (used for times in some places).", - " * JSON: number", - " * sqlite3: REAL", - "", - "* *string*. Text.", - " * JSON: string", - " * sqlite3: TEXT", - "", - "* *short_channel_id*. A short-channel-id of form 1x2x3.", - " * JSON: string", - " * sqlite3: TEXT" - ], - "permitted_sqlite3_functions": [ - "Writing to the database is not permitted, and limits are placed on various other query parameters.", - "", - "Additionally, only the following functions are allowed:", - "", - "* abs", - "* avg", - "* coalesce", - "* count", - "* hex", - "* quote", - "* length", - "* like", - "* lower", - "* upper", - "* min", - "* max", - "* sum", - "* total" - ], - "tables": [ - "Note that the first column of every table is a unique integer called `rowid`: this is used for related tables to refer to specific rows in their parent. sqlite3 usually has this as an implicit column, but we make it explicit as the implicit version is not allowed to be used as a foreign key.", - "", - "The following tables are currently supported:\n- `bkpr_accountevents` (see lightning-bkpr-listaccountevents(7))\n - `account` (type `string`, sqltype `TEXT`)\n - `type` (type `string`, sqltype `TEXT`)\n - `tag` (type `string`, sqltype `TEXT`)\n - `credit_msat` (type `msat`, sqltype `INTEGER`)\n - `debit_msat` (type `msat`, sqltype `INTEGER`)\n - `currency` (type `string`, sqltype `TEXT`)\n - `timestamp` (type `u32`, sqltype `INTEGER`)\n\n- `bkpr_income` (see lightning-bkpr-listincome(7))\n - `account` (type `string`, sqltype `TEXT`)\n - `tag` (type `string`, sqltype `TEXT`)\n - `credit_msat` (type `msat`, sqltype `INTEGER`)\n - `debit_msat` (type `msat`, sqltype `INTEGER`)\n - `currency` (type `string`, sqltype `TEXT`)\n - `timestamp` (type `u32`, sqltype `INTEGER`)\n - `description` (type `string`, sqltype `TEXT`)\n - `outpoint` (type `string`, sqltype `TEXT`)\n - `txid` (type `txid`, sqltype `BLOB`)\n - `payment_id` (type `hex`, sqltype `BLOB`)\n\n- `channels` indexed by `short_channel_id` (see lightning-listchannels(7))\n - `source` (type `pubkey`, sqltype `BLOB`)\n - `destination` (type `pubkey`, sqltype `BLOB`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `direction` (type `u32`, sqltype `INTEGER`)\n - `public` (type `boolean`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `message_flags` (type `u8`, sqltype `INTEGER`)\n - `channel_flags` (type `u8`, sqltype `INTEGER`)\n - `active` (type `boolean`, sqltype `INTEGER`)\n - `last_update` (type `u32`, sqltype `INTEGER`)\n - `base_fee_millisatoshi` (type `u32`, sqltype `INTEGER`)\n - `fee_per_millionth` (type `u32`, sqltype `INTEGER`)\n - `delay` (type `u32`, sqltype `INTEGER`)\n - `htlc_minimum_msat` (type `msat`, sqltype `INTEGER`)\n - `htlc_maximum_msat` (type `msat`, sqltype `INTEGER`)\n - `features` (type `hex`, sqltype `BLOB`)\n\n- `closedchannels` (see lightning-listclosedchannels(7))\n - `peer_id` (type `pubkey`, sqltype `BLOB`)\n - `channel_id` (type `hash`, sqltype `BLOB`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `opener` (type `string`, sqltype `TEXT`)\n - `closer` (type `string`, sqltype `TEXT`)\n - `private` (type `boolean`, sqltype `INTEGER`)\n - related table `closedchannels_channel_type_bits`, from JSON object `channel_type`\n - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `bits` (type `u32`, sqltype `INTEGER`)\n - related table `closedchannels_channel_type_names`, from JSON object `channel_type`\n - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `names` (type `string`, sqltype `TEXT`)\n - `total_local_commitments` (type `u64`, sqltype `INTEGER`)\n - `total_remote_commitments` (type `u64`, sqltype `INTEGER`)\n - `total_htlcs_sent` (type `u64`, sqltype `INTEGER`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `leased` (type `boolean`, sqltype `INTEGER`)\n - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`)\n - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`)\n - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`)\n - `total_msat` (type `msat`, sqltype `INTEGER`)\n - `final_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `min_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `max_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `last_commitment_txid` (type `hash`, sqltype `BLOB`)\n - `last_commitment_fee_msat` (type `msat`, sqltype `INTEGER`)\n - `close_cause` (type `string`, sqltype `TEXT`)\n\n- `forwards` indexed by `in_channel and in_htlc_id` (see lightning-listforwards(7))\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `in_channel` (type `short_channel_id`, sqltype `TEXT`)\n - `in_htlc_id` (type `u64`, sqltype `INTEGER`)\n - `in_msat` (type `msat`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `received_time` (type `number`, sqltype `REAL`)\n - `out_channel` (type `short_channel_id`, sqltype `TEXT`)\n - `out_htlc_id` (type `u64`, sqltype `INTEGER`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n - `style` (type `string`, sqltype `TEXT`)\n\n- `htlcs` indexed by `short_channel_id and id` (see lightning-listhtlcs(7))\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `expiry` (type `u32`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `direction` (type `string`, sqltype `TEXT`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `state` (type `string`, sqltype `TEXT`)\n\n- `invoices` indexed by `payment_hash` (see lightning-listinvoices(7))\n - `label` (type `string`, sqltype `TEXT`)\n - `description` (type `string`, sqltype `TEXT`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `status` (type `string`, sqltype `TEXT`)\n - `expires_at` (type `u64`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `bolt11` (type `string`, sqltype `TEXT`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n - `local_offer_id` (type `hash`, sqltype `BLOB`)\n - `invreq_payer_note` (type `string`, sqltype `TEXT`)\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n\n- `nodes` indexed by `nodeid` (see lightning-listnodes(7))\n - `nodeid` (type `pubkey`, sqltype `BLOB`)\n - `last_timestamp` (type `u32`, sqltype `INTEGER`)\n\n- `offers` indexed by `offer_id` (see lightning-listoffers(7))\n - `offer_id` (type `hash`, sqltype `BLOB`)\n - `active` (type `boolean`, sqltype `INTEGER`)\n - `single_use` (type `boolean`, sqltype `INTEGER`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n - `used` (type `boolean`, sqltype `INTEGER`)\n - `label` (type `string`, sqltype `TEXT`)\n\n- `peerchannels` indexed by `peer_id` (see lightning-listpeerchannels(7))\n - `peer_id` (type `pubkey`, sqltype `BLOB`)\n - `peer_connected` (type `boolean`, sqltype `INTEGER`)\n - `reestablished` (type `boolean`, sqltype `INTEGER`)\n - `state` (type `string`, sqltype `TEXT`)\n - `scratch_txid` (type `txid`, sqltype `BLOB`)\n - related table `peerchannels_channel_type_bits`, from JSON object `channel_type`\n - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `bits` (type `u32`, sqltype `INTEGER`)\n - related table `peerchannels_channel_type_names`, from JSON object `channel_type`\n - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `names` (type `string`, sqltype `TEXT`)\n - `local_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `local`)\n - `local_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `local`)\n - `remote_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `remote`)\n - `ignore_fee_limits` (type `boolean`, sqltype `INTEGER`)\n - `lost_state` (type `boolean`, sqltype `INTEGER`)\n - `feerate_perkw` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`)\n - `feerate_perkb` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`)\n - `owner` (type `string`, sqltype `TEXT`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `channel_id` (type `hash`, sqltype `BLOB`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `initial_feerate` (type `string`, sqltype `TEXT`)\n - `last_feerate` (type `string`, sqltype `TEXT`)\n - `next_feerate` (type `string`, sqltype `TEXT`)\n - `next_fee_step` (type `u32`, sqltype `INTEGER`)\n - related table `peerchannels_inflight`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `feerate` (type `string`, sqltype `TEXT`)\n - `total_funding_msat` (type `msat`, sqltype `INTEGER`)\n - `splice_amount` (type `integer`, sqltype `INTEGER`)\n - `our_funding_msat` (type `msat`, sqltype `INTEGER`)\n - `scratch_txid` (type `txid`, sqltype `BLOB`)\n - `close_to` (type `hex`, sqltype `BLOB`)\n - `private` (type `boolean`, sqltype `INTEGER`)\n - `opener` (type `string`, sqltype `TEXT`)\n - `closer` (type `string`, sqltype `TEXT`)\n - related table `peerchannels_features`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `features` (type `string`, sqltype `TEXT`)\n - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_local_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_remote_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `min_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `max_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `total_msat` (type `msat`, sqltype `INTEGER`)\n - `fee_base_msat` (type `msat`, sqltype `INTEGER`)\n - `fee_proportional_millionths` (type `u32`, sqltype `INTEGER`)\n - `dust_limit_msat` (type `msat`, sqltype `INTEGER`)\n - `max_total_htlc_in_msat` (type `msat`, sqltype `INTEGER`)\n - `their_reserve_msat` (type `msat`, sqltype `INTEGER`)\n - `our_reserve_msat` (type `msat`, sqltype `INTEGER`)\n - `spendable_msat` (type `msat`, sqltype `INTEGER`)\n - `receivable_msat` (type `msat`, sqltype `INTEGER`)\n - `minimum_htlc_in_msat` (type `msat`, sqltype `INTEGER`)\n - `minimum_htlc_out_msat` (type `msat`, sqltype `INTEGER`)\n - `maximum_htlc_out_msat` (type `msat`, sqltype `INTEGER`)\n - `their_to_self_delay` (type `u32`, sqltype `INTEGER`)\n - `our_to_self_delay` (type `u32`, sqltype `INTEGER`)\n - `max_accepted_htlcs` (type `u32`, sqltype `INTEGER`)\n - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - related table `peerchannels_state_changes`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `timestamp` (type `string`, sqltype `TEXT`)\n - `old_state` (type `string`, sqltype `TEXT`)\n - `new_state` (type `string`, sqltype `TEXT`)\n - `cause` (type `string`, sqltype `TEXT`)\n - `message` (type `string`, sqltype `TEXT`)\n - related table `peerchannels_status`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `in_payments_offered` (type `u64`, sqltype `INTEGER`)\n - `in_offered_msat` (type `msat`, sqltype `INTEGER`)\n - `in_payments_fulfilled` (type `u64`, sqltype `INTEGER`)\n - `in_fulfilled_msat` (type `msat`, sqltype `INTEGER`)\n - `out_payments_offered` (type `u64`, sqltype `INTEGER`)\n - `out_offered_msat` (type `msat`, sqltype `INTEGER`)\n - `out_payments_fulfilled` (type `u64`, sqltype `INTEGER`)\n - `out_fulfilled_msat` (type `msat`, sqltype `INTEGER`)\n - `last_stable_connection` (type `u64`, sqltype `INTEGER`)\n - related table `peerchannels_htlcs`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `direction` (type `string`, sqltype `TEXT`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `expiry` (type `u32`, sqltype `INTEGER`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `local_trimmed` (type `boolean`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n\n- `peers` indexed by `id` (see lightning-listpeers(7))\n - `id` (type `pubkey`, sqltype `BLOB`)\n - `connected` (type `boolean`, sqltype `INTEGER`)\n - related table `peers_netaddr`\n - `row` (reference to `peers.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `netaddr` (type `string`, sqltype `TEXT`)\n - `features` (type `string`, sqltype `TEXT`)\n - `num_channels` (type `u32`, sqltype `INTEGER`)\n\n- `sendpays` indexed by `payment_hash` (see lightning-listsendpays(7))\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `groupid` (type `u64`, sqltype `INTEGER`)\n - `partid` (type `u64`, sqltype `INTEGER`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `destination` (type `pubkey`, sqltype `BLOB`)\n - `created_at` (type `u64`, sqltype `INTEGER`)\n - `amount_sent_msat` (type `msat`, sqltype `INTEGER`)\n - `label` (type `string`, sqltype `TEXT`)\n - `bolt11` (type `string`, sqltype `TEXT`)\n - `description` (type `string`, sqltype `TEXT`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n\n- `transactions` indexed by `hash` (see lightning-listtransactions(7))\n - `hash` (type `txid`, sqltype `BLOB`)\n - `rawtx` (type `hex`, sqltype `BLOB`)\n - `blockheight` (type `u32`, sqltype `INTEGER`)\n - `txindex` (type `u32`, sqltype `INTEGER`)\n - `locktime` (type `u32`, sqltype `INTEGER`)\n - `version` (type `u32`, sqltype `INTEGER`)\n - related table `transactions_inputs`\n - `row` (reference to `transactions.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `txid` (type `txid`, sqltype `BLOB`)\n - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`)\n - `sequence` (type `u32`, sqltype `INTEGER`)\n - related table `transactions_outputs`\n - `row` (reference to `transactions.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `scriptPubKey` (type `hex`, sqltype `BLOB`)" - ], "errors": [ - "On failure, an error is returned." - ], - "example_usage": [ - "Here are some example using lightning-cli. Note that you may need to use `-o` if you use queries which contain `=` (which make lightning-cli(1) default to keyword style):", - "", - "A simple peer selection query:", - "", - "```shell", - "$ lightning-cli sql \"SELECT id FROM peers\"", - "{", - " \"rows\": [", - " [", - " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", - " ]", - " ]", - "}", - "```", - "", - "A statement containing using `=` needs `-o`:", - "", - "```shell", - "$ lightning-cli sql -o \"SELECT node_id,last_timestamp FROM nodes WHERE last_timestamp>=1669578892\"", - "{", - " \"rows\": [", - " [", - " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\",", - " 1669601603", - " ]", - " ]", - "}", - "```", - "", - "If you want to compare a BLOB column, `x'hex'` or `X'hex'` are needed:", - "", - "```shell", - "$ lightning-cli sql -o \"SELECT nodeid FROM nodes WHERE nodeid != x'03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1';\"", - "{", - " \"rows\": [", - " [", - " \"0214739d625944f8fdc0da9d2ef44dbd7af58443685e494117b51410c5c3ff973a\"", - " ],", - " [", - " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", - " ]", - " ]", - "}", - "$ lightning-cli sql -o \"SELECT nodeid FROM nodes WHERE nodeid IN (x'03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1', x'02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00')\"", - "{", - " \"rows\": [", - " [", - " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", - " ],", - " [", - " \"03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1\"", - " ]", - " ]", - "}", - "```", - "", - "Related tables are usually referenced by JOIN:", - "", - "```shell", - "$ lightning-cli sql -o \"SELECT nodeid, alias, nodes_addresses.type, nodes_addresses.port, nodes_addresses.address FROM nodes INNER JOIN nodes_addresses ON nodes_addresses.row = nodes.rowid\"", - "{", - " \"rows\": [", - " [", - " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\",", - " \"YELLOWWATCH-22.11rc2-31-gcd7593b\",", - " \"dns\",", - " 7272,", - " \"localhost\"", - " ],", - " [", - " \"0214739d625944f8fdc0da9d2ef44dbd7af58443685e494117b51410c5c3ff973a\",", - " \"HOPPINGSQUIRREL-1rc2-31-gcd7593b\",", - " \"dns\",", - " 7171,", - " \"localhost\"", - " ]", - " ]", - "}", - "```", - "", - "Simple function usage, in this case COUNT. Strings inside arrays need \", and ' to protect them from the shell:", + "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:", "", - "```shell", - "$ lightning-cli sql 'SELECT COUNT(*) FROM nodes\"", - "{", - " \"rows\": [", - " [", - " 3", - " ]", - " ]", - "}", - "```" + "- -32602: If the given parameters are wrong.", + "- -1: Catchall nonspecific error.", + "- 300: The amount exceeded the maximum configured funding amount.", + "- 301: The provided PSBT cannot afford the funding amount.", + "- 304: Still syncing with bitcoin network", + "- 305: Peer is not connected.", + "- 306: Unknown peer id.", + "- 309: PSBT missing required fields", + "- 310: v2 channel open protocol not supported by peer", + "- 312: Channel in an invalid state" ], "author": [ - "Rusty Russell <> is mainly responsible." + "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightning-listtransactions(7)", - "lightning-listchannels(7)", - "lightning-listpeers(7)", - "lightning-listnodes(7)", - "lightning-listforwards(7)" + "lightning-openchannel_update(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_abort(7)", + "lightning-openchannel_bump(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel(7)", + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-multifundchannel(7)" ], "resources": [ "Main web site: " ], "example_json_request": [ { - "id": "example:sql#1", - "method": "sql", - "params": [ - "SELECT * FROM forwards;" - ] + "id": "example:openchannel_init#1", + "method": "openchannel_init", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 999000, + "initialpsbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": [ + 12 + ] + } + }, + { + "id": "example:openchannel_init#2", + "method": "openchannel_init", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 999000, + "initialpsbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": [ + 12, + 22 + ] + } + }, + { + "id": "example:openchannel_init#3", + "method": "openchannel_init", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 16777216, + "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#4", + "method": "openchannel_init", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#5", + "method": "openchannel_init", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 1000000, + "initialpsbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#6", + "method": "openchannel_init", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#7", + "method": "openchannel_init", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#8", + "method": "openchannel_init", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#9", + "method": "openchannel_init", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#10", + "method": "openchannel_init", + "params": { + "id": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#11", + "method": "openchannel_init", + "params": { + "id": "0269f9862c311261241e5aee7abe0ec93c88613cc8f3c5f33cb1eea90d2bc4ddb6", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPh9uV2EwI1rEcIHzocnd2JbGHIZmzLyvv6NfPTIlH9xmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#12", + "method": "openchannel_init", + "params": { + "id": "03a7fd8070eea99341418fefe0b31086054d09cff64649eec3605db2340631c616", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } }, { - "id": "example:sql#2", - "method": "sql", - "params": [ - "SELECT * from peerchannels_features" - ] + "id": "example:openchannel_init#13", + "method": "openchannel_init", + "params": { + "id": "030eeb52087b9dbb27b7aec79ca5249369f6ce7b20a5684ce38d9f4595a21c2fda", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFlmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } }, { - "id": "example:sql#3", - "method": "sql", - "params": [ - "SELECT * from peerchannels_features" - ] + "id": "example:openchannel_init#14", + "method": "openchannel_init", + "params": { + "id": "027ba5906fad81fcdbb774b4c806eb572b7fac3bee4720b12c44e7f70931d4b7cc", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgL4Q7oMjenQxBpjol1MqyIDK+T6vySTHauCIUMWviGMpmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } }, { - "id": "example:sql#4", - "method": "sql", - "params": [ - "SELECT * FROM forwards;" - ] + "id": "example:openchannel_init#15", + "method": "openchannel_init", + "params": { + "id": "0362885b740ba0558dcd1b1521aa8ff4cd3bcbf324523f892659bb52e74239d50e", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPooD9ni7fKBIuuzDl4hTBWDqBJgW1gT3KSXkJSiERshmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } }, { - "id": "example:sql#5", - "method": "sql", - "params": [ - "SELECT * from peerchannels_features" - ] + "id": "example:openchannel_init#16", + "method": "openchannel_init", + "params": { + "id": "03a00f49374e4bb876e766e9305e5fefa86e53dbc89a4f27d794b02f59ca316426", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgNnGAnlRnMXUmSCNrqx6Wpa+aLJhdpT22EWsNZysj3JlmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } }, { - "id": "example:sql#6", - "method": "sql", - "params": [ - "SELECT * from peerchannels_features" - ] + "id": "example:openchannel_init#17", + "method": "openchannel_init", + "params": { + "id": "033b550833801dd3c36ea078242b67ba25d28aaa3112b77a7533420068631737db", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgoqAceWUonu5Wtc/N25hWxw+kdsJk0h9xHGppr3dq5ANmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#18", + "method": "openchannel_init", + "params": { + "id": "033ce5be6405d9bfc6f1a0646fd27cf9a8ca8767dc5c6e4f026bf2169d52bdab3d", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgcbtuuikEOWEmTTOvtWmBAgwKkQkZGzKPypcujtycH5pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#19", + "method": "openchannel_init", + "params": { + "id": "0341cde04183a300bf0899ad78c63c5fc22765b281cf7d28eaf921cb4ac55d3966", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgGOzgC3Nvntd+06h0JmQ8JCIj49YRakzW2QlG9z3iznFmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#20", + "method": "openchannel_init", + "params": { + "id": "038f7e8b965a4dffa90173f6b5088bf5ce30aca642febcb669736a780a6bf5821e", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgjeWjqlZsttyQNyBrxzUwzm19jqLdHEiK7Fhiy4uOhg5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } + }, + { + "id": "example:openchannel_init#21", + "method": "openchannel_init", + "params": { + "id": "02fd8076993ecbd87fc9286e0fea6cb2e074191475fe0cfdba779c863e4d607f02", + "amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg2y3sMayWX/KtPjktLPaqdhKM6grZjQGLB7xd4uI0a/tmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "commitment_feerate": null, + "funding_feerate": null, + "announce": true, + "close_to": null, + "request_amt": null, + "channel_type": null + } } ], "example_json_response": [ { - "rows": [] + "channel_id": "aec3dfd0c7643a23b679cd2e493c053f8fdf621ff2624949f9582c4118b818c6", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIIbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDHWbz19TxOAAAEDCFg+DwAAAAAAAQQiACDrwqaxATxr/H7Z8FYJd/DcvftyReRaEmjQrdG2IknyOAz8CWxpZ2h0bmluZwEItClX9q7fEWAA", + "channel_type": { + "bits": [ + 12 + ], + "names": [ + "static_remotekey/even" + ] + }, + "commitments_secured": false, + "funding_serial": 12982004117879591264, + "requires_confirmed_inputs": false }, { - "rows": [ - [ - 6, - 1, - 0, - "option_static_remotekey" - ], - [ - 7, - 1, - 1, - "option_anchors_zero_fee_htlc_tx" + "channel_id": "53fa2b1ca0d8f21abeaaac0495ab9925cdfaf2ca8b04dbe4aeb061823e1ff2c8", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIIbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMCDK/6LyRi8AAEDCFg+DwAAAAAAAQQiACDYM+8ZRsbTj0OCG/yzqLt2buFQn9LuMPDZqFFcgmCmfAz8CWxpZ2h0bmluZwEIchtFHfZ5FBgA", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 16, - 11, - 0, - "option_static_remotekey" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 8222241539686470680, + "requires_confirmed_inputs": false + }, + { + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCLR8RjOq9lmcAAEDCAAAAAEAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIZZtc7LD4y9YA", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 17, - 11, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] - ] + }, + "commitments_secured": false, + "funding_serial": 7321547790872005590, + "requires_confirmed_inputs": false }, { - "rows": [ - [ - 26, - 21, - 0, - "option_static_remotekey" + "channel_id": "a5b23dff5177badd6df725cefeb83ceccbfc52dc64a16b38894a41f0ad8fa181", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCANYbfWbhz3IAAEDCEBCDwAAAAAAAQQiACA2C2xNVmNUa7ZSqOxIXsyHSyQtKJa+JPF7loJcGXbsdgz8CWxpZ2h0bmluZwEIzsuq5ZKzDdgA", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 27, - 21, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 14901191695070858712, + "requires_confirmed_inputs": false + }, + { + "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 36, - 31, - 0, - "option_static_remotekey" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 16387446910972603556, + "requires_confirmed_inputs": false + }, + { + "channel_id": "252d1b0a1e57895e84137f28cf19ab2c35847e284c112fefdecc7afeaa5c1de7", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJuv6i0tfmoAAEDCKCGAQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEICd6nTPZaaIQAAQMIfOkcAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aDPwJbGlnaHRuaW5nAQgu5fN09W7whgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 37, - 31, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] - ] + }, + "commitments_secured": false, + "funding_serial": 711189740163590276, + "requires_confirmed_inputs": false }, { - "rows": [] + "channel_id": "9d145e763f08ee6f715ba7677f869cbb9580c7406f4d0b0ff3a0987efe501e13", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCJwN3ZBO0MNYAAEDCHzpHAAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gz8CWxpZ2h0bmluZwEII4Pk5L8RpLAAAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwDPwJbGlnaHRuaW5nAQij9lOIEcJ6LAA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 11814722516331690540, + "requires_confirmed_inputs": false }, { - "rows": [ - [ - 6, - 1, - 0, - "option_static_remotekey" + "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 7, - 1, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 6414453196191440064, + "requires_confirmed_inputs": false + }, + { + "channel_id": "9aa7830e0ab83eec72c55e939b8d71a7a13b0cbf0f55395dd61d05b497b7e379", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCOSlz7EM5ZYKAAEDCHzpHAAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgz8CWxpZ2h0bmluZwEIdmlh6aQn24oAAQMIoIYBAAAAAAABBCIAIAJ4IvZKhuevZ2ofO3mKkDfMoEsUyvbqfNmDxAHtl5LDDPwJbGlnaHRuaW5nAQiwoj+thGM9hAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 16, - 11, - 0, - "option_static_remotekey" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 12727805511385431428, + "requires_confirmed_inputs": false + }, + { + "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 17, - 11, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] - ] + }, + "commitments_secured": false, + "funding_serial": 13144641007595389976, + "requires_confirmed_inputs": false }, { - "rows": [ - [ - 26, - 21, - 0, - "option_static_remotekey" + "channel_id": "7a16089a2b11846806f6525ed0370fa86bc49cef93f85f199692c8f5197258c4", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCJLqLru+aPCgAAEDCKCGAQAAAAAAAQQiACD4nmkzjMiYRx7BSAbL3LmxZ0skKq7HGjaJAGXtvWuoKAz8CWxpZ2h0bmluZwEIAvW5OcYzqfIAAQMIfOkcAAAAAAABBCJRID4fbldhMCNaxHCB86HJ3diWxhyGZsy8r7+jXz0yJR/cDPwJbGlnaHRuaW5nAQhMT44/lI8cWAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 27, - 21, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 213280215159515634, + "requires_confirmed_inputs": false + }, + { + "channel_id": "7e3fc3d09b0fe5f65ff877c8143425b3d5dd18f52630ca006b30e7b7dcc7c7d3", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEImGeE6jlhAAAEDCHzpHAAAAAAAAQQiUSAFGOks2U4PYsBvEm3/mLmr55t+2EWhVtUkVnjiZVRHXQz8CWxpZ2h0bmluZwEIW/NoBOBSRcIAAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZDPwJbGlnaHRuaW5nAQjF7IaoxViRcgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 36, - 31, - 0, - "option_static_remotekey" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 14261922179399061874, + "requires_confirmed_inputs": false + }, + { + "channel_id": "3b607adb075fac692a8dd22b72b8125ecff49bc63698467ed51a7304e1bfa1ae", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCC0gbgSTiTtOAAEDCKCGAQAAAAAAAQQiACAb69qQjTsZ5Kc+Vzb2ojsdtZhDry4Xu9KxnKndsPJiIwz8CWxpZ2h0bmluZwEILjKUFWJ0WgQAAQMIfOkcAAAAAAABBCJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZDPwJbGlnaHRuaW5nAQhF0n1o1OXoSAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - [ - 37, - 31, - 1, - "option_anchors_zero_fee_htlc_tx" + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] - ] - } - ] - }, - "lightning-staticbackup.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "staticbackup", - "title": "Command for deriving getting SCB of all the existing channels", - "description": [ - "The **staticbackup** RPC command returns an object with SCB of all the channels in an array." - ], - "request": { - "required": [], - "properties": {} - }, - "response": { - "required": [ - "scb" - ], - "properties": { - "scb": { - "type": "array", - "items": { - "type": "hex", - "description": [ - "SCB of a channel in TLV format." - ] - } - } - } - }, - "example_json_request": [ + }, + "commitments_secured": false, + "funding_serial": 3328885894147234308, + "requires_confirmed_inputs": false + }, { - "id": "example:staticbackup#1", - "method": "staticbackup", - "params": "{}" + "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 12805080238627183146, + "requires_confirmed_inputs": false }, { - "id": "example:staticbackup#2", - "method": "staticbackup", - "params": "{}" + "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 743979017234066068, + "requires_confirmed_inputs": false }, { - "id": "example:staticbackup#3", - "method": "staticbackup", - "params": "{}" + "channel_id": "883df1357d2dae6156dc680b513ee4bc90207108cdb37a0174572e984bcc0e52", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHI4douPgBVGAAEDCKCGAQAAAAAAAQQiACBMnfqINHesD9EuuXccAy337QlNEWf9dyuG1GWXfim3mAz8CWxpZ2h0bmluZwEIVGZiIrznUpYAAQMIfOkcAAAAAAABBCJRIDZxgJ5UZzF1Jkgja6selqWvmiyYXaU9thFrDWcrI9yZDPwJbGlnaHRuaW5nAQiwJZ6YJdMvhAA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 6081656248148120214, + "requires_confirmed_inputs": false }, { - "id": "example:staticbackup#4", - "method": "staticbackup", - "params": "{}" - } - ], - "example_json_response": [ + "channel_id": "450f26cae60a5077c68a31450bfa51aa661403839bcc718ce583f24c664fe4b2", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMROfi9DxVoaAAEDCKCGAQAAAAAAAQQiACCSUXoluE0znj2kvc0g4gIZOmHhqdoBLxpQ9NK7pAe49gz8CWxpZ2h0bmluZwEIZJnWTG7b4DAAAQMIfOkcAAAAAAABBCJRIKKgHHllKJ7uVrXPzduYVscPpHbCZNIfcRxqaa93auQDDPwJbGlnaHRuaW5nAQiWZFOjE9aaugA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 7249060698995286064, + "requires_confirmed_inputs": false + }, { - "scb": [ - "0000000000000001c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc651022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f000001b2e3c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc6510000000000000000000186a000021000" - ] + "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 4391557307331500346, + "requires_confirmed_inputs": false }, { - "scb": [ - "0000000000000001c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc651022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f000001b2e3c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc6510000000000000000000186a000021000" - ] + "channel_id": "ca46601df2aba31c53327c63e623c2dc7b167ac4d728e09a9ad6483f6315c92b", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCAKINGpOU9aiAAEDCHzpHAAAAAAAAQQiUSAY7OALc2+e137TqHQmZDwkIiPj1hFqTNbZCUb3PeLOcQz8CWxpZ2h0bmluZwEISTLCaawKXMYAAQMIoIYBAAAAAAABBCIAIM8FCgKpupuI2nw6WwtiqsQ3bGrXXhKt0XZaXsnfB29rDPwJbGlnaHRuaW5nAQj4fSnLo/DTfAA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 17905513648100529020, + "requires_confirmed_inputs": false }, { - "scb": [ - "0000000000000001c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f4022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f0000018789c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f40000000000000000000186a00003401000" - ] + "channel_id": "f604f343b152f852ddcce101c0249b00c3916902b4b4c137c079a780702dc05d", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCIRrUrweknamAAEDCHzpHAAAAAAAAQQiUSCN5aOqVmy23JA3IGvHNTDObX2Oot0cSIrsWGLLi46GDgz8CWxpZ2h0bmluZwEIkTkU7wY98PQAAQMIoIYBAAAAAAABBCIAIEjaMEu1K+F+EKqz+LigdQdivKEbJ6VBO0QAvQvLnwfBDPwJbGlnaHRuaW5nAQi5sVPBPSUU+AA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 13380568057314088184, + "requires_confirmed_inputs": false }, { - "scb": [ - "0000000000000001c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f4022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f0000018789c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f40000000000000000000186a00003401000" - ] + "channel_id": "67d733131f8fba189c859a34788ff4239ec4f3fdef0cfb2a09d0bb0057106850", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPKgYAFaGnFgAAEDCHzpHAAAAAAAAQQiUSDbLewxrJZf8q0+OS0s9qp2EozqCtmNAYsHvF3i4jRr+wz8CWxpZ2h0bmluZwEIE6+DGxLc/wYAAQMIoIYBAAAAAAABBCIAIHwdq029Cz/gXLzjslO+79pYcciUAi+56uup1hAati1YDPwJbGlnaHRuaW5nAQgxnDgkAxmmsAA=", + "channel_type": { + "bits": [ + 12, + 22 + ], + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": false, + "funding_serial": 3574793931547322032, + "requires_confirmed_inputs": false } - ], - "author": [ - "Aditya <> is mainly responsible." - ], - "see_also": [ - "lightning-getsharedsecret(7)" - ], - "resources": [ - "Main web site: " ] }, - "lightning-stop.json": { + "lightning-openchannel_signed.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "stop", - "title": "Command to shutdown the Core Lightning node.", + "rpc": "openchannel_signed", + "title": "Command to conclude a channel open", "description": [ - "The **stop** is a RPC command to shut off the Core Lightning node." + "`openchannel_signed` is a low level RPC command which concludes a channel open with the specified peer. It uses the v2 openchannel protocol, which allows for interactive transaction construction.", + "", + "This command should be called after `openchannel_update` returns *commitments_secured* `true`.", + "", + "This command will broadcast the finalized funding transaction, if we receive valid signatures from the peer." ], "request": { - "required": [], - "properties": {} - }, - "response": { "required": [ - "result" + "channel_id", + "signed_psbt" ], "properties": { - "result": { + "channel_id": { + "type": "hash", + "description": [ + "Id of the channel." + ] + }, + "signed_psbt": { "type": "string", - "added": "v24.05", - "enum": [ - "Shutdown complete" + "description": [ + "The PSBT returned from `openchannel_update` (where *commitments_secured* was true) with partial signatures or finalized witness stacks included for every input that we contributed to the PSBT." ] } } }, - "example_json_request": [ - { - "id": "example:stop#1", - "method": "stop", - "params": {} - }, - { - "id": "example:stop#2", - "method": "stop", - "params": "{}" - }, - { - "id": "example:stop#3", - "method": "stop", - "params": "{}" + "response": { + "required": [ + "channel_id", + "tx", + "txid" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel." + ] + }, + "tx": { + "type": "hex", + "description": [ + "The funding transaction." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the **tx**." + ] + } } - ], - "example_json_response": [ - "Shutdown complete", - "Shutdown complete" + }, + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 303: Funding transaction broadcast failed.", + "- 305: Peer is not connected.", + "- 309: PSBT missing required fields.", + "- 311: Unknown channel id.", + "- 312: Channel in an invalid state" ], "author": [ - "Vincenzo Palazzo <> wrote the initial version of this man page,", - "but many others did the hard work of actually implementing this rpc command." + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-openchannel_init(7)", + "lightning-openchannel_update(7)", + "lightning-openchannel_abort(7)", + "lightning-openchannel_bump(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel(7)", + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-multifundchannel(7)" ], "resources": [ "Main web site: " ] }, - "lightning-txdiscard.json": { + "lightning-openchannel_update.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "txdiscard", - "title": "Abandon a transaction from txprepare, release inputs", + "rpc": "openchannel_update", + "title": "Command to update a collab channel open", "description": [ - "The **txdiscard** RPC command releases inputs which were reserved for use of the *txid* from lightning-txprepare(7)." + "`openchannel_update` is a low level RPC command which continues an open channel, as specified by *channel_id*. An updated *psbt* is passed in; any changes from the PSBT last returned (either from `openchannel_init` or a previous call to `openchannel_update`) will be communicated to the peer.", + "", + "Must be called after `openchannel_init` and before `openchannel_signed`.", + "", + "Must be called until *commitments_secured* is returned as true, at which point `openchannel_signed` should be called with a signed version of the PSBT returned by the last call to `openchannel_update`." ], "request": { "required": [ - "txid" + "channel_id", + "psbt" ], "properties": { - "txid": { - "type": "txid", + "channel_id": { + "type": "hash", "description": [ - "The transaction id, inputs should be unreseverd from." + "Id of the channel." + ] + }, + "psbt": { + "type": "string", + "description": [ + "Updated PSBT to be sent to the peer. May be identical to the PSBT last returned by either `openchannel_init` or `openchannel_update`." ] } } }, "response": { "required": [ - "unsigned_tx", - "txid" + "channel_id", + "psbt", + "commitments_secured", + "channel_type", + "funding_outnum" ], "properties": { - "unsigned_tx": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel." + ] + }, + "channel_type": { + "type": "object", + "description": [ + "Channel_type as negotiated with peer." + ], + "added": "v24.02", + "additionalProperties": false, + "required": [ + "bits", + "names" + ], + "properties": { + "bits": { + "type": "array", + "description": [ + "Each bit set in this channel_type." + ], + "added": "v24.02", + "items": { + "type": "u32", + "description": [ + "Bit number." + ] + } + }, + "names": { + "type": "array", + "description": [ + "Feature name for each bit set in this channel_type." + ], + "added": "v24.02", + "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." + ] + } + } + } + }, + "psbt": { + "type": "string", + "description": [ + "The PSBT of the funding transaction." + ] + }, + "commitments_secured": { + "type": "boolean", + "description": [ + "Whether the *psbt* is complete (if true, sign *psbt* and call `openchannel_signed` to complete the channel open)." + ] + }, + "funding_outnum": { + "type": "u32", + "description": [ + "The index of the funding output in the psbt." + ] + }, + "close_to": { "type": "hex", "description": [ - "The unsigned transaction." + "Scriptpubkey which we have to close to if we mutual close." ] }, - "txid": { - "type": "txid", + "requires_confirmed_inputs": { + "type": "boolean", "description": [ - "The transaction id of *unsigned_tx*." + "Does peer require confirmed inputs in psbt?" ] } }, - "post_return_value_notes": [ - "If there is no matching *txid*, an error is reported. Note that this may happen due to incorrect usage, such as **txdiscard** or **txsend** already being called for *txid*." + "allOf": [ + { + "if": { + "properties": { + "commitments_secured": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "then": { + "additionalProperties": true, + "required": [ + "channel_id", + "funding_outnum" + ], + "properties": { + "commitments_secured": {}, + "channel_id": { + "type": "hash", + "description": [ + "The derived channel id." + ] + }, + "close_to": { + "type": "hex", + "description": [ + "If a `close_to` address was provided to `openchannel_init` and the peer supports `option_upfront_shutdownscript`." + ] + }, + "funding_outnum": { + "type": "u32", + "description": [ + "The index of the funding output for this channel in the funding transaction." + ] + } + } + }, + "else": { + "additionalProperties": false, + "properties": { + "commitments_secured": {} + } + } + } ] }, "errors": [ - "The following error codes may occur:", + "On error, the returned object will contain `code` and `message` properties,", + "with `code` being one of the following:", "", - "- -1: An unknown *txid*." + "- -32602: If the given parameters are wrong.", + "- -1: Catchall nonspecific error.", + "- 305: Peer is not connected.", + "- 309: PSBT missing required fields", + "- 311: Unknown channel id.", + "- 312: Channel in an invalid state" ], "author": [ - "Rusty Russell <> is mainly responsible." + "Lisa Neigut <> is mainly responsible." ], "see_also": [ - "lightning-txprepare(7)", - "lightning-txsend(7)" + "lightning-openchannel_init(7)", + "lightning-openchannel_signed(7)", + "lightning-openchannel_bump(7)", + "lightning-openchannel_abort(7)", + "lightning-fundchannel_start(7)", + "lightning-fundchannel_complete(7)", + "lightning-fundchannel(7)", + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-multifundchannel(7)" ], "resources": [ "Main web site: " ], "example_json_request": [ { - "id": "example:txdiscard#1", - "method": "txdiscard", + "id": "example:openchannel_update#1", + "method": "openchannel_update", "params": { - "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc" + "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA" } }, { - "id": "example:txdiscard#2", - "method": "txdiscard", + "id": "example:openchannel_update#2", + "method": "openchannel_update", "params": { - "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da" + "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA" } }, { - "id": "example:txdiscard#3", - "method": "txdiscard", + "id": "example:openchannel_update#3", + "method": "openchannel_update", "params": { - "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6" + "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=" } }, { - "id": "example:txdiscard#4", - "method": "txdiscard", + "id": "example:openchannel_update#4", + "method": "openchannel_update", "params": { - "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3" + "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=" } }, { - "id": "example:txdiscard#5", - "method": "txdiscard", + "id": "example:openchannel_update#5", + "method": "openchannel_update", "params": { - "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe" + "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=" } }, { - "id": "example:txdiscard#6", - "method": "txdiscard", + "id": "example:openchannel_update#6", + "method": "openchannel_update", "params": { - "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562" + "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=" } }, { - "id": "example:txdiscard#7", - "method": "txdiscard", + "id": "example:openchannel_update#7", + "method": "openchannel_update", "params": { - "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310" + "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=" } }, { - "id": "example:txdiscard#8", - "method": "txdiscard", + "id": "example:openchannel_update#8", + "method": "openchannel_update", "params": { - "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470" + "channel_id": "23d596fb41374b10b357757daee35022de5e2474ea15558cd2e3d57ed71b272c", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCB8axN8LAmYSAAEDCKCGAQAAAAAAAQQiACCWrynXFlFbUdYncA0tG7JsWkOrfT+51Qijo3VWlOkZtQz8CWxpZ2h0bmluZwEIAgUGJISDarQAAQMIfOkcAAAAAAABBCJRIPY4w1HHmLJpMzVNwHmbn/f/RyiVBVdRR5Y7fE6703auDPwJbGlnaHRuaW5nAQg9ID2Qb7TP2AA=" } }, { - "id": "example:txdiscard#9", - "method": "txdiscard", + "id": "example:openchannel_update#9", + "method": "openchannel_update", "params": { - "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040" + "channel_id": "7309c4bd9480207dbe0edbf6ef170d2bddf28888fd0ea68f521dfbd6db5d81e2", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPrkOPoP4I88AAEDCHzpHAAAAAAAAQQiUSBHe1bwbFP0ca6zVIsZwGJelNc1c66bQmvngBJB2fX8fAz8CWxpZ2h0bmluZwEIXnwnaxeLY6gAAQMIoIYBAAAAAAABBCIAIDLlyE/lwkFnMcys4I8rtBB1aR8Zbml3XTyDgf24hJFVDPwJbGlnaHRuaW5nAQjnuBQvkTGN3AA=" } }, { - "id": "example:txdiscard#10", - "method": "txdiscard", + "id": "example:openchannel_update#10", + "method": "openchannel_update", "params": { - "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d" + "channel_id": "1fa88de340cdf894cbda25663c9db53c43455bf8d6f0516c788b2158700c752b", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMma5Ja1KtM+AAEDCHzpHAAAAAAAAQQiUSDpFLN2Mo9qkyWatTCuwlTHmo2EsE6mGkJdbN1UZ4n99wz8CWxpZ2h0bmluZwEIprVfKHMovn4AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNDPwJbGlnaHRuaW5nAQjiPNTHQ4AEegA=" } }, { - "id": "example:txdiscard#11", - "method": "txdiscard", + "id": "example:openchannel_update#11", + "method": "openchannel_update", "params": { - "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517" + "channel_id": "47f9acdf2fb111c91093a0f9b14a07c9a239b4bf92e5f4fdba59e2f00fb3aa08", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZ4yq94axiGAAEDCHzpHAAAAAAAAQQiUSBk2Rofae55qItz1qqROLm0aboKTAhjWv6ufg/YU+jy7wz8CWxpZ2h0bmluZwEIcKcdCHDcTi4AAQMIoIYBAAAAAAABBCIAIJPKyjE8leWHOc7/S2vH8T367GeUzRojFawDHm7QRiI4DPwJbGlnaHRuaW5nAQh5VW72VYSYYAA=" } }, { - "id": "example:txdiscard#12", - "method": "txdiscard", + "id": "example:openchannel_update#12", + "method": "openchannel_update", "params": { - "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda" + "channel_id": "fef32b5cad2ca476989c7b9ea5212cb93ce28ba2b81ccd381a685d008eeade0e", + "psbt": "cHNidP8BAgQCAAAAAQMEKwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFPhf4nwrDZsAAEDCKCGAQAAAAAAAQQiACDUsqXXpbdvqB7/T9YDRhyVzNNWmktOT9KwwS+e/HYhZgz8CWxpZ2h0bmluZwEIF0LVONj2pp4AAQMIfOkcAAAAAAABBCJRIG/WPs5FOFvqtaYP0gjFBagKvSXdYvzI0XiuYxRtB4zzDPwJbGlnaHRuaW5nAQhPmeA4K6FZSgA=" } }, { - "id": "example:txdiscard#13", - "method": "txdiscard", + "id": "example:openchannel_update#13", + "method": "openchannel_update", "params": { - "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee" + "channel_id": "2f3a35225430f2394986394fdeb5d0b0395384b48dda2e058481c4ff36d440f9", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPhXh949AYj2AAEDCHzpHAAAAAAAAQQiUSAuA8gI6KoZQlH4wIYtuz2G2QgoB/d1rgdFc67BJh/zbQz8CWxpZ2h0bmluZwEIklmVqf5/Fr4AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12DPwJbGlnaHRuaW5nAQjFzoInKwTQOgA=" } }, { - "id": "example:txdiscard#14", - "method": "txdiscard", + "id": "example:openchannel_update#14", + "method": "openchannel_update", "params": { - "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10" + "channel_id": "50a877dc343de4fd27ff74ed2ff8b56ef07ef7e6b03a058649368ac07588d0a7", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFbbBT4bRuVeAAEDCKCGAQAAAAAAAQQiACCtq6je1XsQ64/nzitEV0ik1yM3BNx6kZ+Als8XnFUf3wz8CWxpZ2h0bmluZwEIXRb8iN+khdQAAQMIfOkcAAAAAAABBCJRIFlFK0e/gy3YttDclQF+Ch0zzwB0eePgmWrh8QKgM3tWDPwJbGlnaHRuaW5nAQj0b7PZ9m51/AA=" } }, { - "id": "example:txdiscard#15", - "method": "txdiscard", + "id": "example:openchannel_update#15", + "method": "openchannel_update", "params": { - "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9" + "channel_id": "e5fadd50aa4be708df1fc56cf151f12a764e833cf5902600f539f326c2cd1b25", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCN4asrx4XudMAAEDCHzpHAAAAAAAAQQiUSBSyw+NENVth+UcpLyiswAYz6XDyG/5XhfEZWfL008BjQz8CWxpZ2h0bmluZwEIQSnd5ViOdDgAAQMIoIYBAAAAAAABBCIAIByXizbYrZ1RkUGs5QDW+sKIJF7QLPpr5Fz7XdCPcWWmDPwJbGlnaHRuaW5nAQjgD0VwOHDCSAA=" } }, { - "id": "example:txdiscard#16", - "method": "txdiscard", + "id": "example:openchannel_update#16", + "method": "openchannel_update", "params": { - "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652" + "channel_id": "2798caead1a0ed3106af5e34e2c6e10636f1283d994281a7f4e68adf3bb30a00", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEjZpEjNXcXiAAEDCHzpHAAAAAAAAQQiUSCxG1wqbmuNOxs1AAko6oLBmO6pkyWdO0E7dY7wJwlsGgz8CWxpZ2h0bmluZwEIIBbR3Z09jsAAAQMIoIYBAAAAAAABBCIAIG+13jAWbBMj45dukZAJixIjBG26WuHGO32KQIVHqBf2DPwJbGlnaHRuaW5nAQjOrx0ZXgR17gA=" } }, { - "id": "example:txdiscard#17", - "method": "txdiscard", + "id": "example:openchannel_update#17", + "method": "openchannel_update", "params": { - "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6" + "channel_id": "56ab2377a16d7ff71b97bec7e49ded8ca2bce98d0ff244223d1b1a2280e4392f", + "psbt": "cHNidP8BAgQCAAAAAQMETQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCIIGrUJo9WQAAEDCHzpHAAAAAAAAQQiUSA9oQ9zv5Ho0Wmz0xN9Jr6bj+0MmFTlJKvrrzbWGQYmAwz8CWxpZ2h0bmluZwEItkcS2OwyCxgAAQMIoIYBAAAAAAABBCIAIG+38w2Sm92tJUCsM/mAOmE/iftxVHqTBzwXOvm+3MSVDPwJbGlnaHRuaW5nAQjHCiVMst1WGgA=" } }, { - "id": "example:txdiscard#18", - "method": "txdiscard", + "id": "example:openchannel_update#18", + "method": "openchannel_update", "params": { - "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b" + "channel_id": "4bd5c557517696c4d25c62d4ba8c0b197ae8fb5095e9642e9d9acc905a2c5fc4", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCBGkIvjxPAy4AAEDCHzpHAAAAAAAAQQiUSBYY8kujzfTZvl1boOkYsoY/tWEHkrn6qSiM3/uz3rcQQz8CWxpZ2h0bmluZwEIQY8jZaq6Q/AAAQMIoIYBAAAAAAABBCIAINQsF3GrTKGAVsWggG1ywZmeTc0M7POplu2ggMJE7pCqDPwJbGlnaHRuaW5nAQiVncaZJKF9kgA=" } }, { - "id": "example:txdiscard#19", - "method": "txdiscard", + "id": "example:openchannel_update#19", + "method": "openchannel_update", "params": { - "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c" + "channel_id": "bd14eaa0aca79ad5832060d8e024da60bf51473ae130c0f6195d0f2644ec5af9", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH+TDSFu9NtQAAEDCKCGAQAAAAAAAQQiACBBjTKSesCxiig7vbObmNEuz9CG3J8T4+L8uBuy879s6wz8CWxpZ2h0bmluZwEIc+/B51wjjV4AAQMIfOkcAAAAAAABBCJRIGnuhYkU3RWKwMMhXmQhQklgRWjjRuE/VYJR/McI1TwMDPwJbGlnaHRuaW5nAQj9W1UK7RbLLAA=" } }, { - "id": "example:txdiscard#20", - "method": "txdiscard", + "id": "example:openchannel_update#20", + "method": "openchannel_update", "params": { - "txid": "42952da74925034b653a86bbd0b1ad25aa383738514a8a3058102dcf7a19e792" + "channel_id": "72af58a8e06fb932798e7efcb239a57fb9cbf67750fc07e7793263bfe106450f", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHyqjqdKGNfWAAEDCKCGAQAAAAAAAQQiACCoNqS9Vcbr23R2Z9TbDgQRCLevTGO1KDzYJ5ASB+1ffAz8CWxpZ2h0bmluZwEIHjPXXmY4EwgAAQMIfOkcAAAAAAABBCJRIGM7CrTUbQBP3p9q/pW4kvDn4YO0Hihfw6MSoe7ZUQHeDPwJbGlnaHRuaW5nAQg0iC/92mSXJAA=" } }, { - "id": "example:txdiscard#21", - "method": "txdiscard", + "id": "example:openchannel_update#21", + "method": "openchannel_update", "params": { - "txid": "0fefffd33b4cff56c5f2fc5014304983500084680eb5ea9add41240f3dd89a13" + "channel_id": "816c9d3a3b219c64e40f868c18371bd9c5ce29ddce4f300b82107b62fe376f64", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH7Lr0H1JKTgAAEDCKCGAQAAAAAAAQQiACCr6/zMd1s+uBMQLbORsE+sUm8e7w+gZ8UTlPo+VgSXZgz8CWxpZ2h0bmluZwEINm7un2IVT/AAAQMIfOkcAAAAAAABBCJRILa0g/Nw25NrRDXyxf4EZPZ4W9e9o1RnDerUAD5XVxCnDPwJbGlnaHRuaW5nAQhJ+u/gzc6BTgA=" } } ], "example_json_response": [ { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff02ffffff00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd42839800000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", - "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc" - }, - { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a9849800000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", - "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da" - }, - { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec760141890100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb566000000", - "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6" - }, - { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000002200203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df41839800000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", - "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3" - }, - { - "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe" - }, - { - "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", - "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", - "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", - "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c361730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b566000000", - "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df361730100000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", - "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828617301000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea66000000", - "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a114003285961730100000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", - "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f262236173010000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", - "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef8902061730100000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca66000000", - "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e5461730100000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6166000000", - "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b79861730100000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c866000000", - "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f661730100000000002251203671809e546731752648236bab1e96a5af9a2c985da53db6116b0d672b23dc9966000000", - "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002025f9e19a5118ff891eb25882add8ad394db2b143355b5b9fbc3c5fd37106d6f66173010000000000225120a2a01c7965289eee56b5cfcddb9856c70fa476c264d21f711c6a69af776ae40366000000", - "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020cf050a02a9ba9b88da7c3a5b0b62aac4376c6ad75e12add1765a5ec9df076f6b61730100000000002251209cd4d53cf7a2290767b6a408a97fcf2581c97d7a66389779d95144920f9dfdfe66000000", - "txid": "42952da74925034b653a86bbd0b1ad25aa383738514a8a3058102dcf7a19e792" - }, - { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002048da304bb52be17e10aab3f8b8a0750762bca11b27a5413b4400bd0bcb9f07c1617301000000000022512018ece00b736f9ed77ed3a87426643c242223e3d6116a4cd6d90946f73de2ce7127000000", - "txid": "0fefffd33b4cff56c5f2fc5014304983500084680eb5ea9add41240f3dd89a13" - } - ] - }, - "lightning-txprepare.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "txprepare", - "title": "Command to prepare to withdraw funds from the internal wallet", - "description": [ - "The **txprepare** RPC command creates an unsigned transaction which spends funds from Core Lightning's internal wallet to the outputs specified in *outputs*.", - "", - "**txprepare** is similar to the first part of a **withdraw** command, but supports multiple outputs and uses *outputs* as parameter. The second part is provided by **txsend**." - ], - "request": { - "required": [ - "outputs" - ], - "properties": { - "outputs": { - "type": "array", - "description": [ - "Format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs." - ], - "items": { - "type": "outputdesc" - } - }, - "feerate": { - "type": "feerate", - "description": [ - "Used for the transaction as initial feerate." - ], - "default": "*normal*" - }, - "minconf": { - "type": "u32", - "description": [ - "The minimum number of confirmations that used outputs should have." - ], - "default": 1 - }, - "utxos": { - "type": "array", - "description": [ - "To be used to fund the transaction, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." + "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", + "channel_type": { + "bits": [ + 12, + 22 ], - "items": { - "type": "outpoint" - } - } - } - }, - "response": { - "required": [ - "psbt", - "unsigned_tx", - "txid" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "The PSBT representing the unsigned transaction." - ] - }, - "unsigned_tx": { - "type": "hex", - "description": [ - "The unsigned transaction." + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" ] }, - "txid": { - "type": "txid", - "description": [ - "The transaction id of *unsigned_tx*; you hand this to lightning-txsend(7) or lightning-txdiscard(7), as the inputs of this transaction are reserved." - ] - } - } - }, - "errors": [ - "On failure, an error is reported and the transaction is not created.", - "", - "- -1: Catchall nonspecific error.", - "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", - "- 302: The dust limit is not met." - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-withdraw(7)", - "lightning-txsend(7)", - "lightning-txdiscard(7)", - "lightning-feerates(7)" - ], - "resources": [ - "Main web site: " - ], - "example_json_request": [ + "commitments_secured": true, + "funding_outnum": 0 + }, { - "id": "example:txprepare#1", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": 16777215 - } + "channel_id": "c3a282c1136f44dc2e499c116a9d9e6ea64649c3eabdd396cb96fb30a86fad8e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIAVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH932EuFXyxeAAEDCEBCDwAAAAAAAQQiACA/FzDCfUe+WFEBa+aPSY4TZTYt6liPHz5OHo04w2gQ3wz8CWxpZ2h0bmluZwEI42voJCAYLKQA", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0, + "close_to": "5120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe6" }, { - "id": "example:txprepare#2", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1q05ydn97l48x788uxsca27ruzuvkvxryr86ht74": 16777216 - } + "channel_id": "f0f352426c2f78c2fc88c3544e1becb6b1140274b95de66021c059d5e16e21fa", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP+F1mQN8gCIAAEDCKCGAQAAAAAAAQQiACBpotYc2xtLsoCBg3YB/6YFOXtEt80uEOLM7g3B6AhzlQz8CWxpZ2h0bmluZwEIWQS3MltcHMAAAQMIfOkcAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjDJZyKS9q9KAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#3", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qxc9kcn2kvd2xhdjj4rkyshkvsa9jgtfgj6lzfutmj6p9cxtka3mqzlqr9g": 1000000 - } + "channel_id": "c07bc6b6ee9c3acda29c83d5374f3f502828b037b27e9ff7a1a14b655ef820ca", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCP7I1Bj2Rz5sAAEDCHzpHAAAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQz8CWxpZ2h0bmluZwEIgTlKS96hmIAAAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zDPwJbGlnaHRuaW5nAQi2ayVaZcGEGAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#4", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1q8utnpsnag7l9s5gpd0ng7jvwzdjnvt02tz8370jwr6xn3smgzr0scm0qlc": 16777216 - } + "channel_id": "d0bb7ec79042b1ed620e152c0620359087d038216990ea0687dde57b44ba2ae5", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCX912BJCpOCAAEDCHzpHAAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygz8CWxpZ2h0bmluZwEIY2MzBm2Y2xQAAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgDPwJbGlnaHRuaW5nAQixtMih/79aKgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#5", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qkcm0qupxafjf2tkwtdmzp2fn0kdvyvsu094ynynqn9x3kdekvagq44g5t6": 16777216 - } + "channel_id": "f5ebbcd0e86f46f01e09a7208f74d22c09a31edfd88bcc602e55ba56a194b817", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCGivDBsh9oBWAAEDCKCGAQAAAAAAAQQiACCfNiIiiYSyI6U+liExSW1Imf5wY6wK/h/mDNlsgtduVAz8CWxpZ2h0bmluZwEIClMk+XKUqpQAAQMIfOkcAAAAAAABBCJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIDPwJbGlnaHRuaW5nAQjHJCVGg+b9zgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#6", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": "100000sat" - } + "channel_id": "e3e632ad2bbf01fd9d06797415ae9b9f0b758d4cd7c642089038907350f4fc96", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEw8Wv+Tyq1OAAEDCHzpHAAAAAAAAQQiUSBxu266KQQ5YSZNM6+1aYECDAqRCRkbMo/Kly6O3Jwfmgz8CWxpZ2h0bmluZwEIB6MIGaOE8F4AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2DPwJbGlnaHRuaW5nAQg88fIagkPZOgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#7", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup": "100000sat" - } + "channel_id": "23d596fb41374b10b357757daee35022de5e2474ea15558cd2e3d57ed71b272c", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCB8axN8LAmYSAAEDCKCGAQAAAAAAAQQiACCWrynXFlFbUdYncA0tG7JsWkOrfT+51Qijo3VWlOkZtQz8CWxpZ2h0bmluZwEIAgUGJISDarQAAQMIfOkcAAAAAAABBCJRIPY4w1HHmLJpMzVNwHmbn/f/RyiVBVdRR5Y7fE6703auDPwJbGlnaHRuaW5nAQg9ID2Qb7TP2AA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#8", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s": "100000sat" - } + "channel_id": "7309c4bd9480207dbe0edbf6ef170d2bddf28888fd0ea68f521dfbd6db5d81e2", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPrkOPoP4I88AAEDCHzpHAAAAAAAAQQiUSBHe1bwbFP0ca6zVIsZwGJelNc1c66bQmvngBJB2fX8fAz8CWxpZ2h0bmluZwEIXnwnaxeLY6gAAQMIoIYBAAAAAAABBCIAIDLlyE/lwkFnMcys4I8rtBB1aR8Zbml3XTyDgf24hJFVDPwJbGlnaHRuaW5nAQjnuBQvkTGN3AA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#9", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": "100000sat" - } + "channel_id": "1fa88de340cdf894cbda25663c9db53c43455bf8d6f0516c788b2158700c752b", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCMma5Ja1KtM+AAEDCHzpHAAAAAAAAQQiUSDpFLN2Mo9qkyWatTCuwlTHmo2EsE6mGkJdbN1UZ4n99wz8CWxpZ2h0bmluZwEIprVfKHMovn4AAQMIoIYBAAAAAAABBCIAILLTp2r+5WusVsdwNKuL/goZkpJGyC1pwPzHn979J5BNDPwJbGlnaHRuaW5nAQjiPNTHQ4AEegA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#10", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup": "100000sat" - } + "channel_id": "47f9acdf2fb111c91093a0f9b14a07c9a239b4bf92e5f4fdba59e2f00fb3aa08", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZ4yq94axiGAAEDCHzpHAAAAAAAAQQiUSBk2Rofae55qItz1qqROLm0aboKTAhjWv6ufg/YU+jy7wz8CWxpZ2h0bmluZwEIcKcdCHDcTi4AAQMIoIYBAAAAAAABBCIAIJPKyjE8leWHOc7/S2vH8T367GeUzRojFawDHm7QRiI4DPwJbGlnaHRuaW5nAQh5VW72VYSYYAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#11", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s": "100000sat" - } + "channel_id": "fef32b5cad2ca476989c7b9ea5212cb93ce28ba2b81ccd381a685d008eeade0e", + "psbt": "cHNidP8BAgQCAAAAAQMEKwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFPhf4nwrDZsAAEDCKCGAQAAAAAAAQQiACDUsqXXpbdvqB7/T9YDRhyVzNNWmktOT9KwwS+e/HYhZgz8CWxpZ2h0bmluZwEIF0LVONj2pp4AAQMIfOkcAAAAAAABBCJRIG/WPs5FOFvqtaYP0gjFBagKvSXdYvzI0XiuYxRtB4zzDPwJbGlnaHRuaW5nAQhPmeA4K6FZSgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#12", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qqfuz9aj2smn67em2ruahnz5sxlx2qjc5etmw5lxes0zqrmvhjtps7d9ra5": "100000sat" - } + "channel_id": "2f3a35225430f2394986394fdeb5d0b0395384b48dda2e058481c4ff36d440f9", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCPhXh949AYj2AAEDCHzpHAAAAAAAAQQiUSAuA8gI6KoZQlH4wIYtuz2G2QgoB/d1rgdFc67BJh/zbQz8CWxpZ2h0bmluZwEIklmVqf5/Fr4AAQMIoIYBAAAAAAABBCIAIBlGauKzp9XOFeTmMhLuVoCdpNmgBDPyQU7orZ9B7f12DPwJbGlnaHRuaW5nAQjFzoInKwTQOgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#13", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qmxjat4dgx0dzqed3kzzedgvww4y94nn5zuegctv9t6rfxh8c0hes68mc90": "100000sat" - } + "channel_id": "50a877dc343de4fd27ff74ed2ff8b56ef07ef7e6b03a058649368ac07588d0a7", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCFbbBT4bRuVeAAEDCKCGAQAAAAAAAQQiACCtq6je1XsQ64/nzitEV0ik1yM3BNx6kZ+Als8XnFUf3wz8CWxpZ2h0bmluZwEIXRb8iN+khdQAAQMIfOkcAAAAAAABBCJRIFlFK0e/gy3YttDclQF+Ch0zzwB0eePgmWrh8QKgM3tWDPwJbGlnaHRuaW5nAQj0b7PZ9m51/AA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#14", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qlz0xjvuvezvyw8kpfqrvhh9ek9n5kfp24mr35d5fqpj7m0tt4q5qk2dkt7": "100000sat" - } + "channel_id": "e5fadd50aa4be708df1fc56cf151f12a764e833cf5902600f539f326c2cd1b25", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCN4asrx4XudMAAEDCHzpHAAAAAAAAQQiUSBSyw+NENVth+UcpLyiswAYz6XDyG/5XhfEZWfL008BjQz8CWxpZ2h0bmluZwEIQSnd5ViOdDgAAQMIoIYBAAAAAAABBCIAIByXizbYrZ1RkUGs5QDW+sKIJF7QLPpr5Fz7XdCPcWWmDPwJbGlnaHRuaW5nAQjgD0VwOHDCSAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#15", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1q8qhvpcezere4w23cgqfa7gfdyapdttd2hl0e59vkfq9pzsqr9pvsw358ad": "100000sat" - } + "channel_id": "2798caead1a0ed3106af5e34e2c6e10636f1283d994281a7f4e68adf3bb30a00", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCEjZpEjNXcXiAAEDCHzpHAAAAAAAAQQiUSCxG1wqbmuNOxs1AAko6oLBmO6pkyWdO0E7dY7wJwlsGgz8CWxpZ2h0bmluZwEIIBbR3Z09jsAAAQMIoIYBAAAAAAABBCIAIG+13jAWbBMj45dukZAJixIjBG26WuHGO32KQIVHqBf2DPwJbGlnaHRuaW5nAQjOrx0ZXgR17gA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#16", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qr04a4yyd8vv7ffe72um0dg3mrk6essa09ctmh543nj5amv8jvg3s44cn70": "100000sat" - } + "channel_id": "56ab2377a16d7ff71b97bec7e49ded8ca2bce98d0ff244223d1b1a2280e4392f", + "psbt": "cHNidP8BAgQCAAAAAQMETQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCCIIGrUJo9WQAAEDCHzpHAAAAAAAAQQiUSA9oQ9zv5Ho0Wmz0xN9Jr6bj+0MmFTlJKvrrzbWGQYmAwz8CWxpZ2h0bmluZwEItkcS2OwyCxgAAQMIoIYBAAAAAAABBCIAIG+38w2Sm92tJUCsM/mAOmE/iftxVHqTBzwXOvm+3MSVDPwJbGlnaHRuaW5nAQjHCiVMst1WGgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#17", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qad0tre46xxhkyztv7ec479ur4q8cvvwp6py8yjrhq0uvwhhcjqsqtff0fy": "100000sat" - } + "channel_id": "4bd5c557517696c4d25c62d4ba8c0b197ae8fb5095e9642e9d9acc905a2c5fc4", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCBGkIvjxPAy4AAEDCHzpHAAAAAAAAQQiUSBYY8kujzfTZvl1boOkYsoY/tWEHkrn6qSiM3/uz3rcQQz8CWxpZ2h0bmluZwEIQY8jZaq6Q/AAAQMIoIYBAAAAAAABBCIAINQsF3GrTKGAVsWggG1ywZmeTc0M7POplu2ggMJE7pCqDPwJbGlnaHRuaW5nAQiVncaZJKF9kgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 1 }, { - "id": "example:txprepare#18", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qnumzyg5fsjez8ff7jcsnzjtdfzvluurr4s90u8lxpnvkeqkhde2qrdu7dv": "100000sat" - } + "channel_id": "bd14eaa0aca79ad5832060d8e024da60bf51473ae130c0f6195d0f2644ec5af9", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH+TDSFu9NtQAAEDCKCGAQAAAAAAAQQiACBBjTKSesCxiig7vbObmNEuz9CG3J8T4+L8uBuy879s6wz8CWxpZ2h0bmluZwEIc+/B51wjjV4AAQMIfOkcAAAAAAABBCJRIGnuhYkU3RWKwMMhXmQhQklgRWjjRuE/VYJR/McI1TwMDPwJbGlnaHRuaW5nAQj9W1UK7RbLLAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#19", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qfjwl4zp5w7kql5fwh9m3cqed7lksjng3vl7hw2ux63jewl3fk7vqjk67ad": "100000sat" - } + "channel_id": "72af58a8e06fb932798e7efcb239a57fb9cbf67750fc07e7793263bfe106450f", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCHyqjqdKGNfWAAEDCKCGAQAAAAAAAQQiACCoNqS9Vcbr23R2Z9TbDgQRCLevTGO1KDzYJ5ASB+1ffAz8CWxpZ2h0bmluZwEIHjPXXmY4EwgAAQMIfOkcAAAAAAABBCJRIGM7CrTUbQBP3p9q/pW4kvDn4YO0Hihfw6MSoe7ZUQHeDPwJbGlnaHRuaW5nAQg0iC/92mSXJAA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null - } + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 }, { - "id": "example:txprepare#20", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qjfgh5fdcf5eeu0dyhhxjpcszryaxrcdfmgqj7xjs7nfthfq8hrmqzjxure": "100000sat" - } + "channel_id": "816c9d3a3b219c64e40f868c18371bd9c5ce29ddce4f300b82107b62fe376f64", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQ3BxISUvILSNzBQeI4MGG1qkfLMh2LDK04aK79Fp/gHAAAAAAD9////AoCEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzbOcpAQAAABYAFDIhbIAjosN/p0nnwEM92SH49ZRnAkcwRAIgaIkWFWL938fPX0LPjy4dOOGAEnpYCWCX9stVLsDpW3ECIDCVvvFjMgzi6ikW8yek6YYg6nf66k488XYXxVoHxT8dASEDoECN7LtEAM/iJ+iHZVeFftBeSH6xmqjO/UQ+5TlPFmZlAAAAAQEfgIQeAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIFa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AQ8EAAAAAAEQBP3///8M/AlsaWdodG5pbmcBCH7Lr0H1JKTgAAEDCKCGAQAAAAAAAQQiACCr6/zMd1s+uBMQLbORsE+sUm8e7w+gZ8UTlPo+VgSXZgz8CWxpZ2h0bmluZwEINm7un2IVT/AAAQMIfOkcAAAAAAABBCJRILa0g/Nw25NrRDXyxf4EZPZ4W9e9o1RnDerUAD5XVxCnDPwJbGlnaHRuaW5nAQhJ+u/gzc6BTgA=", + "channel_type": { + "bits": [ + 12, + 22 ], - "feerate": null, - "minconf": null, - "utxos": null + "names": [ + "static_remotekey/even", + "anchors_zero_fee_htlc_tx/even" + ] + }, + "commitments_secured": true, + "funding_outnum": 0 + } + ] + }, + "lightning-parsefeerate.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "parsefeerate", + "title": "Command for parsing a feerate string to a feerate", + "description": [ + "The **parsefeerate** command returns the current feerate for any valid *feerate_str*. This is useful for finding the current feerate that a **fundpsbt** or **utxopsbt** command might use." + ], + "request": { + "required": [ + "feerate_str" + ], + "properties": { + "feerate_str": { + "type": "string", + "description": [ + "The feerate string to parse." + ] } - }, - { - "id": "example:txprepare#21", - "method": "txprepare", - "params": { - "outputs": [ - { - "bcrt1qyhu7rxj3rrlcj84jtzp2mk9d89xm9v2rx4d4h8au830axugx6mmqsuplng": "100000sat" - } + } + }, + "response": { + "required": [], + "properties": { + "perkw": { + "type": "u32", + "description": [ + "Value of *feerate_str* in kilosipa." ], - "feerate": null, - "minconf": null, - "utxos": null + "additionalProperties": false } } - ], - "example_json_response": [ + }, + "example_json_request": [ { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff02ffffff00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd42839800000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", - "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMI////AAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCEKDmAAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgA=" + "id": "example:parsefeerate#1", + "method": "parsefeerate", + "params": [ + "opening" + ] }, { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a9849800000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", - "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBBYAFH0I2Zffqc3jn4aGOq8PguMswwyDAAEDCKmEmAAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" + "id": "example:parsefeerate#2", + "method": "parsefeerate", + "params": [ + "mutual_close" + ] }, { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec760141890100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb566000000", - "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIQEIPAAAAAAABBCIAIDYLbE1WY1RrtlKo7EhezIdLJC0olr4k8XuWglwZdux2AAEDCAFBiQEAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQA=" + "id": "example:parsefeerate#3", + "method": "parsefeerate", + "params": [ + "opening" + ] }, { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000002200203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df41839800000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", - "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfAAEDCEGDmAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" + "id": "example:parsefeerate#4", + "method": "parsefeerate", + "params": [ + "mutual_close" + ] }, { - "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b373667504183980000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", - "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAILY28HAm6mSVLs5bdiCpM32awjIceWpJkmCZTRs3NmdQAAEDCEGDmAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" + "id": "example:parsefeerate#5", + "method": "parsefeerate", + "params": [ + "unilateral_close" + ] }, { - "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCGFzAQAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=" + "id": "example:parsefeerate#6", + "method": "parsefeerate", + "params": [ + "penalty" + ] }, { - "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", - "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" + "id": "example:parsefeerate#7", + "method": "parsefeerate", + "params": [ + "opening" + ] }, { - "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b560000000", - "txid": "5775dba29353b414f5a2c8b2e827d94a5e3c622b4e8ee8b135d459c5abe82c80", - "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" + "id": "example:parsefeerate#8", + "method": "parsefeerate", + "params": [ + "mutual_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCGFzAQAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=" + "id": "example:parsefeerate#9", + "method": "parsefeerate", + "params": [ + "unilateral_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", - "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" + "id": "example:parsefeerate#10", + "method": "parsefeerate", + "params": [ + "penalty" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", - "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgA=" + "id": "example:parsefeerate#11", + "method": "parsefeerate", + "params": [ + "opening" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c361730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b566000000", - "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAJ4IvZKhuevZ2ofO3mKkDfMoEsUyvbqfNmDxAHtl5LDAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" + "id": "example:parsefeerate#12", + "method": "parsefeerate", + "params": [ + "mutual_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df361730100000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", - "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zAAEDCGFzAQAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" + "id": "example:parsefeerate#13", + "method": "parsefeerate", + "params": [ + "unilateral_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828617301000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea66000000", - "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIPieaTOMyJhHHsFIBsvcubFnSyQqrscaNokAZe29a6goAAEDCGFzAQAAAAAAAQQiUSA18RhPa0cMnfNH2mLEso5+ye4QsiC6w6zNIiCd7wA26gA=" + "id": "example:parsefeerate#14", + "method": "parsefeerate", + "params": [ + "penalty" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a114003285961730100000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", - "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZAAEDCGFzAQAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" + "id": "example:parsefeerate#15", + "method": "parsefeerate", + "params": [ + "opening" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f262236173010000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", - "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIBvr2pCNOxnkpz5XNvaiOx21mEOvLhe70rGcqd2w8mIjAAEDCGFzAQAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" + "id": "example:parsefeerate#16", + "method": "parsefeerate", + "params": [ + "mutual_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef8902061730100000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca66000000", - "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgAAEDCGFzAQAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygA=" + "id": "example:parsefeerate#17", + "method": "parsefeerate", + "params": [ + "unilateral_close" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e5461730100000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6166000000", - "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIJ82IiKJhLIjpT6WITFJbUiZ/nBjrAr+H+YM2WyC125UAAEDCGFzAQAAAAAAAQQiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYQA=" + "id": "example:parsefeerate#18", + "method": "parsefeerate", + "params": [ + "penalty" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b79861730100000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c866000000", - "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEyd+og0d6wP0S65dxwDLfftCU0RZ/13K4bUZZd+KbeYAAEDCGFzAQAAAAAAAQQiUSA+igP2eLt8oEi67MOXiFMFYOoEmBbWBPcpJeQlKIRGyAA=" + "id": "example:parsefeerate#19", + "method": "parsefeerate", + "params": [ + "9999perkw" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f661730100000000002251203671809e546731752648236bab1e96a5af9a2c985da53db6116b0d672b23dc9966000000", - "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIJJReiW4TTOePaS9zSDiAhk6YeGp2gEvGlD00rukB7j2AAEDCGFzAQAAAAAAAQQiUSA2cYCeVGcxdSZII2urHpalr5osmF2lPbYRaw1nKyPcmQA=" + "id": "example:parsefeerate#20", + "method": "parsefeerate", + "params": [ + "10000perkb" + ] }, { - "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002025f9e19a5118ff891eb25882add8ad394db2b143355b5b9fbc3c5fd37106d6f66173010000000000225120a2a01c7965289eee56b5cfcddb9856c70fa476c264d21f711c6a69af776ae40366000000", - "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2AAEDCGFzAQAAAAAAAQQiUSCioBx5ZSie7la1z83bmFbHD6R2wmTSH3Ecammvd2rkAwA=" - } - ] - }, - "lightning-txsend.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "txsend", - "title": "Command to sign and send transaction from txprepare", - "description": [ - "The **txsend** RPC command signs and broadcasts a transaction created by *txprepare* RPC command." - ], - "request": { - "required": [ - "txid" - ], - "properties": { - "txid": { - "type": "txid", - "description": [ - "The transaction id of the transaction created by `txprepare` rpc command." - ] - } - } - }, - "response": { - "required": [ - "psbt", - "tx", - "txid" - ], - "properties": { - "psbt": { - "type": "string", - "description": [ - "The completed PSBT representing the signed transaction." - ] - }, - "tx": { - "type": "hex", - "description": [ - "The fully signed transaction." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The transaction id of *tx*." - ] - } - } - }, - "errors": [ - "On failure, an error is reported (from bitcoind), and the inputs from the transaction are unreserved.", - "", - "- -1: Catchall nonspecific error." - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-txprepare(7)", - "lightning-txdiscard(7)" - ], - "resources": [ - "Main web site: " + "id": "example:parsefeerate#21", + "method": "parsefeerate", + "params": [ + 10000 + ] + }, + { + "id": "example:parsefeerate#22", + "method": "parsefeerate", + "params": [ + "urgent" + ] + }, + { + "id": "example:parsefeerate#23", + "method": "parsefeerate", + "params": [ + "normal" + ] + } ], - "example_json_request": [ + "example_json_response": [ { - "id": "example:txsend#1", - "method": "txsend", - "params": { - "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce" - } + "perkw": 6250 }, { - "id": "example:txsend#2", - "method": "txsend", - "params": { - "txid": "3091e50601329ee8f843bfb9901a87abc8820088684c39932a6d16f31e908f52" - } + "perkw": 5000 }, { - "id": "example:txsend#3", - "method": "txsend", - "params": { - "txid": "3cb68dc48c35f7d38e30ac8962345ef7f74cf940c29228841b9f931a32b9fa21" - } + "perkw": 6250 }, { - "id": "example:txsend#4", - "method": "txsend", - "params": { - "txid": "fd3bda04e2088943720fd08938092adab2a5b3d2bd9ac4d4846d8434873d5a72" - } - } - ], - "example_json_response": [ + "perkw": 5000 + }, { - "tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b373667504183980000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", - "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBp/HPhg1ObOXqTr5rIjUYLMspGLz+sk1pjD9pjRFzf3wIgWycOB/dQPzwZAK3OXYs269h8o85ucDpdVhH4AyX69a0BIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBC3ADYE1nDpVHhcOO/UmL6nKzC6y4oOhDleUkc2G3OSwEPBAAAAAABEAT9////AAEDCAAAAAEAAAAAAQQiACC2NvBwJupklS7OW3YgqTN9msIyHHlqSZJgmU0bNzZnUAABAwhBg5gAAAAAAAEEIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFkhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAA=" + "perkw": 11000 }, { - "tx": "020000000413b0d7563a6279fd8c1c3a68953f4e86c51f1dae1bb95250ddee0dc0d760369b0100000000fdffffff50fe4ccd554133d6568ed18872fa0f657f84f532ba5e51b73021d4ab2ffb9d4f0000000000fdfffffff5a05ce5ce0fb555c35f0c9cb00bc6f3e6cf38c365bf6343d9695f24b5310a590100000000fdffffff4d4e4374d5293a7a708d593b38ba72052805d68693127092d177b360793f512c0000000000fdffffff02c0c62d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a8197180f00000000002251207994bdf262cc296e26b6272fed43e87658dbb95d35758b3552bfb2f0ce71ed8154000000", - "txid": "3091e50601329ee8f843bfb9901a87abc8820088684c39932a6d16f31e908f52", - "psbt": "cHNidP8BAgQCAAAAAQMEVAAAAAEEAQQBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAaNMrbjuYAljZNbaKswRXuY8psqCzmbo0EgvlZAk2kssAQAAAAD9////Apkp2CkBAAAAFgAU6pHIz5HihQ4OBe2DX/m6wMBOl+5AQg8AAAAAABYAFF7u8lcifRz8kdd7F0RJrxmvphOWAkcwRAIgDNOC8Mm8gw79QQhDR3f4nj0mrjxsOS46CpDPOEedhDUCIBYAxH//GkPW5so0LVTxtJ9zNwd6JzKQj2mPBC7X5NqWASEC/wlBCV7DbYfR/khDlbc0EbdF8orxtlXN9Rmyd4tnhqFlAAAAAQEfQEIPAAAAAAAWABRe7vJXIn0c/JHXexdESa8Zr6YTliICA5x2EDNUbZridTecYb6J8X5dKirll1LzBnPYRGJKPCMmRzBEAiAnGpyzZfKPjIpgStsW5Re+pntgp6C2rYkMFGGinGLFGwIgYLxQGB/9MnQ85jXU9TGfd2WpZeTTYUf1lfLlITUYY+UBIgYDnHYQM1RtmuJ1N5xhvonxfl0qKuWXUvMGc9hEYko8IyYIXu7yVwAAAAABDiATsNdWOmJ5/YwcOmiVP06GxR8drhu5UlDd7g3A12A2mwEPBAEAAAABEAT9////AAEA3gIAAAAAAQE6jkWbsue9RY7gNXkY4H/y+40lkzp67NTNA0fyFNHG9wEAAAAA/f///wJAQg8AAAAAABYAFArBbsHsKwY04IRb8aEZr4BrqAwYy5h8KQEAAAAWABTIwQC6hbvu6PhwL3u+WD4U09ZEBAJHMEQCIDI8wxoijhMC7oJ3Z5Ia4DJZvez/POatVE+5tK4Bb11HAiAzMLNSImJUKqlWhwrYH7vSW39D1Sc9P/Co7nyDTaIg/AEhA4mVlWkvrJ/WBr+LTy6n9xAoAPiyWkSstzQX1Mf5dN6+ZQAAAAEBH0BCDwAAAAAAFgAUCsFuwewrBjTghFvxoRmvgGuoDBgiAgKAgtBRUvc6jQPUNEevQFU28XtCyaxqmFfp86ctQab8SkcwRAIgB2aS/KPP5Q42UQEb7deGV/oYVFj2h6gbWSPTKOlwyewCIBFWWsHoKEeDgaJFc5Y2jX2Vu1mGamWmt6RKP19GQHJyASIGAoCC0FFS9zqNA9Q0R69AVTbxe0LJrGqYV+nzpy1BpvxKCArBbsEAAAAAAQ4gUP5MzVVBM9ZWjtGIcvoPZX+E9TK6XlG3MCHUqy/7nU8BDwQAAAAAARAE/f///wABAN4CAAAAAAEBV2b4348UzbPV0W0Ht8aVFPKD6m+rk11FjtQXlxCE8NgAAAAAAP3///8CZR6bKQEAAAAWABTipxqZndAvINgcisEgSp1vptG1FUBCDwAAAAAAFgAUIE104kPCHhwifaa0EQdOhb3k2bICRzBEAiBOR/lNw+9P4d3P3nyAgNlNcb5t6iATEXxRmAYNc6Jn/wIgfZ2h/yOcVP6mtNb/oOj+Oiqvc+naq4Ie2jQ6Qe6sBasBIQOjn6phjNRhl/6xL+YelmSjqLiljli9MNXGAHghQCJLHWUAAAABAR9AQg8AAAAAABYAFCBNdOJDwh4cIn2mtBEHToW95NmyIgIDFLKzB9ADXpQ9IFapyKht1L/l8b0cU2GLyc1skHTKEx9HMEQCIGqfcRBBjM6xbFGeWJaqTTaYyzJhywQ82mQMHgOfr/pVAiBu4ceiVgeZZ51uperfSEYNYQRMJ5e5vsHYxmtoDb4iSgEiBgMUsrMH0ANelD0gVqnIqG3Uv+XxvRxTYYvJzWyQdMoTHwggTXTiAAAAAAEOIPWgXOXOD7VVw18MnLALxvPmzzjDZb9jQ9lpXyS1MQpZAQ8EAQAAAAEQBP3///8AAQDeAgAAAAABAcuypKM/NjhyOuvTHXtJzpeFPP1EV5uRTCsYDIU2nRzaAQAAAAD9////AkBCDwAAAAAAFgAUbAZZzOP1/8KVKOEj7hDIkjqNHrz/o7kpAQAAABYAFDQa0hhCvnw5g0vmEKMQwu6aJD1kAkcwRAIgPzE4nzV4ueUnxSYmLlhfwi3tzcRMB/ZQkAJZGFML2ZECIGScQrwILbkQWcWOHhFl6LAu+SFcqYWRyMPzrbcAcKaeASEC1gV8d8xS1X5Bu0vFdMYh84nnbxSHtdcO+D1K4dmGRMJMAAAAAQEfQEIPAAAAAAAWABRsBlnM4/X/wpUo4SPuEMiSOo0evCICAlP9Sxx1aY1pAo4XGWpTBm+Jb3adPcMV5pLXtFecV8VoRzBEAiBxHyuF6gddXM1pZDx3DUSqpkMdPloiLByfOJ1B6/TNfQIgLpgQ/Y03B52wpKq7GlvzdEAL0/CeMs13JDkNVeQ1sEoBIgYCU/1LHHVpjWkCjhcZalMGb4lvdp09wxXmkte0V5xXxWgIbAZZzAAAAAABDiBNTkN01Sk6enCNWTs4unIFKAXWhpMScJLRd7NgeT9RLAEPBAAAAAABEAT9////AAEDCMDGLQAAAAAAAQQWABTJCW1D9AjqUmAgJizNrXyFFrkqgQABAwiXGA8AAAAAAAEEIlEgeZS98mLMKW4mticv7UPodljbuV01dYs1Ur+y8M5x7YEhBy6TpHMDLtueQudXStH7jCUI5NpdCX0McjLFe6BvXoj2CQBC1sM3CwAAAAA=" + "perkw": 6250 }, { - "tx": "02000000019b7035e08e7d00c40889222a12966cc35b43e47f1ce308c08cd82eaa1bef8cac0000000000fdffffff02e803000000000000160014071c49cad2f420f3c805f9f6b98a57269cb1415051110000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b567000000", - "txid": "3cb68dc48c35f7d38e30ac8962345ef7f74cf940c29228841b9f931a32b9fa21", - "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAU4q2suC/M8rKjg/BsA/eRZLI8BMTVv2oWxrCZm1CU59AAAAAAD9////AhAnAAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WVjygUqAQAAABYAFGJxeJ2HjLcxj/WQQ/lIDlCDUe0LAkcwRAIgcwh4G4zlrzWRLllEZfF19guZJpMDgaw5jqrgcvZ9a/MCIDKHkABSfizN+FKKKnCiyoEqT0KLF3efRkyobS29zDFsASECJG1h4qBn0aYoJ0LX8fBd7YfiYml1t+BGHnUOOC7SsBFlAAAAAQEfECcAAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAou6FN1prYGnnqArSgm7vblVcQEH8w2BnL/OLwaGGhWwIgCDSGmrnXEcdgo+8H41NRZ9MNPQSs31rAXafw0hWY8HIBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiCbcDXgjn0AxAiJIioSlmzDW0PkfxzjCMCM2C6qG++MrAEPBAAAAAABEAT9////ACICAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoDAAAAAQMI6AMAAAAAAAABBBYAFAccScrS9CDzyAX59rmKVyacsUFQAAEDCFERAAAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtSEHWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAJAH0I2ZcFAAAAAA==" + "perkw": 6250 }, { - "tx": "0200000001b727b2c3740a71caf0926c3d2df35b7c3c744e51af75508f40d14d236f849c810000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b37366750012f0f0000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245967000000", - "txid": "fd3bda04e2088943720fd08938092adab2a5b3d2bd9ac4d4846d8434873d5a72", - "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAaweu4SxAUVlFYyRXyK2fpcRPaofobc6JmX7GY/KtVULAAAAAAD9////AkBCDwEAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYmGF4nAQAAABYAFJZ2phvfH5DOyHTsIiNtucDm642VAkcwRAIgQJenMokGT0FA2Rk2dAFEAVHcy3MR6b7MUM5+KvpCtskCIByzJrmKCIU0xdjQNHX2Ye1Fz4OooY4tH3/a2kX+e8apASECRRZm2n2GVzArOVdehmPS+mak+ieUdRsCYNJPN3xJ9etmAAAAAQEfQEIPAQAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZiICA5FFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTRzBEAiB42bsIsQKtY1fsBAC3J05Q3xXqpN7M0Q6bYGKQXFHnQAIgO94+13jZz1mkZsgKq5Q3uNHivCGWjVT8PThvT2uCs4IBIgYDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMIwsyrFwAAAAABDiC3J7LDdApxyvCSbD0t81t8PHROUa91UI9A0U0jb4ScgQEPBAAAAAABEAT9////AAEDCAAAAAEAAAAAAQQiACC2NvBwJupklS7OW3YgqTN9msIyHHlqSZJgmU0bNzZnUAABAwgBLw8AAAAAAAEEIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFkhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAA=" + "perkw": 5000 + }, + { + "perkw": 11000 + }, + { + "perkw": 6250 + }, + { + "perkw": 6250 + }, + { + "perkw": 5000 + }, + { + "perkw": 11000 + }, + { + "perkw": 6250 + }, + { + "perkw": 6250 + }, + { + "perkw": 5000 + }, + { + "perkw": 11000 + }, + { + "perkw": 6250 + }, + { + "perkw": 9999 + }, + { + "perkw": 2500 + }, + { + "perkw": 2500 + }, + { + "perkw": 11000 + }, + { + "perkw": 7500 } + ], + "errors": [ + "The **parsefeerate** command will error if the *feerate_str* format is not recognized.", + "", + "- -32602: If the given parameters are wrong." + ], + "trivia": [ + "In CLN we like to call the weight unit \"sipa\" in honor of Pieter Wuille, who uses the name \"sipa\" on IRC and elsewhere. Internally we call the *perkw* style as \"feerate per kilosipa\"." + ], + "resources": [ + "Main web site: " ] }, - "lightning-unreserveinputs.json": { + "lightning-pay.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "unreserveinputs", - "title": "Release reserved UTXOs", + "rpc": "pay", + "title": "Command for sending a payment to a BOLT11 invoice", "description": [ - "The **unreserveinputs** RPC command releases (or reduces reservation) on UTXOs which were previously marked as reserved, generally by lightning-reserveinputs(7)." + "The **pay** RPC command attempts to find a route to the given destination, and send the funds it asks for. .", + "", + "The response will occur when the payment fails or succeeds. Once a payment has succeeded, calls to **pay** with the same *bolt11* will succeed immediately.", + "", + "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." ], "request": { "required": [ - "psbt" + "bolt11" ], "properties": { - "psbt": { + "bolt11": { "type": "string", "description": [ - "Inputs to unreserve are the inputs specified in the passed-in *psbt*." + "Bolt11 invoice, if **experimental-offers** is enabled, it can actually be a bolt12 invoice, such as one received from lightningd-fetchinvoice(7). If it does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*." ] }, - "reserve": { - "type": "u32", + "amount_msat": { + "type": "msat", "description": [ - "The number of blocks to decrease reservation by." + "*amount_msat* is in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*." + ] + }, + "label": { + "type": "string", + "description": [ + "It is used to attach a label to payments, and is returned in lightning- listpays(7) and lightning-listsendpays(7)." + ] + }, + "riskfactor": { + "type": "number", + "description": [ + "The *riskfactor* is described in detail in lightning-getroute(7)." ], - "default": 72 - } - } - }, - "response": { - "required": [ - "reservations" - ], - "properties": { - "reservations": { + "default": "10" + }, + "maxfeepercent": { + "type": "number", + "description": [ + "Percentage of the amount that is to be paid." + ], + "default": "0.5" + }, + "retry_for": { + "type": "u16", + "description": [ + "Until *retry_for* seconds passes, the command will keep finding routes and retrying the payment." + ], + "default": "60 seconds" + }, + "maxdelay": { + "type": "u16", + "description": [ + "A payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case." + ] + }, + "exemptfee": { + "type": "msat", + "description": [ + "This option can be used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than `exemptfee`." + ], + "default": "5000 millisatoshi" + }, + "localinvreqid": { + "type": "hex", + "description": [ + "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7). This ensures that we only make a single payment for an offer, and that the offer is marked `used` once paid." + ] + }, + "exclude": { "type": "array", + "description": [ + "*exclude* is a JSON array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or pubkey which should be excluded from consideration for routing." + ], + "default": "not to exclude any channels or nodes", "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "txid", - "vout", - "was_reserved", - "reserved" - ], - "properties": { - "txid": { - "type": "txid", - "description": [ - "The transaction id." - ] - }, - "vout": { - "type": "u32", - "description": [ - "The output number which was reserved." - ] - }, - "was_reserved": { - "type": "boolean", - "description": [ - "Whether the input was already reserved (usually `true`)." - ] + "oneOf": [ + { + "type": "short_channel_id_dir" }, - "reserved": { - "type": "boolean", - "description": [ - "Whether the input is now reserved (may still be `true` if it was reserved for a long time)." - ] - } - }, - "allOf": [ { - "if": { - "additionalProperties": true, - "properties": { - "reserved": { - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "reserved_to_block" - ], - "properties": { - "txid": {}, - "vout": {}, - "was_reserved": {}, - "reserved": {}, - "reserved_to_block": { - "type": "u32", - "description": [ - "What blockheight the reservation will expire." - ] - } - } - } + "type": "pubkey" } ] } + }, + "maxfee": { + "type": "msat", + "description": [ + "*maxfee* overrides both *maxfeepercent* and *exemptfee* defaults (and if you specify *maxfee* you cannot specify either of those), and creates an absolute limit on what fee we will pay. This allows you to implement your own heuristics rather than the primitive ones used here." + ] + }, + "description": { + "type": "string", + "description": [ + "It is only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid." + ] } } }, + "response": { + "required": [ + "payment_preimage", + "payment_hash", + "created_at", + "parts", + "amount_msat", + "amount_sent_msat", + "status" + ], + "properties": { + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "created_at": { + "type": "number", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "parts": { + "type": "u32", + "description": [ + "How many attempts this took." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount the recipient received." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "Total amount we sent (including fees)." + ] + }, + "warning_partial_completion": { + "type": "string", + "description": [ + "Not all parts of a multi-part payment have completed." + ] + }, + "status": { + "type": "string", + "enum": [ + "complete", + "pending", + "failed" + ], + "description": [ + "Status of payment." + ] + } + }, + "post_return_value_notes": [ + "You can monitor the progress and retries of a payment using the lightning-paystatus(7) command." + ] + }, + "randomization": [ + "To protect user privacy, the payment algorithm performs some randomization.", + "", + "1: Route Randomization", + "", + "Route randomization means the payment algorithm does not always use the lowest-fee or shortest route. This prevents some highly-connected node from learning all of the user payments by reducing their fees below the network average.", + "", + "2: Shadow Route", + "", + "Shadow route means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", + "", + "Route randomization will never exceed *maxfeepercent* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." + ], "errors": [ - "On failure, an error is reported and no UTXOs are unreserved.", + "The following error codes may occur:", "", - "- -32602: Invalid parameter, i.e. an unparseable PSBT." + "- -1: Catchall nonspecific error.", + "- 201: Already paid with this *hash* using different amount or destination.", + "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object (except for self-payment, which currently returns the error directly from lightning-sendpay(7)).", + "- 205: Unable to find a route.", + "- 206: Route too expensive. Either the fee or the needed total locktime for the route exceeds your *maxfeepercent* or *maxdelay* settings, respectively. The *data* field of the error will indicate the actual *fee* as well as the *feepercent* percentage that the fee has of the destination payment amount. It will also indicate the actual *delay* along the route.", + "- 207: Invoice expired. Payment took too long before expiration, or already expired at the time you initiated payment. The *data* field of the error indicates *now* (the current time) and *expiry* (the invoice expiration) as UNIX epoch time in seconds.", + "- 210: Payment timed out without a payment in progress.", + "", + "Error codes 202 and 204 will only get reported at **sendpay**; in **pay** we will keep retrying if we would have gotten those errors.", + "", + "A routing failure object has the fields below:", + "", + "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", + "*erring_node*: The hex string of the pubkey id of the node that reported the error.", + "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error.", + "*failcode*: The failure code, as per BOLT #4.", + "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the UPDATE bit set, as per BOLT #4.", + "", + "The *data* field of errors will include statistics *getroute_tries* and *sendpay_tries*. It will also contain a *failures* field with detailed data about routing errors." ], "example_json_request": [ { - "id": "example:unreserveinputs#1", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAXyy20ynmOFyRbegGyApk50yNIAb4C+RKV5c2n5VKL3lAAAAAAD9////Akf0EAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUs/fQpAQAAABYAFN9HebR4q6498ytdeRKjC64CkCOMAkcwRAIgSTJCpWVH1FLZYPdwFe7gZckxCtk+AxPp20KUVKqPIdUCIA3hkoUco68vffiwt6TrE3KgX09JE9m7PDUUgrHQANMRASEDBOBlCza/8qXE5q8uJ+OWsKscDERWfdA+LLCa/lwMH0BlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBKjSasyN29ODqXSemEQCZfRIvbJP8thKRBrd4e+NLEMQIgMGNz3+DWDnLmjnIDCaVcC7BKxuycwvtJq1qlKFtTaXcBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAoXS6QUlCcOApG/j+hr4OhNt0tT4GvCzI6z16Hepi7OwEPBAAAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABQfJ4Qjje0sa2yGBz++6jkM2hGRmAz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA", - "reserve": 200 - } - }, - { - "id": "example:unreserveinputs#2", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BADMCAAAAATcmTTXq+fj+sIHr+R5b7fJF7TFSj9CobhAzsy8ZmSrYAQAAAAD9////AGYAAAAAAQDeAgAAAAABAWQACJva49ga8OCYXvPRWQRhoXndrJykwjgXbwT251dEAAAAAAD9////AiOI9ikBAAAAFgAU3gClv/YpAKRpfDuiFu6mIL2E4+5QaQ8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgUXIQFs7oRkorVThUn3sLj7WI7g8c8RHai4ChoCvIkWsCICp1CqHl4BlMJCKFHRWHXhhekaj0r1EFSNrh8UnvysQPASEDqHIAEdaH3H6pb3VJzbJNDG4lL8PTfsheL+h2p6baK3JlAAAAAQEfUGkPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "reserve": 2015 - } - }, - { - "id": "example:unreserveinputs#3", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAgQCAAAAAQMEGQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAvnQ1D05X5V7fK9Ypl3PGNGC+SPFQA1egU/xGlMIv2jAIgHUC7f/WwrDyHKiJD/eRQWr45NqpHEsvrAuNy41GlPBsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA", - "reserve": 200 - } - }, - { - "id": "example:unreserveinputs#4", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": 2015 - } - }, - { - "id": "example:unreserveinputs#5", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": 1 - } - }, - { - "id": "example:unreserveinputs#6", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", - "reserve": null - } - }, - { - "id": "example:unreserveinputs#7", - "method": "unreserveinputs", - "params": { - "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", - "reserve": null - } - }, - { - "id": "example:unreserveinputs#8", - "method": "unreserveinputs", + "id": "example:pay#1", + "method": "pay", "params": { - "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", - "reserve": null + "bolt11": "lni1qqgxr7gha7gusyg83lsr8qcqg4axgq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqjz06c8s2vvmrpjlkcse0txx0gmc6jalqqxmeyjm75qcnfnqxwyt2sfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpe8qlx9xssexfc0aguke3q6u0jgw2qmn008mzu04mkmqmjmhes3gcpqdqdnzl270s48vsp635rd4jm04snvgkcp65qlkgp8qztu2mdp7c5uqpj2rll3pzu56st537rct3v62gfqeamzthjuwkr0pkvsdnnffpn4sq9sz0lryaufktx0nfxlffum3yesqev5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxtvwkyz5zq2000hlwvadejz366lqjt9sd2j4rf5tfd9rgmmyegt4dqd34cf6v4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqn3n74ccym4wcvq20vsx7lmk450kprpvlrh4cukk8xy9ptjcef4rnhytnkyn4vnxxtd57yeaksze2s30y26cs6u3rjd9322eg9puk24q", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#9", - "method": "unreserveinputs", + "id": "example:pay#2", + "method": "pay", "params": { - "psbt": "cHNidP8BADMCAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////AAAAAAAAAA==", - "reserve": null + "bolt11": "lnbcrt313370n1pjmr4aasp5m8upx6408qz9xt6mlk330pwh7sucn8g2fhu2f4gy2xn9zmp947mspp50u3uqu6ffk78tzfjdcg2xptvaukw904f79aupxpfpn626e3fn2fsdq8v3jhxccxqyjw5qcqp99qxpqysgqfknzn5jd2prrufwwpmpxspm6kwjpszmprvydnx932dzereaerg8jfxm0md2ghmcgv32v4s4tg5tsnscpeyzq8dxn60h0fzmkqj7v4jcq827nse", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#10", - "method": "unreserveinputs", + "id": "example:pay#3", + "method": "pay", "params": { - "psbt": "cHNidP8BAK4CAAAABK68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////IJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQBAAAAAP3////3wTApkw4eLJFhbJOhp7opx7eALCpS+dVdceUH+mz2hwAAAAAA/f///7UVWvMf5fuf3CJgwyefX97uk3YLoJCPXg3NX9thf61bAAAAAAD9////AGYAAAAAAQDeAgAAAAABARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AkcwRAIgP6Hy4dnkYkUJ+vkCHpIdFivzuj5hZIt5e3HXoZ1J8wgCIDbuhq289JDZgHFPniRM/7q8wiOS37/0Jz7jkPu019/zASED9GFy1oR4sXAkiYvdXRdgCXd5opn0rhCbIQJWbineAhtlAAAAAQEfQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouAABAN4CAAAAAAEBfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMCRzBEAiA/a9I1mkTVaKL6nRG8CEJ2hsaMimICZUcvAWzHpT85AQIgUJdjAwn+++IWWhKxCJoyRC0Pu+ykZuCL0fWfmN/PAWUBIQKTJtCURBOVsMIxKJ6DCvk64F7L8ZtY9SOELs46KGzWBWUAAAABAR9AQg8AAAAAABYAFH0I2Zffqc3jn4aGOq8PguMswwyDAAEA3gIAAAAAAQElwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQEAAAAA/f///wJAQg8AAAAAABYAFJ+2e/zv7my320x+VdnGv9dJ4x0eZR6bKQEAAAAWABQKf9BYBbmyj7QFM4pXda0JZapaAgJHMEQCIHqi0/7YrwIb47rEUPMeHI2NqGahL4Qz5Uz2C+dn7x5bAiA/3Woc5maMLzTl6nv0O4yYBsuLy6ZnyBOSNc0KwwT8DwEhAwUcWsfTj5UtdsQdlidCAD7wzD+sAS0ZNUxMfMG2Tc/AZQAAAAEBH0BCDwAAAAAAFgAUn7Z7/O/ubLfbTH5V2ca/10njHR4AAQDeAgAAAAABAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSAkcwRAIgGi4F+ak4VcPFinRD/mVvGFY6jd4fgsFU+Hu9zPjpmsUCIFTY/MS8T7p22wuS2L9tZSjbx+qCguWAgu7okF+eRIn0ASEC66fApkpA4VYZtuZTJcDBftErLdaGUneLIyTy5AAInYdlAAAAAQEfQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgA=", - "reserve": null + "bolt11": "lni1qqgqdee2cwuaepw59trtww9l4ktf5q3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqtypg3hgetnwsszycn0d36rzv3zypjx2umrwf5hqarfdahzcg8sn7jmpuyl423pvggzvmj9nrga83q474e2sjygxzmq7ln5fmvjxh4skxafx2pmx9wqx5v9qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnjfrgj5r8wyv4hvjuq46pcw5t8x0ndpjjmnx03h20t0hzwju7v3jsfsqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rqpqpufrwynd8lexnp956kx9p6g3vt52n9uky2cm46tved2hur269tqpq0j8u795js680ptazh6unmpcyd7e7ppqv78qwq8yd78t3xrsgcwccqpjzxqgkx7vzqy7udg4ty95xxe0hzs7eccpqx3n4ugcfsp6tsq3f7nagrmszcr93ugxlmn2nc6yamram2cz5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt4ufww5zp54nlzncrlts42krfnrz4jwx9rlg2hyqm2azl739hry767c5a22d4gqkfvppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzqhg7wsanf343hwaanj6vj366tcjc48ge9w3umcy2ulg99mg2v4eu58mvxzpnvy35xshe3qfh5044qrkxyqxm5njl790url05vfcdpudg", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#11", - "method": "unreserveinputs", + "id": "example:pay#4", + "method": "pay", "params": { - "psbt": "cHNidP8BADMCAAAAAa68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////AAAAAAAAAA==", - "reserve": null + "bolt11": "lnbcrt313370n1pja0zdesp5nq37wknu0qrvx66hltyzrm9v323hn5awglsr0kn0pfqyn9u9u97qpp5kjfknf28d64v0vjxennx8vj7fypy4tv9afc9rf4ty5w7qs048essdq8v3jhxccxqyjw5qcqp99qxpqysgq5zrx6ttapag4r3uawl3kygzcu36y6arg8hn9597408mnhh3zv06qpad34u4h5ukm3rczg0dy57z2kppkzmsytrm6ec0hff6ah2axq7sqgu64n2", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#12", - "method": "unreserveinputs", + "id": "example:pay#5", + "method": "pay", "params": { - "psbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "reserve": null + "bolt11": "lnbcrt50u1pja0zh2sp528cnmqa6qugsgg5x860t3hgs3q6898vmh6vwhs5k0a0f9f6ug56qpp5zq3r29c24veanx02fzp4z3707e3qn6f9zxd5xct23rzq3pt9sqksdzgw3jhxazld9h8vmmfvdj47urp09kk2mn5tahx7arfve5kxct5d9hkuhmyv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgqxxnua4elth0kl4888clcxl5yk5ms705my46np6a4a7vx8p8r8kxxh2p8qmgw6a2p5v7hq88ej0kx0yrlp7240vvh74q7zrfmmmhuzpcpmazf8w", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#13", - "method": "unreserveinputs", + "id": "example:pay#6", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": 2015 + "bolt11": "lnbcrt5m1pja0zl6sp5v5h0uup9qlw2dx2ygjpf84xgt6f44gkdj95kgtykfh8ryuqe2ywqpp5j7e8lgrrjlqgpfh5ettypn9akj59fpkc95nw53lzgz3al3su97vqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgqvnrqqtthdhl2x3940aga8s0v8slpj3zllv3v9ex25wgjyz22rxynurchpwgg8yrku227mqlgnteqk53zh4wme3kkctc62jktfaffspsprgq6ed", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#14", - "method": "unreserveinputs", + "id": "example:pay#7", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": 1 + "bolt11": "lnbcrt5m1pja0zlmsp5v230826kw4yxzgfnqr3k0ykk4awzlhn2aa5pq890rychu99j0trspp5c8euaznadx8458srxwuy0arrz85yvzzn0dvkpxe60966hnk6lsqqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq8rwqqj9j03qvg2m8dz5cr0fm64030atns87z9rtcn9h6uhczq5knt5grvn93hl5yu7t7c2v5cepdxfnf34rmkcdjsrwfgyj6tcpjzlgqgffva9", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#15", - "method": "unreserveinputs", + "id": "example:pay#8", + "method": "pay", "params": { - "psbt": "cHNidP8BAK4CAAAABNNngbU2OZbuxWy1eirCXDelreU6DGRwcgNhK269/gD4AQAAAAD9////x0An5I3jS5JHYBJ3dSLwsXBSd0XRItsBjtgrOEJqfYwBAAAAAP3///9IPHsAJ8zDdkfaIS1BmfYzv7kd8pMPnk1scxuPGsYDYAEAAAAA/f///6IA2n7v1aIzIemVsJdOO4dUQKjRfDTlvM8pxbB2gjzkAQAAAAD9////AAAAAAAAAAAAAA==", - "reserve": null + "bolt11": "lnbcrt100n1pja0rqpsp5lwzjcslahtwsxj76pt8jpxxwlrwt0m4gde7nl2m4rrcspeytpchqpp5a3mvkjud3t9yekd7pvac7ecxrs655lvlvcrsucunqstz4avrenasdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgq0tnm5drfmpcwjny8ykpmqj8tzn7736xak9nyq9h039wzcyspn7axg9mkcn0fjpwt4v8kw0e6dl42cas5l25ay3yga7k54hshlzhcr0spe2nsql", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#16", - "method": "unreserveinputs", + "id": "example:pay#9", + "method": "pay", "params": { - "psbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "reserve": null + "bolt11": "lnbcrt5m1pja0rqasp5r9ep3mlu0r9k43z2s00nc6mklee6afh7smufeynvwrk4gcn0eyfqpp57q3tpmzyhwa3g34yxg5f2q00luz4wggklsd08cqc4gherj36g0fqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqdj9w7qzr3ppvxvmj86xxs9yrwlsuj33p02329s7temg5nrwg66rkvxaprykgh8q0vhw8zlmekdu6xhjh4ldl3capnpqwt4qtzdn4lvgqryrgmy", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#17", - "method": "unreserveinputs", + "id": "example:pay#10", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt5m1pja0rq7sp5z3ghzu7r02aykwey852cswsamh98y9zv9hdrpser6cxaxl88q3jspp5gx3zewts6300kns7fnak528hhn9n662eqk0l65nqk5l66guv3fgsdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq848ruv2dj48t795z07df50wr60lsty3m96erztk4a5yf30u09g5sac840gr4gdkruud4k0rywz0su0ckcwhx6u4zuyl8cupuuyzsdxqqx9rl0m", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#18", - "method": "unreserveinputs", + "id": "example:pay#11", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt100n1pja0rpysp5z8a5av82f0mqnh8sc7lvp76z7vls97y3de8uhjzmxdsf9ns9gaqspp59supsgtt4qr33alunref0u2cdev0uxw5vg9ptgr08hmxt3qtlg9qdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqr4w92jut3guawwdadsn8h356yser7s9thppehkklfhgkf6ng2eu56mzu3nlm4ucmc9xhvzeuu97ecvkmcaj9rlffcpkjxktslc7j76qpq0fe93", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#19", - "method": "unreserveinputs", + "id": "example:pay#12", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt5m1pja0rzxsp536e5245ymejfa7478xr59tansepd3zuz4aywsucwdfsy999v9akqpp5780mt97kgalmqae9nlrze7vad4fhnndgx0zp0nmk0my7p065rr0qdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq752agy4xmk6dqrus0syxshtlpfjjvu7nzd9adup35pkuwnjy4vr9s4qznzyvxtr4cuszqfzq8cf7cep0eneurjfz9u6u8r9arjugfecpy2pge4", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#20", - "method": "unreserveinputs", + "id": "example:pay#13", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt5m1pja0rz8sp54dt8g3gkk8jjc9q6urcl93yuwssru6emqcsse00ter7awajf4deqpp5ws2ygxfrezd60z74e4er289sd52rka0arlhlq9p2czv2klfuqraqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqq7gdkddfxc38fkghhcs2heefac89zy8karuxqmcq2826l6h33xvx7yx7dek2u8xpn9faruxcf6yv6fzue3fzzk2pe9m0evzm65538xgqlm60hc", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#21", - "method": "unreserveinputs", + "id": "example:pay#14", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt100n1pja0rz0sp5mac00pzc9m0fcxvftm4ep3l03tlz9my286wanaydmsx59xeuywaspp5hl9hs779cfsetnem6stmzs09fzkr3hf89cv865zj4t5dlaapxqhqdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq0ka7fpyg4fwgu9lww9tgmnqr3dn3t9fm4ykx5eg5gjq4y6573cux86dgtqc806trusuhg4clrjm8uqx04zcwqljqh2ladlmn263dupgp8nwfaw", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#22", - "method": "unreserveinputs", + "id": "example:pay#15", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPh9uV2EwI1rEcIHzocnd2JbGHIZmzLyvv6NfPTIlH9xmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null + "bolt11": "lnbcrt5m1pja0rr4sp5a7qhyu2fs0hp3puje5mudhv07u8slgdvq9z9ap9nj4pw0amkjr8qpp5hxtywalr33kzmkp94pfrfyv9lc8fjhh2dr752wwfq5899xj6wttqdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqyrthqt8vvjes2aefqad37pdjq4vphtwms4lh3y2f4uu0gs82knp5pa37jcsp4heq3hvlhd8j3jxcacuyvf402nryz2qgvha0t56k6gcqthatpm", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null } }, { - "id": "example:unreserveinputs#23", - "method": "unreserveinputs", + "id": "example:pay#16", + "method": "pay", "params": { - "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "reserve": null - } - } - ], - "example_json_response": [ - { - "reservations": [ - { - "txid": "3bbb987a875ecf3a320baf814f2ddd36a183afa13ffe460a389c5052902e5d28", - "vout": 0, - "was_reserved": true, - "reserved": false - } - ] - }, - { - "reservations": [ - { - "txid": "d82a99192fb333106ea8d08f5231ed45f2ed5b1ef9eb81b0fef8f9ea354d2637", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 103 - } - ] - }, - { - "reservations": [ - { - "txid": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943", - "vout": 1, - "was_reserved": true, - "reserved": false - } - ] - }, - { - "reservations": [ - { - "txid": "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 103 - } - ] - }, - { - "reservations": [ - { - "txid": "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9", - "vout": 0, - "was_reserved": true, - "reserved": false - } - ] - }, - { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": true, - "reserved": false - } - ] - }, - { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 174 - } - ] - }, - { - "reservations": [ - { - "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", - "vout": 0, - "was_reserved": true, - "reserved": false - } - ] + "bolt11": "lnbcrt5m1pja0rrksp5j4zj8sdr2z8w62q667ds3ntpmnhtfk2vuwz6gqgwu69a0lavm2rspp5nchd9435vmzd5749r6v3u8u92zjye4xzurdx6w2t3tmkgxpyk45qdqdvfskcctwvdjhyxqyjw5qcqp9rzjqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qqqvuqqqqcqqqqqqqqpqqqqqzsqqc9qxpqysgq4cwqlg6adntqknhg6psdvrqcym0hch9jvupg80ydj7rg0j4nml9z8rx33sq3sy67yt5t83yfql8gm6lr3mzcdwpsk86wugzf3rr7ckcpwpjce0", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", - "vout": 1, - "was_reserved": true, - "reserved": false - } - ] + "id": "example:pay#17", + "method": "pay", + "params": { + "bolt11": "lnbcrt100n1pja0rr7sp5al8kh3dfedn6rcve7n8qk9ww3s2hnf4xfjt0lgxjclc7jc8ns2kspp54sfv9ww2teflqzeevskwahmc3l4kwum6rkegsxj6fmkeazlf9qdsdq8wp6hx6qxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqhk702ez8my3l4lqecxc8h0kg92vnweu52mpx453vc8a873mvnd3ysasq4cdetg8kywjhlrgke82u9nkvuvlz58te3nsnyu4kgrhh5jqqnjl9pu", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "b40cfd2e6c5010c1993488757dd52967eff03c138761e8832228fec858529320", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "87f66cfa07e5715dd5f9522a2c80b7c729baa7a1936c61912c1e0e932930c1f7", - "vout": 0, - "was_reserved": true, - "reserved": false - }, - { - "txid": "5bad7f61db5fcd0d5e8f90a00b7693eede5f9f27c36022dc9ffbe51ff35a15b5", - "vout": 0, - "was_reserved": true, - "reserved": false - } - ] + "id": "example:pay#18", + "method": "pay", + "params": { + "bolt11": "lnbcrt100u1pja0yzcsp5lsgk932mt2p898lmh9mlg5quhwg74y7k45v90vqc9gqrq5639s8qpp5n726uxhxul9rr5htcasqaw3alszhjppmex8ctd5ja2zm358ttacqdq8w3jhxaqxqyjw5qcqp99qxpqysgqqgh9rledv2vscym96z2g64z4hpyarq7rh738ckdvlxn7qw8k2sey58c39c4208n4nerghjf8zhdqns0lpqz3gykgy88ugfmgcanpj6gp8cls5u", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", - "vout": 1, - "was_reserved": true, - "reserved": false - } - ] + "id": "example:pay#19", + "method": "pay", + "params": { + "bolt11": "lnbcrt100u1pja0yyrsp5qhgcg7fq437dl4j26usem0cjjz75yzen4mtml2g39c482nlqa65qpp5wy85zuh9nqsl0pm8defy2d4ue42xg22ggzre737mka2pgazxalssdq8w3jhxaqxqyjw5qcqp99qxpqysgq2gqdp0j6me9qmrx6a2tqqv8wq8fj3rtq02usz7ghy9mn7s2kax5jzvshhm6ygc2mrvp5d795d6j4rlzavhsmj7n9pesentpxfysyazgqz9zz5e", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [] + "id": "example:pay#20", + "method": "pay", + "params": { + "bolt11": "lnbcrt500010n1pja09spsp5l6csyfc78ltklnf54z7ha62q548gh9eqk2uwuxytwcf8w2j6wy4qpp5d8z7zuk55yua90eaxuulve8x3a05caw56t68ujttuyzfxy5yvkuqdq8v3jhxccxqyjw5qcqp99qxpqysgqmh2544pkvu2tned0mz5yryk8y53s0dggkx7rjlrrqw5hlfrews43sqwnmnt8p0ydmk68j0e2fg5nrks7xzuvxe55s4fg2qdnfxwxn3sqf4798v", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 103 - } - ] + "id": "example:pay#21", + "method": "pay", + "params": { + "bolt11": "lnbcrt50n1pja09shsp54gtd3j88z8t5sf979pclurrq37h7zjaar08mg4qcnfevsvu6c5gqpp5qzz6czpullh7r6a5a4ulqf0svcyfv704v0vfvrvd3pv6q2ah55qqdq9d9h8vxqyjw5qcqp99qx3qysgqwh8zphwpg66400w3ycamppu3mjnrct63tj0l2q8wg572848ew5xxa7c8x9n2u8luu4zs9x4grrlyrzwvut29sk8qqzwkmugnrv2palqpuayucy", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b", - "vout": 1, - "was_reserved": true, - "reserved": false - } - ] + "id": "example:pay#22", + "method": "pay", + "params": { + "bolt11": "lnbcrt50n1pja09scsp58e4cgkuwqpu58u2t7267vp0mevd269jdeu9m934ntktwrhnm49xqpp5kfa43fm5afwrc2hjwmqmpkg27k6dk93x6dw5kxhkxp2k3n670csqdq9d9h8vxqyjw5qcqp99qx3qysgqgcwyge0swla3h0d8gc6lc4kge0cyvlvetckwlavcesczvmzd9n2yhx9tewaxqhfkctdtmx00rfncz6z5uw8unlxzv50f9ahkx9ldw8cqkmve6c", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } }, { - "reservations": [ - { - "txid": "f800febd6e2b61037270640c3ae5ada5375cc22a7ab56cc5ee963936b58167d3", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "8c7d6a42382bd88e01db22d145775270b1f0227577126047924be38de42740c7", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "6003c61a8f1b736c4d9e0f93f21db9bf33f699412d21da4776c3cc27007b3c48", - "vout": 1, - "was_reserved": true, - "reserved": false - }, - { - "txid": "e43c8276b0c529cfbce5347cd1a84054873b4e97b095e92133a2d5ef7eda00a2", - "vout": 1, - "was_reserved": true, - "reserved": false - } - ] - }, + "id": "example:pay#23", + "method": "pay", + "params": { + "bolt11": "lnbcrt50n1pja09s6sp52agfcxyc8a5xwjfj3tcq7hmghvza575j40w3329xa95mklnst82spp5d86r493gyfe3tfzcknphr5pk6pjkvfl3ddytfh4s3qksrul687aqdq9d9h8vxqyjw5qcqp99qxpqysgq9z954y2cnzlatc42ft54srww6glf4gnzyp2cvl64fdhl3rgw2s7kc59m2ev94fwdc89p93j8d3l4xadm6x0x762yv56ksxdfqfz6axcqngnye9", + "amount_msat": null, + "label": null, + "riskfactor": null, + "maxfeepercent": null, + "retry_for": null, + "maxdelay": null, + "exemptfee": null, + "localinvreqid": null, + "exclude": null, + "maxfee": null, + "description": null + } + } + ], + "example_json_response": [ { - "reservations": [] + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payment_hash": "29ef7dfee675b990a3ad7c125960d54aa34d16969468dec9942ead03635c274c", + "created_at": 1706153504.76628, + "parts": 1, + "amount_msat": 100, + "amount_sent_msat": 100, + "payment_preimage": "6634c1b549c6615d234832f377e06d5a5ab088c40cebdc5cfb8c1262030abcad", + "status": "complete" }, { - "reservations": [] + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payment_hash": "7f23c073494dbc7589326e10a3056cef2ce2bea9f17bc098290cf4ad66299a93", + "created_at": 1706153917.2933164, + "parts": 1, + "amount_msat": 31337000, + "amount_sent_msat": 31337000, + "payment_preimage": "741dda2ba3acb90160cbbbeb5a128de204c6bacbe3bdf9e56c6449bf52912259", + "status": "complete" }, { - "reservations": [] + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payment_hash": "d2b3f8a781fd70aaac34cc62ac9c628fe855c80daba2ffa25b8c9ed7b14ea94d", + "created_at": 1708624243.6915166, + "parts": 1, + "amount_msat": 100, + "amount_sent_msat": 100, + "payment_preimage": "d71b4820f95aebced2cc618faaf869907d140f758d37d0473a6b7eb34292a59f", + "status": "complete" }, { - "reservations": [] + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "payment_hash": "b49369a5476eaac7b246cce663b25e49024aad85ea7051a6ab251de041f53e61", + "created_at": 1708624313.8043232, + "parts": 1, + "amount_msat": 31337000, + "amount_sent_msat": 31337000, + "payment_preimage": "58e83b41506af98e72c1d89b42613444971e0df33be76a2c861c8c15c66f374b", + "status": "complete" }, { - "reservations": [] + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "102235170aab33d999ea48835147cff66209e925119b43616a88c4088565802d", + "created_at": 1708624620.4181027, + "parts": 1, + "amount_msat": 5000000, + "amount_sent_msat": 5000000, + "payment_preimage": "e3201d538e2f71d3e8e0aa9af69bfa2b56cde71fdd670400943f431cdc494476", + "status": "complete" }, { - "reservations": [] + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "97b27fa06397c080a6f4cad640ccbdb4a85486d82d26ea47e240a3dfc61c2f98", + "created_at": 1708624890.695795, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500000000, + "payment_preimage": "71d5bc6df610115d56b7b93749f884ec1110ffcf8db74375d1b0ee4eaa828341", + "status": "complete" }, { - "reservations": [] + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payment_hash": "c1f3ce8a7d698f5a1e0333b847f46311e84608537b59609b3a7975abcedafc00", + "created_at": 1708624891.783829, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500005001, + "payment_preimage": "fe93ccb1561f6a542755b03c39b89d189ed6a39ac3c7b558c7530de8356cbe79", + "status": "complete" }, { - "reservations": [] - } - ], - "author": [ - "Lisa Neigut <> is mainly responsible." - ], - "see_also": [ - "lightning-unreserveinputs(7)", - "lightning-signpsbt(7)", - "lightning-sendpsbt(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-upgradewallet.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "upgradewallet", - "title": "Command to spend all P2SH-wrapped inputs into a Native Segwit output", - "description": [ - "`upgradewallet` is a convenience RPC which will spend all p2sh-wrapped Segwit deposits in a wallet into a single Native Segwit P2WPKH address." - ], - "request": { - "required": [], - "properties": { - "feerate": { - "type": "feerate", - "description": [ - "Feerate for the upgrade transaction." - ], - "added": "v23.02", - "default": "*opening*" - }, - "reservedok": { - "type": "boolean", - "description": [ - "Tells the wallet to include all P2SH-wrapped inputs, including reserved ones." - ], - "added": "v23.02" - } - } - }, - "response": { - "required": [ - "upgraded_outs" - ], - "properties": { - "upgraded_outs": { - "type": "u64", - "description": [ - "Count of spent/upgraded UTXOs." - ], - "added": "v23.02" - }, - "psbt": { - "type": "string", - "description": [ - "The PSBT that was finalized and sent." - ], - "added": "v23.02" - }, - "tx": { - "type": "hex", - "description": [ - "The raw transaction which was sent." - ], - "added": "v23.02" - }, - "txid": { - "type": "txid", - "description": [ - "The txid of the **tx**." - ], - "added": "v23.02" - } - } - }, - "example_usage": [ - "The caller is trying to buy a liquidity ad but the command keeps failing. They have funds in their wallet, but they're all P2SH-wrapped outputs.", - "", - "The caller can call `upgradewallet` to convert their funds to native segwit outputs, which are valid for liquidity ad buys." - ], - "example_json_request": [ - { - "id": "example:upgradewallet#1", - "method": "upgradewallet", - "params": "{}" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "ec76cb4b8d8aca4cd9be0b3b8f67061c354a7d9f66070e639304162af583ccfb", + "created_at": 1708624897.478585, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "72f8c6a8dc8cbf352277718e3bd635b489c9909e942429222f57364dda1f2225", + "status": "complete" }, { - "id": "example:upgradewallet#2", - "method": "upgradewallet", - "params": "{}" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "f022b0ec44bbbb1446a432289501efff05572116fc1af3e018aa2f91ca3a43d2", + "created_at": 1708624925.9214463, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500000000, + "payment_preimage": "b4ae15198c5403c32c1867436dd466267e793f7c04cabad927e0c1677b5aee10", + "status": "complete" }, { - "id": "example:upgradewallet#3", - "method": "upgradewallet", - "params": "{}" + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payment_hash": "41a22cb970d45efb4e1e4cfb6a28f7bccb3d6959059ffd5260b53fad238c8a51", + "created_at": 1708624926.9962847, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500005001, + "payment_preimage": "d768fa57df5aa756b2381185119ba5a4643f20245f20027584b6c7646f264be7", + "status": "complete" }, { - "id": "example:upgradewallet#4", - "method": "upgradewallet", - "params": "{}" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "2c3818216ba80718f7fc98f297f1586e58fe19d4620a15a06f3df665c40bfa0a", + "created_at": 1708624932.783919, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "6cca14bf2ed7c58be7c7d60f1c76b4a717499d4ba217b64ffe200def07906aff", + "status": "complete" }, { - "id": "example:upgradewallet#5", - "method": "upgradewallet", - "params": "{}" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "f1dfb597d6477fb077259fc62cf99d6d5379cda833c417cf767ec9e0bf5418de", + "created_at": 1708624966.5622873, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500000000, + "payment_preimage": "100a197374a657a5fdda162802174f58bffea3e66ff77fb0cf821f98b28a7df7", + "status": "complete" }, { - "id": "example:upgradewallet#6", - "method": "upgradewallet", - "params": "{}" + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payment_hash": "7414441923c89ba78bd5cd72351cb06d143b75fd1feff0142ac098ab7d3c00fa", + "created_at": 1708624967.652042, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500005001, + "payment_preimage": "4e4135e644571e9b79a51c6815a7aa90fb4346e5f6c9237159e21c29fc8245cc", + "status": "complete" }, { - "id": "example:upgradewallet#7", - "method": "upgradewallet", - "params": { - "feerate": "urgent", - "reservedok": true - } + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "bfcb787bc5c26195cf3bd417b141e548ac38dd272e187d5052aae8dff7a1302e", + "created_at": 1708624976.0094693, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "cf39f08388935f34466d5b782a34b3d44ee56533d91a9cbf4a12ca1df1af9372", + "status": "complete" }, { - "id": "example:upgradewallet#8", - "method": "upgradewallet", - "params": { - "feerate": "urgent", - "reservedok": true - } - } - ], - "example_json_response": [ - { - "upgraded_outs": 0 + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "b9964777e38c6c2dd825a852349185fe0e995eea68fd4539c9050e529a5a72d6", + "created_at": 1708625013.0965428, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500000000, + "payment_preimage": "bd7bd7c8fb951f02d712a84b3ea5072f80b8da854fd4ffb3d4c5a899a7734c7f", + "status": "complete" }, { - "upgraded_outs": 0 + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payment_hash": "9e2ed2d63466c4da7aa51e991e1f8550a44cd4c2e0da6d394b8af7641824b568", + "created_at": 1708625014.1832385, + "parts": 1, + "amount_msat": 500000000, + "amount_sent_msat": 500005001, + "payment_preimage": "a729477beb58dcadc66d2cea3037856f29152e0bd41c89e0a0faad6a151c6765", + "status": "complete" }, { - "upgraded_outs": 0 + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "ac12c2b9ca5e53f00b39642ceedf788feb67737a1db2881a5a4eed9e8be9281b", + "created_at": 1708625022.4019737, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10000, + "payment_preimage": "a08a28d723ce5ff6ba5023d532143d6ec55a57c181b4f421daccdd2ea72d76c1", + "status": "complete" }, { - "upgraded_outs": 0 + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "9f95ae1ae6e7ca31d2ebc7600eba3dfc0579043bc98f85b692ea85b8d0eb5f70", + "created_at": 1708626008.0746112, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "eae2d1cecf89ef80b50146860752563a678e97c0f3d50535ec2c4e4af826598c", + "status": "complete" }, { - "tx": "0200000001c08ce0a9ea1e00179ea603cb8619ec2a2df990ef931e1ccd87fa7a0e271ed8370100000000fdffffff01191c3101000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5cf000000", - "txid": "c12939fb8009ba3befab825f1e9930895e9a0f323ecc5b0f4b01e04dbad8ccc5", - "psbt": "cHNidP8BAgQCAAAAAQMEzwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDgAgAAAAABAZRZ0m0kaJA+ubJw1eYurGROu1BYc0i7l9xbyG06R6uZAQAAAAD9////AmQtPCgBAAAAF6kUnoGu9IUv0FGnzol3Lb/BNBNkOViHAC0xAQAAAAAXqRRlVyjzbP420BqlDTI2cERp+EpVQIcCRzBEAiBliJpjBsipwFgsLZMlzbESZ6hMTh+pgKQlXUIL0nLb3wIga/xwr/IJgEc7Ie6ApS4aVDr9xr1TZ3wj+8bRvI6WqScBIQPgYuc48PzUufScX6A6YOsdmJwn+bAQjLZ/g9jhQYduHM4AAAABASAALTEBAAAAABepFGVXKPNs/jbQGqUNMjZwRGn4SlVAhyICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiBwwV18O8oTpfyEITvkAmkam9WYthf11FSSt/8d1E8XdgIgaz47x2qJdErr4JNjXqW6uoeDL2RYJ3hRCjTCY28uNYwBAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAQ4gwIzgqeoeABeepgPLhhnsKi35kO+THhzNh/p6Dice2DcBDwQBAAAAARAE/f///wABAwgZHDEBAAAAAAEEIlEgbCfhlWrPph5oKSyAkIiA6BNFD3VBMuiirEcahr8TJrUhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAA=", - "upgraded_outs": 1 + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "710f4172e59821f787676e524536bccd5464294840879f47dbb754147446efe1", + "created_at": 1708626051.9052005, + "parts": 1, + "amount_msat": 10000000, + "amount_sent_msat": 10000000, + "payment_preimage": "d8d26fce4e3625f5a099f07b679cfe26aa2c0bc05898721638c8d35301264f0e", + "status": "complete" }, { - "upgraded_outs": 0 + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "69c5e172d4a139d2bf3d3739f664e68f5f4c75d4d2f47e496be10493128465b8", + "created_at": 1708627457.226775, + "parts": 1, + "amount_msat": 50001000, + "amount_sent_msat": 50001000, + "payment_preimage": "352d581a8423fb983703229bcd799806cab8eecda1494738bd62491fca10fab4", + "status": "complete" }, { - "tx": "0200000001c08ce0a9ea1e00179ea603cb8619ec2a2df990ef931e1ccd87fa7a0e271ed8370100000000fdffffff013514310100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5cf000000", - "txid": "de5f1d6f0b2f95cfe5cfbf8cc33bd3f279a8f800ee0efc27bbfafb2b6ead9560", - "psbt": "cHNidP8BAgQCAAAAAQMEzwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDgAgAAAAABAZRZ0m0kaJA+ubJw1eYurGROu1BYc0i7l9xbyG06R6uZAQAAAAD9////AmQtPCgBAAAAF6kUnoGu9IUv0FGnzol3Lb/BNBNkOViHAC0xAQAAAAAXqRRlVyjzbP420BqlDTI2cERp+EpVQIcCRzBEAiBliJpjBsipwFgsLZMlzbESZ6hMTh+pgKQlXUIL0nLb3wIga/xwr/IJgEc7Ie6ApS4aVDr9xr1TZ3wj+8bRvI6WqScBIQPgYuc48PzUufScX6A6YOsdmJwn+bAQjLZ/g9jhQYduHM4AAAABASAALTEBAAAAABepFGVXKPNs/jbQGqUNMjZwRGn4SlVAhyICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiBlTUNYfS5n5rGRVmoNb0z3AMGJjHijwpXROGIVxfoBnQIgeTx32KY3CcfYTYzXUIRQAMUQB7rlPWRptWMDD3UttkcBAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAQ4gwIzgqeoeABeepgPLhhnsKi35kO+THhzNh/p6Dice2DcBDwQBAAAAARAE/f///wABAwg1FDEBAAAAAAEEIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAA=", - "upgraded_outs": 1 + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "0085ac083cffefe1ebb4ed79f025f066089679f563d8960d8d8859a02bb7a500", + "created_at": 1708627479.9253566, + "parts": 1, + "amount_msat": 5000, + "amount_sent_msat": 5000, + "payment_preimage": "3520dd83b0fe82e70f85c9eabc4e780fe68f2839bfdb37a194654904ab0301be", + "status": "complete" }, { - "upgraded_outs": 0 + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "payment_hash": "b27b58a774ea5c3c2af276c1b0d90af5b4db1626d35d4b1af6305568cf5e7e20", + "created_at": 1708627480.9650838, + "parts": 1, + "amount_msat": 5000, + "amount_sent_msat": 5000, + "payment_preimage": "700f2f8d76ffb95e40c4da8b31a8b7211aea4aec3db7791f53108d42ea602843", + "status": "complete" + }, + { + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "payment_hash": "69f43a9628227315a458b4c371d036d0656627f16b48b4deb0882d01f3fa3fba", + "created_at": 1708627482.031582, + "parts": 1, + "amount_msat": 5000, + "amount_sent_msat": 5000, + "payment_preimage": "5907ef143c6f429cd110875bf1652f717cd5a99179f8d0bf410cde9692f40f1f", + "status": "complete" } ], "author": [ - "Lisa Neigut <> is mainly responsible." + "Rusty Russell <> is mainly responsible." ], "see_also": [ - "lightning-utxopsbt(7)", - "lightning-reserveinputs(7)", - "lightning-unreserveinputs(7)" + "lightning-listpays(7)", + "lightning-decodepay(7)", + "lightning-listinvoice(7)", + "lightning-delinvoice(7)", + "lightning-getroute(7)", + "lightning-invoice(7)" ], "resources": [ "Main web site: " ] }, - "lightning-utxopsbt.json": { + "lightning-ping.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "utxopsbt", - "title": "Command to populate PSBT inputs from given UTXOs", + "rpc": "ping", + "title": "Command to check if a node is up.", "description": [ - "*utxopsbt* is a low-level RPC command which creates a PSBT using unreserved inputs in the wallet, optionally reserving them as well.", - "", - "It deliberately mirrors the parameters and output of lightning-fundpsbt(7) except instead of an optional *minconf* parameter to select unreserved outputs from the wallet, it takes a compulsory list of outputs to use." + "The **ping** command checks if the node with *id* is ready to talk. It currently only works for peers we have a channel with." ], "request": { "required": [ - "satoshi", - "feerate", - "startweight", - "utxos" + "id" ], "properties": { - "satoshi": { - "type": "msat_or_all", - "description": [ - "The minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." - ] - }, - "feerate": { - "type": "feerate", - "description": [ - "Used for the transaction as initial feerate." - ], - "default": "*normal*" - }, - "startweight": { - "type": "u32", + "id": { + "type": "pubkey", "description": [ - "The weight of the transaction before *fundpsbt* has added any inputs." + "The pubkey of the node to ping." ] }, - "utxos": { - "type": "array", - "description": [ - "An array of `txid:vout`, each of which must be reserved or available." - ], - "items": { - "type": "outpoint" - } - }, - "reserve": { - "type": "u32", + "len": { + "type": "u16", "description": [ - "If not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks." + "The length of the ping." ], - "default": "72 blocks" + "default": "128" }, - "reservedok": { - "type": "boolean", + "pongbytes": { + "type": "u16", "description": [ - "If set to true, it will also fail if any of the *utxos* are already reserved." + "The length of the reply. A value of 65532 to 65535 means `don't reply`." ], - "default": "false" - }, - "locktime": { - "type": "u32", - "description": [ - "If not set, it is set to a recent block height." - ] - }, - "min_witness_weight": { - "type": "u32", - "description": [ - "Minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used." - ] - }, - "excess_as_change": { - "type": "boolean", - "description": [ - "Flag to add a change output for the excess sats." - ] - }, - "opening_anchor_channel": { - "added": "v23.08", - "type": "boolean", - "description": [ - "To signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels." - ] + "default": "128" } } }, "response": { "required": [ - "psbt", - "feerate_per_kw", - "estimated_final_weight", - "excess_msat" + "totlen" ], "properties": { - "psbt": { - "type": "string", - "description": [ - "Unsigned PSBT which fulfills the parameters given." - ] - }, - "feerate_per_kw": { - "type": "u32", - "description": [ - "The feerate used to create the PSBT, in satoshis-per-kiloweight." - ] - }, - "estimated_final_weight": { - "type": "u32", - "description": [ - "The estimated weight of the transaction once fully signed." - ] - }, - "excess_msat": { - "type": "msat", - "description": [ - "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned." - ] - }, - "change_outnum": { - "type": "u32", + "totlen": { + "type": "u16", "description": [ - "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)." + "The answer length of the reply message (including header: 0 means no reply expected)." ] - }, - "reservations": { - "type": "array", - "description": [ - "If *reserve* was true or a non-zero number, just as per lightning- reserveinputs(7)." - ], - "items": { - "type": "object", - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "additionalProperties": false, - "properties": { - "txid": { - "type": "txid", - "description": [ - "The txid of the transaction." - ] - }, - "vout": { - "type": "u32", - "description": [ - "The 0-based output number." - ] - }, - "was_reserved": { - "type": "boolean", - "description": [ - "Whether this output was previously reserved." - ] - }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": [ - "Whether this output is now reserved." - ] - }, - "reserved_to_block": { - "type": "u32", - "description": [ - "The blockheight the reservation will expire." - ] - } - } - } } - }, - "post_return_value_notes": [ - "On success, returns the *psbt* it created, containing the inputs, *feerate_per_kw* showing the exact numeric feerate it used, *estimated_final_weight* for the estimated weight of the transaction once fully signed, and *excess_msat* containing the amount above *satoshi* which is available. This could be zero, or dust. If *satoshi* was `all`, then *excess_msat* is the entire amount once fees are subtracted for the weights of the inputs and *startweight*.", - "", - "If *reserve* was *true* or a non-zero number, then a *reservations* array is returned, exactly like *reserveinputs*.", - "", - "If *excess_as_change* is true and the excess is enough to cover an additional output above the `dust_limit`, then an output is added to the PSBT for the excess amount. The *excess_msat* will be zero. A *change_outnum* will be returned with the index of the change output." - ] + } }, - "errors": [ - "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.", - "- -1: Catchall nonspecific error.", - "- 301: Insufficient UTXOs to meet *satoshi* value." - ], "example_json_request": [ { - "id": "example:utxopsbt#1", - "method": "utxopsbt", + "id": "example:ping#1", + "method": "ping", "params": { - "satoshi": 0, - "feerate": "253perkw", - "startweight": 0, - "utxos": [ - "d82a99192fb333106ea8d08f5231ed45f2ed5b1ef9eb81b0fef8f9ea354d2637:1" - ], - "reserve": 0, - "reservedok": true, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "len": 128, + "pongbytes": 128 } }, { - "id": "example:utxopsbt#2", - "method": "utxopsbt", + "id": "example:ping#2", + "method": "ping", "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "b56a9903c37d046b4930306036cc5fb9543d933489f73b569ee661a9c299287c:0" - ], - "reserve": 0, - "reservedok": false, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 0, + "pongbytes": 0 } }, { - "id": "example:utxopsbt#3", - "method": "utxopsbt", + "id": "example:ping#3", + "method": "ping", "params": { - "satoshi": 0, - "feerate": "253perkw", - "startweight": 0, - "utxos": [ - "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9:0" - ], - "reserve": 0, - "reservedok": true, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 0 } }, { - "id": "example:utxopsbt#4", - "method": "utxopsbt", + "id": "example:ping#4", + "method": "ping", "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" - ], - "reserve": 0, - "reservedok": false, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 1000 } }, { - "id": "example:utxopsbt#5", - "method": "utxopsbt", + "id": "example:ping#5", + "method": "ping", "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 99, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" - ], - "reserve": 0, - "reservedok": false, - "locktime": 103, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65531 } }, { - "id": "example:utxopsbt#6", - "method": "utxopsbt", + "id": "example:ping#6", + "method": "ping", "params": { - "satoshi": 500000, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" - ], - "reserve": 0, - "reservedok": false, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65532 } }, { - "id": "example:utxopsbt#7", - "method": "utxopsbt", + "id": "example:ping#7", + "method": "ping", "params": { - "satoshi": 996500, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" - ], - "reserve": 0, - "reservedok": false, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": true + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65533 } }, { - "id": "example:utxopsbt#8", - "method": "utxopsbt", + "id": "example:ping#8", + "method": "ping", "params": { - "satoshi": 1000000, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1", - "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b:1" - ], - "reserve": null, - "reservedok": false, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65534 } }, { - "id": "example:utxopsbt#9", - "method": "utxopsbt", + "id": "example:ping#9", + "method": "ping", "params": { - "satoshi": 1000000, - "feerate": "7500perkw", - "startweight": 0, - "utxos": [ - "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1", - "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b:1" - ], - "reserve": null, - "reservedok": true, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65535 } }, { - "id": "example:utxopsbt#10", - "method": "utxopsbt", + "id": "example:ping#10", + "method": "ping", "params": { - "satoshi": 0, - "feerate": "253perkw", - "startweight": 0, - "utxos": [ - "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b:1" - ], - "reserve": 0, - "reservedok": true, - "locktime": null, - "min_witness_weight": null, - "excess_as_change": false + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 0, + "pongbytes": 0 + } + }, + { + "id": "example:ping#11", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 0 + } + }, + { + "id": "example:ping#12", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 1000 + } + }, + { + "id": "example:ping#13", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65531 + } + }, + { + "id": "example:ping#14", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65532 + } + }, + { + "id": "example:ping#15", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65533 + } + }, + { + "id": "example:ping#16", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65534 + } + }, + { + "id": "example:ping#17", + "method": "ping", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "len": 1000, + "pongbytes": 65535 } } ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters or we're already waiting for a ping response from peer." + ], "example_json_response": [ { - "psbt": "cHNidP8BADMCAAAAATcmTTXq+fj+sIHr+R5b7fJF7TFSj9CobhAzsy8ZmSrYAQAAAAD9////AGYAAAAAAQDeAgAAAAABAWQACJva49ga8OCYXvPRWQRhoXndrJykwjgXbwT251dEAAAAAAD9////AiOI9ikBAAAAFgAU3gClv/YpAKRpfDuiFu6mIL2E4+5QaQ8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgUXIQFs7oRkorVThUn3sLj7WI7g8c8RHai4ChoCvIkWsCICp1CqHl4BlMJCKFHRWHXhhekaj0r1EFSNrh8UnvysQPASEDqHIAEdaH3H6pb3VJzbJNDG4lL8PTfsheL+h2p6baK3JlAAAAAQEfUGkPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 253, - "estimated_final_weight": 271, - "excess_msat": 1009932000 + "totlen": 132 }, { - "psbt": "cHNidP8BADMCAAAAAXwomcKpYeaeVjv3iTSTPVS5X8w2YDAwSWsEfcMDmWq1AAAAAAD9////AGYAAAAAAQDeAgAAAAABAbDvNftst4ZrtrGteK7i3wGe5sapVBTI9bJTGw5luHL4AAAAAAD9////AkBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUzr/YpAQAAABYAFEAvhAIDJMWpX0hjEPDx3QQErrBdAkcwRAIgfGq/AmvmyIsg1Cb9fd+tLd22OrKl/zOZilH5B+fVd00CICFz4iPn05+G8R8zLm38Hpm64ML74dxKGb5jc4rWvjPVASEC4rvJ/Xe6OAW9lG4svSJSxEJ1pukp/vb3I1yJNejb9R5lAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 271, - "excess_msat": 497968000 + "totlen": 4 }, { - "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "feerate_per_kw": 253, - "estimated_final_weight": 443, - "excess_msat": 1009888000, - "change_outnum": 0 + "totlen": 4 }, { - "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGYAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 271, - "excess_msat": 497968000 + "totlen": 1004 }, { - "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGcAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 370, - "excess_msat": 497225000 + "totlen": 65535 + }, + { + "totlen": 0 + }, + { + "totlen": 0 + }, + { + "totlen": 0 + }, + { + "totlen": 0 + }, + { + "totlen": 4 + }, + { + "totlen": 4 + }, + { + "totlen": 1004 }, { - "psbt": "cHNidP8BAF4CAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////ASaUBwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQERorRND3siyvO47WAu369hu8sEb3Q2sI5mntIKCtGSdgAAAAAA/f///wIzr/YpAQAAABYAFDUH8qQhVuDvIVFwIQ39U6m185f8QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIDWgjW6zzVcRr8NGW9w/aqdtYuxXmllxF++P0wvJPbTaAiBvuegyodhYyabsftU0R9Zrb2OO25X3KutJz26LXUQJDQEhAqFk4dHiAUoy7YQoqBn/uqeHOr0++G2cBbazE9nhz1EhZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "feerate_per_kw": 7500, - "estimated_final_weight": 443, - "excess_msat": 0, - "change_outnum": 0 + "totlen": 65535 }, { - "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGYAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", - "feerate_per_kw": 7500, - "estimated_final_weight": 271, - "excess_msat": 0 + "totlen": 0 }, { - "psbt": "cHNidP8BAFwCAAAAAqeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////GwrAI6h8itf1ZIJEt9ELqbFkvFO3q9Ldx+VeYGqfZi8BAAAAAP3///8AZgAAAAABAN4CAAAAAAEBEaK0TQ97IsrzuO1gLt+vYbvLBG90NrCOZp7SCgrRknYAAAAAAP3///8CM6/2KQEAAAAWABQ1B/KkIVbg7yFRcCEN/VOptfOX/EBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUCRzBEAiA1oI1us81XEa/DRlvcP2qnbWLsV5pZcRfvj9MLyT202gIgb7noMqHYWMmm7H7VNEfWa29jjtuV9yrrSc9ui11ECQ0BIQKhZOHR4gFKMu2EKKgZ/7qnhzq9PvhtnAW2sxPZ4c9RIWUAAAABAR9AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAAEA3gIAAAAAAQGnjONW0nNIlx1dMMCOUU3vNXzwBvKm2fYg0a7U+LnDLwAAAAAA/f///wJmbOcpAQAAABYAFOwPo5eUrDF7UgZBFQLRHOeX6PiGQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgJHMEQCICgjGlauGj2eiMS4MWUK6zAWqMe1OuidQR+Hy9ZgSTuzAiA8JTb9OrLqS3hiWtT+TQ/NBsKJ2hhHLDaKUUNdgi4OkAEhA9g3oH5ejmGIqUY2ZWxc8YWF2+T+XpE/6oC40Cx3+e97ZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYA", - "feerate_per_kw": 7500, - "estimated_final_weight": 542, - "excess_msat": 995935000, - "reservations": [ - { - "txid": "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - }, - { - "txid": "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b", - "vout": 1, - "was_reserved": false, - "reserved": true, - "reserved_to_block": 174 - } - ] + "totlen": 0 }, { - "psbt": "cHNidP8BAFwCAAAAAqeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////GwrAI6h8itf1ZIJEt9ELqbFkvFO3q9Ldx+VeYGqfZi8BAAAAAP3///8AZgAAAAABAN4CAAAAAAEBEaK0TQ97IsrzuO1gLt+vYbvLBG90NrCOZp7SCgrRknYAAAAAAP3///8CM6/2KQEAAAAWABQ1B/KkIVbg7yFRcCEN/VOptfOX/EBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUCRzBEAiA1oI1us81XEa/DRlvcP2qnbWLsV5pZcRfvj9MLyT202gIgb7noMqHYWMmm7H7VNEfWa29jjtuV9yrrSc9ui11ECQ0BIQKhZOHR4gFKMu2EKKgZ/7qnhzq9PvhtnAW2sxPZ4c9RIWUAAAABAR9AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAAEA3gIAAAAAAQGnjONW0nNIlx1dMMCOUU3vNXzwBvKm2fYg0a7U+LnDLwAAAAAA/f///wJmbOcpAQAAABYAFOwPo5eUrDF7UgZBFQLRHOeX6PiGQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgJHMEQCICgjGlauGj2eiMS4MWUK6zAWqMe1OuidQR+Hy9ZgSTuzAiA8JTb9OrLqS3hiWtT+TQ/NBsKJ2hhHLDaKUUNdgi4OkAEhA9g3oH5ejmGIqUY2ZWxc8YWF2+T+XpE/6oC40Cx3+e97ZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYA", - "feerate_per_kw": 7500, - "estimated_final_weight": 542, - "excess_msat": 995935000, - "reservations": [ - { - "txid": "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - }, - { - "txid": "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b", - "vout": 1, - "was_reserved": true, - "reserved": true, - "reserved_to_block": 246 - } - ] + "totlen": 0 }, { - "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", - "feerate_per_kw": 253, - "estimated_final_weight": 443, - "excess_msat": 1009888000, - "change_outnum": 0 + "totlen": 0 } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." ], "see_also": [ - "lightning-fundpsbt(7)" + "lightning-connect(7)" ], "resources": [ "Main web site: " ] }, - "lightning-wait.json": { + "lightning-plugin.json": { "$schema": "../rpc-schema-draft.json", "type": "object", - "additionalProperties": false, - "added": "v23.08", - "rpc": "wait", - "title": "Command to wait for creations, changes and deletions", + "additionalProperties": true, + "rpc": "plugin", + "title": "Manage plugins with RPC", "description": [ - "The **wait** RPC command returns once the index given by *indexname* in *subsystem* reaches or exceeds *nextvalue*. All indexes start at 0, when no events have happened (**wait** with a *nextvalue* of 0 is a way of getting the current index, though naturally this is racy!)." + "The **plugin** RPC command can be used to control dynamic plugins, i.e. plugins that declared themself 'dynamic' (in getmanifest)." ], "request": { "required": [ - "subsystem", - "indexname", - "nextvalue" + "subcommand" + ], + "oneOfMany": [ + [ + "plugin", + "directory" + ] ], "properties": { - "subsystem": { + "subcommand": { "type": "string", - "description": [ - "The subsystem to get the next index value from.", - " `invoices`: corresponding to `listinvoices` (added in *v23.08*).", - " `sendpays`: corresponding to `listsendpays` (added in *v23.11*).", - " `forwards`: corresponding to `listforwards` (added in *v23.11*)." - ], "enum": [ - "invoices", - "forwards", - "sendpays" + "start", + "stop", + "rescan", + "startdir", + "list" + ], + "description": [ + "Determines what action is taken:", + " - *subcommand* **start** takes a *path* to an executable as argument and starts it as plugin. *path* may be an absolute path or a path relative to the plugins directory (default *~/.lightning/plugins*). If the plugin is already running and the executable (checksum) has changed, the plugin is killed and restarted except if its an important (or builtin) plugin. If the plugin doesn't complete the 'getmanifest' and 'init' handshakes within 60 seconds, the command will timeout and kill the plugin. Additional *options* may be passed to the plugin, but requires all parameters to be passed as keyword=value pairs using the `-k|--keyword` option which is recommended. For example the following command starts the plugin helloworld.py (present in the plugin directory) with the option greeting set to 'A crazy':", + " ```shell.", + " lightning-cli -k plugin subcommand=start plugin=helloworld.py greeting='A crazy'.", + " ```.", + " - *subcommand* **stop** takes a plugin executable *path* or *name* as argument and stops the plugin. If the plugin subscribed to 'shutdown', it may take up to 30 seconds before this command returns. If the plugin is important and dynamic, this will shutdown `lightningd`.", + " - *subcommand* **startdir** starts all executables it can find in *directory* (excl. subdirectories) as plugins. Checksum and timeout behavior as in **start** applies.", + " - *subcommand* **rescan** starts all plugins in the default plugins directory (default *~/.lightning/plugins*) that are not already running. Checksum and timeout behavior as in **start** applies.", + " - *subcommand* **list** lists all running plugins (incl. non-dynamic)." ] }, - "indexname": { + "plugin": { "type": "string", "description": [ - "The name of the index to get the next value for.", - " `created` is incremented by one for every new object.", - " `updated` is incremented by one every time an object is changed.", - " `deleted` is incremented by one every time an object is deleted." - ], - "enum": [ - "created", - "updated", - "deleted" + "*path* or *name* of a plugin executable to start or stop." ] }, - "nextvalue": { - "type": "u64", + "directory": { + "type": "string", "description": [ - "The next value of the index." + "*path* of a directory containing plugins." ] + }, + "options": { + "type": "array", + "items": { + "type": "string", + "description": [ + "*keyword=value* options passed to plugin, can be repeated." + ] + } } } }, "response": { "required": [ - "subsystem" + "command" ], "properties": { - "subsystem": { + "command": { "type": "string", "enum": [ - "invoices", - "forwards", - "sendpays" - ] - }, - "created": { - "type": "u64", - "description": [ - "1-based index indicating order entry was created." - ] - }, - "updated": { - "type": "u64", - "description": [ - "1-based index indicating order entry was updated." - ] - }, - "deleted": { - "type": "u64", + "start", + "stop", + "rescan", + "startdir", + "list" + ], "description": [ - "1-based index indicating order entry was deleted." + "The subcommand this is responding to." ] - }, - "details": {} + } }, "allOf": [ { "if": { - "additionalProperties": true, "properties": { - "subsystem": { + "command": { "type": "string", "enum": [ - "invoices" + "start", + "startdir", + "rescan", + "list" ] } } }, "then": { "additionalProperties": false, + "required": [ + "command", + "plugins" + ], "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": [ - "Whether it's paid, unpaid or unpayable." - ] - }, - "label": { - "type": "string", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The BOLT11 string." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The BOLT12 string." - ] + "command": {}, + "plugins": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "active", + "dynamic" + ], + "properties": { + "name": { + "type": "string", + "description": [ + "Full pathname of the plugin." + ] + }, + "active": { + "type": "boolean", + "description": [ + "Status; plugin completed init and is operational, plugins are configured asynchronously." + ] + }, + "dynamic": { + "type": "boolean", + "description": [ + "Plugin can be stopped or started without restarting lightningd." + ] + } } } } @@ -88892,1503 +69514,2052 @@ }, { "if": { - "additionalProperties": true, "properties": { - "subsystem": { + "command": { "type": "string", "enum": [ - "forwards" + "stop" ] } } }, "then": { "additionalProperties": false, + "required": [ + "command", + "result" + ], "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "offered", - "settled", - "failed", - "local_failed" - ], - "description": [ - "Still ongoing, completed, failed locally, or failed after forwarding." - ] - }, - "in_channel": { - "type": "short_channel_id", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "in_htlc_id": { - "type": "u64", - "description": [ - "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." - ] - }, - "in_msat": { - "type": "msat", - "description": [ - "The value of the incoming HTLC." - ] - }, - "out_channel": { - "type": "short_channel_id", - "description": [ - "The channel that the HTLC (trying to) forward to." - ] - } - } - } - } - } - }, - { - "if": { - "additionalProperties": true, - "properties": { - "subsystem": { + "command": {}, + "result": { "type": "string", - "enum": [ - "sendpays" + "description": [ + "A message saying it successfully stopped." ] } } - }, - "then": { - "additionalProperties": false, - "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": [ - "Status of the payment." - ] - }, - "partid": { - "type": "u64", - "description": [ - "Part number (for multiple parts to a single payment)." - ] - }, - "groupid": { - "type": "u64", - "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - } - } - } - } } } ] }, - "reliability": [ - "Indices can go forward by more than one; in particlar, if multiple objects were created and the one deleted, you could see this effect. Similarly, there are some places (e.g. invoice expiration) where we can update multiple entries at once.", - "", - "Indices only monotoncally increase." - ], - "usage": [ - "The **wait** RPC is used to track changes in the system. Consider tracking invoices being paid or expiring. The simplest (and inefficient method) would be:", - "1. Call `listinvoices` to get the current state of all invoices, and remember the highest `updated_index`. Say it was 5.", - "2. Call `wait invoices updated 6`.", - "3. When it returns, call `listinvoices` again to see what changed.", - "", - "This is obviously inefficient, so there are two optimizations:", - "1. Call `listinvoices` with `index=updated` and `start=6` to only see invoices with `updated_index` greater than or equal to 6.", - "2. `wait` itself may also return some limited subset of fields from the list command (it can't do this in all cases); for `invoices` this is `label` and `status`, allowing many callers to avoid the `listinvoices` call." - ], "errors": [ - "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." + "On error, the reason why the action could not be taken upon the plugin is returned." ], "example_json_request": [ { - "id": "example:wait#1", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 0 - } - }, - { - "id": "example:wait#2", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 1 - } - }, - { - "id": "example:wait#3", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 0 - } - }, - { - "id": "example:wait#4", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 1 - } - }, - { - "id": "example:wait#5", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 1 - } - }, - { - "id": "example:wait#6", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "updated", - "nextvalue": 0 - } - }, - { - "id": "example:wait#7", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "updated", - "nextvalue": 1 - } - }, - { - "id": "example:wait#8", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "updated", - "nextvalue": 1 - } + "id": "example:plugin#1", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#9", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "updated", - "nextvalue": 2 - } + "id": "example:plugin#2", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#10", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "deleted", - "nextvalue": 0 - } + "id": "example:plugin#3", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#11", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "deleted", - "nextvalue": 1 - } + "id": "example:plugin#4", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#12", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "deleted", - "nextvalue": 1 - } + "id": "example:plugin#5", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#13", - "method": "wait", - "params": { - "subsystem": "invoices", - "indexname": "deleted", - "nextvalue": 2 - } + "id": "example:plugin#6", + "method": "plugin", + "params": [ + "list" + ] }, { - "id": "example:wait#14", - "method": "wait", + "id": "example:plugin#7", + "method": "plugin", "params": { - "subsystem": "invoices", - "indexname": "created", - "nextvalue": 3 + "subcommand": "start", + "plugin": "/home/shahana/workspace/lightning/tests/plugins/fail_htlcs.py" } }, { - "id": "example:wait#15", - "method": "wait", + "id": "example:plugin#8", + "method": "plugin", "params": { - "subsystem": "invoices", - "indexname": "updated", - "nextvalue": 3 + "subcommand": "stop", + "plugin": "fail_htlcs.py" } }, { - "id": "example:wait#16", - "method": "wait", + "id": "example:plugin#9", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "created", - "nextvalue": 0 + "subcommand": "list" } }, { - "id": "example:wait#17", - "method": "wait", + "id": "example:plugin#10", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "created", - "nextvalue": 1 + "subcommand": "list" } }, { - "id": "example:wait#18", - "method": "wait", + "id": "example:plugin#11", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "updated", - "nextvalue": 1 + "subcommand": "start", + "plugin": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py" } }, { - "id": "example:wait#19", - "method": "wait", + "id": "example:plugin#12", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "created", - "nextvalue": 0 + "subcommand": "stop", + "plugin": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py" } }, { - "id": "example:wait#20", - "method": "wait", + "id": "example:plugin#13", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "created", - "nextvalue": 1 + "subcommand": "rescan" } }, { - "id": "example:wait#21", - "method": "wait", + "id": "example:plugin#14", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "created", - "nextvalue": 1 + "subcommand": "list" } }, { - "id": "example:wait#22", - "method": "wait", + "id": "example:plugin#15", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "updated", - "nextvalue": 0 + "subcommand": "startdir", + "directory": "/home/shahana/workspace/lightning/contrib/plugins" } }, { - "id": "example:wait#23", - "method": "wait", + "id": "example:plugin#16", + "method": "plugin", "params": { - "subsystem": "sendpays", - "indexname": "updated", - "nextvalue": 2 + "subcommand": "rescan" } - } - ], - "example_json_response": [ - { - "subsystem": "invoices", - "created": 0 }, { - "subsystem": "invoices", - "created": 1, - "details": { - "status": "unpaid", - "label": "invlabel", - "bolt11": "lnbcrt420p1pjmxtevsp5d8c6gnaj8lyjy2qly783vklda9dfaqeyzyc37agxxp8h3uguv8pqpp5w6lhwxhqnuew4hle5h7qwjm27zz784mvsrzhmayhscy5t2hy5c4qdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgq09gxhjhwu9u3z6dlt5ln5f4g8zl78wz4pgh0am3kz54m9lllhqckf4gmhmt2ftrclq5x62zkqmggc7y0ju0ghdfwjz8hyd8l5cqvemgpyyhm6w" + "id": "example:plugin#17", + "method": "plugin", + "params": { + "subcommand": "list" } }, { - "subsystem": "invoices", - "created": 0 - }, - { - "subsystem": "invoices", - "created": 1, - "details": { - "status": "unpaid", - "label": "invlabel", - "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj" + "id": "example:plugin#18", + "method": "plugin", + "params": { + "subcommand": "stop", + "plugin": "helloworld.py" } }, { - "subsystem": "invoices", - "created": 1 - }, - { - "subsystem": "invoices", - "updated": 0 - }, - { - "subsystem": "invoices", - "updated": 1, - "details": { - "status": "paid", - "label": "invlabel" + "id": "example:plugin#19", + "method": "plugin", + "params": { + "subcommand": "start", + "plugin": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py" } }, { - "subsystem": "invoices", - "updated": 1 - }, - { - "subsystem": "invoices", - "updated": 2, - "details": { - "status": "expired" + "id": "example:plugin#20", + "method": "plugin", + "params": { + "subcommand": "stop", + "plugin": "helloworld.py" } }, { - "subsystem": "invoices", - "deleted": 0 - }, - { - "subsystem": "invoices", - "deleted": 1, - "details": { - "status": "paid", - "label": "invlabel", - "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj" + "id": "example:plugin#21", + "method": "plugin", + "params": { + "subcommand": "startdir", + "directory": "/home/shahana/workspace/lightning/contrib/plugins" } }, { - "subsystem": "invoices", - "deleted": 1 - }, - { - "subsystem": "invoices", - "deleted": 2, - "details": { - "status": "expired", - "label": "invlabel2", - "bolt11": "lnbcrt420p1pja0teysp5q5fadz32um77r48wxqgcu0nf3lggnds7j6urvv5xjfcuvqg6t75qpp5ta6kezf0dzeh4v5xn9vtdzcn3v0p8ghmz0epdnze3s2l2hrynu8qdqdd9h8ver9wd3nyxqpzcqp99qxpqysgqf6jjcmtkm3xzeyueq6uthzrj3tmq2sdvjfd3galax8epl46p8nzx8kagh4kap8pfu4h3qt502pgkvq2c6ga63fyzz0ha5nps5jq42rqqxsa0am" + "id": "example:plugin#22", + "method": "plugin", + "params": { + "subcommand": "stop", + "plugin": "rpc_command_1.py" } }, { - "subsystem": "invoices", - "created": 3, - "details": { - "status": "unpaid", - "label": "invlabel2", - "bolt11": "lnbcrt420p1pja0tefsp5vvzg40t4g24l0eqk0jch7mc6jm3ec52ts8w8gwzpwtx9c8nv05rspp533e9csxurt7j9sn2cx7hsn6m00475qgrau8sux5r7djpdedwy2fshp5xqsmrtgfcwsnhxcxmf3tuc65kl6fxvqhvujfmxw2kpeh95yy2x8sxqyjw5qcqp99qxpqysgqgfjrz4q5zcq2lluxxg9h475mq2d3w0tpdstm5274zmhadjl8cqapylfskzk96apka5599a2flm90rmavsk7q8mhh87yle3sgh5vrlycq72fern" + "id": "example:plugin#23", + "method": "plugin", + "params": { + "subcommand": "stop", + "plugin": "rpc_command_2.py" } - }, + } + ], + "example_json_response": [ { - "subsystem": "invoices", - "updated": 3, - "details": { - "label": "invlabel2", - "description": "invdesc2" - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup", + "active": true, + "dynamic": false + } + ] }, { - "subsystem": "sendpays", - "created": 0 + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + } + ] }, { - "subsystem": "sendpays", - "created": 1, - "details": { - "status": "pending", - "partid": 0, - "groupid": 1, - "payment_hash": "58e1ce8ca059bd7a59dcf79adc79aeca9043b16fdd5eb13b2aa4619344a0b89b" - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/target/debug/examples/cln-plugin-startup", + "active": true, + "dynamic": false + } + ] }, { - "subsystem": "sendpays", - "updated": 1, - "details": { - "status": "complete", - "partid": 0, - "groupid": 1, - "payment_hash": "58e1ce8ca059bd7a59dcf79adc79aeca9043b16fdd5eb13b2aa4619344a0b89b" - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + } + ] }, { - "subsystem": "sendpays", - "created": 0 + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + } + ] }, { - "subsystem": "sendpays", - "created": 1, - "details": { - "status": "pending", - "partid": 0, - "groupid": 1, - "payment_hash": "bd28338f4bfc44c87630e5bf1a98b70f9d9be0ae8e08cd725ba2cc742ccb3f80" - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/tests/plugins/clnrest-use-options.py", + "active": true, + "dynamic": true + } + ] }, { - "subsystem": "sendpays", - "created": 1 + "command": "start", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/tests/plugins/fail_htlcs.py", + "active": true, + "dynamic": true + } + ] }, { - "subsystem": "sendpays", - "updated": 1 + "command": "stop", + "result": "Successfully stopped fail_htlcs.py." }, { - "subsystem": "sendpays", - "updated": 2, - "details": { - "status": "complete", - "partid": 0, - "groupid": 1, - "payment_hash": "220dcfcf43e1fab3ce30f70eb943c3ce962393f5a65ced52d749e324b443d19e" - } - } - ], - "author": [ - "Rusty Russell <> is mainly responsible." - ], - "see_also": [ - "lightning-listinvoice(7)", - "lightning-listforwards(7)", - "lightning-listsendpays(7)" - ], - "resources": [ - "Main web site: " - ] - }, - "lightning-waitanyinvoice.json": { - "$schema": "../rpc-schema-draft.json", - "type": "object", - "additionalProperties": false, - "rpc": "waitanyinvoice", - "title": "Command for waiting for payments", - "description": [ - "The **waitanyinvoice** RPC command waits until an invoice is paid, then returns a single entry as per **listinvoice**. It will not return for any invoices paid prior to or including the *lastpay_index*.", - "", - "This is usually called iteratively: once with no arguments, then repeatedly with the returned *pay_index* entry. This ensures that no paid invoice is missed. The *pay_index* is a monotonically-increasing number assigned to an invoice when it gets paid. The first valid *pay_index* is 1." - ], - "request": { - "required": [], - "properties": { - "lastpay_index": { - "type": "u64", - "description": [ - "Ignores any invoices paid prior to or including this index. 0 is equivalent to not specifying and negative value is invalid." - ] - }, - "timeout": { - "type": "u64", - "description": [ - "If specified, wait at most that number of seconds, which must be an integer. If the specified *timeout* is reached, this command will return with an error. You can specify this to 0 so that **waitanyinvoice** will return immediately with an error if no pending invoice is available yet. If unspecified, this command will wait indefinitely." - ] - } - } - }, - "response": { - "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired" - ], - "description": [ - "Whether it's paid or expired." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it will become / became unpayable." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount required to pay this invoice." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The BOLT11 string (always present unless *bolt12* is)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The BOLT12 string (always present unless *bolt11* is)." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was changed (only present if it has changed since creation)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": [ - "Unique incrementing index for this payment." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it was paid." - ] - }, - "paid_outpoint": { - "type": "object", - "description": [ - "Outpoint this invoice was paid with." - ], - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": [ - "ID of the transaction that paid the invoice." - ] - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": [ - "The 0-based output number of the transaction that paid the invoice." - ] - } - } - }, - "payment_preimage": { - "type": "secret", - "description": [ - "Proof of payment." - ] - } - } + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/tmp/ltests-7r3sl8sq/test_disable_enable_1/lightning-1/reckless/testplugpass/testplugpass.py", + "active": true, + "dynamic": true } - } - ] - }, - "errors": [ - "The following error codes may occur:", - "", - "- 904: The *timeout* was reached without an invoice being paid." - ], - "example_json_request": [ - { - "id": "example:waitanyinvoice#1", - "method": "waitanyinvoice", - "params": { - "lastpay_index": null, - "timeout": null - } + ] }, { - "id": "example:waitanyinvoice#2", - "method": "waitanyinvoice", - "params": { - "lastpay_index": 1, - "timeout": null - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/tmp/ltests-7r3sl8sq/test_disable_enable_1/lightning-1/reckless/testplugpass/testplugpass.py", + "active": true, + "dynamic": true + } + ] }, { - "id": "example:waitanyinvoice#3", - "method": "waitanyinvoice", - "params": { - "lastpay_index": null, - "timeout": null - } + "command": "start", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/fetchinvoice", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/tests/plugins/currencyUSDAUD5000.py", + "active": true, + "dynamic": true + } + ] }, { - "id": "example:waitanyinvoice#4", - "method": "waitanyinvoice", - "params": { - "lastpay_index": 1, - "timeout": null - } + "command": "stop", + "result": "Successfully stopped currencyUSDAUD5000.py." }, { - "id": "example:waitanyinvoice#5", - "method": "waitanyinvoice", - "params": { - "lastpay_index": 2, - "timeout": null - } + "command": "rescan", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + } + ] }, { - "id": "example:waitanyinvoice#6", - "method": "waitanyinvoice", - "params": { - "lastpay_index": 3, - "timeout": 0 - } + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + } + ] }, { - "id": "example:waitanyinvoice#7", - "method": "waitanyinvoice", - "params": { - "lastpay_index": null, - "timeout": null - } + "command": "startdir", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", + "active": true, + "dynamic": true + } + ] }, { - "id": "example:waitanyinvoice#8", - "method": "waitanyinvoice", - "params": { - "lastpay_index": 1, - "timeout": null - } - } - ], - "example_json_response": [ - { - "label": "inv1", - "bolt11": "lnbcrt10n1pjmxtsxsp56sn02x8lccjfsvunnhz5858zuyxztug9luy226w4qsmfm4r8pkcspp5gw5r0dw99yf3zqxrg24l8g9m9hun9cu06ldg4rga8s9t9kv8z45sdq8d9h8vvgxqyjw5qcqp99qxpqysgqv537uh2sx8ch640mf4t43t8qjtpg3z7gukgm07tlyq986m7nvsnxkapg37z4vsxtl4thfqzc64anqr83geygkc2xaftxgr97dltqfjqpe3mhja", - "payment_hash": "43a837b5c529131100c342abf3a0bb2df932e38fd7da8a8d1d3c0ab2d9871569", - "amount_msat": 1000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000, - "paid_at": 1706241546, - "payment_preimage": "a0c668998de14b975f33e1060b3efd7efc0bde784ac266ab667a1b2fddab3cd1", - "description": [ - "Inv1." - ], - "expires_at": 1706846342, - "created_index": 1, - "updated_index": 1 + "command": "rescan", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", + "active": true, + "dynamic": true + } + ] }, { - "label": "inv2", - "bolt11": "lnbcrt10n1pjmxtsxsp55ywq6rmx90jxvw433n6umfxkrmggrjczp7n2khgfjhhun6utxedqpp5gtcrjusl0tergtg2d37yankukwf2gds8qesctdfljxmcq9zd8grsdq8d9h8vvsxqyjw5qcqp99qxpqysgq77xeqzw8t3znmk6kvz87hmxrntd9wcs7fza3t02v9xe8pfd79v55e7ngk0scn7uzctaepxekkrtxsmuv9gafccjwv3hzdp4s2u8n4qqqtq3dag", - "payment_hash": "42f039721f7af2342d0a6c7c4ecedcb392a43607066185b53f91b780144d3a07", - "amount_msat": 1000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 1000, - "paid_at": 1706241548, - "payment_preimage": "a6733b3a70f37cda9058a9e02a6b933d492e47eb68894ba739022f7d443ba1dd", - "description": [ - "Inv2." - ], - "expires_at": 1706846342, - "created_index": 2, - "updated_index": 2 + "command": "list", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", + "active": true, + "dynamic": true + } + ] }, { - "label": "inv1", - "bolt11": "lnbcrt10n1pja0tkmsp5jlrczmyj68e0gnljmu95x8z78ne7axwszrrk40706928r0057wxspp5w83epaxyxdchs7cm7a9ejfura3wzxe4szuwhwdzwa0kjjtxmqauqdq8d9h8vvgxqyjw5qcqp99qxpqysgqkt7qmexzcr9dfsxl8yndqgj6npr4d5rmglmwq0y05qgwc2jc60c46aquf8x45dg0xl8mpyzqmx0qvv8f0scjtw45x9lyrfrcd2naclgp7sz27f", - "payment_hash": "71e390f4c43371787b1bf74b992783ec5c2366b0171d77344eebed292cdb0778", - "amount_msat": 1000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000, - "paid_at": 1708633820, - "payment_preimage": "1881e76a2b2ea0584f6125a586abe46ec6b62181f7244179100d70c8a3c6f0f7", - "description": "inv1", - "expires_at": 1709238619, - "created_index": 1, - "updated_index": 1 + "command": "stop", + "result": "Successfully stopped helloworld.py." }, { - "label": "inv2", - "bolt11": "lnbcrt10n1pja0tkmsp5r70rsf8q3f4v6ey2avddg770ypsq746wwdtkvpyg8clg2nkzkatspp50hmcwqvvrzuh753mr6h6r728jt27ctsut04m82tzvsfa0arfr5ysdq8d9h8vvsxqyjw5qcqp99qxpqysgqv62gg70g54kyjex7m82e8f6tk883e94t7l8s2gwzfu34jrkkh7pk8wycl5ueshkmz72j2n8ygsum3x2xewjj2nwear9tgfv3apyrn7qpkcgl59", - "payment_hash": "7df787018c18b97f523b1eafa1f94792d5ec2e1c5bebb3a9626413d7f4691d09", - "amount_msat": 1000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 1000, - "paid_at": 1708633822, - "payment_preimage": "993e3532e250deff71586b69f25f646fdb574b477b4a143a915468736a9e4d2f", - "description": "inv2", - "expires_at": 1709238619, - "created_index": 2, - "updated_index": 2 + "command": "start", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/helloworld.py", + "active": true, + "dynamic": true + } + ] }, { - "label": "inv3", - "bolt11": "lnbcrt10n1pja0tkmsp5jpu6zfl373nny70rezhkc8m8rv8d3rgrz2nrum9unvtxyxat0cpqpp57594tvhgflk3klmxrh2ask4ndymfl50uu49u0gdnglf2f5g6e6tqdq8d9h8vvcxqyjw5qcqp99qxpqysgqf93vwyjpdjyttta5u8wts68uhn3054tcmqpsngnp73cmgfpzyq5h0hmmz6rnk4y0amgx9jz7ezcr5utq84skrz75679sjs8let3m6yqphrefer", - "payment_hash": "f50b55b2e84fed1b7f661dd5d85ab369369fd1fce54bc7a1b347d2a4d11ace96", - "amount_msat": 1000, - "status": "paid", - "pay_index": 3, - "amount_received_msat": 1000, - "paid_at": 1708633824, - "payment_preimage": "2d8b3db8b3edd3919c5d8af8d6ab1cde5c24594f4da4127801ad3abee3dfff9a", - "description": "inv3", - "expires_at": 1709238619, - "created_index": 3, - "updated_index": 3 + "command": "stop", + "result": "Successfully stopped helloworld.py." }, { - "label": "inv4", - "bolt11": "lnbcrt10n1pja0tkmsp57j4z9zwvdsyh57unh3da7aac5z20clfnrwy5nqm6wujaelduw23qpp580mdrwakz9xewc2vhvpucset9gjkgdvyhw7h9frcy2d6p2lwdw2qdq8d9h8vdqxqyjw5qcqp99qxpqysgqtgyzhtxs3p2dyk8wk9q028033303702d2hml4frmu38qe79mrkgzgxvyjmq2q4nhjgcuz3uhmlda3jnhf9w6mj8mj97pkgnda9l5kdcqsdgewf", - "payment_hash": "3bf6d1bbb6114d97614cbb03cc432b2a25643584bbbd72a478229ba0abee6b94", - "amount_msat": 1000, - "status": "paid", - "pay_index": 4, - "amount_received_msat": 1000, - "paid_at": 1708633825, - "payment_preimage": "77336a342dde76050c7ee7fc18599e407dfc1edad3c784ba68e9603004365b94", - "description": "inv4", - "expires_at": 1709238619, - "created_index": 4, - "updated_index": 4 + "command": "startdir", + "plugins": [ + { + "name": "/home/shahana/workspace/lightning/plugins/autoclean", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/chanbackup", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bcli", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/commando", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/funder", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/topology", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/keysend", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/offers", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/pay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/recover", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/txprepare", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/cln-renepay", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/spenderp", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/plugins/sql", + "active": true, + "dynamic": true + }, + { + "name": "/home/shahana/workspace/lightning/plugins/bookkeeper", + "active": true, + "dynamic": false + }, + { + "name": "/home/shahana/workspace/lightning/contrib/plugins/cowsay.sh", + "active": true, + "dynamic": true + } + ] }, { - "label": "inv2", - "bolt11": "lnbcrt10n1pja0th0sp5z7xgdgdsj9s5yt3vzqxnthnr9nk8eyd3lh4np3lym6pv4pk8dxsspp5qapqw365tfhs93jpzhgruevn97cwzv63f0nzpc0xzxudh56fqv5qdq8d9h8vvsxqyjw5qcqp99qxpqysgq8zv6md2sew68mam2y0vlmfrxkavaxnv47nh0whpa4028rv3dkxw5p9qjqzhw3zdm0pe8qug0u6tzatmavnguwsqhwg0dlnu4pxdd5xgqppepvj", - "payment_hash": "07420747545a6f02c64115d03e65932fb0e133514be620e1e611b8dbd3490328", - "amount_msat": 1000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000, - "paid_at": 1708633840, - "payment_preimage": "c5337bd91c4aa6855d45e3aabab0e2165b68ec4798c2356d2ec167ffa5c11901", - "description": "inv2", - "expires_at": 1709238639, - "created_index": 2, - "updated_index": 1 + "command": "stop", + "result": "Successfully stopped rpc_command_1.py." }, { - "label": "inv1", - "bolt11": "lnbcrt10n1pja0th0sp54t9f89zwnxjvyfltznh37w444skx23l4g206wxsfmr0psv2fj5hspp5tu0caxzyutmcqzmtyfkh4j3dhmpc2y037f596n73w9amxvrtxt4sdq8d9h8vvgxqyjw5qcqp99qxpqysgqlycxr5j8vuvqdsyv8ja6g7xh65clvkkn7mnl3usy4sg0tshltxu925ktgvlxanejpxjlzslnp9k48pzsgf69c5g8w8pc59xf97fszfgpgvanmm", - "payment_hash": "5f1f8e9844e2f7800b6b226d7aca2dbec38511f1f2685d4fd1717bb3306b32eb", - "amount_msat": 1000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 1000, - "paid_at": 1708633841, - "payment_preimage": "e606c7ae4c6e7473d35df348f9974b165ebab68141398092f52919856564e8e8", - "description": "inv1", - "expires_at": 1709238639, - "created_index": 1, - "updated_index": 2 + "command": "stop", + "result": "Successfully stopped rpc_command_2.py." } ], "author": [ - "Rusty Russell <> is mainly responsible." + "Antoine Poinsot <> is mainly responsible." ], "see_also": [ - "lightning-waitinvoice(7)", - "lightning-listinvoice(7)", - "lightning-delinvoice(7)", - "lightning-invoice(7)" + "lightning-cli(1)", + "lightning-listconfigs(1)", + "[writing plugins][writing plugins]" + ], + "resources": [ + "Main web site: ", + "", + "[writing plugins]: PLUGINS.md" + ] + }, + "lightning-preapproveinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.02", + "rpc": "preapproveinvoice", + "title": "Ask the HSM to preapprove an invoice (low-level)", + "description": [ + "The **preapproveinvoice** RPC command submits the *bolt11* invoice to the HSM to check that it is approved for payment.", + "", + "Generally the **preapproveinvoice** request does not need to be made explicitly, it is automatically generated as part of a **pay** request.", + "", + "By default, the HSM will approve all **preapproveinvoice** requests.", + "", + "If a remote signer is being used it might decline an **preapproveinvoice** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.", + "", + "If a remote signer declines a **preapproveinvoice** request a subsequent attempt to pay the invoice anyway will fail; the signer will refuse to sign the commitment." + ], + "request": { + "required": [ + "bolt11" + ], + "properties": { + "bolt11": { + "type": "string", + "description": [ + "Bolt11 invoice to submit to the HSM to check." + ], + "added": "v23.02" + } + } + }, + "response": { + "properties": {} + }, + "author": [ + "Ken Sedgwick <> is mainly responsible." + ], + "see_also": [ + "lightning-pay(7)" ], "resources": [ "Main web site: " ] }, - "lightning-waitblockheight.json": { + "lightning-preapprovekeysend.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "waitblockheight", - "title": "Command for waiting for blocks on the blockchain", + "added": "v23.02", + "rpc": "preapprovekeysend", + "title": "Ask the HSM to preapprove a keysend payment (low-level)", "description": [ - "The **waitblockheight** RPC command waits until the blockchain has reached the specified *blockheight*." + "The **preapprovekeysend** RPC command submits the *destination*, *payment_hash*, and *amount_msat* parameters to the HSM to check that they are approved as a keysend payment.", + "", + "Generally the **preapprovekeysend** request does not need to be made explicitly, it is automatically generated as part of a **keysend** request.", + "", + "By default, the HSM will approve all **preapprovekeysend** requests.", + "", + "If a remote signer is being used it might decline an **preapprovekeysend** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.", + "", + "If a remote signer declines a **preapprovekeysend** request a subsequent attempt to pay the keysend anyway will fail; the signer will refuse to sign the commitment." ], "request": { "required": [ - "blockheight" + "destination", + "payment_hash", + "amount_msat" ], "properties": { - "blockheight": { - "type": "u32", + "destination": { + "type": "pubkey", "description": [ - "Current blockheight of the blockchain if the value is greater than this number. If it is a present or past block height, then the command returns immediately." - ] + "It is a 33 byte, hex-encoded, node ID of the node that the payment should go to." + ], + "added": "v23.02" }, - "timeout": { - "type": "u32", + "payment_hash": { + "type": "hex", + "added": "v23.02", "description": [ - "Only wait up to specified seconds." + "It is the unique identifier of a payment." ], - "default": "60 seconds" + "maxLength": 64, + "minLength": 64 + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount to send in millisatoshi precision; it can be a whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`." + ], + "added": "v23.02" } } }, "response": { + "properties": {} + }, + "author": [ + "Ken Sedgwick <> is mainly responsible." + ], + "see_also": [ + "lightning-keysend(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-recover.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "recover", + "title": "Reinitialize Your Node for Recovery", + "description": [ + "The **recover** RPC command wipes your node and restarts it with the `--recover` option. This is only permitted if the node is unused: no channels, no bitcoin addresses issued (you can use `check` to see if recovery is possible).", + "", + "*hsmsecret* is either a codex32 secret starting with \"cl1\" as returned by `hsmtool getcodexsecret`, or a raw 64 character hex string.", + "", + "NOTE: this command only currently works with the `sqlite3` database backend." + ], + "request": { "required": [ - "blockheight" + "hsmsecret" ], "properties": { - "blockheight": { - "type": "u32", + "hsmsecret": { + "type": "string", "description": [ - "The current block height (>= *blockheight* parameter)." + "Either a codex32 secret starting with `cl1` as returned by `hsmtool getcodexsecret`, or a raw 64 character hex string." ] } - }, - "post_return_value_notes": [ - "If *timeout* seconds is reached without the specified blockheight being reached, this command will fail with a code of `2000`." - ] + } }, - "example_json_request": [ - { - "id": "example:waitblockheight#1", - "method": "waitblockheight", - "params": { - "blockheight": 99, - "timeout": null - } - }, - { - "id": "example:waitblockheight#2", - "method": "waitblockheight", - "params": { - "blockheight": 100, - "timeout": null - } - }, - { - "id": "example:waitblockheight#3", - "method": "waitblockheight", - "params": { - "blockheight": 99, - "timeout": null + "response": { + "required": [ + "result" + ], + "properties": { + "result": { + "type": "string", + "added": "v24.05", + "enum": [ + "Recovery restart in progress" + ] } - }, + } + }, + "example_json_request": [ { - "id": "example:waitblockheight#4", - "method": "waitblockheight", + "id": "example:recover#1", + "method": "recover", "params": { - "blockheight": 100, - "timeout": null + "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" } }, { - "id": "example:waitblockheight#5", - "method": "waitblockheight", + "id": "example:recover#2", + "method": "recover", "params": { - "blockheight": 101, - "timeout": null + "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" } }, { - "id": "example:waitblockheight#6", - "method": "waitblockheight", + "id": "example:recover#3", + "method": "recover", "params": { - "blockheight": 102, - "timeout": 60 + "hsmsecret": "cl10leetsd35kw6r5de5kueedxgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqdeuq7xuh94k9g" } }, { - "id": "example:waitblockheight#7", - "method": "waitblockheight", + "id": "example:recover#4", + "method": "recover", "params": { - "blockheight": 103, - "timeout": 60 + "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000" } } ], "example_json_response": [ + {}, + {}, { - "blockheight": 101 - }, - { - "blockheight": 101 - }, - { - "blockheight": 101 - }, - { - "blockheight": 101 - }, - { - "blockheight": 101 - }, - { - "blockheight": 102 + "result": "Recovery restart in progress" }, { - "blockheight": 103 + "result": "Recovery restart in progress" } ], "author": [ - "ZmnSCPxj <> is mainly responsible." + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-hsmtool(7)" ], "resources": [ "Main web site: " ] }, - "lightning-waitinvoice.json": { + "lightning-recoverchannel.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "waitinvoice", - "title": "Command for waiting for specific payment", + "rpc": "recoverchannel", + "title": "Command for recovering channels bundeled in an array in the form of *Static Backup*", "description": [ - "The **waitinvoice** RPC command waits until a specific invoice is paid, then returns that single entry as per **listinvoice**." + "The **recoverchannel** RPC command tries to force the peer (with whom you already had a channel) to close the channel and sweeps on-chain fund. This method is not spontaneous and depends on the peer, so use it in case of severe data loss.", + "", + "The *scb* parameter is an array containing minimum required info to reconnect and sweep funds. You can get the scb for already stored channels by using the RPC command 'staticbackup'." ], "request": { "required": [ - "label" + "scb" ], "properties": { - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], + "scb": { + "type": "array", "description": [ - "Unique label of the invoice waiting to be paid." - ] + "SCB of the channels in an array." + ], + "items": { + "type": "hex" + } } } }, "response": { "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" + "stubs" ], "properties": { - "label": { - "type": "string", - "description": [ - "Unique label supplied at invoice creation." - ] - }, - "description": { - "type": "string", - "description": [ - "Description used in the invoice." - ] - }, - "payment_hash": { - "type": "hash", - "description": [ - "The hash of the *payment_preimage* which will prove payment." - ] - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired" - ], - "description": [ - "Whether it's paid or expired." - ] - }, - "expires_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it will become / became unpayable." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount required to pay this invoice." - ] - }, - "bolt11": { - "type": "string", - "description": [ - "The BOLT11 string (always present unless *bolt12* is)." - ] - }, - "bolt12": { - "type": "string", - "description": [ - "The BOLT12 string (always present unless *bolt11* is)." - ] - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was created in." - ] - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": [ - "1-based index indicating order this invoice was changed (only present if it has changed since creation)." - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": [ - "Unique incrementing index for this payment." - ] - }, - "amount_received_msat": { - "type": "msat", - "description": [ - "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." - ] - }, - "paid_at": { - "type": "u64", - "description": [ - "UNIX timestamp of when it was paid." - ] - }, - "paid_outpoint": { - "type": "object", - "description": [ - "Outpoint this invoice was paid with." - ], - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": [ - "ID of the transaction that paid the invoice." - ] - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": [ - "The 0-based output number of the transaction that paid the invoice." - ] - } - } - }, - "payment_preimage": { - "type": "secret", - "description": [ - "Proof of payment." - ] - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } - } - } - ] - }, - "errors": [ - "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.", - "- -1: If the invoice is deleted while unpaid, or the invoice does not exist.", - "- 903: If the invoice expires before being paid, or is already expired." - ], - "example_json_request": [ - { - "id": "example:waitinvoice#1", - "method": "waitinvoice", - "params": { - "label": "inv2" - } - }, - { - "id": "example:waitinvoice#2", - "method": "waitinvoice", - "params": { - "label": "inv1" - } - }, - { - "id": "example:waitinvoice#3", - "method": "waitinvoice", - "params": { - "label": "inv2" - } - }, - { - "id": "example:waitinvoice#4", - "method": "waitinvoice", - "params": { - "label": "inv1" - } - }, - { - "id": "example:waitinvoice#5", - "method": "waitinvoice", - "params": { - "label": "inv1" - } - } - ], - "example_json_response": [ - { - "label": "inv2", - "bolt11": "lnbcrt10n1pjmxtwjsp5mzvdu6v8hqsf2tlj0nlyks23afqp7ejs444syjxf74p60ztmld8qpp5q4ayz5pys3t0yj0dmkmh7ctarkv9z434paz4u9rdwnj4f43thhaqdq8d9h8vvsxqyjw5qcqp99qxpqysgqn0055ttns6pafsxh6xuqce6e4vz8gtxlzqx0l9d9f5crmqx4jymh4zy9jdaszm0dj89sq39fvhpwcs626dt0n3gw8kassfdehp5sy3sq7fzy3w", - "payment_hash": "057a4150248456f249edddb77f617d1d985156350f455e146d74e554d62bbdfa", - "amount_msat": 1000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000, - "paid_at": 1706241494, - "payment_preimage": "34ccd37cc85e067cb376f9ea8c70d70469f58bf296f2566ed9ad4dfb70971a26", - "description": [ - "Inv2." - ], - "expires_at": 1706846290, - "created_index": 2, - "updated_index": 1 - }, + "stubs": { + "type": "array", + "items": { + "type": "string", + "description": [ + "Channel IDs of channels successfully inserted." + ] + } + } + } + }, + "example_json_request": [ { - "label": "inv1", - "bolt11": "lnbcrt10n1pjmxtwjsp56suahdtp442a0l2ttnfy0kttxkudj0g0mmfw477ecedkh3pj7tyspp5d8g0xjsvhl4gdmuf786hwlg4aet6h2jf9gd557fdgf3xpc2tmmqqdq8d9h8vvgxqyjw5qcqp99qxpqysgqzv0v8pcp9d0mkqa7gawlmgr9naxnw9qc39hvzvvg2xvpssze0sc3xufsjaerq75k7glndgp8zls4qsjwa9yhg6h0a5jjuuvs3rqdgjspcjvsw0", - "payment_hash": "69d0f34a0cbfea86ef89f1f5777d15ee57abaa492a1b4a792d426260e14bdec0", - "amount_msat": 1000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 1000, - "paid_at": 1706241496, - "payment_preimage": "e0095372955119b83fa58f05127f91f0a189f6870f7b90a6edc395bc7dda7688", - "description": [ - "Inv1." - ], - "expires_at": 1706846290, - "created_index": 1, - "updated_index": 2 + "id": "example:recoverchannel#1", + "method": "recoverchannel", + "params": [ + [ + "0000000000000001c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5904017f0000019f0bc3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a0000000000000000000186a000021000" + ] + ] }, { - "label": "inv2", - "bolt11": "lnbcrt10n1pja0tkdsp5yyrvg28heqvmfzx7c3trhs8j3jx5xy2625py48tjk7h7rucjcd7qpp5ytjvqx798590dztdtzpla4up38d2u8uusrqgxc6p7y9kxlyt9gcqdq8d9h8vvsxqyjw5qcqp99qxpqysgqyxgmqw8xjr4shfxp0dal70sv88afez2zr0se7slgustqvd4dx849fgudw9mjydewuaew0c7fmjlqx4m6fxfha87z6wzlqnpjznegaccqfr6z6c", - "payment_hash": "22e4c01bc53d0af6896d5883fed78189daae1f9c80c0836341f10b637c8b2a30", - "amount_msat": 1000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000, - "paid_at": 1708633807, - "payment_preimage": "a6e370df3258139d674abc9a5043be9ee1fd18d56abab4c966d0fb1bb5a2c9ea", - "description": "inv2", - "expires_at": 1709238605, - "created_index": 2, - "updated_index": 1 - }, + "id": "example:recoverchannel#2", + "method": "recoverchannel", + "params": [ + [ + "0000000000000001c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5904017f0000019f0bc3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a0000000000000000000186a000021000" + ] + ] + } + ], + "example_json_response": [ { - "label": "inv1", - "bolt11": "lnbcrt10n1pja0tkdsp53wlxfumfwm2yg7hgq0ps26zuhw3rqg736h9mka8ccrtqlrvfk9dspp5eapa2mxem8rg6yjvu5qyl6296svc7py59xrn4xjd7hdkcjn0sxuqdq8d9h8vvgxqyjw5qcqp99qxpqysgq9wap5vznuhhaandtvez3x6leq8p5al0elff4v8furthw067u8l5sjr6wdpkkssyckdx8xvwq8wyan795xdtx4w8qtc6a6855n9fpn7gqzrp4nt", - "payment_hash": "cf43d56cd9d9c68d124ce5004fe945d4198f049429873a9a4df5db6c4a6f81b8", - "amount_msat": 1000, - "status": "paid", - "pay_index": 2, - "amount_received_msat": 1000, - "paid_at": 1708633809, - "payment_preimage": "4fb08c6f6efd79eecf6941a7f01e9a418f8ff96397a3bf167725333f186f70e6", - "description": "inv1", - "expires_at": 1709238605, - "created_index": 1, - "updated_index": 2 + "stubs": [ + "c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a" + ] }, { - "label": "inv1", - "bolt11": "lnbcrt10u1pja0t6jsp5jvhgz7qlz0xq5m7craeghudca4gfeuxv300fmzn3nhx3yry8vd0qpp5uwss52lj4ggruyns7x2kdd2uf0p0qez0cwcwy7kxqkk0fxg8an6qdpzw3jhxazlw4hxjenfv4j976twwehkjcm9wvxqyjw5qcqp9fp4p0qmr2h7u32pdcn9spfmjc425z5wsvwz2fht9arfldzkqs4ntsjlq9qxpqysgqzp4lgnalq3nw2ah4najlg6vxegye7a2m5arxlj9cp7v5s37xm0ly8g6s56yucw9u69a6p2kmss0rzd8atzac3pwdvumqnmra4l09fksqd067c3", - "payment_hash": "e3a10a2bf2aa103e1270f19566b55c4bc2f0644fc3b0e27ac605acf49907ecf4", - "amount_msat": 1000000, - "status": "paid", - "pay_index": 1, - "amount_received_msat": 1000000, - "paid_at": 1708633938, - "paid_outpoint": { - "txid": "de19e293b29a336d180c2b5856d2161e1c8e95801a5224d738b6394174fed8d1", - "outnum": 1 - }, - "payment_preimage": "6e2d775d8d18e13fb7ae6b74dca8557ed1e881a1e2f1fcd555080677e453402c", - "description": "test_unified_invoices", - "expires_at": 1709238738, - "created_index": 1, - "updated_index": 1 + "stubs": [ + "c3a7b9d74a174497122bc52d74d6d69836acadc77e0429c6d8b68b48d5c9139a" + ] } ], "author": [ - "Christian Decker <> is mainly responsible." + "Aditya <> is mainly responsible." ], "see_also": [ - "lightning-waitanyinvoice(7)", - "lightning-listinvoice(7)", - "lightning-delinvoice(7)", - "lightning-invoice(7)" + "lightning-getsharedsecret(7)" ], "resources": [ "Main web site: " ] }, - "lightning-waitsendpay.json": { + "lightning-renepay.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "waitsendpay", - "title": "Command for sending a payment via a route", + "rpc": "renepay", + "title": "Command for sending a payment to a BOLT11 invoice", + "added": "v23.08", "description": [ - "The **waitsendpay** RPC command polls or waits for the status of an outgoing payment that was initiated by a previous **sendpay** invocation.", + "**renepay** is a new payment plugin based on Pickhardt-Richter optimization method for Multi-Path-Payments. This implementation has not been thoroughly tested and it should be used with caution.", "", - "If the payment completed with success, this command returns with success. Otherwise, if the payment completed with failure, this command returns an error." + "The response will occur when the payment fails or succeeds. Once a payment has succeeded, calls to **renepay** with the same *invstring* will not lead to a new payment attempt, but instead it will succeed immediately.", + "", + "When using *lightning-cli*, you may skip optional parameters by using *null*. Alternatively, use **-k** option to provide parameters by name." ], "request": { "required": [ - "payment_hash" + "invstring" ], "properties": { - "payment_hash": { - "type": "hash", + "invstring": { + "type": "string", "description": [ - "The hash of the *payment_preimage*." + "Bolt11 invoice which the RPC command attempts to pay. Currently, **renepay** supports bolt11 invoices only." ] }, - "timeout": { + "amount_msat": { + "type": "msat", + "description": [ + "If the *invstring* does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*. in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*." + ] + }, + "maxfee": { + "type": "msat", + "description": [ + "*maxfee* is a hard bound, in the sense that the command will never attempt a payment when the fees exceed that value." + ] + }, + "maxdelay": { "type": "u32", "description": [ - "A timeout in seconds, for this RPC command to return. If the *timeout* is provided and the given amount of time passes without the payment definitely succeeding or definitely failing, this command returns with a 200 error code (payment still in progress). If *timeout* is not provided this call will wait indefinitely. Indicating a *timeout* of 0 effectively makes this call a pollable query of the status of the payment." + "Overrides the value of `max-locktime-blocks` for this payment. It serves to limit the locktime of funds in the payment HTLC measured in blocks." ] }, - "partid": { - "type": "u64", + "retry_for": { + "type": "u32", "description": [ - "Unique ID within this (multi-part) payment. It must match that of the **sendpay** command." + "Measured in seconds specifies how much time it is allowed for the command to keep retrying the payment." + ], + "default": "60 seconds" + }, + "description": { + "type": "string", + "description": [ + "Only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid." ] }, - "groupid": { - "type": "u64", + "label": { + "type": "string", "description": [ - "Grouping key to disambiguate multiple attempts to pay the same payment_hash." + "Used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)." ] + }, + "dev_use_shadow": { + "hidden": true, + "type": "boolean" } - }, - "pairedWith": [ - [ - "partid", - "groupid" - ] - ] + } }, "response": { "required": [ - "id", - "created_index", + "payment_preimage", "payment_hash", - "status", "created_at", - "amount_sent_msat" + "parts", + "amount_msat", + "amount_sent_msat", + "status" ], "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": [ - "1-based index indicating order this payment was created in." - ] - }, - "id": { - "type": "u64", - "description": [ - "Old synonym for created_index." - ] - }, - "groupid": { - "type": "u64", + "payment_preimage": { + "type": "secret", "description": [ - "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + "The proof of payment: SHA256 of this **payment_hash**." ] }, "payment_hash": { @@ -90397,11976 +71568,13203 @@ "The hash of the *payment_preimage* which will prove payment." ] }, - "status": { - "type": "string", - "enum": [ - "complete" - ], - "description": [ - "Status of the payment." - ] - }, - "amount_msat": { - "type": "msat", - "description": [ - "The amount delivered to destination (if known)." - ] - }, - "destination": { - "type": "pubkey", - "description": [ - "The final destination of the payment if known." - ] - }, "created_at": { - "type": "u64", + "type": "number", "description": [ "The UNIX timestamp showing when this payment was initiated." ] }, - "updated_index": { - "added": "v23.11", - "type": "u64", + "parts": { + "type": "u32", "description": [ - "1-based index indicating order this payment was changed (only present if it has changed since creation)." + "How many attempts this took." ] }, - "completed_at": { - "type": "number", + "amount_msat": { + "type": "msat", "description": [ - "The UNIX timestamp showing when this payment was completed." + "Amount the recipient received." ] }, "amount_sent_msat": { "type": "msat", "description": [ - "The amount sent." - ] - }, - "label": { - "type": "string", - "description": [ - "The label, if given to sendpay." - ] - }, - "partid": { - "type": "u64", - "description": [ - "The *partid*, if given to sendpay." + "Total amount we sent (including fees)." ] }, - "bolt11": { + "status": { "type": "string", + "enum": [ + "complete", + "pending", + "failed" + ], "description": [ - "The bolt11 string (if pay supplied one)." + "Status of payment." ] }, - "bolt12": { - "type": "string", + "destination": { + "type": "pubkey", "description": [ - "The bolt12 string (if supplied for pay: **experimental-offers** only)." + "The final destination of the payment." ] } }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": [ - "The proof of payment: SHA256 of this **payment_hash**." - ] - } - } - } - } + "post_return_value_notes": [ + "You can monitor the progress and retries of a payment using the lightning-renepaystatus(7) command." ] }, - "errors": [ - "On error, and even if the error occurred from a node other than the final destination, the route table will no longer be updated. Use the *exclude* parameter of the `getroute` command to ignore the failing route.", + "optimality": [ + "**renepay** is based on the work by Pickhardt-Richter's *Optimally Reliable & Cheap Payment Flows on the Lightning Network*. Which means the payment command will prefer routes that have a higher probability of success while keeping fees low.", "", - "- -1: Catchall nonspecific error.", - "- 200: Timed out before the payment could complete.", - "- 202: Unparseable onion reply. The *data* field of the error will have an *onionreply* field, a hex string representation of the raw onion reply.", - "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", - "- 204: Failure along route; retry a different route. The *data* field of the error will be routing failure object.", - "- 208: A payment for *payment_hash* was never made and there is nothing to wait for.", - "- 209: The payment already failed, but the reason for failure was not stored. This should only occur when querying failed payments on very old databases.", + "The algorithm records some partial knowledge of the state of the Network deduced from the responses obtained after evey payment attempt. This knowledge is kept through different payment requests, but decays with time to account for the dynamics of the Network (after 1 hour all previous knowledge will be erased). Knowledge from previous payment attempts increases the reliability for subsequent ones.", "", - "A routing failure object has the fields below:", + "Higher probabilities of success and lower fees cannot generally by optimized at once. Hence **renepay** combines the two in different amounts seeking solutions that satisfy *maxfee* bound and a target for 90% probability of success. *maxfee* is a hard bound, in the sense that the command will never attempt a payment when the fees exceed that value. While the probability target is not compulsory (but desirable), i.e. if the best route does not satisfy the 90% probability target it will be tried anyways.", "", - "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", - "*erring_node*: The hex string of the pubkey id of the node that reported the error.", - "*erring_channel*: The short channel ID of the channel that has the error (or the final channel if the destination raised the error).", - "*erring_direction*: The direction of traversing the *erring_channel*:", - "*failcode*: The failure code, as per BOLT #4.", - "*failcodename*: The human-readable name corresponding to *failcode*, if known." + "When *maxfee* and the 90% probability bounds are satified, the algorithm will optimize the fees to its lowest value." + ], + "randomization": [ + "To protect user privacy, the payment algorithm performs *shadow route* randomization. Which means the payment algorithm will virtually extend the route by adding delays and fees along it, making it appear to intermediate nodes that the route is longer than it actually is. This prevents intermediate nodes from reliably guessing their distance from the payee.", + "", + "Route randomization will never exceed *maxfee* of the payment. Route randomization and shadow routing will not take routes that would exceed *maxdelay*." + ], + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 200: Other payment attempts are in progress.", + "- 203: Permanent failure at destination.", + "- 205: Unable to find a route.", + "- 206: Payment routes are too expensive.", + "- 207: Invoice expired. Payment took too long before expiration, or already expired at the time you initiated payment.", + "- 210: Payment timed out without a payment in progress.", + "- 212: Invoice is invalid." ], "example_json_request": [ { - "id": "example:waitsendpay#1", - "method": "waitsendpay", + "id": "example:renepay#1", + "method": "renepay", "params": { - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pjmxj9jsp5suc4cag0lv3wemllkvms56e6ll0w867cczqfttuu8cpfl089f9kspp56wvxtdh8fxg5r5y3kg3klxceakqaydskwzatga25v95da8nzkmwqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqkmyhymt0j7hy38vzqxx465s4ys0fg78flnjqfx4clvdq9mrmgglpcnjrrnhtk7maa87pfvjez88hke8w97zvuecwswaf9gzyqlsthegpza67eu" } }, { - "id": "example:waitsendpay#2", - "method": "waitsendpay", + "id": "example:renepay#2", + "method": "renepay", "params": { - "payment_hash": "fc6aeb988a4134996fcfdcf45a0b5e9a44cf31b12136696a1d8745488bf54c26", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pjmxj8wsp5n6dzhjjfmfdwu37fehk4drlt2h20tv6t9hcnr48z8ngn5zmwg5yqpp5wzcyrjy0arne95eavpycg4qu8afamaen037tlahkhtt6gr3xphnsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqp7sqqqqq9qqzs9qxpqysgqpysyrheddmgetxv27azw2eluskzzqqm6tk2a9u9lwku6pge00tqsaguyu8g5gjdvkh3l75cmjktzskr0k5d59hfy3rx6elda9x8d4egp3rkwp7" } }, { - "id": "example:waitsendpay#3", - "method": "waitsendpay", + "id": "example:renepay#3", + "method": "renepay", "params": { - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pja0fp0sp5djlp0ekjmgymmtttslk7t8ltnw9xn7596lthwu2x40qshxdn74cspp5krnnfglrz2qvwgsdxuwpr6cg2t74k54n4t3z0c7zz8xf8sjxqj4sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqcrhz2zyg4x06ajey954dyn4pf7rzh2zh6f29nuqccn7zwr4r2355lghqydu7za992apjrgmcuyruzrxk9n5ul4enuzgpu7re6ucmw0qqte5zjg" } }, { - "id": "example:waitsendpay#4", - "method": "waitsendpay", + "id": "example:renepay#4", + "method": "renepay", "params": { - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pja0fzzsp5f8jwh3v97963yhh0x68jr2tpsplr7ty5uv6me2rn232q8lcezmkqpp574gwt0502wmt5d5xypzqg4kk8a437twpep83j2scn5nyw5gmjgfqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqp7sqqqqq9qqzs9qxpqysgqxxywht5ar6nkcvr6q25phvr08f68t8j48t8mlc45es7rav23ue5xxynghrj7vt79c5gu4393eve03lulhnk9058u6ff8njyemawjypqqutv6xt" } }, { - "id": "example:waitsendpay#5", - "method": "waitsendpay", + "id": "example:renepay#5", + "method": "renepay", "params": { - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fz4sp5k0sv4q2tgwl5m7ckz76rk740t5y9g9frqksfazdam4hs64tq7qhqpp53nk2rprp90wz384g630f3ap7hs055p88sk6pwzcgs4e7zt4eyjasdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq4525t279n7cpkn9eau3hl0j47ed2r3hpgyksjxlde4eq4mgr3dlxq7jzlg9epw8mn2fsjdpv6vvfcwarmagepckn0pqcx3hxpcz4e3gpcxpzka", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#6", - "method": "waitsendpay", + "id": "example:renepay#6", + "method": "renepay", "params": { - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fzhsp5fvhlhw09ja7np2rge98959w5ukgk3greqyx85xd65sxpj247k3rqpp5gthzl5trqym39qxr4zlklhk2t42lmylx4avg4n460ygc89eg5xssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqgtz8pez8jp9dtpn2fpvs3sekn40hz9809dhectc86f353ezx94ds5dxrv3t2ay4aj8cysxlw9ehz0x9yev0y4ynqmxhttaeegk4nfacqvpwmv4", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#7", - "method": "waitsendpay", + "id": "example:renepay#7", + "method": "renepay", "params": { - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fzesp5xldn6x7uyr6dhfzd7nz80hreu7qjuvm89dqn2hx0ceffmquu394qpp54n9vrf3mvx36fykmllr3gpsm773kur3mmpdnn3kgztfs4n7ysghsdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqvruzxuw7f93uqrdd0qf56gpzaq8snwh9t5fv0eyp0dze8vnx4mlylhxenpj3g5djzjph5ny7dxzjggz4cl9lkc2x94sd4n0w5kqkxvgpzprzdg", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#8", - "method": "waitsendpay", + "id": "example:renepay#8", + "method": "renepay", "params": { - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fzusp57ps2judrwzejepqghdz7ms9280f4t8lapa02zwghtq5f75z4ls6spp5rj9u4c4tuqepq2frs5qt35mm6z6lgqk9u48adkdr0saxlrnu6pssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqc9wgq5vrhv99fltlc527zx4ll4uph3dz7pqmu0u3mww8kraxsa6kal7km9fjc9q7czfdh7wg30drfmfxygxs0j0wxrjg5lc68umgrqcq3ua86t", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#9", - "method": "waitsendpay", + "id": "example:renepay#9", + "method": "renepay", "params": { - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fz7sp5fcfqagrujd58gusle54yddm3w2ha2y8euyytkzg74lukpkexstaqpp5usmthsx0afy66xnyl053muresxhadv9k0cv60r80nespe5prpausdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqlf9vavywfalgfsedqt9xszdwyyep58e5h3u9kzndh6tz5tutenr55h4rh3kxgxursn0tmjsza4hvpx5swfc8g6zvvurr903hmlsygagpy8kugx", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#10", - "method": "waitsendpay", + "id": "example:renepay#10", + "method": "renepay", "params": { - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0frqsp5euapzlh34ms9gwuhczxw4c4637xxdtk6sxqaps9hs4w8yspzf0nspp5yz3f4n0t7vty8qlxcckgvqglmfjymzuqnkasnytuq3hug9tzrjgqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq9qyy72pfna6uqh2aupeu8jj2tstkqu2tfatdpwwlltr957xve4lsechvvqfs49uqc468t85mmgesggkplay63l6phxu2w2q2qvwxrqgqrcrq3s", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#11", - "method": "waitsendpay", + "id": "example:renepay#11", + "method": "renepay", "params": { - "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", - "timeout": 60, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0frrsp5wgyhskcpmvcr9k6xn5xw4vg0pcdjw5xc02842mxskczj4qrrj7pqpp5uy32t9tac84mzf3fanw59wh4t4vjdcy2jvl68eechsagvr60q3ssdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq3zcls7ekz4qe8m54fxl3x8zex8wp3fjlavkmnyrslvvmugyysen9r6fq7awj5tw5v3x5wu3h5fnf2psyz2f65vvf445qyyph3qddajcq4lkxgt", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#12", - "method": "waitsendpay", + "id": "example:renepay#12", + "method": "renepay", "params": { - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fr9sp5yjgp2wja2rn67v6wgxpp2e2rke7jcwdj3uk0ls85nzlgj3x3hn0spp5zlchex665vj6d0mskxt7wsp44r2vlct997a8htuvzwuffns8cz7sdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq5flljdh48vq83548d6zpw5rhfrze8nkphkupgugdupj4lfkcaffz0x7m09sjlf8glmanwz8xrh9vyehrvcce2ccmp65zglqt2w3e0xcqn7ek4x", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#13", - "method": "waitsendpay", + "id": "example:renepay#13", + "method": "renepay", "params": { - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fr8sp5jv9pvenu228gjr7tekr7uxxmrtxzwda3dy7a7fy4ax4uzvu00hnqpp5llzrnr8ps56z57zr6zvjv5qy9menh80uwy0j3lft97negzd2wmxqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgqmwwpwqlkh3j7f52e6ncv40645m074ssqy379zsfxr2ppqnzrhy787ms67ssmv3zt283z9gls2dwv4r9vph3gwr92zjukytqpw4yje3sppucsmh", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#14", - "method": "waitsendpay", + "id": "example:renepay#14", + "method": "renepay", "params": { - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt100n1pja0fr2sp5pqc499c2unfn8v3cfl7amz74kkptf8p953kxltw2ylj5kr5kpnhqpp5zq3fex0786s7y7te5twm874zvewn2s0pmpdedlkj8znl8uqxyvyqdq8w3jhxaqxqyjw5qcqp9rzjqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqqqvuqqqqsqqqqqqqqpqqqqqzsqqc9qxpqysgq0kluzr0stzvpqgpk384crslm24due73euw6kxldkyjm0fh4jvkjr83328t5jwehus83vlzfjvnpexfvh0lxfxvtyu8sj8t3kwnlh6vcqgjd38g", + "dev_use_shadow": true } }, { - "id": "example:waitsendpay#15", - "method": "waitsendpay", + "id": "example:renepay#15", + "method": "renepay", "params": { - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt12m1pja0fyzsp5n4h0w940pmd0aas0knvxm68d7g0pm2ujsal23zkp2lapsrrwj5rqpp5p0thca0gkjyeqtn36qruxqprxh6kduas9wc7ychalw5s94rjcrysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp9rzjqwpvuk0t7x970kzxwlpwxher999enykwe225j8703ftvdjednhsejqqqvuqqqqsqqqqqqqqqqqqqqqqqqcrzjqvk0zhg6m8z2prfxa2cerrmn9k803lwx4wukgzlnmvt5xukyjycyuqqqdcqqqqcqqqqqqqqqqqqqqqqqqc9qxpqysgqqvmuazp5f72f38dp7x5jd6phggw6ds70jcaag2la6qhczdhke829nmutg4wv92x89xzw3vn7swuvmn0zyl6s6qulul87s7rwtfwhftcq9w0e7j" } }, { - "id": "example:waitsendpay#16", - "method": "waitsendpay", + "id": "example:renepay#16", + "method": "renepay", "params": { - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt210n1pja0fytsp5n6a0pgl0lm57033jujrsxjkdmwjesyejsjx0pe3vv4etyftksa6qpp5jj6l9n3xmj6fsdnvtvuzmrlwq8wxjlw2j7mea7edj7a3s80j06zqdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq6fxy5heeyxatm9at099p3yw8g8ns9rr4umfnxejqd0dwqzg73c9825y8gev90scppr8e42x0p2ykypdgwkfm6plpcrcrpyw6hejhjmqqaz2xv3" } }, { - "id": "example:waitsendpay#17", - "method": "waitsendpay", + "id": "example:renepay#17", + "method": "renepay", "params": { - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", + "dev_use_shadow": false } }, { - "id": "example:waitsendpay#18", - "method": "waitsendpay", + "id": "example:renepay#18", + "method": "renepay", "params": { - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1230n1pja0f9hsp5tn9w7z66af8j2j8wqyrnwtm48m3wvus0j4ecdhx2yn5rw6wg6yfqpp550d2fhjutcs4u7vmwtv53h5s04cmtzuqsn0vwveru4dqpngldznsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq9c2y5jad0shvjmhm0qph6m22gns0nzlfdnqzjheuu2fg0z72270ypyvtghstvc66j4zpzyz0ru4c65dw0c8pp96rl9s9hca3ecg5ffqpcf9mc5", + "dev_use_shadow": false } }, { - "id": "example:waitsendpay#19", - "method": "waitsendpay", + "id": "example:renepay#19", + "method": "renepay", "params": { - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1pja0f9csp5k9q85nedenk8gqwladdzc05ejxwrc02gxsyjejy4yvx3guj4xypqpp5qvwrrvetu4pwtcn8akdtukdch4lu9nnfrtn5q224lh3kzrsd7vxsdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqsfxza53ys64slu08h2fpy3jr025ye6av8ngu5809azwuvu9pm0ts33t2rd2xupq3xwhstzlftww8w6re8dr7gxqaaxm8x6jjq4p9jrqpu5768c", + "dev_use_shadow": false, + "amount_msat": 655794 } }, { - "id": "example:waitsendpay#20", - "method": "waitsendpay", + "id": "example:renepay#20", + "method": "renepay", "params": { - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1pja0f9esp5yf32alzff9nf0vehepp2uhf8e5cg6knck2glgwt4eg9w003ca55spp5kn07aa3t607vfksvay4x4kwzqrlcjr4ynqn5mu87qemv9d2x6nysdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgq8l7armfugjlzmhldvw4c64tpuggr5v0lyld8da62elkacz4mn76xll3ampfrvhddt2grc4vjym0efxcf3fm7trrm9dx6kwpm2jdp9wqqdlj8dq", + "dev_use_shadow": false, + "amount_msat": 40947 } }, { - "id": "example:waitsendpay#21", - "method": "waitsendpay", + "id": "example:renepay#21", + "method": "renepay", "params": { - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1pja0f9msp57kent27ketj64y6pwuaqqs2hddknfv8ca5ws9uerah2973td2pzspp57r6h66z53mue4y4qr3hcfrk07tj9pe40k29nw2hg9ra93tnp8k9sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqk3euqmn47lnt694e76cu6dr4vmtmag0slwe4ffawduyhf03kx3xp85myz83xqwheuzdjfza9t9laqxe7n8t55dxzk5j59wvvc6kg5ecp6pl6y0", + "dev_use_shadow": false, + "amount_msat": 305589 } }, { - "id": "example:waitsendpay#22", - "method": "waitsendpay", + "id": "example:renepay#22", + "method": "renepay", "params": { - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1pja0f9usp54kn5x3prhltcw9sz49mjnurcsm9ynezc8708uz4fnjq8je2lelqqpp5dqg7w3zeh4qgev23tt7nqu6ffcugn36y7jcyumnq8cjalmj0lp2sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqw89judp88yp4ej9d7hjvdrlzhpy9hts43pngm7sf6r0u4t7zc3s44gf5964zarc8xmf3h2xuddwkt4v35j3d4yl6ngu740f0dslqrvsqe35hu3", + "dev_use_shadow": false, + "amount_msat": 268401 } }, { - "id": "example:waitsendpay#23", - "method": "waitsendpay", + "id": "example:renepay#23", + "method": "renepay", "params": { - "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", - "timeout": null, - "partid": null, - "groupid": null + "invstring": "lnbcrt1pja0f9asp50kzadmeyy78eymjvhnlk5dznl3g5k5x8agh52ewjtg0jclas4ylspp5crsutd9hg05lxyhzphdcuyng6z3knrsdae83mxwawa842gz3vj3sdqjv3jhxcmjd9c8g6t0dcxqyjw5qcqp99qxpqysgqr5yzhxmup4muyaz6x8u2dy4qyu9t5qzuf5k9xayvj5kg7tve60gjk4jrv2l76exnj2xkuzhtwky23pkkxedzy6p9yrsgyqdwj7dv5gsp4zcw6v", + "dev_use_shadow": false, + "amount_msat": 548925 } } ], "example_json_response": [ { - "created_index": 1, - "id": 1, - "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1706152930, - "completed_at": 1706152933, + "payment_preimage": "0a3fd704b34f47d6e306dbac78141753be83848d3a19725c972abfc367dcc591", + "payment_hash": "d39865b6e7499141d091b2236f9b19ed81d2361670bab475546168de9e62b6dc", + "created_at": 1706248370.6267352, + "parts": 1, + "amount_msat": 123000, + "amount_sent_msat": 123000, "status": "complete", - "payment_preimage": "af7ba559629f719c04c43a82767fe3622790a539164d6270db07f765203e574b", - "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "fc6aeb988a4134996fcfdcf45a0b5e9a44cf31b12136696a1d8745488bf54c26", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 111, - "amount_sent_msat": 111, - "created_at": 1706152992, - "completed_at": 1706152994, + "payment_preimage": "e31bc80b1a7c2dacdf19d3eaa349b435fffc62a0ae4abe580da91a6ef8ea5c3a", + "payment_hash": "70b041c88fe8e792d33d604984541c3f53ddf7337c7cbff6f6bad7a40e260de7", + "created_at": 1706248430.293215, + "parts": 1, + "amount_msat": 123000, + "amount_sent_msat": 125002, "status": "complete", - "payment_preimage": "a4e364ef4cd4ec4e48ab38a7f2384faa41a74be2bbea5e84e28f52409883118e", - "bolt11": "lnbcrt1110p1pjmr4qlsp5sclyc65aumrn9xdq88xa4lqugc5ywecp9zg03zdmdpjk7cp0hdvqpp5l34whxy2gy6fjm70mn695z67nfzv7vd3yymxj6sasaz53zl4fsnqdpqwdgrs3n2d9my63e3g4nyykrd2eyrvvekxqyjw5qcqp99qxpqysgqe29manw7ut0chc9g0l5p8jked0vzhpvz6y8vzc6ztw92gmvx6xsjaegqwkr5lnqthmm7ngu7t04x5zx8q55qh8n82x79wfr0gswnjdgpw7llnd" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624137, - "completed_at": 1708624138, + "payment_preimage": "87b97b29aba98e6c78dff6ee0dcdf02ed6db65759a32c27373e5582653a5f277", + "payment_hash": "b0e734a3e31280c7220d371c11eb0852fd5b52b3aae227e3c211cc93c24604ab", + "created_at": 1708631087.979675, + "parts": 1, + "amount_msat": 123000, + "amount_sent_msat": 123000, "status": "complete", - "payment_preimage": "76f46478c3f110736ae0adaafe561bf11b1240ac2ec821451c69fe242b7d4515", - "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 111, - "amount_sent_msat": 111, - "created_at": 1708624150, - "completed_at": 1708624151, + "payment_preimage": "e5dbf1ff7d01f0705615f50a5cd065b721721e6252843a5e088205cc123d8567", + "payment_hash": "f550e5be8f53b6ba368620440456d63f6b1f2dc1c84f192a189d2647511b9212", + "created_at": 1708631106.248763, + "parts": 1, + "amount_msat": 123000, + "amount_sent_msat": 125002, "status": "complete", - "payment_preimage": "953ac0ba5115f0a90bbad0a759e46d0e7be07cf0845e2bdd0dd485b29b4656a1", - "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 2, - "id": 2, - "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", - "groupid": 1, - "updated_index": 2, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 222, - "amount_sent_msat": 222, - "created_at": 1708624152, - "completed_at": 1708624153, + "payment_preimage": "236a16532979196b466222fe431455a577aee9da7753fd637c0ee349332da528", + "payment_hash": "8ceca184612bdc289ea8d45e98f43ebc1f4a04e785b4170b088573e12eb924bb", + "created_at": 1708631125.3593059, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "3f9403b12c25bb266dacbdb7f6fc712729efdbacb0edce2daa24ffdd726b9322", - "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 3, - "id": 3, - "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", - "groupid": 1, - "updated_index": 3, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 4000000, - "amount_sent_msat": 4000000, - "created_at": 1708624153, - "completed_at": 1708624154, + "payment_preimage": "57292371010c169f8838dd3a5293dab276033fc7aa36628c1ae267a6774719a2", + "payment_hash": "42ee2fd16301371280c3a8bf6fdeca5d55fd93e6af588aceba7911839728a1a1", + "created_at": 1708631127.5253572, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "71564f2f49104fe72bde5a22c733e9b29602974c7846c04e33cd34645d338546", - "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624189, - "completed_at": 1708624190, + "payment_preimage": "4e4aa929feb1f21331030696f69e0a3aed193054f98e171463de283a05a8fa78", + "payment_hash": "accac1a63b61a3a492dbffc714061bf7a36e0e3bd85b39c6c812d30acfc4822f", + "created_at": 1708631129.855767, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "b219514dc1aece9452472a8a1c725615bcaa13d7b2e705911726cfc5df9a40a2", - "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624212, - "completed_at": 1708624213, + "payment_preimage": "572562a81e63565e008642a0a375243e43aa9f699f1d318ef1f47dea34203dcd", + "payment_hash": "1c8bcae2abe0321029238500b8d37bd0b5f402c5e54fd6d9a37c3a6f8e7cd061", + "created_at": 1708631132.2008233, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "867d05edfc52fb931835abd7c1736fafad6d1dd48a311e4ce776ebc28a95e262", - "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624223, - "completed_at": 1708624224, + "payment_preimage": "fea3c2ffa3e86ff13335005262604c4772f96dea48dd40c1f2ab58fa442ac53a", + "payment_hash": "e436bbc0cfea49ad1a64fbe91df07981afd6b0b67e19a78cef9e601cd0230f79", + "created_at": 1708631134.503752, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "ade7707a2f75a3b3b6d60947b606df17d6cf85fdf1b4d03b76b757193f808112", - "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 11000000, - "amount_sent_msat": 11000000, - "created_at": 1708624242, - "completed_at": 1708624243, + "payment_preimage": "d6a1052a28fdb352b7049a261a7fd027dcd33b287e304900f304403feb233668", + "payment_hash": "20a29acdebf3164383e6c62c86011fda644d8b809dbb09917c046fc415621c90", + "created_at": 1708631136.828003, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "2a8cd9e14d08b59b189b6a0b914a362d9f05f434182b93e679b497db55cf02be", - "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", - "groupid": 1, - "updated_index": 1, - "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", - "amount_msat": 3210, - "amount_sent_msat": 4211, - "created_at": 1708624260, - "completed_at": 1708624263, + "payment_preimage": "cda217391dbd6d73745ecbc3c4f373c722c51e940ed76162f38a88ca95393931", + "payment_hash": "e122a5957dc1ebb12629ecdd42baf55d5926e08a933fa3e738bc3a860f4f0461", + "created_at": 1708631139.1489058, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "3b81415d1d917e0bb84092c7d9a4c5326b886472e4e28eef402e0b022bce6bfe" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624682, - "completed_at": 1708624683, + "payment_preimage": "cdb3a9e61e94fbdf2468251645d5b2b8117225a5b044a989f105bde90b51e961", + "payment_hash": "17f17c9b5aa325a6bf70b197e74035a8d4cfe1652fba7baf8c13b894ce07c0bd", + "created_at": 1708631141.4233887, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "20a950e8ac0964c65a2494e873b33e7e36ea30d2e19913abb543fcebafca498e", - "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624696, - "completed_at": 1708624697, + "payment_preimage": "ab686b2035ec6da7eb3843e8fefdba77f3a7dc7b95c818c1dc34daea4fae3232", + "payment_hash": "ffc4398ce185342a7843d0992650042ef33b9dfc711f28fd2b2fa79409aa76cc", + "created_at": 1708631143.7291179, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "287cc90597b5d686f5e9512f3f89f1135e0e4dc703dfda5d0aa7a1b9dd2b1ab2", - "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624705, - "completed_at": 1708624706, + "payment_preimage": "66c499e41f39dda6b40922f59515e4a3709dfe9481c9d1c60f32dd52ddb8823c", + "payment_hash": "10229c99fe3ea1e27979a2ddb3faa2665d3541e1d85b96fed238a7f3f0062308", + "created_at": 1708631146.0185137, + "parts": 1, + "amount_msat": 10000, + "amount_sent_msat": 10001, "status": "complete", - "payment_preimage": "a7db3a7890314ecff3f7c1ff32a0a040213cb324997415cbf119e73bfb86797e", - "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg" + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d" }, { - "created_index": 1, - "id": 1, - "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", - "groupid": 1, - "updated_index": 1, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624732, - "completed_at": 1708624733, + "payment_preimage": "8fc2e0d2e8fa933c20727f818a8ab2f6805ce16758e4bc5d9120cf6a630e7bf9", + "payment_hash": "0bd77c75e8b489902e71d007c3002335f566f3b02bb1e262fdfba902d472c0c9", + "created_at": 1708631170.2165158, + "parts": 2, + "amount_msat": 1200000000, + "amount_sent_msat": 1200000000, "status": "complete", - "payment_preimage": "4acca302cb898413a7cc47dc4e9f2a590713ed1886ff88f6bee96d91f89c4946", - "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw" + "destination": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" }, { - "created_index": 2, - "id": 2, - "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", - "groupid": 1, - "updated_index": 2, - "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624733, - "completed_at": 1708624734, + "payment_preimage": "b96ffe2ba597cade50ff5fcbad89637e7069cd9973d1cfb386aef520bb2b75b1", + "payment_hash": "94b5f2ce26dcb498366c5b382d8fee01dc697dca97b79efb2d97bb181df27e84", + "created_at": 1708631206.4784534, + "parts": 1, + "amount_msat": 21000, + "amount_sent_msat": 21000, "status": "complete", - "payment_preimage": "9d30ff4ab48c2716fd2eee362fc094e6251596fbd9f6898d1e0fe85af1d0e1df", - "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a" + "destination": "0265b6ab5ec860cd257865d61ef0bbf5b3339c36cbda8b26b74e7f1dca490b6518" }, { - "created_index": 1, - "id": 1, - "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624742, - "completed_at": 1708624743, + "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", + "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", + "created_at": 1708631223.3308167, + "parts": 1, + "amount_msat": 123000, + "amount_sent_msat": 123000, "status": "complete", - "payment_preimage": "848bde3e01d2f0390699891c0f0e184fc48563a12e17aebc9b3a00998e0e825d", - "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624761, - "completed_at": 1708624762, + "payment_preimage": "ca51b066770d83d8f09a5f8e7c9912bd46a16d76063d431e14afab4e35a44b69", "status": "complete", - "payment_preimage": "3d29577bc26276e784fbea9cfb1014806823ff932a272e79d82a99d5785f8e0e", - "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua" + "amount_msat": 123000, + "amount_sent_msat": 123000, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "payment_hash": "a3daa4de5c5e215e799b72d948de907d71b58b8084dec73323e55a00cd1f68a7", + "created_at": 1708631223, + "parts": 1 }, { - "created_index": 2, - "id": 2, - "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", - "groupid": 1, - "updated_index": 2, - "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624763, - "completed_at": 1708624763, + "payment_preimage": "28d4185e0acf3b796e02237c9943d551ea0e61da15661ab611935809ba9a957a", + "payment_hash": "031c31b32be542e5e267ed9abe59b8bd7fc2ce691ae7402955fde3610e0df30d", + "created_at": 1708631224.439994, + "parts": 1, + "amount_msat": 655794, + "amount_sent_msat": 655794, "status": "complete", - "payment_preimage": "84100a41901d072312d709e64b4934cc11b573a12425bf54077ba1d7ffa2a01a", - "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 3, - "id": 3, - "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", - "groupid": 1, - "updated_index": 3, - "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624763, - "completed_at": 1708624764, + "payment_preimage": "808b2f49552445346ef6fe923cb6b21ff22cdaf7eb56da62ab65f0e464628945", + "payment_hash": "b4dfeef62bd3fcc4da0ce92a6ad9c200ff890ea498274df0fe0676c2b546d4c9", + "created_at": 1708631225.7752624, + "parts": 1, + "amount_msat": 40947, + "amount_sent_msat": 40947, "status": "complete", - "payment_preimage": "e69d61518343b58266365337c90d77a942237af98733f57770bc18f6805b6b26", - "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624827, - "completed_at": 1708624828, + "payment_preimage": "c987de46e2a821efc4790db09f3cba01c7073ce8b65e154138df84ad6e0e414e", + "payment_hash": "f0f57d68548ef99a92a01c6f848ecff2e450e6afb28b372ae828fa58ae613d8b", + "created_at": 1708631227.0958254, + "parts": 1, + "amount_msat": 305589, + "amount_sent_msat": 305589, "status": "complete", - "payment_preimage": "361887fdacf312a3a54dd03b3267efdf0bcaed9b555650ac636aeced496d3eab", - "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 100000000, - "amount_sent_msat": 100000000, - "created_at": 1708624839, - "completed_at": 1708624840, + "payment_preimage": "274129553d5f8b513be557986c014d917c68624ae912a16daf79bb0db1240b31", + "payment_hash": "6811e74459bd408cb1515afd3073494e3889c744f4b04e6e603e25dfee4ff855", + "created_at": 1708631228.4612594, + "parts": 1, + "amount_msat": 268401, + "amount_sent_msat": 268401, "status": "complete", - "payment_preimage": "48316b1156677a2cfccef0c34926b2ef0908dec259a547de0f721eb8bb5fda73", - "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" }, { - "created_index": 1, - "id": 1, - "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", - "groupid": 1, - "updated_index": 1, - "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", - "amount_msat": 200000000, - "amount_sent_msat": 200000000, - "created_at": 1708624851, - "completed_at": 1708624852, + "payment_preimage": "a635e92d024beebfc58519e6544888aa560ba3bcaba7e74924e4b8432eaa56f5", + "payment_hash": "c0e1c5b4b743e9f312e20ddb8e1268d0a3698e0dee4f1d99dd774f55205164a3", + "created_at": 1708631229.7841823, + "parts": 1, + "amount_msat": 548925, + "amount_sent_msat": 548925, "status": "complete", - "payment_preimage": "b2fecb8f717e9b0c56a7644a64400aca65f78b3090f16664dfda2591d8b08012", - "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m" + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } ], "author": [ - "ZmnSCPxj <> is mainly responsible." + "Eduardo Quintana-Miranda <> is mainly responsible." + ], + "see_also": [ + "lightning-renepaystatus(7)", + "lightning-listpays(7)", + "lightning-invoice(7)" + ], + "resources": [ + "Main web site: ", + "", + "Pickhardt R. and Richter S., *Optimally Reliable & Cheap Payment Flows on the Lightning Network* " + ] + }, + "lightning-renepaystatus.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "renepaystatus", + "title": "Command for quering the status of previous renepay attempts", + "added": "v23.08", + "description": [ + "The **renepaystatus** RPC command queries the payment plugin **renepay** for the status of previous payment attempts.", + "", + "This command always succeeds." + ], + "request": { + "required": [], + "properties": { + "invstring": { + "type": "string", + "description": [ + "If specified, the command will return a list of payment attempts whose invoice matches *invstring*, otherwise all payments with be listed." + ] + } + } + }, + "response": { + "required": [ + "paystatus" + ], + "properties": { + "paystatus": { + "type": "array", + "description": [ + "A list of payments attempted by renepay." + ], + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "bolt11", + "payment_hash", + "created_at", + "groupid", + "amount_msat", + "status", + "notes" + ], + "properties": { + "bolt11": { + "type": "string", + "description": [ + "Invoice string BOLT11." + ] + }, + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash** (for completed payments only)." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "created_at": { + "type": "number", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "groupid": { + "type": "u32", + "description": [ + "The id for this payment attempt." + ] + }, + "parts": { + "type": "u32", + "description": [ + "How many attempts this took." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount the recipient received." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "Total amount we sent including fees (for completed payments only)." + ] + }, + "status": { + "type": "string", + "enum": [ + "complete", + "pending", + "failed" + ], + "description": [ + "Status of payment." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment." + ] + }, + "notes": { + "type": "array", + "description": [ + "A list of messages for debugging purposes." + ], + "items": { + "type": "string", + "description": [ + "A message generated by renepay." + ] + } + } + } + } + } + } + }, + "author": [ + "Eduardo Quintana-Miranda <> is mainly responsible." ], "see_also": [ - "lightning-sendpay(7)", - "lightning-pay(7)" + "lightning-renepay(7)", + "lightning-listpays(7)" ], "resources": [ "Main web site: " ] }, - "lightning-withdraw.json": { + "lightning-reserveinputs.json": { "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "rpc": "withdraw", - "title": "Command for withdrawing funds from the internal wallet", + "rpc": "reserveinputs", + "title": "Construct a transaction and reserve the UTXOs it spends", "description": [ - "The **withdraw** RPC command sends funds from Core Lightning's internal wallet to the address specified in *destination*." + "The **reserveinputs** RPC command places (or increases) reservations on any inputs specified in *psbt* which are known to lightningd. It will fail with an error if any of the inputs are known to be spent, and ignore inputs which are unknown.", + "", + "Normally the command will fail (with no reservations made) if an input is already reserved." ], "request": { "required": [ - "destination", - "satoshi" + "psbt" ], "properties": { - "destination": { + "psbt": { "type": "string", "description": [ - "Any Bitcoin accepted type, including bech32." + "The PSBT to reserve inputs from." ] }, - "satoshi": { - "type": "msat_or_all", + "exclusive": { + "type": "boolean", "description": [ - "The amount to be withdrawn from the internal wallet (expressed, as name suggests, in satoshi). The string *all* can be used to specify withdrawal of all available funds (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + "If set to *False*, existing reservations are simply extended, rather than causing failure." ] }, - "feerate": { - "type": "feerate", - "description": [ - "Used for the withdrawal as initial feerate." - ], - "default": "*normal*" - }, - "minconf": { - "type": "u16", - "description": [ - "Minimum number of confirmations that used outputs should have." - ], - "default": 1 - }, - "utxos": { - "type": "array", + "reserve": { + "type": "u32", "description": [ - "Specifies the utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." - ], - "items": { - "type": "outpoint" - } + "The number of blocks to reserve. By default, reservations are for the next 72 blocks (approximately 6 hours)." + ] } } }, "response": { "required": [ - "psbt", - "tx", - "txid" + "reservations" ], "properties": { - "tx": { - "type": "hex", - "description": [ - "The fully signed bitcoin transaction." - ] - }, - "txid": { - "type": "txid", - "description": [ - "The transaction id of *tx*." - ] - }, - "psbt": { - "type": "string", - "description": [ - "The PSBT representing the unsigned transaction." - ] + "reservations": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "txid", + "vout", + "was_reserved", + "reserved", + "reserved_to_block" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The input transaction id." + ] + }, + "vout": { + "type": "u32", + "description": [ + "The input index output number which was reserved." + ] + }, + "was_reserved": { + "type": "boolean", + "description": [ + "Whether the input was already reserved." + ] + }, + "reserved": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether the input is now reserved." + ] + }, + "reserved_to_block": { + "type": "u32", + "description": [ + "What blockheight the reservation will expire." + ] + } + } + } } } }, "errors": [ - "On failure, an error is reported and the withdrawal transaction is not created.", + "On failure, an error is reported and no UTXOs are reserved.", "", - "- -1: Catchall nonspecific error.", - "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", - "- 302: The dust limit is not met.", - "- 313: The `min-emergency-msat` reserve not be preserved (and we have anchor channels)." + "- -32602: Invalid parameter, such as specifying a spent/reserved input in *psbt*." ], "example_json_request": [ { - "id": "example:withdraw#1", - "method": "withdraw", - "params": { - "destination": "bcrt1qjc7j2l5es4haw35c9jzm8dfm763ng5djp8f0s0", - "satoshi": 555555, - "feerate": null, - "minconf": null, - "utxos": null - } + "id": "example:reserveinputs#1", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAFwCAAAAAkwJVUqB0xXTO7JZ3PnPdGnxoYfQxhU+xqXGFYXsyX0RAAAAAAD9////TAlVSoHTFdM7slnc+c90afGhh9DGFT7GpcYVhezJfREBAAAAAP3///8AAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#2", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAFwCAAAAArT/bqivn8qjzzZLN+39jFoZtxNaKmf+PsoInwfuhWoeAAAAAAD9////tP9uqK+fyqPPNks37f2MWhm3E1oqZ/4+ygifB+6Fah4BAAAAAP3///8AAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#3", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAYJ1tPfXW4dbg9ed4oeXlOVoZbspy8XpF4wDo5BHTQYPAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#4", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAUVYpC3wL7XLjvjX5t4VKpYBqP0O6/Mc2nG+nFL4YHyXAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#5", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAaE5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#6", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAZ0g0+4a5LqELQFdcjZ26ZCbAeYnyqDNsz/gnCz34rNYAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#7", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAY/Wtb3RRd8PSAiTnyHexfHHLdl8kks/QfUjgmnPL/ztAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#8", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAQ0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#9", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAARDzbFBaxDmcn426m4fK3x0OAvUUBAsNdp93NcoRapM6AAAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#10", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAARBb0sSxKa69Ke9XPL4UOS0zt7BCZmcgkj9MkxqEuZLPAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#11", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAe4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#12", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAU9eWCxppOxwbKy/msHXMYt3W93rKfAHAk0vVxqxJ36AAAAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#13", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAASrvEie8STsnQiv1ykpepTaUCtSySRguuKYgTT5hvprZAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#14", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAchBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#15", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#16", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", + "exclusive": false, + "reserve": null + } + }, + { + "id": "example:reserveinputs#17", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAK4CAAAABE2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////Jx7xm4ST4gUCuDDh7Li/nXyFYM/5NShu5FlXn3YQsxIBAAAAAP3///9gEO3lbaWKwZF6ZdbLJu14bk81iYXUIX4riAKMjrPvoAEAAAAA/f///1Uuu3RGdKg4qZvX6kH0e6rBV0WHD88ycfjMe5ZyeekMAQAAAAD9////AAAAAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#18", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAAAAAAA", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#19", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAa68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////AAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#20", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgwABAHECAAAAAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYAAQBxAgAAAAEV9PehqxjfHwVYBLoQqbZ0e7HHaVUKlbY0dfsWQ8zYmgAAAAAA/f///wL+VW0pAQAAABYAFDp1w8b/NEvIwTXD0X87XqbQ/abCQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouGUAAAABAR9AQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHgAA", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#21", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAFwCAAAAAtNngbU2OZbuxWy1eirCXDelreU6DGRwcgNhK269/gD4AAAAAAD9////02eBtTY5lu7FbLV6KsJcN6Wt5ToMZHByA2Erbr3+APgBAAAAAP3///8AAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#22", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAFwCAAAAAsdAJ+SN40uSR2ASd3Ui8LFwUndF0SLbAY7YKzhCan2MAAAAAAD9////x0An5I3jS5JHYBJ3dSLwsXBSd0XRItsBjtgrOEJqfYwBAAAAAP3///8AAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + }, + { + "id": "example:reserveinputs#23", + "method": "reserveinputs", + "params": { + "psbt": "cHNidP8BAFwCAAAAAkg8ewAnzMN2R9ohLUGZ9jO/uR3ykw+eTWxzG48axgNgAAAAAAD9////SDx7ACfMw3ZH2iEtQZn2M7+5HfKTD55NbHMbjxrGA2ABAAAAAP3///8AAAAAAAAAAA==", + "exclusive": true, + "reserve": null + } + } + ], + "example_json_response": [ + { + "reservations": [ + { + "txid": "117dc9ec8515c6a5c63e15c6d087a1f16974cff9dc59b23bd315d3814a55094c", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 175 + } + ] + }, + { + "reservations": [ + { + "txid": "1e6a85ee079f08ca3efe672a5a13b7195a8cfded374b36cfa3ca9fafa86effb4", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 176 + } + ] + }, + { + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] + }, + { + "reservations": [ + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] + }, + { + "reservations": [ + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] + }, + { + "reservations": [ + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#2", - "method": "withdraw", - "params": { - "destination": "bcrt1q3vhgq40le39keck9ffeaj8lak0p2dvqph48u8m", - "satoshi": 555555, - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#3", - "method": "withdraw", - "params": { - "destination": "bcrt1q3nxnaq03lrckj58lefcam7ppx84jdr46m55vfx", - "satoshi": 555555, - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#4", - "method": "withdraw", - "params": { - "destination": "bcrt1q0v5zgjg6nfz2ael4r4adq7d8z7vs4dmd84g6cr", - "satoshi": 555555, - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#5", - "method": "withdraw", - "params": { - "destination": "bcrt1qau4e4s6lmn7nek30rfv4zq5vn6pvxw7l9p0krk", - "satoshi": 555555, - "feerate": "253perkw", - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#6", - "method": "withdraw", - "params": { - "destination": "bcrt1qau4e4s6lmn7nek30rfv4zq5vn6pvxw7l9p0krk", - "satoshi": 555555, - "feerate": "1000perkw", - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#7", - "method": "withdraw", - "params": { - "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#8", - "method": "withdraw", - "params": { - "destination": "bcrt1qvcwz8dusm56fzde67zca30kssa74eh3zh04cfc", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#9", - "method": "withdraw", - "params": { - "destination": "bcrt1qcysw6s3x8v74hstnhscw0f3mmxppqa3en8evqt", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#10", - "method": "withdraw", - "params": { - "destination": "bcrt1q84payf4ucfcpnt0994arm3f20tqmu29cna738w", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#11", - "method": "withdraw", - "params": { - "destination": "bcrt1q7mlmgjxy4gscgek6w2g885qkf4sunhasjq7ys0", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + } + ] }, { - "id": "example:withdraw#12", - "method": "withdraw", - "params": { - "destination": "bcrt1q5sacyx5hjrugpcgn5w2mw9aq7d2tnkwxmmjp06", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "12b310769f5759e46e2835f9cf60857c9dbfb8ece130b80205e293849bf11e27", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "a0efb38e8c02882b7e21d48589354f6e78ed26cbd6657a91c18aa56de5ed1060", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "0ce97972967bccf87132cf0f874557c1aa7bf441ead79ba938a8744674bb2e55", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#13", - "method": "withdraw", - "params": { - "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", - "satoshi": "all", - "feerate": null, - "minconf": 0, - "utxos": null - } + "reservations": [ + { + "txid": "a1d42fcfeb3b92cfd018b433c9684a36e67ccc5c7aa7fd0d229fd55744591944", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "89418c4070f0a1bdea76ec26c987cd77e06e453095b6d658f8db85bc221aa348", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "37eb786ee5ce25146d3515ba48ecaa493734f3b356414e4765b1cd12d54329f3", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "d8e953193e0abf8b52d81668230118fd89bf362e93e2c4f06bddd9b2ed84984f", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#14", - "method": "withdraw", - "params": { - "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", - "satoshi": "all", - "feerate": null, - "minconf": 0, - "utxos": null - } + "reservations": [ + { + "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, { - "id": "example:withdraw#15", - "method": "withdraw", - "params": { - "destination": "bcrt1qdcsuk0zg34n7e4gtklc958vuyfmkpm5cdwe6jl", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null - } + "reservations": [ + { + "txid": "b40cfd2e6c5010c1993488757dd52967eff03c138761e8832228fec858529320", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "5bad7f61db5fcd0d5e8f90a00b7693eede5f9f27c36022dc9ffbe51ff35a15b5", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "87f66cfa07e5715dd5f9522a2c80b7c729baa7a1936c61912c1e0e932930c1f7", + "vout": 0, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] + }, + { + "reservations": [ + { + "txid": "f800febd6e2b61037270640c3ae5ada5375cc22a7ab56cc5ee963936b58167d3", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 175 + } + ] + }, + { + "reservations": [ + { + "txid": "8c7d6a42382bd88e01db22d145775270b1f0227577126047924be38de42740c7", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 176 + } + ] }, { - "id": "example:withdraw#16", - "method": "withdraw", - "params": { - "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", - "satoshi": "all", - "feerate": "20000perkb", - "minconf": 0, - "utxos": [ - "218390859cf94d869e33f69161f4187a98f691afe868c20811528f589e90a61f:1" + "reservations": [ + { + "txid": "6003c61a8f1b736c4d9e0f93f21db9bf33f699412d21da4776c3cc27007b3c48", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 177 + } + ] + } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-unreserveinputs(7)", + "lightning-signpsbt(7)", + "lightning-sendpsbt(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-sendcustommsg.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v0.10.1", + "rpc": "sendcustommsg", + "title": "Low-level interface to send protocol messages to peers", + "description": [ + "The `sendcustommsg` RPC method allows the user to inject a custom message into the communication with the peer with the given `node_id`. This is intended as a low-level interface to implement custom protocol extensions on top, not for direct use by end-users.", + "", + "On the receiving end a plugin may implement the `custommsg` plugin hook and get notified about incoming messages, and allow additional unknown even types in their getmanifest response." + ], + "request": { + "required": [ + "node_id", + "msg" + ], + "properties": { + "node_id": { + "type": "pubkey", + "description": [ + "The node specified by `node_id` must be a peer, i.e., it must have a direct connection with the node receiving the RPC call, and the connection must be established. For a method to send arbitrary messages over multiple hops, including hops that do not understand the custom message, see the `createonion` and `sendonion` RPC methods. Messages can only be injected if the connection is handled by `openingd` or `channeld`. Messages cannot be injected when the peer is handled by `onchaind` or `closingd` since these do not have a connection, or are synchronous daemons that do not handle spontaneous messages." + ] + }, + "msg": { + "type": "hex", + "description": [ + "Must be a hex encoded well-formed message, including the 2-byte type prefix, but excluding the length prefix which will be added by the RPC method. The message types may not be one of the internally handled types, since that may cause issues with the internal state tracking of Core Lightning. We do (as of *v23.11*) allow sending of even types, but note that peers (as per the spec) will disconnect on receiving unknown even types." ] } - }, - { - "id": "example:withdraw#17", - "method": "withdraw", - "params": { - "destination": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu", - "satoshi": "all", - "feerate": "20000perkb", - "minconf": 0, - "utxos": [ - "218390859cf94d869e33f69161f4187a98f691afe868c20811528f589e90a61f:0" + } + }, + "response": { + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "description": [ + "Information about where message was queued." ] } }, + "pre_return_value_notes": [ + "The method will validate the arguments and queue the message for delivery through the daemon that is currently handling the connection. Queuing provides best effort guarantees and the message may not be delivered if the connection is terminated while the message is queued. The RPC method will return as soon as the message is queued.", + "", + "If any of the above limitations is not respected the method returns an explicit error message stating the issue." + ] + }, + "example_json_request": [ { - "id": "example:withdraw#18", - "method": "withdraw", + "id": "example:sendcustommsg#1", + "method": "sendcustommsg", + "params": [ + "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" + ] + }, + { + "id": "example:sendcustommsg#2", + "method": "sendcustommsg", + "params": [ + "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" + ] + }, + { + "id": "example:sendcustommsg#3", + "method": "sendcustommsg", "params": { - "destination": "bcrt1q05ydn97l48x788uxsca27ruzuvkvxryr86ht74", - "satoshi": "all", - "feerate": null, - "minconf": null, - "utxos": null + "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "msg": "aaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" } }, { - "id": "example:withdraw#19", - "method": "withdraw", + "id": "example:sendcustommsg#4", + "method": "sendcustommsg", "params": { - "destination": "bcrt1q48x4ppa58xgc6eaq8ykf50kuyesa5gd5rrqw6g", - "satoshi": 10000, - "feerate": "1500perkb", - "minconf": null, - "utxos": null + "node_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "msg": "aaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" } }, { - "id": "example:withdraw#20", - "method": "withdraw", + "id": "example:sendcustommsg#5", + "method": "sendcustommsg", "params": { - "destination": "bcrt1qwx6am26cuw38y4863pd6swrce2g8mzhaxr9xp8", - "satoshi": "all", - "feerate": "urgent", - "minconf": 0, - "utxos": null + "node_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "msg": "77770012" } }, { - "id": "example:withdraw#21", - "method": "withdraw", + "id": "example:sendcustommsg#6", + "method": "sendcustommsg", "params": { - "destination": "bcrt1qmt4t5wdvq03enc7mceqzsjn8z5chsu7tc7qkrq", - "satoshi": 2000000, - "feerate": null, - "minconf": null, - "utxos": null + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" } }, { - "id": "example:withdraw#22", - "method": "withdraw", + "id": "example:sendcustommsg#7", + "method": "sendcustommsg", "params": { - "destination": "bcrt1qul38q8783fylpc8cckllfguhtpf2epwrc64gcq", - "satoshi": 2000000, - "feerate": null, - "minconf": null, - "utxos": null + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" } }, { - "id": "example:withdraw#23", - "method": "withdraw", + "id": "example:sendcustommsg#8", + "method": "sendcustommsg", "params": { - "destination": "bcrt1qw508d6qejxtdg4y5r3zarvary0c5xw7kygt080", - "satoshi": 2000000, - "feerate": null, - "minconf": null, - "utxos": null + "node_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "msg": "aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb" } } ], "example_json_response": [ { - "tx": "0200000001ef28647baa13cc4c03b8a58c8bd08b69de434c22ff591eb68171ae992e3d816d0000000000fdffffff02237a080000000000160014963d257e99856fd746982c85b3b53bf6a33451b24d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "ccb97d7dc695cabb78b217c0b27d7d00d2941966199480e6443e0680d24d69eb", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAWPCRda9hy4QKqUEmtb7gK7SAqzh1xBP8nZ7PCj+7+JDAAAAAAD9////Akf0EAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUs/fQpAQAAABYAFOIj6yaI/g85utJBtkPPdK1X59cfAkcwRAIgH7J57HuUTpnCbDrDqE8W7ryuCXk+i/TszQ/NF55lWncCIDeN4y+EzIDP3l2XO5/wjk98krYqnzvEhrStk+0+fTowASEC6Ng5r5KTNIXBRRvjivsd8SKnHF59r/ViDj2+CLJVb75lAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBY0urYSHLnnXaAJH7yaGfvGmm+VuNCNIBhQaJU6iDNEgIgA7EASW+V00Su+lRQAE3Qbe4wavLq7l6Jn2vR+6Snyd0BIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDvKGR7qhPMTAO4pYyL0Itp3kNMIv9ZHraBca6ZLj2BbQEPBAAAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSWPSV+mYVv10aYLIWztTv2ozRRsgz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" - }, - { - "tx": "0200000001c49aafa9ecfaf4b8e7cfda3af3a9605b0b0b690374424040f8cb8b7748f7bf850100000000fdffffff02237a0800000000001600148b2e8055ffcc4b6ce2c54a73d91ffdb3c2a6b0014d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a1d000000", - "txid": "d759b68521f314ad2d69b7dd95b2e140a651224294342b24321a82b8923756d2", - "psbt": "cHNidP8BAgQCAAAAAQMEHQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAY1sF6XyLXliNeAZHC2uzr6lRSxdqUJre3W2zK1fXH8nAAAAAAD9////Aiz99CkBAAAAFgAU17KmXaCsgm2Fl+sphjcHUulycw1H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgHyQTjlB5bIxMPMKPooqnGSwg3dV2/7huv1TB5XFeU+0CIFbpKBqQz1feLQCvsWRfUq50UvaO8AuOzOyomrENH/9DASEDaCkPlZc5+DDqWi4eHvyWFCfYeunLhiT+CvQKFqPBQX9lAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBFKU+iebPbFItL/kXhjSE7q93Iy8/gvHa9LZeDoFGmzQIgSlyximzqtgVBlPHs3MgpgtdIoYC3+/zeL8watC5ktWwBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDEmq+p7Pr0uOfP2jrzqWBbCwtpA3RCQED4y4t3SPe/hQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSLLoBV/8xLbOLFSnPZH/2zwqawAQz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" - }, - { - "tx": "0200000001bcd18d85922c6a41487e86978f76559d8a9466a29f44f37a77bf6915104b180f0100000000fdffffff02237a0800000000001600148ccd3e81f1f8f16950ffca71ddf82131eb268eba4d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAeHF504P2tRcm3Z74ZXfDoGJLG5nQWSuuxSjvu6tNKrqAAAAAAD9////Aiz99CkBAAAAFgAUz9p3rVbCX1KRJbDbeVBD9ZMU9KVH9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgQwdjWVsEYqYPxQEOWTa2v23GHwDM9zbNGXM4IAu36okCIFx0ScFHrIiR85Er54ZMvgo8HEGm5pRM/+tO5RcQBZNuASEDa1qJyt83YyNfzvzOUhBE087B4eCvjTW6VXKpukieKWJlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBRGFoPEQY49kKUITKEhkOB3aVkfwW8CT2Oo3QsnDKmJQIgHATA6DXGVmE3nd9+NaTbAFO5F9A2FgUX998eMcghCmsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiC80Y2FkixqQUh+hpePdlWdipRmop9E83p3v2kVEEsYDwEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSMzT6B8fjxaVD/ynHd+CEx6yaOugz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" - }, - { - "tx": "02000000011c668fd55dda08273fab0edac7479aebe078a2a60d6da1cc798ef394d7554f970100000000fdffffff02237a0800000000001600147b2824491a9a44aee7f51d7ad079a717990ab76d4d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAb5DnCpuZc4vd7cV4JGiON4lwWVvoEK8yuTcvh9KqJQ+AAAAAAD9////Aiz99CkBAAAAFgAUczpZi30kmfUCe7kQb5JkGSsoONxH9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgRc/M1UBCkaImlTTpFO6maJ1xitwtcQW9I0Ypzms6/g0CIGfx7E2ACkpQiZgvE+L9enllTVfqa02ExXD1JiSvgXCYASED9kPdHssPLNZVt0iV3kfMlpO+uhUUpo52h/INUwlGqqtlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiATD6vbRRT9DRhqPib1aHeFboY7B4v3I1idoTPlMkxWTwIgWI543mQ1PlL0Mq/5EHblsIVbH7vCzQ3HufZORjNDy/sBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAcZo/VXdoIJz+rDtrHR5rr4Hiipg1tocx5jvOU11VPlwEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABR7KCRJGppEruf1HXrQeacXmQq3bQz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" - }, - { - "tx": "02000000014309285f988d0954dec1a42d6a4d02c6b2844d3b882896c9244d54d4aa5e5b890100000000fdffffff02237a080000000000160014ef2b9ac35fdcfd3cda2f1a5951028c9e82c33bdf8a7908000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a19000000", - "txid": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5", - "psbt": "cHNidP8BAgQCAAAAAQMEGQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAvnQ1D05X5V7fK9Ypl3PGNGC+SPFQA1egU/xGlMIv2jAIgHUC7f/WwrDyHKiJD/eRQWr45NqpHEsvrAuNy41GlPBsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" - }, - { - "tx": "02000000014309285f988d0954dec1a42d6a4d02c6b2844d3b882896c9244d54d4aa5e5b890100000000fdffffff02237a080000000000160014ef2b9ac35fdcfd3cda2f1a5951028c9e82c33bdfc377080000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", - "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiB0rZuRaUvFS6TqJUlxxTlZf9tGRfgO690uG/aEZaRwRwIgLN5YqNgAaIIImRwaj3QeU5xt3o9HL7ue6dDMteyXQbgBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIw3cIAAAAAAABBCJRIO7XRYBNqXhMwgP1Y++pn/pU/fAbE3vJZOY8MSQHD/vmIQddNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wkABxxJygMAAAAA" - }, - { - "tx": "0200000002bd0a881b9888bfd9ac8e7151c624c046406e686d81f549947132f6a46869ddd10000000000fdffffffd851b373ac45080e8b84a11bb1e7b4fc81d01f89b5fc496ee35d1b4a73a20f000000000000fdffffff0278801a0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488a8610000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b56d000000", - "txid": "96cc9b7c8e3f15be1900dd120d652a067f36d27f3c8bfca5b2e26c58d9c18f32", - "psbt": "cHNidP8BAgQCAAAAAQMEbQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9MQECAAAAAAEC5UOEwzSI0Zfihb3dooWK5JnfsJfrchPgnfeDzbzFKJkBAAAAAP3///9Y4pYG252MnrSjf+hB2B4BYcaBCkrEHRSgTxu1Aj5I2wEAAAAA/f///wFx2g4AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAUCKYxPyP5MpIK4mEMsSO4PQBEo9Us+eoUlnaFP48Lw1S11ISGjcXnjERzk1dW+/q5N+oMgtCrMcudr62LOmsOQPAkcwRAIgcynJhimGMom13EZvmouOO33z1eIaUo2kDMm+LH8rtz4CIBB6Q1grzLlhiznR3Yzp+8s4xc8Bd0z60EvVjDBv0IFLASghAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLrHNkYLJoZwAAAAEBH3HaDgAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgP1Y8I5Eze25V9tEKiVtUHj4499+4Z6N06933wVmiWcMCIGaEcWX0XgiT5EgfNvtS9jWTLZnYJNrCUKBUKU5fHUZLASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEBDwQAAAAAARAE/f///wABAOoCAAAAAAEBWOKWBtudjJ60o3/oQdgeAWHGgQpKxB0UoE8btQI+SNsDAAAAAAUAAAABdyEMAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUANHMEQCIEbXNNKRwzG2QgY9ac9lyUZElAN6xihzNTjgFbZJBgTzAiB14NRVW01I81IwmQdSXWT0aARoxbxmTcU3ToLC7Lbs6gEAS2MhA4vxnDPMUZSfkvATF+kAGpuQVvmNdLPBreK3ArC1dG47Z1WydSEDyVUzCcfxDP7qAPl+ex+JV6L60/13qBT2WqqHa2NkdW1orAAAAAABAR93IQwAAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQIgICXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9HMEQCIAo0HQLQxfTIR1rPhOfJQuN9l5AQ1/RaWiF8jL8PpiDAAiA1J+orGh0WEDQHEqFqJxybPo6W1ELuFgcecnAmUzxWBgEiBgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wgHHEnKAAAAAAEOINhRs3OsRQgOi4ShG7HntPyB0B+JtfxJbuNdG0pzog8AAQ8EAAAAAAEQBP3///8AIgICucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wQAAAABAwh4gBoAAAAAAAEEFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtSEHWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAJAH0I2ZcFAAAAAA==" - }, - { - "tx": "0200000002328fc1d9586ce2b2a5fc8b3c7fd2367f062a650d12dd0019be153f8e7c9bcc960100000000fdffffff328fc1d9586ce2b2a5fc8b3c7fd2367f062a650d12dd0019be153f8e7c9bcc960000000000fdffffff02b0661a0000000000160014661c23b790dd3491373af0b1d8bed0877d5cde22a861000000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb56e000000", - "txid": "edcb9a43e7190da3c09e042be56322c1bb4ae9285aa4fb59647c7942b4d40231", - "psbt": "cHNidP8BAgQCAAAAAQMEbgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9fgECAAAAAAECvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEAAAAAAP3////YUbNzrEUIDouEoRux57T8gdAfibX8SW7jXRtKc6IPAAAAAAAA/f///wJ4gBoAAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQJHMEQCID9WPCORM3tuVfbRColbVB4+OPffuGejdOvd98FZolnDAiBmhHFl9F4Ik+RIHzb7UvY1ky2Z2CTawlCgVClOXx1GSwEhAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/AkcwRAIgCjQdAtDF9MhHWs+E58lC432XkBDX9FpaIXyMvw+mIMACIDUn6isaHRYQNAcSoWonHJs+jpbUQu4WBx5ycCZTPFYGASECXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9tAAAAAQErqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQEOIDKPwdlYbOKypfyLPH/SNn8GKmUNEt0AGb4VP458m8yWAQ8EAQAAAAEQBP3///8BE0Am0Xi54QwhHaY2t88wPKbf5fHStFYfIJd7ArfPJX4hkajO7ZJYb234Oc32QZK8up66uJGzmfQMYabB1wC8S1mmIRZaebu7QG1Lwo3wX6aocyjPsCp+E3Q77NzR38/gccLgEAkAfQjZlwAAAAAAAQD9fgECAAAAAAECvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEAAAAAAP3////YUbNzrEUIDouEoRux57T8gdAfibX8SW7jXRtKc6IPAAAAAAAA/f///wJ4gBoAAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQJHMEQCID9WPCORM3tuVfbRColbVB4+OPffuGejdOvd98FZolnDAiBmhHFl9F4Ik+RIHzb7UvY1ky2Z2CTawlCgVClOXx1GSwEhAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/AkcwRAIgCjQdAtDF9MhHWs+E58lC432XkBDX9FpaIXyMvw+mIMACIDUn6isaHRYQNAcSoWonHJs+jpbUQu4WBx5ycCZTPFYGASECXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9tAAAAAQEfeIAaAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiAB+1jf1D/5GhPOyAsCcqnSDj8RgH4p8rjN50pF0SmOUgIga9tvN+EJPiHVd3CqmRUccj7v2tkiawnbONNjbPMMk+EBIgYCucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wAAAAABDiAyj8HZWGzisqX8izx/0jZ/BiplDRLdABm+FT+OfJvMlgEPBAAAAAABEAT9////ACICA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCGYcI7cGAAAAAQMIsGYaAAAAAAABBBYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iDPwJbGlnaHRuaW5nBAIAAQABAwioYQAAAAAAAAEEIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAA=" - }, - { - "tx": "02000000023102d4b442797c6459fba45a28e94abbc12263e52b049ec0a30d19e7439acbed0100000000fdffffff3102d4b442797c6459fba45a28e94abbc12263e52b049ec0a30d19e7439acbed0000000000fdffffff02e84c1a0000000000160014c120ed42263b3d5bc173bc30e7a63bd982107639a8610000000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc6f000000", - "txid": "4bfa9555e5f975a1f541a9bc4bb63e6a3e23d9c058b5abefa3857c720d1da720", - "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECMo/B2Vhs4rKl/Is8f9I2fwYqZQ0S3QAZvhU/jnybzJYBAAAAAP3///8yj8HZWGzisqX8izx/0jZ/BiplDRLdABm+FT+OfJvMlgAAAAAA/f///wKwZhoAAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iqGEAAAAAAAAiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQFAJtF4ueEMIR2mNrfPMDym3+Xx0rRWHyCXewK3zyV+IZGozu2SWG9t+DnN9kGSvLqeuriRs5n0DGGmwdcAvEtZpgJHMEQCIAH7WN/UP/kaE87ICwJyqdIOPxGAfinyuM3nSkXRKY5SAiBr22834Qk+IdV3cKqZFRxyPu/a2SJrCds402Ns8wyT4QEhArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXbgAAAAEBK6hhAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUBDiAxAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QEPBAEAAAABEAT9////ARNAE2N9ns8Up5vd5SzGQf3p93wCTkOnVaj3xfG6qFfiXbduwrTZ8bMyAdMyMMnw0V9aU6doFYoQIzOkBCCd7CmqgCEWKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kJAJ+2e/wAAAAAAAEA/VUBAgAAAAABAjKPwdlYbOKypfyLPH/SNn8GKmUNEt0AGb4VP458m8yWAQAAAAD9////Mo/B2Vhs4rKl/Is8f9I2fwYqZQ0S3QAZvhU/jnybzJYAAAAAAP3///8CsGYaAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIqhhAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUBQCbReLnhDCEdpja3zzA8pt/l8dK0Vh8gl3sCt88lfiGRqM7tklhvbfg5zfZBkry6nrq4kbOZ9AxhpsHXALxLWaYCRzBEAiAB+1jf1D/5GhPOyAsCcqnSDj8RgH4p8rjN50pF0SmOUgIga9tvN+EJPiHVd3CqmRUccj7v2tkiawnbONNjbPMMk+EBIQK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF24AAAABAR+wZhoAAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIA+GFWFvLzTPeVe6YGA1hFWZ5IB3CiRJ00VjGNGUBEgWAiA/wmGu4h9MCpvBVVGV8LxpgGSIWTV+TG2VkwSYHMvNogEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAEOIDEC1LRCeXxkWfukWijpSrvBImPlKwSewKMNGedDmsvtAQ8EAAAAAAEQBP3///8AIgICn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYIwSDtQggAAAABAwjoTBoAAAAAAAEEFgAUwSDtQiY7PVvBc7ww56Y72YIQdjkM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3CEHXG2GGW9KyjHaw7kzoxHi88sYrirjOWnfvG0Eu+m3B2wJAKmLhhcJAAAAAA==" - }, - { - "tx": "020000000220a71d0d727c85a3efabb558c0d9233e6a3eb64bbca941f5a175f9e55595fa4b0000000000fdffffff20a71d0d727c85a3efabb558c0d9233e6a3eb64bbca941f5a175f9e55595fa4b0100000000fdffffff0220331a00000000001600143d43d226bcc27019ade52d7a3dc52a7ac1be28b8a861000000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245970000000", - "txid": "9ead882110a4542ee922936e720ad318a36503d812bcdc7c4aac18de80fe78bf", - "psbt": "cHNidP8BAgQCAAAAAQMEcAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECMQLUtEJ5fGRZ+6RaKOlKu8EiY+UrBJ7Aow0Z50Oay+0BAAAAAP3///8xAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QAAAAAA/f///wLoTBoAAAAAABYAFMEg7UImOz1bwXO8MOemO9mCEHY5qGEAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AFAE2N9ns8Up5vd5SzGQf3p93wCTkOnVaj3xfG6qFfiXbduwrTZ8bMyAdMyMMnw0V9aU6doFYoQIzOkBCCd7CmqgAJHMEQCIA+GFWFvLzTPeVe6YGA1hFWZ5IB3CiRJ00VjGNGUBEgWAiA/wmGu4h9MCpvBVVGV8LxpgGSIWTV+TG2VkwSYHMvNogEhA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsObwAAAAEBH+hMGgAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjkiAgKfwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9kcwRAIgRcw5AWYqH2m8bH6aJHLdrcrpBFaSNraGdY1ykgCRhuICIAyjdF34DhKqX3hbnauC3bnMhtTm6bzmr1fnHEnP7qWyASIGAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CMEg7UIAAAAAAQ4gIKcdDXJ8haPvq7VYwNkjPmo+tku8qUH1oXX55VWV+ksBDwQAAAAAARAE/f///wABAP1VAQIAAAAAAQIxAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QEAAAAA/f///zEC1LRCeXxkWfukWijpSrvBImPlKwSewKMNGedDmsvtAAAAAAD9////AuhMGgAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjmoYQAAAAAAACJRID4fbldhMCNaxHCB86HJ3diWxhyGZsy8r7+jXz0yJR/cAUATY32ezxSnm93lLMZB/en3fAJOQ6dVqPfF8bqoV+Jdt27CtNnxszIB0zIwyfDRX1pTp2gVihAjM6QEIJ3sKaqAAkcwRAIgD4YVYW8vNM95V7pgYDWEVZnkgHcKJEnTRWMY0ZQESBYCID/CYa7iH0wKm8FVUZXwvGmAZIhZNX5MbZWTBJgcy82iASED+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5vAAAAAQErqGEAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AEOICCnHQ1yfIWj76u1WMDZIz5qPrZLvKlB9aF1+eVVlfpLAQ8EAQAAAAEQBP3///8BE0CSD5oeEb/MUV8lEgib3Bf4cfJH0MSNy73y/hHm4LAOk/h6wCf+oy94glJ1K8r37Z2mcHO9Z0CFvTjYDJhKXPJ+IRZcbYYZb0rKMdrDuTOjEeLzyxiuKuM5ad+8bQS76bcHbAkAqYuGFwAAAAAAIgICilmRaNPJfevHG8ZuYnDs8FTzANiIMJugVHGkghdd2TAIPUPSJgoAAAABAwggMxoAAAAAAAEEFgAUPUPSJrzCcBmt5S16PcUqesG+KLgM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWSEHJyqaJfH/7VL6sEosyIrqsTW1NyOFao8UgcJkF/iKki4JANVcSTkLAAAAAA==" + "status": "Message sent to connectd for delivery" }, { - "tx": "0200000002bf78fe80de18ac4a7cdcbc12d80365a318d30a726e9322e92e54a4102188ad9e0000000000fdffffffbf78fe80de18ac4a7cdcbc12d80365a318d30a726e9322e92e54a4102188ad9e0100000000fdffffff0258191a0000000000160014f6ffb448c4aa218466da729073d0164d61c9dfb0a8610000000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6171000000", - "txid": "cc29c744b45f71817e3d436054b2a2b708665c65fafa24c7b29f907b83f0b0a2", - "psbt": "cHNidP8BAgQCAAAAAQMEcQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECIKcdDXJ8haPvq7VYwNkjPmo+tku8qUH1oXX55VWV+ksAAAAAAP3///8gpx0NcnyFo++rtVjA2SM+aj62S7ypQfWhdfnlVZX6SwEAAAAA/f///wIgMxoAAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4qGEAAAAAAAAiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQJHMEQCIEXMOQFmKh9pvGx+miRy3a3K6QRWkja2hnWNcpIAkYbiAiAMo3Rd+A4Sql94W52rgt25zIbU5um85q9X5xxJz+6lsgEhAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2AUCSD5oeEb/MUV8lEgib3Bf4cfJH0MSNy73y/hHm4LAOk/h6wCf+oy94glJ1K8r37Z2mcHO9Z0CFvTjYDJhKXPJ+cAAAAAEBHyAzGgAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgPFJ4hmVOYQwUtP5NhWl0Ix2pQ2mmpbLYCnzku5GL7xMCIHMuOhF4Vr1EwCuvFAuk6CGgwEdEk+4d0JBJMMyWaFHYASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAQ4gv3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4BDwQAAAAAARAE/f///wABAP1VAQIAAAAAAQIgpx0NcnyFo++rtVjA2SM+aj62S7ypQfWhdfnlVZX6SwAAAAAA/f///yCnHQ1yfIWj76u1WMDZIz5qPrZLvKlB9aF1+eVVlfpLAQAAAAD9////AiAzGgAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLioYQAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZAkcwRAIgRcw5AWYqH2m8bH6aJHLdrcrpBFaSNraGdY1ykgCRhuICIAyjdF34DhKqX3hbnauC3bnMhtTm6bzmr1fnHEnP7qWyASECn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYBQJIPmh4Rv8xRXyUSCJvcF/hx8kfQxI3LvfL+EebgsA6T+HrAJ/6jL3iCUnUryvftnaZwc71nQIW9ONgMmEpc8n5wAAAAAQErqGEAAAAAAAAiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQEOIL94/oDeGKxKfNy8EtgDZaMY0wpybpMi6S5UpBAhiK2eAQ8EAQAAAAEQBP3///8BE0C9NF+kJ4Se1SCFnJekbnrAC9Gpwld1R2nshgxqk5ZYUVeeqBLMqWaOIvGSWdkwg5/D/cJXmsW+jL6T8F32UwpLIRYnKpol8f/tUvqwSizIiuqxNbU3I4VqjxSBwmQX+IqSLgkA1VxJOQAAAAAAIgID82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAwAAAABAwhYGRoAAAAAAAEEFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYSEH0DT3iPQQwuwtidFh3zw3FfllJIqlPqzkY9EOykQ+sfIJAN+tquENAAAAAA==" + "status": "Message sent to connectd for delivery" }, { - "tx": "0200000002a2b0f0837b909fb2c724fafa655c6608b7a2b25460433d7e81715fb444c729cc0000000000fdffffffa2b0f0837b909fb2c724fafa655c6608b7a2b25460433d7e81715fb444c729cc0100000000fdffffff0290ff190000000000160014a43b821a9790f880e113a395b717a0f354b9d9c6a861000000000000225120eef2c37cc851b95151c76108b4a3745c49b181eedacd18dbd6d3d1b18019d71b72000000", - "txid": "857aeb96e3c6275a360e3b8fe0c4598efe1c9d4299362ce12cc28c392d121579", - "psbt": "cHNidP8BAgQCAAAAAQMEcgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECv3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4AAAAAAP3///+/eP6A3hisSnzcvBLYA2WjGNMKcm6TIukuVKQQIYitngEAAAAA/f///wJYGRoAAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wqGEAAAAAAAAiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYQJHMEQCIDxSeIZlTmEMFLT+TYVpdCMdqUNppqWy2Ap85LuRi+8TAiBzLjoReFa9RMArrxQLpOghoMBHRJPuHdCQSTDMlmhR2AEhAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwAUC9NF+kJ4Se1SCFnJekbnrAC9Gpwld1R2nshgxqk5ZYUVeeqBLMqWaOIvGSWdkwg5/D/cJXmsW+jL6T8F32UwpLcQAAAAEBH1gZGgAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AiAgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02kYwQwIgD7xkeNpipx4FvQki8ujC5nVh6ofvzLOfosUkxL9due4CHy7iIKOlB3ape2pqQwpQb9kqujU+/v37oySkCfizSEMBIgYD82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAAAAAABDiCisPCDe5Cfssck+vplXGYIt6KyVGBDPX6BcV+0RMcpzAEPBAAAAAABEAT9////AAEA/VUBAgAAAAABAr94/oDeGKxKfNy8EtgDZaMY0wpybpMi6S5UpBAhiK2eAAAAAAD9////v3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4BAAAAAP3///8CWBkaAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsKhhAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGECRzBEAiA8UniGZU5hDBS0/k2FaXQjHalDaaalstgKfOS7kYvvEwIgcy46EXhWvUTAK68UC6ToIaDAR0ST7h3QkEkwzJZoUdgBIQKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMAFAvTRfpCeEntUghZyXpG56wAvRqcJXdUdp7IYMapOWWFFXnqgSzKlmjiLxklnZMIOfw/3CV5rFvoy+k/Bd9lMKS3EAAAABASuoYQAAAAAAACJRIG63mqOe8PzPccHXi3vGRgttRQypWvSefXYu+e+Y1YxhAQ4gorDwg3uQn7LHJPr6ZVxmCLeislRgQz1+gXFftETHKcwBDwQBAAAAARAE/f///wETQPbH79WGnvnH36GNs/KUoaOZBMVjtUPezAFvaN9lKrgxWRZ9dIq6ykg/kM10TztWT3envmnYx6Cppp95rb0zcrUhFtA094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhAAAAAAAiAgJn9EaP+v5vkZrocfV/CWkEZ/SU6D4DWNxk0QRy+QcvTAikO4IaDgAAAAEDCJD/GQAAAAAAAQQWABSkO4Ial5D4gOETo5W3F6DzVLnZxgz8CWxpZ2h0bmluZwQCAAEAAQMIqGEAAAAAAAABBCJRIO7yw3zIUblRUcdhCLSjdFxJsYHu2s0Y29bT0bGAGdcbIQf1OO+Vq3hf7fiQgdrr0IVQqROxUwTTbFy71e8TzLvo3wkAgIZywg8AAAAA" + "status": "Message sent to connectd for delivery" }, { - "tx": "0200000003035d8929ad4e3c40272dc7124a482777e2081edee4fa2da317467090b8ca15fd0000000000fdffffffcd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c950100000000fdffffff8f70a4f8af7f11fadc4fe9670333a1b63051c3f61c200b550c9eb66618082ed00100000000fdffffff012f0e1e0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488d5000000", - "txid": "c68f7dcd9b649c5630d163bb7abe01f20b06af998cf216f86b0f210b582b8e09", - "psbt": "cHNidP8BAgQCAAAAAQME1QAAAAEEAQMBBQEBAQYBAwH7BAIAAAAAAQD9KAECAAAAAAEBj3Ck+K9/EfrcT+lnAzOhtjBRw/YcIAtVDJ62ZhgILtAAAAAAAAAAAAABwGYBAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUANHMEQCIGbRPAPZo7h6hzmyJULhqobFjFx9FCp6jsr5s6muQsAQAiBA9ZT7DtaopB5dEazCwHaQbfac94+3l0DEoJ5REdFaMwEAiXapFIUXt4Tb6Z641DKi95gahR574se3h2OsZyEDC2UmIbiLqgtbIhMh3Sl+Or7mY+EntljuJkIfIxyOC+d8ggEgh2OpFJgEW2YbY2uHQtS9L8U9ha026guJiFJ8IQPyxjegXhb08lJKAwmDo+xwQoHHgL1x+MzN06MXKgm/NFKuZ3UBcbF1rGhocQAAAAEBH8BmAQAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgdTXBQL5WjsvEJH+bKfxLrRovGDATZ0xEvRizFySXxW4CIE1I1Xzzd04Y5gsCs0tnTF5l2bmyiX4giGvuojEOjH1VASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gA12JKa1OPEAnLccSSkgnd+IIHt7k+i2jF0ZwkLjKFf0BDwQAAAAAARAE/f///wABAPYCAAAAAAEBYnAgy5sX9Opwb9V2/VCVWt9zZLE77ng4FDIOvi/5jnoAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiB91Hiju3dhTQtnD1F7jLT1Ci2Njo3dPHQN4N2jtAonCwIgRgnrZp13aJnMYFQLN935zEdorxJoEQD/ce3zRur66WEBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASsBLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAQ4gzWdpMHl0O3Ynge9kn1YZDwwnzcCI+YHWGaJj6tR8LJUBDwQBAAAAARAE/f///wETQHfQSwqdfNtZCWCC0gaa0rz7xjtUuBYqU7AES8r+kBlx2uVR0aBLWhc7EQDSrqiS93vu4lPquN9xoClu2sFu8AUhFpFFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTCQDCzKsXAAAAAAABAP1ZAQIAAAAAAQHNZ2kweXQ7dieB72SfVhkPDCfNwIj5gdYZomPq1HwslQAAAAAAnbDigAKghgEAAAAAACIAIHNlfYfj8PLFdeWjLSNfw6JlKIfNHq0gYl6ikinzvpwsHJUNAAAAAAAWABTomVT6yPei3OUeCV1761Jxw/faVgQARzBEAiA9kzjQ3BEP21y3er+SifRD1y+Ehr3cYOWEA5rOag4dnwIgJQRPp2Yfj32E2wjTLlKI+s/5OkSGVW41fKgqLkdpk/UBRzBEAiAQjrynTW5we0H+O4pSOVlG80LKi1dRByziQ/cqwHJ2CwIgdCs1Fa19wvc62ImdoKFDAazmPnpCL3QT4syI3ZHr32QBR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1Kumz7WIAEBHxyVDQAAAAAAFgAU6JlU+sj3otzlHglde+tSccP32lYiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgCxB4DWz68n/SiuCHXo/32wuX3ZMYL/sazut2KCKjGjoCIF8FOU+GcU7dtlm5HLvYWNUU6bOlFnJMNMs5WuLTIja+ASIGAi28AFPdbzMQ2E5V7rqs+tU/4+PsPCzssc/+vdlfqAY/COiZVPoAAAAAAQ4gj3Ck+K9/EfrcT+lnAzOhtjBRw/YcIAtVDJ62ZhgILtABDwQBAAAAARAE/f///wAiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaFwjWuWnTBAAAAAEDCC8OHgAAAAAAAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iAz8CWxpZ2h0bmluZwQCAAEA" + "status": "Message sent to connectd for delivery" }, { - "tx": "0200000003ffd55f50f5bc89da6bf1fe5c7f3ed183e80e249fbc9d8ab16e7251db2afe6864030000000001000000000554386fe4e603667acf6c6f7fc9faf7038d374dcaeb57c8e567e99d98fe750000000000fdffffff5e4afb102b424a25108adc2f6d102609d1a72ff98bc2000acef2fd2d52b31ce80000000000fdffffff01e9df1d0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488cc000000", - "txid": "5b885bece0f3cfa652145876313e03a3a55575eaadd0a18fb0386e15d5969671", - "psbt": "cHNidP8BAgQCAAAAAQMEzAAAAAEEAQMBBQEBAQYBAwH7BAIAAAAAAQD9uwECAAAAAAEB2fvyePcFq9vMP8TAyhgLyE29sie2CKLUeG8Fll5OaT8AAAAAAJ2w4oAESgEAAAAAAAAiACAOGgiz2jvqanp3MV+Vr81Yn+eZr0bPm/uJUjFygUBQ5EoBAAAAAAAAIgAgvnk1p3ypq3CkuLGQaCVjd2f+08AIJKqQyYiYNYfWhIighgEAAAAAACIAIET1ySztNEnmx9Sz4W4TGGrqkyvrNnhAujZ96BohWchyCqYNAAAAAAAiACBHAhaEEp+KocC1uX3Jlgf18IULVIgTpdo0b9oiURKEdQQARzBEAiANqSWkiA4czv/RMLtqSt9Pv7QvxsE5Tn6Ux1Aiwelq5AIgPe6l61soheQ7YuuStmZR4FNKkb4xM16BrECMzF+lPeABRzBEAiAKG3uz0jyUdT8XY+SEJXrWvg4g2y5WLiKpZy9TGbTFvgIgVgzWO6nFBymNUg9uaOluRxIb0Jbj0tYV2PoscPGFCbgBR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1Kumz7WIAEBKwqmDQAAAAAAIgAgRwIWhBKfiqHAtbl9yZYH9fCFC1SIE6XaNG/aIlEShHUiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgbBt56xkPGytI58eV1htTbwPtjMfoLPH5Yhrz2XsCKr0CIGyvBbVmeeqXnZMAw+S1+QuIlxv9PqcTYGbZxeUUJ2RYAQEFJSECLbwAU91vMxDYTlXuuqz61T/j4+w8LOyxz/692V+oBj+tUbIiBgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGPwjomVT6AAAAAAEOIP/VX1D1vInaa/H+XH8+0YPoDiSfvJ2KsW5yUdsq/mhkAQ8EAwAAAAEQBAEAAAAAAQD9MQECAAAAAAEC2fvyePcFq9vMP8TAyhgLyE29sie2CKLUeG8Fll5OaT8BAAAAAP3/////1V9Q9byJ2mvx/lx/PtGD6A4kn7ydirFuclHbKv5oZAEAAAAA/f///wH67w4AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAUDcXjJouu/Ge2n02d9LDQPWd1PAMmXc4FQqTGxP5C8u8KwAfb0N6LNEQNoqrUmkWQKDqQTRSkrQZFgHXpAS/JQCAkcwRAIgV2CmaHqObkmwVzMUz9eBar/BADHHkAwnUjL14wqeFckCIGM1zpWMB0pBJrd1a3mCa69l/gb55JXPtt96omg7FeCBASghAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLrHNkYLJoaAAAAAEBH/rvDgAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgWO5sDTeMIuQBakZH9PlbVesV4ROvRwdQ5oE1tSgV0L4CIFO7lvUABb73MAaWGTi44k41D+Z8niWIo+jS6Se/QEudASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gAAVUOG/k5gNmes9sb3/J+vcDjTdNyutXyOVn6Z2Y/nUBDwQAAAAAARAE/f///wABAP0rAQIAAAAAAQH/1V9Q9byJ2mvx/lx/PtGD6A4kn7ydirFuclHbKv5oZAIAAAAAAQAAAAGTZgEAAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQA0cwRAIgGwOoX8PVTWL1tpJTKrAyoXNMYmaNJVfK2LzOxS++s7MCIFHSakRcSNiOQET0TJXqeYpyq3Olly0xZf0SrLpTE8pJgwCMdqkUhRe3hNvpnrjUMqL3mBqFHnvix7eHY6xnIQMLZSYhuIuqC1siEyHdKX46vuZj4Se2WO4mQh8jHI4L53yCASCHY6kUmARbZhtja4dC1L0vxT2FrTbqC4mIUnwhA/LGN6BeFvTyUkoDCYOj7HBCgceAvXH4zM3ToxcqCb80Uq5ndQFxsXWsaFGydWhxAAAAAQEfk2YBAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUCICAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/RzBEAiAX/dUafrMQ8Yvy99oJNAGuo2IygOHz0ygjmcqp7eutagIgelVpcNamNjztlbauqil32aBTt8VA7fAy+Y4pEGXtCAgBIgYCXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f8IBxxJygAAAAABDiBeSvsQK0JKJRCK3C9tECYJ0acv+YvCAArO8v0tUrMc6AEPBAAAAAABEAT9////ACICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMEAAAAAQMI6d8dAAAAAAABBBYAFNa5adNt/9rZhpGT9mPuSA39xzSIDPwJbGlnaHRuaW5nBAIAAQA=" + "status": "Message sent to connectd for delivery" }, { - "tx": "0200000002192552c979fd632fb3c46df9d5a7f6f971d8555d9ecf13b5593e85148aba7e4903000000000100000037033533bff966a88940231d2c8c6769b64bd9ff400e0ee462c17160fa3779950100000000fdffffff01333c1b00000000001600146e21cb3c488d67ecd50bb7f05a1d9c227760ee98cb000000", - "txid": "3ba6d3c090c9db218f77d8542dcf88db2ff31e47e2a6f6cb4f06d1f4150fbb6b", - "psbt": "cHNidP8BAgQCAAAAAQMEywAAAAEEAQIBBQEBAQYBAwH7BAIAAAAAAQD9uwECAAAAAAEBNwM1M7/5ZqiJQCMdLIxnabZL2f9ADg7kYsFxYPo3eZUAAAAAAJ2w4oAESgEAAAAAAAAiACAOGgiz2jvqanp3MV+Vr81Yn+eZr0bPm/uJUjFygUBQ5EoBAAAAAAAAIgAgvnk1p3ypq3CkuLGQaCVjd2f+08AIJKqQyYiYNYfWhIhADQMAAAAAACIAIPLho8naksqgnjv26HsBeo3n+B89EIzUXgv2nYsLYVIZ8CEMAAAAAAAiACBHAhaEEp+KocC1uX3Jlgf18IULVIgTpdo0b9oiURKEdQQARzBEAiA/3qEC8zd2fVQKJZtVRXmx25OPznDEENCj8uJMvu9jaQIgFAJYoFZku1ki9gO6G7RahYdKhdsU/x/tqi2RCz2OjAQBRzBEAiBt+qYvDojpBvN2RMX2l0PHCDgp6INfWiG60qnTu8eGWAIgB8gJe0thTybrB9dFr8ntLT4UbPVmNulLk+rIUjvOGXABR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KumD7WIAEBK/AhDAAAAAAAIgAgRwIWhBKfiqHAtbl9yZYH9fCFC1SIE6XaNG/aIlEShHUiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgaHwndIrN539+Lf6DKoaXC4vPDyVPsqkyY9TY5QY1pa4CIBtKcDagBDGBJiFlSNTX8Qxi5mlHs8/6fQgDKBPoHaTKAQEFJSECLbwAU91vMxDYTlXuuqz61T/j4+w8LOyxz/692V+oBj+tUbIiBgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGPwjomVT6AAAAAAEOIBklUsl5/WMvs8Rt+dWn9vlx2FVdns8TtVk+hRSKun5JAQ8EAwAAAAEQBAEAAAAAAQD2AgAAAAABAS2QE7MlCRrDSZyKjX0WvC3dRd96LxZr2kS7HK2wgyujAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgX5Cr9FzZYU5kEml+A7KBBdMnwEzS0mrSDt47QRt0QLMCIC79yOsL0ngGKNkrOM5KoJ/w4RAoLxhnaYGbMKAy8mEzASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIDcDNTO/+WaoiUAjHSyMZ2m2S9n/QA4O5GLBcWD6N3mVAQ8EAQAAAAEQBP3///8BE0Ce8/CtIMHj34WyAWfSWfx61AlDDw7Hsok1yfdj2gvsNaSe41UGnfA+7PAbmUUZt2Wx918NFgYGa6MOpXUIAhExIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAAAQMIMzwbAAAAAAABBBYAFG4hyzxIjWfs1Qu38FodnCJ3YO6YDPwJbGlnaHRuaW5nBAIAAQA=" + "status": "Message sent to connectd for delivery" }, { - "tx": "02000000011fa6909e588f521108c268e8af91f6987a18f46191f6339e864df99c859083210100000000fdffffff0158070f0000000000160014d6b969d36dffdad9869193f663ee480dfdc7348867000000", - "txid": "ad9a712a201214c68c39ca5be68c9d153d1cac91e540d88aa3207b241e23acf8", - "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQD9ZQECAAAAAAEBVa+m1d1amChv4Dwq1rVoS4KSm0BUUnVa3fUYcB3dH9oAAAAAAP////8CECcAAAAAAAAiUSBXeaBg8gDUDo+HGkDrkWFMxb+m0KX4UuBTQAp/7/hhUOEPDwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YEAEcwRAIgPsWO/4IxeW6OclDdXVnwL99X7B18sRlxgFqyvUAzN7gCIGOQOq0wZ6bV+wdYQP+9sH8IkfmqWZbQRRDkZEgfcprMAUcwRAIgb5/dI4+uVhluQjSA2q/3oAGxZd4vYzQWexfmcRQML7ECIFfgRwCaHYdyu5/H5moOPlfQlLc2gPgB6bgtfNSfRA6jAUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgAAAAABASvhDw8AAAAAACJRIO7XRYBNqXhMwgP1Y++pn/pU/fAbE3vJZOY8MSQHD/vmAQ4gH6aQnliPUhEIwmjor5H2mHoY9GGR9jOehk35nIWQgyEBDwQBAAAAARAE/f///wETQL0MqyYsx9Z9q14BhByMgWLW4oJHOqED5qcZ3wyJ4eDuLYfNGq6Ck30dAqFzJL4VhZLSuv87zN/1AEDNMl2DmTohFl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CQAHHEnKAAAAAAAiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaFwjWuWnTBAAAAAEDCFgHDwAAAAAAAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iAz8CWxpZ2h0bmluZwQCAAEA" + "status": "Message sent to connectd for delivery" }, { - "tx": "02000000011fa6909e588f521108c268e8af91f6987a18f46191f6339e864df99c859083210000000000fdffffff0267110000000000001600142af1a054bfd3863584fcfd6839155787f39bb9c6c4090000000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a67000000", - "txid": "ef557913b9068eab505d8c090c062e100df24a82c5bf759e8fea721484cc8faa", - "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD9ZQECAAAAAAEBVa+m1d1amChv4Dwq1rVoS4KSm0BUUnVa3fUYcB3dH9oAAAAAAP////8CECcAAAAAAAAiUSBXeaBg8gDUDo+HGkDrkWFMxb+m0KX4UuBTQAp/7/hhUOEPDwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YEAEcwRAIgPsWO/4IxeW6OclDdXVnwL99X7B18sRlxgFqyvUAzN7gCIGOQOq0wZ6bV+wdYQP+9sH8IkfmqWZbQRRDkZEgfcprMAUcwRAIgb5/dI4+uVhluQjSA2q/3oAGxZd4vYzQWexfmcRQML7ECIFfgRwCaHYdyu5/H5moOPlfQlLc2gPgB6bgtfNSfRA6jAUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgAAAAABASsQJwAAAAAAACJRIFd5oGDyANQOj4caQOuRYUzFv6bQpfhS4FNACn/v+GFQAQ4gH6aQnliPUhEIwmjor5H2mHoY9GGR9jOehk35nIWQgyEBDwQAAAAAARAE/f///wETQOK6HA4oGD8rHHXLhYYxoaHbwtb9ivu7wIeJZPvh/DHql78S3Ld2tM46AfcvPYqBpzp5AfC75iMvqMGtE7fCRVIhFgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmCQAnIT4iAAAAAAAiAgKv8NfCnGLPlGp5DZolEOblC+6iHqDuS5wwE7yMdh8N2ggq8aBUAgAAAAEDCGcRAAAAAAAAAQQWABQq8aBUv9OGNYT8/Wg5FVeH85u5xgz8CWxpZ2h0bmluZwQCAAEAAQMIxAkAAAAAAAABBCJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqIQfBB4gjpPZJefBRIMuNVT6sYPBHqgjl6widcQvb1+dIUAkAYe0GwAMAAAAA" + "status": "Message sent to connectd for delivery" + } + ], + "author": [ + "Christian Decker <> is mainly responsible." + ], + "see_also": [ + "lightning-createonion(7)", + "lightning-sendonion(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-sendinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "sendinvoice", + "title": "Command for send an invoice for an offer", + "warning": "experimental-offers only", + "description": [ + "The **sendinvoice** RPC command creates and sends an invoice to the issuer of an *invoice_request* for it to pay: lightning-invoicerequest(7).", + "", + "If **fetchinvoice-noconnect** is not specified in the configuation, it will connect to the destination in the (currently common!) case where it cannot find a route which supports `option_onion_messages`." + ], + "request": { + "required": [ + "invreq", + "label" + ], + "properties": { + "invreq": { + "type": "string", + "description": [ + "The bolt12 invoice_request string beginning with `lnr1`." + ] + }, + "label": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], + "description": [ + "The unique label to use for this invoice." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Required if the *offer* does not specify an amount at all, or specifies it in a different currency. Otherwise you may set it (e.g. to provide a tip)." + ], + "default": "the amount contained in the offer (multiplied by *quantity* if any)" + }, + "timeout": { + "type": "u32", + "description": [ + "Seconds to wait for the offering node to pay the invoice or return an error. This will also be the timeout on the invoice that is sent." + ], + "default": "90 seconds" + }, + "quantity": { + "type": "u64", + "description": [ + "Quantity is is required if the offer specifies quantity_max, otherwise it is not allowed." + ] + } + } + }, + "response": { + "required": [ + "label", + "description", + "payment_hash", + "status", + "created_index", + "expires_at" + ], + "properties": { + "label": { + "type": "string", + "description": [ + "Unique label supplied at invoice creation." + ] + }, + "description": { + "type": "string", + "description": [ + "Description used in the invoice." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "unpaid", + "paid", + "expired" + ], + "description": [ + "Whether it's paid, unpaid or unpayable." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it will become / became unpayable." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount required to pay this invoice." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The BOLT12 string." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "updated_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was changed (only present if it has changed since creation)." + ] + } }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "paid" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "pay_index", + "amount_received_msat", + "paid_at", + "payment_preimage" + ], + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt12": {}, + "expires_at": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": { + "type": "u64", + "description": [ + "Unique incrementing index for this payment." + ] + }, + "amount_received_msat": { + "type": "msat", + "description": [ + "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." + ] + }, + "paid_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it was paid." + ] + }, + "payment_preimage": { + "type": "secret", + "description": [ + "Proof of payment." + ] + } + } + } + } + ] + }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error.", + "- 1002: Offer has expired.", + "- 1003: Cannot find a route to the node making the offer.", + "- 1004: The node making the offer returned an error message.", + "- 1005: We timed out waiting for the invoice to be paid" + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-fetchinvoice(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ { - "tx": "0200000001e935dd9712222fe8301e28ab574e3c228bf09b7a2de284979f7578cfab29b3d60000000000fdffffff0279570f00000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a8610000000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa0f000000", - "txid": "9bce338147c166ba63e8fa6b420b39850e6942fd7b1bd0d7a13b02ac26127304", - "psbt": "cHNidP8BAgQCAAAAAQMEDwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAdpKryw62sFH7NQCvk5k+eltne2pgj54TdCNreUbXdcaAAAAAAD9////AvjKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WV7JvYpAQAAABYAFCte1k2QSKdtx8ryIU8sKO2pV8hgAkcwRAIgG7tjw3x2G8QLFlXar4GJgNfc7Oyl87vWPS3y6NL/2+8CIAaT4ktam/9As7UNc1KYR6DNvAuOdEllfj+5tYKVcU/nASEDxMjzkON0jtavdgPEOtjK9nshymcqcWOtFEZyMmK5iIBlAAAAAQEf+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiB3oWvYq71Qb+1qJB/h+42LrH/hJ+m9PvrNFCWjEjJ4sgIgfeaJ0Zs4f8/Y9gSg14bUL4hb7quNigUjvOIJ3Le3iewBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDpNd2XEiIv6DAeKKtXTjwii/Cbei3ihJefdXjPqymz1gEPBAAAAAABEAT9////ACICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCH0I2ZcFAAAAAQMIeVcPAAAAAAABBBYAFH0I2Zffqc3jn4aGOq8PguMswwyDDPwJbGlnaHRuaW5nBAIAAQABAwioYQAAAAAAAAEEIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96ohB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAA=" + "id": "example:sendinvoice#1", + "method": "sendinvoice", + "params": { + "invreq": "lnr1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4nuzqw5w7y7xqm2rushk5a5n3mcuvqel954raykd5nqa830nq9hpd4s4fcnxw266vp9d5c8f3m3w40hmm6gm8akxx3rsnr7d4usunv0x3q8q", + "label": "payme for real!" + } }, { - "tx": "020000000108bf2824cfb29d7f854ac32bf3e26e49cd725851c1da928d84c38f8f9798b3060000000000fdffffff021027000000000000160014a9cd5087b439918d67a0392c9a3edc2661da21b48c6e98000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", - "txid": "565101f3ed6750b770515ea2ed08356e5c06ff7cbf3aae88306547e5868c1663", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAW6nIt7yXUjjC7iUOByKhNa+orTL+gdtep3imA9dBLt9AAAAAAD9////AoCWmAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0pAQAAABYAFJ+u2nva4D4lYsLhC1k3jnmV7iRFAkcwRAIgdU+npeaMkwZ85hJOpvNWRBuhwx4VfQkJyFTMd4IG3jcCICdrF+pkEKs2eBqlLqde48jQtGBiruqZS61Vf1er2YlvASECNDZR31NGyO9A2W7hAKs1pS1L1Sb+E+PbGwPYVzFYI0BJAAAAAQEfgJaYAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBYpvPWIfTKZJHa/fHCjV2SFTW+hLL0QvI6qvfn1cnnnAIgQ+sJFijCAUoM/R5R7YuTTJ9qMCSIaHooJdOXkVsYwioBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAIvygkz7Kdf4VKwyvz4m5JzXJYUcHako2Ew4+Pl5izBgEPBAAAAAABEAT9////AAEDCBAnAAAAAAAAAQQWABSpzVCHtDmRjWegOSyaPtwmYdohtAz8CWxpZ2h0bmluZwQCAAEAAQMIjG6YAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" + "id": "example:sendinvoice#2", + "method": "sendinvoice", + "params": { + "invreq": "lnr1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rrcyps5sf5jwnn2tr3ghn32mdta8jvax62pwzhna8sktmaezl3f4s3zy35gx6dfay7r8zn299uwr7ugpze74zft4m8q3fnk2sr0ljqpve3jq", + "label": "test sendinvoice 1" + } }, { - "tx": "020000000105367d955e1535cc2411e3d8dd5039c9481b6aff5986486e971e822c2f7491290100000000fdffffff02884390000000000016001471b5ddab58e3a27254fa885ba83878ca907d8afda86100000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea37010000", - "txid": "4c6daff959187daa5c44c94269b0e1080e7cc81f2cd4ca47322d57c759d54f81", - "psbt": "cHNidP8BAgQCAAAAAQMENwEAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD9YQECAAAAAAECXIx5ZAW+ix/NriSjhCRCd8OKNwUp60kLvVNRkLhAKbAAAAAAAP3///9jFoyG5UdlMIiuOr98/wZcbjUI7aJeUXC3UGft8wFRVgEAAAAA/f///wJAQg8AAAAAACIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfW7+QAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgJHMEQCID5faIHN5XRIs0KpNN4ikDbauJJ3UUGM8pxU+os6j8zhAiA+rruVi6Uk+NVwQR4VVwP+Vslal69xrh2W58BySWm8XgEhA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQAUBEPjSXl5RjF1Dcikj+KJUWgQDIELsuMoKhWydqbGu5scAyoGm4tQkHWxKiM3YoopVruT3M+k90kG4DkoNIqjrPNwEAAAEBK1u/kAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96oBDiAFNn2VXhU1zCQR49jdUDnJSBtq/1mGSG6XHoIsL3SRKQEPBAEAAAABEAT9////ARNAl53BOtm3jGDGiTydPF8xd6AkmA6R/O4xtYLeZp7MoI6RV6p/lavNIuK9TLSp5CcSu6Dk+RdB4PoateB9J4fM0iEW+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w4JAGYcI7cAAAAAAAEDCIhDkAAAAAAAAQQWABRxtd2rWOOiclT6iFuoOHjKkH2K/Qz8CWxpZ2h0bmluZwQCAAEAAQMIqGEAAAAAAAABBCJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqIQefwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9gkAwSDtQggAAAAA" - }, + "id": "example:sendinvoice#3", + "method": "sendinvoice", + "params": { + "invreq": "lnr1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633uzq99smfawuu6pz0zh9jl6dl8v25u3kzes975x2j9tr0qp0ux0tlzcxjrgehxh9luz5vwjpk92tys9f9zlm038krcz4uqfxgelwf43tgfc", + "label": "test sendinvoice 3" + } + } + ], + "example_json_response": [ { - "tx": "02000000024aa3f86800531a70e9e34bdde43a2cac6fcb9ac4d89a0e04821ec6b5fde47f160100000000fdffffff05748f065bc16ffb6893385a00dab1d7231ba98528be3a47c07ab7cfa9ce64c80000000000fdffffff0280841e0000000000160014daeaba39ac03e399e3dbc640284a6715317873cbb86a1e0000000000225120e5e06ee61cb1ca619c0631b77869197db45245763f2c7a43d6f69382643dd66b66000000", - "txid": "31a7bfa4adf0c83696d3d2a69b4c8c058648d3d03fc0f0b5a67b4e22d8c0c14e", - "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAR1dwZcbh5pEYG5gYXuOfxjGQbyeggM5lusQk8gbBQ5xAQAAAAD9////AszdiykBAAAAFgAU5uWMLe2zKW9P83kgYXBxYZsNiHCAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukTAkcwRAIgBpUyhKQQv1TO+tvhKWMLJ/5tCJI31hzwyMQp4lW7qvcCIAzXJmTEteNJTKMbT8NLTCzS0t9CRqIxgVsx61O2n+P0ASEDwh4StRgYSzG1fABhnSVlqrI1BrT9J/tacm3g126ez89lAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiBOAEcAa3gzjPbfPAZiufXAILfh/1KhJJ4S0oMTrv+ZlgIgRGtqBX/a0Orte1MC1u5qAmcq9nX0/qX1E4ajsmGujnIBIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiBKo/hoAFMacOnjS93kOiysb8uaxNiaDgSCHsa1/eR/FgEPBAEAAAABEAT9////AAEA3gIAAAAAAQGd7xn1sdxO/5DSsDVef3xQXVvPFSPs2hImdTYII/CwEwAAAAAA/f///wKAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukT82znKQEAAAAWABTjY/Z0R8rhvcWk7bq8gbxFTmWHNAJHMEQCIHT0bmdP7bh6lRUoY5uKoGjGNZ+V7ab1eu/0Kv9HDsSyAiA7fvGrOaVk5QD5C3hxV+b/hbwclwjiHlwMcx27LAuACwEhA+3qtOG6uckDPfj3OszXur71IDad0ynBs9LfUaHbZ33rZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgOBFgbLruguo2h8Ge4FnLQj4C9S3hItE2OmRyszsyu8wCIC8V4uPgkYFfExuKcH2C95MGPHAkhgsl7yN9SzHCFp04ASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4gBXSPBlvBb/tokzhaANqx1yMbqYUovjpHwHq3z6nOZMgBDwQAAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAU2uq6OawD45nj28ZAKEpnFTF4c8sM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSDl4G7mHLHKYZwGMbd4aRl9tFJFdj8sekPW9pOCZD3WayEHORL7lcC5s41ff5BsdX43iTQZeDJru1CtENbtyhAh3+EJABRUaCYCAAAAAA==" + "label": "payme for real!", + "bolt12": "lni1qqg804wzdsyn8g4mf2yc22k8xvjpjzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gqsykppqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4ngycqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky96qmcmtl30xtt7jdakfyhzm8f0gny6f4d2ukx5gurem04z8lfd2wza5qs9pz6wp9vu7cm6n4wmmrz77y4w6z5xv4q93yudkdtkl5zmzdzuawzqqex7gd5v0x0r83pqj82udd542fl4krh50s0dkx47d0hd5wh77g52xxl75ccpkt35mc8n282wslju9ufyys2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l99lfspt25zqnyfgu7hznmt2tzkjdt92d2wc3dsq7keph7w8gudjs46spfzqrlu4gqs9vppqdwjkyvjm7apxnssu4qgwhfkd67ghs6n6k48v6uqczgt88p6tky9muzqpze8kk43g0wh4h8qlac5lswwesrvsaxcza2f5j90c2h3ts8yzmn9g4mxqe89fngrqny8nf52xxuxep6548etda8lp876jr0nnxgdkdq", + "payment_hash": "4c89473d714f6b52c56935655354ec45b007ad90dfce3a38d942ba8052200ffc", + "amount_msat": 2, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 2, + "paid_at": 1708640865, + "payment_preimage": "305951ab02cb2ea5eb884dbfd8fb110b4e088ecb8338b3e84e8f9c70919c19bf", + "description": "simple test", + "expires_at": 1708640953, + "created_index": 2, + "updated_index": 1 }, { - "tx": "020000000225dcab677aa7c1ee90ee97874f6f0cfc7d85eb4d07deda79e8a9e3e7ed9525fe0100000000fdffffff967418907d8547ae19cd26088786cedb43a336923e208df094841e4d778d27aa0100000000fdffffff0280841e0000000000160014e7e2701fc78a49f0e0f8c5bff4a3975852ac85c3b86a1e00000000002251205b4972a47a6043ece413cd0e21ed9b840c18cf2077fa5cd04e9a0aa2764ceb1067000000", - "txid": "4ec8f34860db4762ba13710039a1eb94e06779b958a5e6fbb73c710fef1e4da1", - "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQV0jwZbwW/7aJM4WgDasdcjG6mFKL46R8B6t8+pzmTIAQAAAAD9////AubnyCkBAAAAFgAUV0y8eSUL/50Np0KJiIi7gK6+xe+AhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukTAkcwRAIgPm/Ne5QXCM2EYaJ+Cp1sTCSkQ7Pb89AlrMhVSlh5uYUCIDVfGdTYBQtUeoRPOEeVBI9wgPT17LRrpJzkSGJPtvrdASED1LHwKSR5NYtSgBW2Ljv+xQz5/1N3ANNUHEbsnu7SLvplAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiBb79hSbgX4s60u08PuNZlJejoJ0k/C7/URpmbUqtp3egIgE9CyAhOBp7hQRsVGtntCQBzKJFttUOypF8icyQbclHcBIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiAl3KtneqfB7pDul4dPbwz8fYXrTQfe2nnoqePn7ZUl/gEPBAEAAAABEAT9////AAEA3gIAAAAAAQFw1W3/Gh6ha9XkUhae1rUQjshd6FQtSYtuMaKL9sF/xAEAAAAA/f///wKLRPMoAQAAABYAFHvtoLAlHl0Fi6c+265GqKRKbSTDgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEwJHMEQCIF5frdfzP1HhkAwCckDq5eRJNJc6zY6PbeFhEEdOi2etAiASHXEV9OsbZ0TMVBqSaPNjPH0fdtV6fsG55DXVaojOKAEhA47GoaxQ+yp9IjtjJ9t4+vpJQigYfkngySf5FDSTFAp3ZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgJZ+ukW48IAMnXonqC6lUo3G2l/d9v1MsQyjWIFofabICIDfFlyhb5zKUXWGtct/hdTgx9xtM2NyIy6lfwlxonXd9ASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4glnQYkH2FR64ZzSYIh4bO20OjNpI+II3wlIQeTXeNJ6oBDwQBAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAU5+JwH8eKSfDg+MW/9KOXWFKshcMM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSBbSXKkemBD7OQTzQ4h7ZuEDBjPIHf6XNBOmgqidkzrECEHbz7HZQkyGVrEK4k+nivM/v8MjExkjGNMNsvv7UY2yyUJAOCJqkwDAAAAAA==" + "label": "test sendinvoice 1", + "bolt12": "lni1qqgx9ag7nmtns87htndlgcfndlq0wzstwd5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gzqta0pqpvzzqnxu3vc68fug904w25y3zpskc8huazwmy34av93h2fjswe3tsp4rzsfsq3dygmzpg6e53ll0aavg37gt3rvjg762vufygdqq4xprs0regcatypt4vy3eavkqcjyp08zdus6gf8zemnh3qapsua0dtj63kklx3ua9scpqglf443935xppg8p7ztvpervvudu2v84v67cy6u7kvj028sep2a46qpjxqd3p7jlhkg4hvnrwh47emv23038h5833l57hzkcvedgan2he3mhtvugl28rccpsajllq392r3m9t3gt5gwqqqqqqqqqqqqqqqzsqqqqqqqqqqqqr5jt9hav2gqqqqqq5szxt472k6nqzk4gyp7xl66jdaps6c0g6vjg54q86wx3t7fevdqk9u2wmtuyx59e3wr8m2syqh67zq9syypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgq2xzyg0xh28e5ceswgdnynqpcqnynkpv7fxesxg3vlwhz8wqz8h877y8x47kpz4c06yhp45vdcczn3xrzymh23fl8ux8ww0qa7yjryk", + "payment_hash": "7c6feb526f430d61e8d3248a5407d38d15f939634162f14edaf84350b98b867d", + "amount_msat": 100000000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 100000000, + "paid_at": 1708640951, + "payment_preimage": "5687f9bb8a54661e7dadfac3624414412bfb2c4f69a972ced6cfe32c3a944876", + "description": "simple test", + "expires_at": 1708641040, + "created_index": 1, + "updated_index": 1 }, { - "tx": "020000000270d56dff1a1ea16bd5e452169ed6b5108ec85de8542d498b6e31a28bf6c17fc40000000000fdffffff1d5dc1971b879a44606e60617b8e7f18c641bc9e82033996eb1093c81b050e710000000000fdffffff0280841e0000000000160014751e76e8199196d454941c45d1b3a323f1433bd6b86a1e0000000000225120843666153026bcae10d8110313b9cb3dcf753780ba9f6f9f0c8f7abbaa4327cd68000000", - "txid": "52abe1f921cba93bc9b946995c7eca1fee5c71af0455582fbd87fd0331ee34a9", - "psbt": "cHNidP8BAgQCAAAAAQMEaAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAbpxKde7v/tbBPG6iVvbhq9/Aj5dfz3mpCTwVbyJ1tmnAQAAAAD9////AoCEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6ROYyREpAQAAABYAFI5sli6uk0SAlJMTEtwMgMah4NzSAkcwRAIga+9CmjMnJkWcnJwRoEwlJ2u/f4lnjIhJouQkDigS+ekCIEvhDjQnH6Qtn12fXG9Y32xpYvDmhcQgCigYDCKGGEVJASEDrAIsPWuwLckI+ZvgYuf4dz35YPqD4Vfw/QiCgSoM0nplAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiB7Y58YzfLSwiWsuShrhsi47t73FPm+SN+f3tpabRSOdAIgEHy24uHVHH3G1NYyKa2naafKANiewxJ6xOPorKNtytABIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiBw1W3/Gh6ha9XkUhae1rUQjshd6FQtSYtuMaKL9sF/xAEPBAAAAAABEAT9////AAEA3gIAAAAAAQEl3KtneqfB7pDul4dPbwz8fYXrTQfe2nnoqePn7ZUl/gAAAAAA/f///wKAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukT2WKqKQEAAAAWABSXP+P1u79PWnIfRbf9dJjnhVggawJHMEQCIDqTLjJYMTWnPOAnqqtuNGl8h9SZMa0HpFbl22i3ybSYAiBhZgMwOQrusYAiLtiWtyIbHTXqow6I4aK3L41HZoWrmwEhArp6DeNqWj3NirvkmhJhzHgdPKekpEl3eFYAdu3bI8l2ZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgQZKEKA9kr8MJ7qHejYwaMaDkLqA/f1pI6SSqsUKVPFQCICfBmEa4TjsVqbRDMQ9XdEJK7MZU8jl05c6wfuYbp9HNASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4gHV3BlxuHmkRgbmBhe45/GMZBvJ6CAzmW6xCTyBsFDnEBDwQAAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAUdR526BmRltRUlBxF0bOjI/FDO9YM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSCENmYVMCa8rhDYEQMTucs9z3U3gLqfb58Mj3q7qkMnzSEHjAoKOTe8xw97be+3aahNZ0Be0N46Qg/NsxHnCvi75EAJALPxeM4EAAAAAA==" + "label": "test sendinvoice 3", + "bolt12": "lni1qqgteyhfyp40c79a5y3gfe33nxfs6zstwd5k6urvv5s8getnwsfp2cmvd9nksarwd9hxwgr5v4ehggrnw45hge2syqrzymjxzydqkkw24ufxqslttwlj3s608f0rx2slc7etw0833zgs75srnztgqkppqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq633gycqgkjyd3q5dv6gllh77kygly9c3kfy0d9xwyjyxsq2nq3c83u5vw4jqa8zjmfelkglmt09afzdvf2j667wcal0h5ne58cnx8p35spc8sapvqsyn97m8248uskg05psx5d6lqs8rl3f6xw75jhvhtxjcplp5ycmjflqqe2fn09euu4q0605ppmlc9mnmjnhwpkfc77ruthr6nu6atqvmmy0p35f9q9yz6rgpv9pmgy9xjnn0r0u5c2y8qqqqqqqqqqqqqqqpgqqqqqqqqqqqqp6f9jm7k9yqqqqqq2gpr96l9t0fspt25zqq0aezkft6sltu46dgw8hh5e25j76lye93c8jnd6ql5u8kavmrdm4gpe395qkqssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e7pqwkr6que4ya4rxx0gy494r25xfet26y2jmrlu4t5h69w8ng3nmylfvgdnhjfrge2f82wmmdvf9957vrrf3n0an6uzfehzad55kr54cf5", + "payment_hash": "01fdc8ac95ea1f5f2ba6a1c7bde995525ed7c992c70794dba07e9c3dbacd8dbb", + "amount_msat": 10000000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 10000000, + "paid_at": 1708640952, + "payment_preimage": "8fcfeed6ddcafdb7267d308251926b41f4bf5d2aae61d51e2232d6b9d82296ed", + "description": "simple test", + "expires_at": 1708641041, + "created_index": 3, + "updated_index": 2 } - ], - "author": [ - "Felix <> is mainly responsible." - ], - "see_also": [ - "lightning-listfunds(7)", - "lightning-fundchannel(7)", - "lightning-newaddr(7)", - "lightning-txprepare(7)", - "lightning-feerates(7)" - ], - "resources": [ - "Main web site: " ] }, - "listchannels.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "short_channel_id": { - "type": "short_channel_id", - "description": "if short_channel_id is a short channel id, then only known channels with a matching short_channel_id are returned. Otherwise, it must be null" - }, - "source": { - "type": "pubkey", - "description": "if source is a node id, then only channels leading from that node id are returned" - }, - "destination": { - "type": "pubkey", - "description": "if destination is a node id, then only channels leading to that node id are returned" - } - } - }, - "listchannels.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-sendonion.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "channels" + "rpc": "sendonion", + "title": "Send a payment with a custom onion packet", + "description": [ + "The **sendonion** RPC command can be used to initiate a payment attempt with a custom onion packet. The onion packet is used to deliver instructions for hops along the route on how to behave. Normally these instructions are indications on where to forward a payment and what parameters to use, or contain details of the payment for the final hop. However, it is possible to add arbitrary information for hops in the custom onion, allowing for custom extensions that are not directly supported by Core Lightning.", + "", + "If the first element of *route* does not have \"channel\" set, a suitable channel (if any) will be chosen, otherwise that specific short-channel-id is used. The following is an example of a 3 hop onion:", + "", + "```json", + "[", + " \"298606954e9de3e9d938d18a74fed794c440e8eda82e52dc08600953c8acf9c4\",", + " \"2dc094de72adb03b90894192edf9f67919cb2691b37b1f7d4a2f4f31c108b087\",", + " \"a7b82b240dbd77a4ac8ea07709b1395d8c510c73c17b4b392bb1f0605d989c85\"", + "]", + "```" ], - "properties": { - "channels": { - "type": "array", - "items": { + "request": { + "required": [ + "onion", + "first_hop", + "payment_hash" + ], + "properties": { + "onion": { + "type": "hex", + "description": [ + "Hex-encoded 1366 bytes long blob that was returned by either of the tools that can generate onions. It contains the payloads destined for each hop and some metadata. Please refer to [BOLT 04][bolt04] for further details. If is specific to the route that is being used and the *payment_hash* used to construct, and therefore cannot be reused for other payments or to attempt a separate route. The custom onion can generally be created using the `devtools/onion` CLI tool, or the **createonion** RPC command." + ] + }, + "first_hop": { "type": "object", - "additionalProperties": false, + "description": [ + "Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute*." + ], "required": [ - "source", - "destination", - "short_channel_id", - "direction", - "public", + "id", "amount_msat", - "message_flags", - "channel_flags", - "active", - "last_update", - "base_fee_millisatoshi", - "fee_per_millionth", - "delay", - "htlc_minimum_msat", - "features" + "delay" ], "properties": { - "source": { - "type": "pubkey", - "description": "the source node" - }, - "destination": { + "id": { "type": "pubkey", - "description": "the destination node" - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "short channel id of channel" - }, - "direction": { - "type": "u32", - "description": "direction (0 if source < destination, 1 otherwise)." - }, - "public": { - "type": "boolean", - "description": "true if this is announced (from *v24.02*, being false is deprecated)" + "description": [ + "Node id for the peer. Use any available channel available to this peer." + ] }, "amount_msat": { "type": "msat", - "description": "the total capacity of this channel (always a whole number of satoshis)" - }, - "message_flags": { - "type": "u8", - "description": "as defined by BOLT #7" - }, - "channel_flags": { - "type": "u8", - "description": "as defined by BOLT #7" - }, - "active": { - "type": "boolean", - "description": "true unless source has disabled it (or (deprecated in *v24.02*) it's a local channel and the peer is disconnected or it's still opening or closing)" - }, - "last_update": { - "type": "u32", - "description": "UNIX timestamp on the last channel_update from *source*" - }, - "base_fee_millisatoshi": { - "type": "u32", - "description": "Base fee changed by *source* to use this channel" - }, - "fee_per_millionth": { - "type": "u32", - "description": "Proportional fee changed by *source* to use this channel, in parts-per-million" + "description": [ + "The amount to add an HTLC for millisatoshis." + ] }, "delay": { - "type": "u32", - "description": "The number of blocks delay required by *source* to use this channel" - }, - "htlc_minimum_msat": { - "type": "msat", - "description": "The smallest payment *source* will allow via this channel" - }, - "satoshis": {}, - "htlc_maximum_msat": { - "type": "msat", - "description": "The largest payment *source* will allow via this channel" - }, - "features": { - "type": "hex", - "description": "BOLT #9 features bitmap for this channel" + "type": "u16", + "description": [ + "The number of blocks delay of blocks on top of the current blockheight." + ] } } - } - } - } - }, - "listclosedchannels.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "added": "v23.05", - "properties": { - "id": { - "type": "pubkey", - "description": "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" - } - } - }, - "listclosedchannels.schema.json": { - "$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" + }, + "payment_hash": { + "type": "hash", + "description": [ + "Specifies the 32 byte hex-encoded hash to use as a challenge to the HTLC that we are sending. It is specific to the onion and has to match the one the onion was created with." + ] + }, + "label": { + "type": "string", + "description": [ + "Can be used to provide a human readable reference to retrieve the payment at a later time." + ] + }, + "shared_secrets": { + "type": "array", + "description": [ + "A JSON list of 32 byte hex-encoded secrets that were used when creating the onion. Core Lightning can send a payment with a custom onion without the knowledge of these secrets, however it will not be able to parse an eventual error message since that is encrypted with the shared secrets used in the onion. If *shared_secrets* is provided Core Lightning will decrypt the error, act accordingly, e.g., add a `channel_update` included in the error to its network view, and set the details in *listsendpays* correctly. If it is not provided Core Lightning will store the encrypted onion, and expose it in *listsendpays* allowing the caller to decrypt it externally. If it is not provided the Core Lightning node does not know how long the route is, which channels or nodes are involved, and what an eventual error could have been. It can therefore be used for oblivious payments." ], - "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 True, 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" - }, - "last_stable_connection": { - "type": "u64", - "added": "v24.02", - "description": "Last time we reestablished the open channel and stayed connected for 1 minute" - } + "items": { + "type": "secret" } + }, + "partid": { + "type": "u16", + "description": [ + "If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "If provided, it will be returned in *waitsendpay* and *listsendpays* results." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Used to annotate the payment, and is returned by *waitsendpay* and *listsendpays*." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "If provided, it will be returned in **listpays** result." + ] + }, + "localinvreqid": { + "type": "hash", + "description": [ + "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7)." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] + }, + "description": { + "added": "v0.11.0", + "type": "string", + "description": [ + "If provided, it will be returned in *waitsendpay* and *listsendpays* results." + ] } } - } - }, - "listconfigs.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "config": { - "type": "string", - "description": "configuration option name to restrict return" - } - } - }, - "listconfigs.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "configs": { - "added": "v23.08", - "type": "object", - "comment": "Plugins can add fields to this, so we can't rule out additional properties :(", - "additionalProperties": true, - "required": [], - "properties": { - "conf": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], + }, + "response": { + "required": [ + "created_index", + "id", + "payment_hash", + "status", + "created_at", + "amount_sent_msat" + ], + "properties": { + "created_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was created in." + ] + }, + "id": { + "type": "u64", + "description": [ + "Old synonym for created_index." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "pending", + "complete" + ], + "description": [ + "Status of the payment (could be complete if already sent previously)." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount delivered to destination (if known)." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment if known." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "The amount sent." + ] + }, + "label": { + "type": "string", + "description": [ + "The label, if given to sendpay." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (if supplied)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied: **experimental-offers** only)." + ] + }, + "partid": { + "type": "u64", + "description": [ + "The partid (if supplied) to sendonion/sendpay." + ] + } + }, + "allOf": [ + { + "if": { "properties": { - "value_str": { - "type": "string", - "description": "field from cmdline" - }, - "source": { + "status": { "type": "string", "enum": [ - "cmdline" - ], - "description": "source of configuration setting" - } - } - }, - "developer": { - "type": "object", - "added": "v23.08", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "clear-plugins": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "disable-mpp": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - }, - "plugin": { - "type": "string", - "description": "plugin which registered this configuration setting" - } - } - }, - "mainnet": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "complete" + ] } } }, - "regtest": { - "type": "object", + "then": { "additionalProperties": false, "required": [ - "set", - "source" + "payment_preimage" ], "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" + "created_index": {}, + "id": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "groupid": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "bolt11": {}, + "bolt12": {}, + "partid": {}, + "updated_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was changed." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] } } - }, - "signet": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], + } + }, + { + "if": { "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { + "status": { "type": "string", - "description": "source of configuration setting" + "enum": [ + "pending" + ] } } }, - "testnet": { - "type": "object", + "then": { "additionalProperties": false, - "required": [ - "set", - "source" - ], + "required": [], "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { + "created_index": {}, + "id": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "groupid": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "bolt11": {}, + "bolt12": {}, + "partid": {}, + "message": { "type": "string", - "description": "source of configuration setting" + "description": [ + "Monitor status with listpays or waitsendpay." + ] } } + } + } + ] + }, + "errors": [ + "The following error codes may occur:", + "", + "- 202: an parseable onion", + "", + "the error details are decrypted and presented here, if *shared_secrets* was provided and an error was returned by one of the intermediate nodes" + ], + "example_json_request": [ + { + "id": "example:sendonion#1", + "method": "sendonion", + "params": { + "onion": "00034928294556b10308f9aeac7a240223d4d5f72097db1ef36a36b10cab937f2f205ed7218b47d4600eaf7fd390940bf9a6cdac99aafdb4783c468150eeeab9b57e56a06778d023ffb3bb84c7d8c2ad8868b61c28b566634af52c288ed6569583db66f5bd0edfb801c252f078020e1df6359af5969296b4698a71d17c5ca6e5ee4b64b7cce3ad0a1aa31e6be4d5fe3a31fa7a25259c640716020a9a248ca3ebb68eb823f8884b5df3710969f4c2ffb153779a923bab946ed43c1f6658d7f8e7e25303bb78ef4862fb550b8b1c79d522b035eedfda9ab70a61322522acf7233bb8ea2423958448fc8ac3d000835fda04bf661f1bf2ad2d091f506840bb2f10f82c0812149d99267a47824defe90877ed70db526b2200e18dccb92b17516de3778c055645728eadf4c74375aa0aae80a7773a536a908ca1e25c0fdca90e50ce0be05eeb973ec5e83ce3ab6b35818e021780428af81320a694483c1c15f64e685ba1fd3b1e1b926e6b4ec9eeeac8aca60c60e0f0f583e35e7f081dc6f4c64157e100c79c4c25101bed77cd9f93416f9a67d9f1916a782c498c38365af4a5fabb1b745fa840a054a06564c3f4b376aeb72cdd059d3794c82bbbf12a1f62234016a6912b384e7e4cebbd39ee4395aeff43c461e226d1e0151cce508a181a9c61275bf4b89e4556cf24df13b993dec96541555f8b9a699be9488568a11ac7f25849da62765472511ad74a6660c10e37f5fa13d4e4665ef7825ae1f2da4a86d5581912262de89b4b11a722fd127b31aa0d7fab8c679b07bf95e65cb80b2dacb5b90794399fb8f23823f68058431aa1c399b5baceccaf8521d004f45dba6ec1fddc54473343e9e67cd50cc3f2f3d8a5dab8a7ab9ae553dc3cd34e74b858da75975265f7c673a25e8d01a5130ab40eaba712b80c608cd0431b4b45ea0d81af595e21f24976608429127bf586f7507666500bc7245cf9266fa0bd0e58404c496e190c873cd143ace9048e9d5021c23967a24e09f2e54166e54b4ee8888dc1af535624e7ee8b426c1628175017a9e8a73eb1d0d49028a4f4d77897f3c08f1cd7bdee2b00f9bb9eadc49a69bf4f6c0cb2c95a16f03d7958f1b8f83cb40ae87ddf75f26050e2c2ed9f8f8523b3d389a50b217bda651dc21f095fe7d2d3851a0a6cf01051f3f3c6f1ad59ed46d44928d15a0e6e1bd4df4c99bdb82a05b0e781b69a73bc30fe579c8ac9fe8aeb6beb1c0f44def2775b7341af37e6ef58ceb34958b29d3e36112b78644612228761b8badc802f0b2b8fcaeb1db8f3a8db4afa2d7b4540a7c331db6f5141fa3909a513df875ff8a63f5b542d662781ca96a69e3b2925d6a63555b2c5825ffb2ad848d71122f54110e0d203000f3e9cc23b793c3540dfb8d881caedd25055a8f495e9e7a0391dbf9cbd9344f7df659ee8d3ce5ec16217ab83e1394ba991eb8ffd9a869f8ebb2e2428845e779979c57b5f8875f502728229a55ce87b3eba85c75264d30eaf7b373f6b09ba3086d9e98348d87b049468c2c30a6501cb2a3862f1703bbf29895e8b4262353eae720ed8ae678750011e2eb51f4800d3f4725fa873d7deec1c46f77a5f61c73dc938239e77f432bcc245c7b935413c51c0bc92bdaae144452aa95910909e46e500557961203f4e1483b9c09c124464907825e1ff74c87c58d6e2e91970baac9b89a554beca6df9acee16d77dd929d0caa7797e06f2c384c03fdedc89c697b9c34787a50cf399a8d7f195e79b347efc8267c474a477ce210f11049d432b280eaf3fccd451f6218d35c64cbd1006bcc54eeea8b856855c9aa92bc3adc6900a7c7a0eee09834c5a1f2da3d8ea9a478aea90c954952ad2a72d3856350ac3132d17e1e8116fa774066a22c857a827699c98285111a405e74685a3ae579ae78c545774f45491e4935bf4", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 1002, + "delay": 21, + "style": "tlv" }, - "important-plugin": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } - } - } + "payment_hash": "f584c14bb23506acdd94cf3cea377f3cc5805f3cba5430bc3756ef83ede1a0dc", + "label": null, + "shared_secrets": null, + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + }, + { + "id": "example:sendonion#2", + "method": "sendonion", + "params": { + "onion": "00021aa9c672c07bf1a94b0519ed7f2601c36b51dff59ba0bb3bee62a005f04faef8c6baa0e13042d860ae3857bf699221eec2ab90283a383c911a54e5a09696c543de241bb7340168745f9f6e73020764d0677f3da248faf29718e2bf097a7e472834efc45dd8eb5817f0736e83a7213256aea3070c91ea30e8f6b6587441dbaf7bab17990b5f5901be7d380b6ed6b87ee5c5f7c5873d3a694b5d6a462f1a5f0723c2896b4990007f947b30f6a90f97630debca99cfa99de614610576495ce654128607c91a51c5c5a869921f281927859b2b41f279e7a1f8010e569bad3258cf15e38840024b1b3136718b5027eb12fb6ff8997c85d971c50fe9a32dbe574ba9226655466c79a2526851abb4f72cdacd40c119e4a1b1d364bc3ca2735d2e12ccbc5b7d1f6928fc4c168fa73036074fcce88d388a876662e037f03eb9c3fb318e4e12f695a0a51e63fc6fffe71795bbb8293595ca82c3ddf506b7cc46a9d1acfe1e3f22c3ca55aafe0b9271c3c6d129fdd8a61a5a936fafab3757d0574b6fa744e3db22555eae4bdd76f93c23203dc613bcf229022da594c04977c9c24e31914601e2afadc6f48f4c3ee4017968f86d13fa0b13e2c83f5a44c7d913b026557096c8e2c473862cb1f3953b8129deb0c0e02e54f8439a7c8b8521f9f792dd856d9cf1be72bf9c41feddb88f56302209864b74fa1673a1ce85bf9404443c514fe19602580f56101b2e040bc075b8f07645af21d7f00cf98a9f6dd994ee2c6c522579d9422057417b05c1640a78f4fc8019b97f10b6c28ea6d3558114efeca6f6dd013537af629b0af587a65ca23d177c7e7f276609a7d548e60b6af2f94b26b885b6c8b00eb9f46af9de42604f9987450ac85df5a51c503ff6cf2b56d247104bf226bea7e6d5c5bba3abd271a4634b6fa8f0c57a22414fa1eeaa5c740478643d58cbe97d36a75d543681335b7ef420498d911da6ca1ee862d9f1b229b5671a8cf4afaf974a55f4d7a65158ead8b690b46d57a30c60df45257207d105b48e663dff4a841fca1d1ef5043e4276e741627a2d9b53f8efd0cabd7beaf6ddff38feaed980582af6ac830ce867c6ae5721245476f2db4a11c4d7f02288a2f7734d5402daa9c258bd1775c053425d6785a70b8bca9f9b7b4fbc712ddd078c9616c415bdaff87c0b3bb1fc0c4300d1b21b39487530210b10fae7ab51c9930aaae7a4c36614222812721078240dd9d61d5c07d313dd1341a253f30df8532f6457bead494eb690b67e1df4c40d458a21640af080b470a77ad427d36d850b35f97ca537d7fd01af8ee0ac2ba9498470eb4282f6fb1af0cef593b39fc14052f36c50104fdc3a40784c9eb6163828c6af7ff5842dc38d27e5f578aff8848609511c5e15c88808222b97ba0d45f25c1c92fbd5400055d2181d09d8cd7c376750c1f2063eb4fbfde032770719b9f0f999c7fa0de9d71807972536d42d3e8df703c9c6af18c627b12412bcf519b81ea9a73c9cd2aa4a4192a0224106558552aa0fb5382dd42a1c931340ada80287146120117dc07069dda69a36b45ad76706b445e5d524c22f3a0b0cc3ac8aa7030df5e0d9ec5359bfae8d18c098069ff6bbf2db40f442c8196ab266f6a16435ac70bd4e27e5aafef81269621632bc24f017058cd28ebd1af13a5356203b6241318e2fa7b5fc2c1352bbe7ce56e6bc99527766a8d3db5c2865123b1461e952d8faff18ed6e27e974cf3e22b269d23ba4d490e03e959bfc3e735a8bb068693bfbb5977a1b15c08c7534b0c63c6b694d5feec1b5893769eb1f145cbfc66a23015844e047de4cfd2244de9af8076966ee1994cac0bae22cb024f2e31fc3e542f72c416c5b8abf631d94db7f86d3215bad861f31f42a2e0e9d96487fc9c089681aaf811c15207d62eda2d352dfcf2fe4f1824d56", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x3x0", + "direction": 1, + "amount_msat": 1002, + "delay": 21, + "style": "tlv" }, - "plugin": { + "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "label": null, + "shared_secrets": null, + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + }, + { + "id": "example:sendonion#3", + "method": "sendonion", + "params": { + "onion": "00036b9407a2cd28287af9ec81f90e64b78b0be1f9f4e38501fb52ec741678d13daa5162dd98601bcb1c815fedd8b4713d37a8090dab5387096784e33f6896c66d4862c3a7878594b9a2ec79bdcedff5aedbfeac3ea0d4bc7e70b40ff8e69a5d39d8e7a5f45a1d7dcfecaadff759eac75c055f3d55ff103ad496fe044ae460df4452779806c069f1ef008b00e6a5914c4b8181c8ebcd5154501d378dea22e003c710bd6d639cd8e80087721802609152f84efca89599648d6194a4c724e55e8ab23c70cce81ba5d00cc18b475220c34aa8bf4491cee4e233527de5fa5be254ad83fc4c78d78ca7786cf2dfc364a8370c525ffc6baedce0221ee382d1f267d2e3bdcc98157d55a4bfc3f2923d5d23f8485eb8fa73673100c066f39d5b734f517b217be3365408fe072a938d4272c6c6708bf56b378139f3ddd52d9ffbf4ab728df1768e213698fc7b4881b2d74bc1382562197ab346757ca943776cb980666fe2ac145689bce088fd9d933e322356ec39482ba04026c461b83526ce99c670d63bfb05ea6bdc7049ed1cbe9bdc8a58e1ea6d53638971d6cbcf3947f60c7215ba883ddf8d8adf115488fe56738b5072544eeaa9485d068ac87c0d7f9536f8e9d67518fd972f35f7ca7ffddfcabbee31bd5bb7a22b83447c8628e51cbd55a37a8ef236f0f8302da6504648c546c7e142c6c3e2f9b54a420ca3d5a02e42e88f6faf12e4962ef6d6c349ad2604e499d3c1b1bbc072a6aa19d94ee1765eabb2abf776ee8e87b7df7e974ae522fd75a0631ff994c393ebc3ebdfef1d361e1ccfd75db0a379072a64fb5053a84eccbb1c6d5f5f33e5f3ceee0a661b98524f31a8c72238ce4b6196d75aba16ddf0b8a399e6cf13847c8ed203b46d3509b8d0c15d9be276bd53c312ee53e2bc7b4546b5274a71fbf17f8790a686cfd9dcf41976943e202446ade0f6e66e6204b046cbbea7537a141324a1785c8b49a0ef8cf98d7dc248657de19dfae365cea6671e44a752d02c1f3a706bf4719081f4a9e3085fc0f1870884e617ade5ca895a971317cd8cf96f6e9137d0d7d893fb83ed1f091a768186b3a9b6ba6c0eb486bd8b08678686dcfac9c4dae8ffdaa4fd201308c3ee44ee2f13f358bfb3ccb3e07ad68c72b1d95ab7c1c2bb9f8914af1746a6e435a56efaaa51b7d805ff0353da65ffd8907ccfc17194584e22b04be6e5b9cf661121c1e56281b60b8f47ee5c2bd9cc76bf39fd97ff2cdaf8f7f8e0314051f5007559cae4efc65ec50e8fba4accd8d2ac52b6516efa143d1282f0a6b46950485b7ed59449c5f8975ad96d483fc2b90f1e4f61ec3fc7a40826e8b4394c7dbf1b0f8fa0ecfffebb0b4662f79c9cffe88aadd77eb70b73e4ce2f7430aa67dd3912a75ffd0584573bebf8e0a87afc68114f12a411724f24ac0a994bad0f0e86067d74c156e40e549d2fea21a7c76e691895c6bc5333b308066a09050d618fb24bb736b7f04f806a7a4feabfce3850d328202ea768851ea3c4b789d2109461fd28dc7fd3516ea9e5c95e8ddf565d8f263dcd497fd5ec4e4c12f25f4ed83f0270179ee360713f0f244ea1eb542bce7fad343313c1b7b8e9729e646236f51fcd83d55df231d4bc5029125c8f95bdcc2cc4a7dae8fa5bcea1bfa92c0e8e81061051e90a47a40d17b767f381e322ba41d648e46fc415e6e2f2436dabb4f20dbd112e4ba5446936705ae861798b8e798c2e4c2ac388dbfaedc458a97f2dcd951734c774bccc7ff9cf088480363effe6d0a7afce0dc677f9767c0a6a58783cfa11e1aa3cd90d1cf11bad21daa4d8f4188c30b737baa2a15d8cc97bb1d6e9f3e04959bb255736458a20af6a2d030d56aaa0d736b24e517a087c3e3e504c45d4f49250ae607bc5932013b99c794db8fa75f23ae674449f59cd7b9eea3f48f51355f653f5", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 1002, + "delay": 21, + "style": "tlv" + }, + "payment_hash": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f", + "label": null, + "shared_secrets": null, + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + }, + { + "id": "example:sendonion#4", + "method": "sendonion", + "params": { + "onion": "00028ce28d347275a016e4e22e8f39e93475f5113d236f21840e2f725961c172795122feb0aee950e9a237f7bfe8daa95420be5e943320a838b8e17c9fe3bd340c61f703de0f3170647b26b2868787b7c9d06ded7a17f7b578b0f2989d1335ceb51e8ba0c2921a7cdd90a5f58ae292881ab7520920099ff67f725db44ea1ff066bd88581c06882690a8d9daa481b22c5bee57be8806ff484ed1bbc84cf560f204db25cc2b53ee72ba7eb67d91f15a8cc8466e29eda795dc2e2fcb9adf511517fb29e7aba0aab59cee61ae3a3c409ac23e17e737ab98acae35953645dd2b1a857610908f121e07ff0eace39145acf9b00b4b0eed384b5464bcf4026fcb97bf104ffea79b817b431a0ee21179978ec7469919e35e049cfb5e98c692f45bd8a7cf37ef9dc44df4bb6c0df9bce581b85ce72b95bcf2848c3e7ddbd0b2702f222e736e82e5a04a9a2d35ccf40762d9318aa1248cd3fc861ac720ff014f1c5cb8b81cdf15b6bb5c368214d52064c7c6ee8d90fc0227dcc6e3e71a982c177bf440b39abef9664f124549b6ab9380a0a7190311d0c66410b98169f10bfcb52e9277c436f16f9f0c8f015f2de05d9297577465ac4e37fe362e9c21161528daab059cc919eeeba0a9df9052e54145d74be05a6d48d2209cdb2377479077106a95bf59fa58fc9bc2b8074b04d3a38bcc7c2b59117d47f412067ad8b14e82f9c6f0d80b55753e4d40eb9b336e2ac781b81fe08a7b9756d7722462da9e919085abd9871e315203f915f2688213bbb5a75a9785f2d6cad20c10210206e1e35bb4fa23575c2b6d144677f9aa7adc0593d620501978bd628fe6535ba19eca9f6264547d05f0a84ce6c02bdd7cfaa646fa42d9a4686cde1c31973665ee1917d403aa205ed35282432a859a53827bf8fc004a670fbad2a1568307d0ca1492a6ab40bd514119817a6498b7cfdb37da3aa0ba94344a84d06ee69432e7e1c33e6a0f9dfa4aae98862f942bce59a31d6fdcaf7bce20bad42d5244cd670ce7110379e575d791de0b2180eedad4838add30c28b30c1864b65f3b3df09a2686c6fbe9846a78cf21b1934e7a854326fcb4701a87459d31e806b223419a018e5055d3e618cba4ade3c6e08ec0bc4369edb427e78d19abb58b3be54b12cf45cebe73f3e360263285e18365c590979c260d837a0afbb318be04f8241467f18630738694588da9a7cd4d05fd646fd206b38465b34d66ce8b4e4eb1d26ceadc4401dee2164df0e8ac91a131f8dbf66a20af984c79a24e1bc0cb16a017438eac151a8cb9c6be78b0dc1f8605d35c5032cbcd6e43509d606cf8d4751b4aefec2d66195d1501ed4dc52dda27bcb45478b9df08e6290e57acc7d20c0c97f5d6f583e2c6806fe8b83b43d1d839c7945d8076dd332a275e96d86661a8e58d6592588103fa897f3185b1b08bc963db99aa725b892d571bc1a4968532e1a7209c89807739ca030d91812cdb99db0c5c1e792cfd94d2b438798722dafe71b5e1aea88fb6c82efe7e608324bad832e5295fbb58817ceb59c1beb97c71a8cb01a61831d7879d80d34872d14584ee1250d15c3d55917baf0a722eb8a1fdeb2b328008049873c739c5c262c232fded96a5bc27bf59c5fa233ba838666ed61bf0c04deeb0e84c4778aca3c246e2f853aa7b52d18954eaaca49c7b52369aa29658aab0157dcba94d0e578f809640072d859d947f0d3fb06977bac5e61be0672dbeb355c2f3a43e88fe294ec02f5325e712b9e140567ac195e9d34f3173c49de896ccb17e9608d8e6cfe21a33a53b4e52f04e3d6e606d748a2d93b629d36a30e836daf7c4b251d4507514d7e06147e0a5dcbbe84fcb5e7313b484ec4d89482cf2096a04dcd461580eac25398a67032c85cfb00934a94e8da8d5103db4ec6d680deda18b58c48933d60ad4fc1985", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 1002, + "delay": 21, + "style": "tlv" + }, + "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "label": null, + "shared_secrets": null, + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + }, + { + "id": "example:sendonion#5", + "method": "sendonion", + "params": { + "onion": "000279e2d6559ba42c7b800182dca1a7df56ab164cc0b52bd7c7f466aaf7fded27b2fccffa4170c13652fd5640315cd9fefd86116117003f4fe1f9d0daba46c05dc1e2446483f7a5ab9815dc7229b4ec2aaaeb370387e7060d8858a98bf3ddeab7c6e10545603eef93624419e0bf2b6fe9060705f684437169878a810d14f47544c8feeac7b5c679e3f1ba2243b46873f6cf828e3b3c28cece47710d1cfe6fd0534045d4010655f0b7e6d46bb70c24910d8f955d381e923fc6ce47d242430eb52b21c9f9902bcb77ad98b9ff96f4d3971621759814749245b41af89122d31e693449912005de7aa43b43ef0cb1924de78e73d0612141e94b43f9f6d719490233ee23b89d6aa76a5d4b602ca9cd2f96babff10d424ca0f597e2c060aabf8c7b98d4f6da51e29d0940ce5ac67a31eb840dce7fc23053ba203b5831f01bbdc27f49f99487a2b719aee9a92d45099abd4dd0b0ef44a6ac65320c529d67165a84230ab4c0319d20f84770352698097514b3a041f662376492d80cc9894b9c81e615a075b378b1b3cc9cae9d16e21c7b9dda6e4e149193da7533e1d16928ca93a9bd494aeb259844481fad20149ad210f54fe81434841ebc9b3598444df519ca47e97d624ee9cba0c27b7937f188ba093abe2bc2047144862f0b885626b9c15a329710c111174b25833f8ecf0a8c480b4524bf58f7871c2a1a57efa0fb46bfc1275f126812b0480c510a722ef6a513c646b3e72ed7a54ac4dc3943981dd3cb8c18d94793e88495715fd8fd2545fb0934c7b84355ec86778a86240dc18e26677d2a10cafe8103e51481ec7c01ea2d929f46752a6c4669c02c231211dc3fefaddc6472f14e40d48214c0b40f7a57b0dedf6fc980eb432bdee9f259729d558514ef39338c90da26e112d21995f6e8896449184c7da433078a881d82837b50549cb3491118b52fd02de65b4ff619700a89685d3c0c86c21302f4936af8c7dc2acb774a1c8c0ae8595ef9f766f349b16eeedf0a03046a1f131883fd3ccb3b1d848b6d2957a0145840a140dda346da56861889e42593994cbfdd91d3a48dfaf36e19c2746fd47bdfb587d6ff861ea3e611644b95f6c5ab07e75569324cc5656009d9a21d99e0642bf56c6bf9c6cd0b3c244829eab65c2a2d2152aff2f40060b1fa94f02de78d6045c9ab79cd6a610ed4193102ffb934f330cdd14bf5283373ab6d79180c3245fd2ea0c3a3a295a3a2fe7e49a8c41d5c3f5a4df01c9611d9b5ea804995f608903748fba6c103daba023aec38be92c10507275dcd2cad9559b2becb1a2d3090ede9cd6a3e3ea83cf5a7e3a7d4f3e7861685316babb8db992befe8ebae2855c7a7b1ffcbcb400e1f7ce07cb06390aa52db842f2aad75c328aa88fcb692fd88cab2dce4f488a5098031e16c14f16849150a3a269b48748a158f46a2638d7b47e99fd8ea9790c5b47d67c7fc111642c65ddbcc9744ba18694a7d92bb7f7e6913267b7725e2d7f7355c42fbde6d2181410d72225f9080c803f76c0c4c5639400566425e09cc63a2a0b906505c65dc3d9805e115e7f621b95328b4105de8012e5717122ac05a041a5896fd927ea1ea8b1fc68c2efaeea76b49388b8acd8e62f8049bdb61a8a3f13c69c6ce94cb7cc8d4d3270d635c911acb0628d193e41cbdd506f88dc6f798b5caa50d04580fa4e6f40b50db4651001fb309e0fa0d10cd541dad4ac08f91e6eecbfb9e3c9704118e406561cf0efe54437ea80e4deb5b5316c00437a941615ea1e85dc8d7f77476cc074f7549f018b43eeb71c0ae43263dbcbd620704f441bbe3c431e7fc0cc7616c1a3f68e874baf35a1ee8358579c6b395935a82336daee90df0353e4f8428d9007a48d72eecc2454c7abc180422d496cd54acc6fbde831e28fa19190df5b50de728ce04eee7e600cee4b8", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x2x0", + "direction": 1, + "amount_msat": 1002, + "delay": 21, + "style": "tlv" + }, + "payment_hash": "0101010101010101010101010101010101010101010101010101010101010101", + "label": null, + "shared_secrets": [ + "55c87e6dcd4f253088c6f30951a592a80c0eca598b0fec2acbd5be71f1f9bc91", + "14171ae97d9bb1010cf4a491cc87eb07f855e2daf1b888bf3ecca96b09f36a4e", + "5a83831780ec724685f7233fad40aa5da5d95d5fde1df275f40494bb30295181" + ], + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + }, + { + "id": "example:sendonion#6", + "method": "sendonion", + "params": { + "onion": "0002cdce4bfaa9faa2c060afafe001b80bde07fc670e882c063a80b4738d5f78c9351825c6461cdfcd4fe4144d3b51f63da6351b28dd49c7bfdb0b4f7d8bda4ad0d99699eda39e551084c0a095746c358d1dc6d2eec8082f2aa2f69ae8f61b1f1437ae0ed673078fec6c0510a34058167ad1a34e819a3813d4cf27b2c4917a8c6ca3d70c3381a2a41b4c1b4540adf0e922e25f57d1cfc3064f29cfec4c17244160121975cab59b44c83b4a4905bf7ebfbd308de376334bf86d8aa92c674f7bcfec85680d73e9fee72642c98c603128e358c86e0bc88a60aaebc2637441a57261c61c6be145f00f2fc56164a6495f4b52d3172cb0ef52e91fa0d32a9ae2502d17433bda58d93fbc24a70ec6b5e740952a61404c7370eafe52599c7ee52e77b1cda87c46da98d2ff0d02fe09db5adcb2d2e9bcd083ef58392907b8a21681fa4ea1e4806b4676656457fea000fa504f9b4d159fe8b241266ac91dcc0351053c6dcc1493a6b02bed652cc8b92a8470c98924ebfde6ddc5cf7fd75f6e83a7350642053b70d4834179c30eb56d8c86656cda784daf3b6cd125779bec51099301e3f79f78d85d0454aef8bf5f9058491881b73e99b662b64080cd3eb16fd7f9d9640c18738736cfc15f391232b7df92f46ceb5abf08732ff833e9409ee541d7c926f7a0fe3e233d3eee4a63b65ab23b7c835b7cdd809ddfac8abb1df471fa66a54092815aa41e6fc1a026b86c5675d39c4e8c5c4b4acd48534165239f5634b9e828a7f9df94efcd2a39045efdee4d2f006a63ae828e6e90e3610c522085da6e0198141d6e501d83aba32057f4e59f9b7dfb0bf949c5ef91917cb54561d45a9e7ead049c57deb62d14ba6e18f5d7b0fb9f15e97bf5bd9f909f99c86c787357946654b87c489d34245d07fbb72119166e338b608a4178b452695235dd96bf7fd338e29a9f054ec1a63a442e12602d2329834297f6a197d8a377d608f402f0bcc936f45f33c8d2f9d40e5aef41816dd883add81ca20f1e0631457fe00aa2bd75c9165ffcd96c100c1db83a53aeee23d59f2a542ee3ba39ba62298ddfbd9ecfafd6b5d2121eb003ee23a2ebb8c6b6b687f42492c962510c5acf5231ff96635eba37354559ba39b042d9b6883cac662f418d7c62f9908b2a67964af5e5471804f7684e0d582b8bfec99816bb3442cca1d1fe4efd75d573ebf09fa9cad811063864fb14be4a7768ec2ddb118a77969e986c6584c4b20f8622941ca73d73562857d36e17a46a68d6e10147aaefff1ffb9809f0652a5f760148ed33550661b63c8176d5679e701c221d8a49d4062eb04010ea74cc1132fbeb8934c6e582ba2a16162b7e9171f95bce4ec3e339e70c781f95aaca406cd718b74397658fdefdd093486664be7ed13efa437012f1f57f9f1f4fb4eef7501ccf0e0ac4edc01fde138038c4dd65cb5c3291ad02a6728d6761b1afa35d49bd6ef117012bdd9bd6ee8a175620feb2249aa18d6175351b4bfc2b2b4fd57ff52f5969b109aa9b6cb2cde8f350917c0da2da1bc3d52eb0c7e6080b8f69c5783f2ed26feceb05ba4e7ed66676041d03d0acd3dd6343a85ac0b9c36f9640ddd0db884822f98dc42ea7911a6938dc14ba19d3d25a2b2f82794a2b5dd751dc856d7a9ccdb2d351a0b84e7030fa925ac949a37594f3aa2ba28ae5155b0aaac9c6820b8888d0b8a9db148513b9e3dbde68333ac30a0720289b6a0145d88629d49e76a6d3538330c5aececc9d54127b0a5a0e92d5a5a73beb71132c208b589cab61d53ed357c907929198c559426ae729b374a803dd3321a45ccca39efd39eddaba6e79a2f8911bdf74e18733dc7efc51132b5608d97fd2d0f22fa8961de04cdf6d0dbfbab21e362e7abaef3976f993088aa97ed3f1f4bcf3fffb012f583558bd2f15face9cba20b3e6754b70", + "first_hop": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 1000, + "delay": 9, + "style": "tlv" + }, + "payment_hash": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8", + "label": null, + "shared_secrets": [ + "3f53c03f98eb83db88ff97c2c4004051ce23265ed2414a7aebf7a3e7078839ab" + ], + "partid": null, + "bolt11": null, + "amount_msat": null, + "destination": null + } + } + ], + "example_json_response": [ + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "f584c14bb23506acdd94cf3cea377f3cc5805f3cba5430bc3756ef83ede1a0dc", + "groupid": 1, + "amount_sent_msat": 1002, + "created_at": 1706315098, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 2, + "id": 2, + "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "groupid": 1, + "amount_sent_msat": 1002, + "created_at": 1706315105, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "4feede0e91f2f989193d0414cec3cf00e6f777d0c8351885de3793cecc2f031f", + "groupid": 1, + "amount_sent_msat": 1002, + "created_at": 1708640195, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 2, + "id": 2, + "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "groupid": 1, + "amount_sent_msat": 1002, + "created_at": 1708640198, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 3, + "id": 3, + "payment_hash": "0101010101010101010101010101010101010101010101010101010101010101", + "groupid": 1, + "amount_sent_msat": 1002, + "created_at": 1708640203, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "36bf44cc8d80498b95eb05e36ae5811206d3a1d8b5c8d59bbcad035d386a4de8", + "groupid": 1, + "amount_sent_msat": 1000, + "created_at": 1708640384, + "status": "pending" + } + ], + "author": [ + "Christian Decker <> is mainly responsible." + ], + "see_also": [ + "lightning-createonion(7)", + "lightning-sendpay(7)", + "lightning-listsendpays(7)" + ], + "resources": [ + "Main web site: ", + "", + "[bolt04]: https://github.com/lightning/bolts/blob/master/04-onion-routing.md" + ] + }, + "lightning-sendonionmessage.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "sendonionmessage", + "title": "low-level command to send an onion message", + "warning": "experimental-onion-messages only", + "description": [ + "The **sendonionmessage** RPC command can be used to send a message via the lightning network. These are currently used by *offers* to request and receive invoices." + ], + "request": { + "required": [ + "first_id", + "blinding", + "hops" + ], + "properties": { + "first_id": { + "type": "pubkey", + "description": [ + "The (presumably well-known) public key of the start of the path." + ] + }, + "blinding": { + "type": "pubkey", + "description": [ + "Blinding factor for this path." + ] + }, + "hops": { + "type": "array", + "description": [ + "", + "" + ], + "items": { "type": "object", "additionalProperties": false, "required": [ - "values_str", - "sources" + "node", + "tlv" ], "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } + "node": { + "type": "pubkey", + "description": [ + "Public key of the node." + ] }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } + "tlv": { + "type": "u8", + "description": [ + "Contains a hexadecimal TLV to include." + ] } } - }, - "plugin-dir": { + } + } + } + }, + "response": { + "required": [], + "properties": {} + }, + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-fetchinvoice(7)", + "lightning-offer(7)" + ], + "resources": [ + "Main web site: ", + "", + "[bolt04]: https://github.com/lightning/bolts/blob/master/04-onion-routing.md" + ] + }, + "lightning-sendpay.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "sendpay", + "title": "Low-level command for sending a payment via a route", + "description": [ + "The **sendpay** RPC command attempts to send funds associated with the given *payment_hash*, along a route to the final destination in the route.", + "", + "Generally, a client would call lightning-getroute(7) to resolve a route, then use **sendpay** to send it. If it fails, it would call lightning-getroute(7) again to retry. If the route is empty, a payment-to-self is attempted.", + "", + "The response will occur when the payment is on its way to the destination. The **sendpay** RPC command does not wait for definite success or definite failure of the payment (except for already-succeeded payments, or to-self payments). Instead, use the **waitsendpay** RPC command to poll or wait for definite success or definite failure.", + "", + "Once a payment has succeeded, calls to **sendpay** with the same *payment_hash* but a different *amount_msat* or destination will fail; this prevents accidental multiple payments. Calls to **sendpay** with the same *payment_hash*, *amount_msat*, and destination as a previous successful payment (even if a different route or *partid*) will return immediately with success." + ], + "request": { + "required": [ + "route", + "payment_hash" + ], + "properties": { + "route": { + "type": "array", + "items": { "type": "object", - "additionalProperties": false, "required": [ - "values_str", - "sources" + "amount_msat", + "id", + "delay", + "channel" ], "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } + "id": { + "type": "pubkey", + "description": [ + "The node at the end of this hop." + ] }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } + "channel": { + "type": "short_channel_id", + "description": [ + "The channel joining these nodes." + ] + }, + "delay": { + "type": "u32", + "description": [ + "The total CLTV expected by the node at the end of this hop." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount expected by the node at the end of this hop." + ] } } - }, - "lightning-dir": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], + } + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the payment_preimage." + ] + }, + "label": { + "type": "string", + "description": [ + "The label provided when creating the invoice_request." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "Amount must be provided if *partid* is non-zero, or the payment is to-self, otherwise it must be equal to the final amount to the destination. it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." + ], + "default": "in millisatoshi precision" + }, + "bolt11": { + "type": "string", + "description": [ + "Bolt11 invoice to pay. If provided, will be returned in *waitsendpay* and *listsendpays* results." + ] + }, + "payment_secret": { + "type": "secret", + "description": [ + "Value that the final recipient requires to accept the payment, as defined by the `payment_data` field in BOLT 4 and the `s` field in the BOLT 11 invoice format. It is required if *partid* is non-zero." + ] + }, + "partid": { + "type": "u64", + "description": [ + "Must not be provided for self-payments. If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*. The *amount_msat* amount (which must be provided) for each **sendpay** with matching *payment_hash* must be equal, and **sendpay** will fail if there are differing values given." + ] + }, + "localinvreqid": { + "type": "hex", + "description": [ + "Indicates that this payment is being made for a local invoice_request. This ensures that we only send a payment for a single-use invoice_request once." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Allows you to attach a number which appears in **listsendpays** so payments can be identified as part of a logical group. The *pay* plugin uses this to identify one attempt at a MPP payment, for example." + ] + }, + "payment_metadata": { + "added": "v0.11.0", + "type": "hex", + "description": [ + "Placed in the final onion hop TLV." + ] + }, + "description": { + "added": "v0.11.0", + "type": "string", + "description": [ + "Description used in the invoice." + ] + } + } + }, + "response": { + "required": [ + "id", + "created_index", + "payment_hash", + "status", + "created_at", + "amount_sent_msat" + ], + "properties": { + "created_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was created in." + ] + }, + "updated_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was changed (only present if it has changed since creation)." + ] + }, + "id": { + "type": "u64", + "description": [ + "Old synonym for created_index." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "pending", + "complete" + ], + "description": [ + "Status of the payment (could be complete if already sent previously)." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount delivered to destination (if known)." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment if known." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "completed_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was completed." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "The amount sent." + ] + }, + "label": { + "type": "string", + "description": [ + "The *label*, if given to sendpay." + ] + }, + "partid": { + "type": "u64", + "description": [ + "The *partid*, if given to sendpay." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (if supplied)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied: **experimental-offers** only)." + ] + } + }, + "allOf": [ + { + "if": { "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { + "status": { "type": "string", - "description": "source of configuration setting" + "enum": [ + "complete" + ] } } }, - "network": { - "type": "object", + "then": { "additionalProperties": false, "required": [ - "value_str", - "source" + "payment_preimage" ], "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default (can also be changed by `testnet`, `signet`, `regtest` options!)" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "id": {}, + "created_index": {}, + "updated_index": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "partid": {}, + "bolt11": {}, + "bolt12": {}, + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] } } - }, - "allow-deprecated-apis": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], + } + }, + { + "if": { "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { + "status": { "type": "string", - "description": "source of configuration setting" + "enum": [ + "pending" + ] } } }, - "rpc-file": { - "type": "object", + "then": { "additionalProperties": false, "required": [ - "value_str", - "source" + "message" ], "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { + "id": {}, + "created_index": {}, + "updated_index": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "partid": {}, + "bolt11": {}, + "bolt12": {}, + "message": { "type": "string", - "description": "source of configuration setting" + "description": [ + "Monitor status with listpays or waitsendpay." + ] } } - }, - "disable-plugin": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } - } + } + } + ] + }, + "errors": [ + "On error, if the error occurred from a node other than the final destination, the route table will be updated so that lightning-getroute(7) should return an alternate route (if any). An error from the final destination implies the payment should not be retried.", + "", + "- -1: Catchall nonspecific error.", + "- 201: Already paid with this *hash* using different amount or destination.", + "- 202: Unparseable onion reply. The *data* field of the error will have an *onionreply* field, a hex string representation of the raw onion reply.", + "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", + "- 204: Failure along route; retry a different route. The *data* field of the error will be routing failure object.", + "- 212: *localinvreqid* refers to an invalid, or used, local invoice_request.", + "", + "A routing failure object has the fields below:", + "", + "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", + "*erring_node*: The hex string of the pubkey id of the node that reported the error.", + "*erring_channel*: The short channel ID of the channel that has the error, or *0:0:0* if the destination node raised the error. In addition *erring_direction* will indicate which direction of the channel caused the failure.", + "*failcode*: The failure code, as per BOLT #4.", + "*channel_update*: The hex string of the *channel_update* message received from the remote node. Only present if error is from the remote node and the *failcode* has the UPDATE bit set, as per BOLT #4." + ], + "example_json_request": [ + { + "id": "example:sendpay#1", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "always-use-proxy": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk", + "payment_secret": "82644944d3f70d42aad1d5f7b5d7a629e7afa30b529cc952a4c59fc0e3790ea2", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#2", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100001, + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "delay": 5, + "channel": "103x1x0" } - }, - "daemon": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk", + "payment_secret": "aec4ff1ed56604e62290f4400b6cc076fb3d2a19070e8983befc2b3b82927f73", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#3", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "wallet": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24", + "payment_secret": "2a9da8776483a993a1cb9b9770d79466f02c97115c277ec58efdfdf769f018dd", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#4", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100001, + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "delay": 5, + "channel": "103x1x0" } - }, - "large-channels": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v", + "payment_secret": "4c6da54db0d806b90977ef41ee1f4879f11ed132de714dffc4fc05605069b574", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#5", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 111, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-dual-fund": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6", + "payment_secret": "0223ffdbdc91c42d967bfb94453c5ee167b595fe18876a776c8a67b243bbd2d0", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#6", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 222, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-splicing": { - "added": "v23.08", - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l", + "payment_secret": "09ecfd5b387f7d40807d80e92b8e5d637827ba56b25eb9536270621a323516ee", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#7", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 4000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-onion-messages": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76", + "payment_secret": "bec6f4f54c58fe01d0452ffcd7a29bd0b119535f3003f44c92eba7f5037dcefd", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#8", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-offers": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy", + "payment_secret": "59cf78fc033c1425c18e4eda8add4d07c2e2055e8dbda5fc2f06da5cb336a0ec", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#9", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-shutdown-wrong-funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq", + "payment_secret": "d297dd20cdf16cadb50220266fc2b3cad2b9a2783338bfb44b1b3302f26157f2", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#10", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-websocket-port": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl", + "payment_secret": "24355c7ffae93f500cde571970ec375e208f804a8779e888eb4cd6ed95bedd8d", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#11", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 11000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "experimental-peer-storage": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474", + "payment_secret": "b2cbafbe2b22785e949d5c05a904782c8de42dc5aac390cae253f972381048cd", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#12", + "method": "sendpay", + "params": { + "route": [ + { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel": "103x1x0", + "direction": 1, + "amount_msat": 4211, + "style": "tlv", + "delay": 24 + }, + { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel": "105x1x0", + "direction": 0, + "amount_msat": 3710, + "style": "tlv", + "delay": 16 + }, + { + "id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel": "107x1x0", + "direction": 1, + "amount_msat": 3210, + "style": "tlv", + "delay": 8 } - }, - "experimental-anchors": { - "type": "object", - "added": "v23.08", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", + "label": null, + "amount_msat": null, + "bolt11": null, + "payment_secret": "c36a2fe9aced78c06960e2f21b369ed03f0492c97e53ba3b662163bcdaf1d7fa", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#13", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 200000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "database-upgrade": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn", + "payment_secret": "0d04da0e55104a906a27c513af2bb1b6d1c0ac3e40887bf686395bf30bab0bae", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#14", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 200000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "rgb": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "hex", - "description": "field from config or cmdline, or default", - "maxLength": 6, - "minLength": 6 - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx", + "payment_secret": "c84ca8495a24ab6ba4ef21c891e3dd0da66ee29e11b30abadea39f6b3ea08b89", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#15", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 200000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "alias": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg", + "payment_secret": "428888fdcc3f62933e86de029123739c94ee1911e2547b598052cf4353fe1a0b", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#16", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "delay": 5, + "channel": "103x2x0" } - }, - "pid-file": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw", + "payment_secret": "ac1fa2590feb152de819465a30d6862b713efaecddd2a938fc2504df99214896", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#17", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "delay": 5, + "channel": "103x4x0" } - }, - "ignore-fee-limits": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a", + "payment_secret": "00c2b79bb89b764df4c3a283a4351bd9b91ad254f274d92fa5667e8055b28934", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#18", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 200000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "watchtime-blocks": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w", + "payment_secret": "5b9d7d2ef23b3e981861505cd9f89560268f3b742803393cb33f332abc4695de", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#19", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "max-locktime-blocks": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua", + "payment_secret": "8cafc0fe8eacd45686c2475f5ae38d12cc25bea3cb397e49bb70fdcb4ac1c8d0", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#20", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "delay": 5, + "channel": "105x1x0" } - }, - "funding-confirms": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28", + "payment_secret": "db3ca32adb640f7cee2d5542832a0613eded84cdc7e938e8944d0bcecd3f538e", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#21", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "delay": 5, + "channel": "107x1x0" } - }, - "cltv-delta": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr", + "payment_secret": "9a5e4864d7df7e38c627c934aba9e8054333fa5eec542a368119ae0ab6e129bc", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#22", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "cltv-final": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + ], + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx", + "payment_secret": "455212998fa379dfe832111755ec99e3ccd74757b56600a398044d855cee9202", + "partid": null, + "groupid": null, + "payment_metadata": null + } + }, + { + "id": "example:sendpay#23", + "method": "sendpay", + "params": { + "route": [ + { + "amount_msat": 100000000, + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "delay": 5, + "channel": "103x1x0" } - }, - "commit-time": { + ], + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "label": null, + "amount_msat": null, + "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm", + "payment_secret": "4c75b8e132112cbb659bab0bc61b98db0685f8b79ecbfedbcea6c6f446127c43", + "partid": null, + "groupid": null, + "payment_metadata": null + } + } + ], + "example_json_response": [ + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1706152930, + "status": "pending", + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "b9db328ffd275a84689f80c451a867d3882aca7f061a713416c87c9cf3009ba1", + "groupid": 1, + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 100001, + "amount_sent_msat": 100001, + "created_at": 1706152935, + "status": "pending", + "bolt11": "lnbcrt1000010p1pjmr5lxsp54mz078k4vczwvg5s73qqkmxqwman62sequ8gnqa7ls4nhq5j0aespp5h8dn9rlayadgg6ylsrz9r2r86wyz4jnlqcd8zdqkep7feucqnwssdpq0fznxumc8pp9znrsgehrsvp3ffgkj7rnxqyjw5qcqp99qxpqysgq2csa9zg67r6e8nutwhlsqlftwkd3kgxhfrka0cwl5u2av32nmt6xcvvwhd6ns6tldh9ynsvhmask3gc9fxreqnmmxq6k5ap5dgtrdeqqv532tk" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624137, + "status": "pending", + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "fa9612d23c98581d192e1c9d91be75fba8e044855a0682702db748c8c2c29c21", + "groupid": 1, + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 100001, + "amount_sent_msat": 100001, + "created_at": 1708624138, + "status": "pending", + "bolt11": "lnbcrt1000010p1pja0zg2sp5f3k62ndsmqrtjzthaaq7u86g08c3a5fjmec5ml7ylszkq5rfk46qpp5l2tp953unpvp6xfwrjwer0n4lw5wq3y9tgrgyupdkayv3skznsssdpqddgnxn3sdfmhwjjpgf8kkjmzf4cnwjf5xqyjw5qcqp99qxpqysgqexuu3gjh5wz3k4e5qxk9rgp6zhqk6q6tnu4x6cdkyv7u4v5h4fc3rsw6xzn4aswj6pg8lvkvdh2amu00h557u90hhd2nyrdvrd2rn4sq4zkq2v" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 111, + "amount_sent_msat": 111, + "created_at": 1708624150, + "status": "pending", + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 2, + "id": 2, + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 222, + "amount_sent_msat": 222, + "created_at": 1708624152, + "status": "pending", + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 3, + "id": 3, + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 4000000, + "amount_sent_msat": 4000000, + "created_at": 1708624153, + "status": "pending", + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624189, + "status": "pending", + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624212, + "status": "pending", + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624223, + "status": "pending", + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624242, + "status": "pending", + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", + "groupid": 1, + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 3210, + "amount_sent_msat": 4211, + "created_at": 1708624260, + "status": "pending" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624682, + "status": "pending", + "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624696, + "status": "pending", + "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624705, + "status": "pending", + "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "groupid": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624732, + "status": "pending", + "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 2, + "id": 2, + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "groupid": 1, + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624733, + "status": "pending", + "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624742, + "status": "pending", + "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624761, + "status": "pending", + "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 2, + "id": 2, + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "groupid": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624763, + "status": "pending", + "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 3, + "id": 3, + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "groupid": 1, + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624763, + "status": "pending", + "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624827, + "status": "pending", + "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx" + }, + { + "message": "Monitor status with listpays or waitsendpay", + "created_index": 1, + "id": 1, + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "groupid": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624839, + "status": "pending", + "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm" + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listinvoice(7)", + "lightning-delinvoice(7)", + "lightning-getroute(7)", + "lightning-invoice(7)", + "lightning-pay(7)", + "lightning-waitsendpay(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-sendpsbt.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "sendpsbt", + "title": "Command to finalize, extract and send a partially signed bitcoin transaction (PSBT).", + "description": [ + "The **sendpsbt** is a low-level RPC command which sends a fully-signed PSBT." + ], + "request": { + "required": [ + "psbt" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The fully signed psbt to be sent." + ] + }, + "reserve": { + "type": "u32", + "description": [ + "Number of blocks to increase reservation of any of our inputs by." + ], + "default": "72" + } + } + }, + "response": { + "required": [ + "tx", + "txid" + ], + "properties": { + "tx": { + "type": "hex", + "description": [ + "The raw transaction which was sent." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the **tx**." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:sendpsbt#1", + "method": "sendpsbt", + "params": { + "psbt": "some_psbt" + } + }, + { + "id": "example:sendpsbt#2", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAM0CAAAABEV+dnFRINmyeHxi4Id0OrcuzI5au5/BlPtTfu7E2m3EAAAAAAD9////cv8oioDx+0NCEnjBSYtnwF0H4VR13j+bkyb5gOOQLUUBAAAAAP3///8ehOrKm7JEq6zflkp9+zmSwE1iPe1yh3KTXvk+om/legEAAAAA/f///2s31wNrI1UavMgjC1GyrOHNbxOm68KYa13WX/mGfmjcAQAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABTzfqjIqV1wPpqc/3/Cb+tMX5EDrLmnhb5BMNx3aB/hYAAAAAAP3///8CQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMg/+juSkBAAAAFgAUJB0adsMdjkacZWrLwyteqfOaTrRlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBwFb9rA0nUVlIPGd2aaiRbJ+KH4MLM3Bu+f0JuXB/hwAIgT2rrIUG9gXBZoH9fcPjCnbbM1SR4GiLYGLeALB8yENoBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAGANpEFI+CgfALTim/MWsAa62g+EmFWrFrzBDBCmCB3MgAAAAAA/f///wKZKdgpAQAAABYAFB+xhfU1pgl9WIvDKzAHZp8UeNkzQEIPAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUGUAAAABAR9AQg8AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQIgICXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9HMEQCIDtx/kEoc4PHDDm4eX5SEOmuRGu7ShpEG7xKBbuD/NjiAiBYkIKod39dcBarCT7Dbchkuwx70tJhOxQSJi2EMioGrwEiBgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wgHHEnKAAAAAAABAHECAAAAAVHU7RCZylzRMdlMBJ2ba4XKxv0l7LdWVnPYS6mhkf60AAAAAAD9////Av5VbSkBAAAAFgAU0BhRKzRbIC6H+s6j86d6cMpTNNhAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgNAeIVGvUj9MWM18am0dx3JtEf79iQMX7Rqz1tttes3ICIAtNCglUlvpSidAxc/xoiy9cA13bgimJx25G+eZXfYJeASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABRX52cVEg2bJ4fGLgh3Q6ty7Mjlq7n8GU+1N+7sTabcQBAAAAAP3///8CMmGqKQEAAAAWABSxLq0p9YAKl+hX7pFc0K/X+PIWmUBCDwAAAAAAFgAUZhwjt5DdNJE3OvCx2L7Qh31c3iJlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIiICA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsORzBEAiBKABqNV7cF5DKhtd+m+ZEmWF21vBt2uBKnzeDuUFqvDwIgJc6+/6GQqIfz869kJpUFTAMYTeL2qWR6d28EQEOJgkMBIgYD+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w4IZhwjtwAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:sendpsbt#3", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFIsDpF2EuaGJtRrhYx+IbzOd/M7kniQIblkMgXiJcdgBAAAAAP3///9R1O0Qmcpc0THZTASdm2uFysb9Jey3VlZz2EupoZH+tAEAAAAA/f///xHyxgYldW/5XQeaJq5EZi39F3iXPA9IJldWMrs0RdWlAAAAAAD9////lXEYYW7S2ebGQrEHH/6fF+EYbVSCrLQMO1aW0KtGdkcAAAAAAP3////as4fUngjF1704BbqIc4BEqwVJO2zEHP8xp1RmOO7XqAAAAAAA/f///4A2kQUj4KB8AtOKb8xawBrraD4SYVasWvMEMEKYIHcyAQAAAAD9////DfpknFkgmSr0m9lSWhPIGCw+rXbHudSRFvs7NVArSAgBAAAAAP3///+3IhlAYc2gN6QEMWbKdvMaXJCzfI9ZN5hJeoPoSA9d3QAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAbciGUBhzaA3pAQxZsp28xpckLN8j1k3mEl6g+hID13dAQAAAAD9////AmTQTikBAAAAFgAUmTayL34qV6d/J2Spi23HG9ujufdAQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wZQAAAAEBH0BCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AiAgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02kcwRAIgQPIS1hHPvv2YYxqC9E4nAzI6bJ8VM+xtqij2QYEw9dkCIHvJR91D4B99HjFmqW8XGv4XzMG2YOxH7TSrFymMiZ8EASIGA/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCPb/tEgAAAAAAAEAcQIAAAAB+BRksO8M93IOGyoz2ktymYV+u+BgKKuGMa6vNh7gCuMBAAAAAP3///8Cy5h8KQEAAAAWABT9eBm+lMXbuwtsx912HDPdEXAYxEBCDwAAAAAAFgAUqYuGF8lWzlZmylpuQc2vZRzxay1lAAAAAQEfQEIPAAAAAAAWABSpi4YXyVbOVmbKWm5Bza9lHPFrLSICAlxthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsRzBEAiAY0FysnZ9OUBv65aP6co+E3jI5iDFtwdE8gkvDEQQ+8AIgHmmHZAHtHTqX8gZEEQyBUB+yYsNfdQ2nXUNDKlwCBkABIgYCXG2GGW9KyjHaw7kzoxHi88sYrirjOWnfvG0Eu+m3B2wIqYuGFwAAAAAAAQBxAgAAAAFWbarD49MSeyGu8cpTWoBgO5W+afwWrpF3XMFb6lTxWgAAAAAA/f///wJAQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyZmznKQEAAAAWABSQxYMKMFKJXprq5bQyuhXxywwjPmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyIgIDuBs9FtAwe26X0/wiqBxArW2tNc+GgvWigGwQBF0GIr9HMEQCIB+w52X4+Cm98R+qE8vuGQZR4mc5BAALkE9jwgncqUfeAiB/2xs2N0qIrIJ9GrieIySfrVUA/xcGbdNrAOKAqgvspAEiBgO4Gz0W0DB7bpfT/CKoHECtba01z4aC9aKAbBAEXQYivwijI8KCAAAAAAABAHECAAAAAUJUZ+FOlPBPUwCm2tSJpYlK06wi02Fo1tbKv94X4hHLAAAAAAD9////AkBCDwAAAAAAFgAUYe0GwGMq8oTsnhkul3WPwEaSyCkzr/YpAQAAABYAFEmcEiR0nMsQJfIzkb6BeYEY1lnsZwAAAAEBH0BCDwAAAAAAFgAUYe0GwGMq8oTsnhkul3WPwEaSyCkiAgPBB4gjpPZJefBRIMuNVT6sYPBHqgjl6widcQvb1+dIUEcwRAIgM7YsYm1nI0AKz/UHwVpWoE1pfpLzSQtW/f1QIwO3mqkCICuWpj+irLgBGLGwl+A+EesEHSVDBklr2wz/FBoHZJtkASIGA8EHiCOk9kl58FEgy41VPqxg8EeqCOXrCJ1xC9vX50hQCGHtBsAAAAAAAAEAcQIAAAABlXEYYW7S2ebGQrEHH/6fF+EYbVSCrLQMO1aW0KtGdkcBAAAAAP3///8CQEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRGZs5ykBAAAAFgAUeGQMLyq87AxUov9YHR0pSIhHwOAOAAAAAQEfQEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRCICAn3gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeRzBEAiA4Hjxrt2rGbHKh2w174PThl2IMX0FfLD8XbB6vcq+GdQIgO0glGAsKyvMZLwIyx9ntvtgFaNpHRulahp2Fbjoic3EBIgYCfeCrF6vvIcTq680G6wiZotbqEQuS3w8wOu19e8LPwZ4IsF2tKAAAAAAAAQBxAgAAAAHc47UY6+hBCRYVjTF/eqUROg5d5ottwcvPkIwCFqNybQEAAAAA/f///wJmbOcpAQAAABYAFI51Yr5kg6rheJP+RcP2ZcICgDAFQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIG/bRJoMHjDtpviUtmMF9ZG2T1RcCeqtTpkDqPPGtWeMAiB9SvInmu4b7beqakY9imdlPrALpzh1feqpgFe7utaEswEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAAYItOT/KldCqYuOyhNDisEFiMfW3iEcpyL7EMdw3G49gAAAAAAD9////AszmyCkBAAAAFgAULeDWw1uKYKT737M9Hm8dj68HcWNAQg8AAAAAABYAFMAAy0HBhHOsWjLYEn0kq8dzbNBPZwAAAAEBH0BCDwAAAAAAFgAUwADLQcGEc6xaMtgSfSSrx3Ns0E8iAgIsollky14OlDwF9wQ6tIAQK6Ss8z11d5qZdERYK0ZHUEcwRAIgXEwRsk0IidpqTDARPn7a4nUQNCCf0ETrsFkYDoDSGDUCIHLvYL+oUXVpw3l6/SnWqdE09UCgIHTcnAkKGeC7ePjDASIGAiyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCMAAy0EAAAAAAAEAcQIAAAABHoTqypuyRKus35ZKffs5ksBNYj3tcodyk175PqJv5XoAAAAAAP3///8CQEIPAAAAAAAWABTVXEk5g9tlHhBHdFWx1AjDHn6eMTETXikBAAAAFgAUBPgHzqlJJQuCl+9EToMpUTJy5pplAAAAAQEfQEIPAAAAAAAWABTVXEk5g9tlHhBHdFWx1AjDHn6eMSICAicqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuRzBEAiB09t929E5OWZ9MN2O3SwC6DusSYonT4oQN141EOwMWcgIgLJq+LlsmxJL6UZrYzL4/RmkKhO5o+d86sFsUS8l7HCIBIgYCJyqaJfH/7VL6sEosyIrqsTW1NyOFao8UgcJkF/iKki4I1VxJOQAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:sendpsbt#4", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aARNAtDSpOsffBOprkLlqNTXa6ngoXT78mcEBXbnbsTlbZNtAhQ0eWDiBAAhpbhnp9XuMTDbbiR/mNMLG/JQowLD7BiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAAACEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAAAAAhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAAhB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAAhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAAhB5/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CQDBIO1CCAAAAAAhB1xthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsCQCpi4YXCQAAAAAhB4pZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCQA9Q9ImCgAAAAAhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAAhB/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCQD2/7RIDAAAAAAhB9A094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhDQAAAAAhB2f0Ro/6/m+Rmuhx9X8JaQRn9JToPgNY3GTRBHL5By9MCQCkO4IaDgAAAAA=", + "reserve": null + } + }, + { + "id": "example:sendpsbt#5", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqARNAWKxvQv/YtKTHF436Ztuu148sPQq3QDB4ch/vm9oqscfqN+NWXZ+csyOIXrmm50rFq0DZEOoLFgSsrJUqwQ7PcCEWwQeII6T2SXnwUSDLjVU+rGDwR6oI5esInXEL29fnSFAJAGHtBsAAAAAAACEHOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4JAKnNUIcFAAAAAAAhB33gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeCQCwXa0oBgAAAAAhByhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CQC3bdYeBwAAAAAhB7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/CQCjI8KCCAAAAAAhBzCnWsrtJYvmvALan6sFirvg53DKzrfGSW6q6nAUw9ObCQCmBZWCCQAAAAAhB72SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6CQDK3xgoCgAAAAAhB84QbIvXo39Om7hPsSCztnxpw4x6G6G/sRCtGsxzM47pCQAznE7uCwAAAAAhByyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCQDAAMtBDAAAAAAhB6Jvzf+c2c5Qrvvj78smeIzuWAjjEtHW01YDo2je0daMCQBxtd2rDQAAAAAhB8SkNSQBiTs1cYIq8kWiODRmmFlnt+VkoODlBh1PjXFxCQCLx6pcDgAAAAAhB/ezBtxauw6UTQFvjhaT8ztqh+dAYi+W2/WHIEQ/e965CQBPad/3DwAAAAA=", + "reserve": null + } + }, + { + "id": "example:sendpsbt#6", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBLAyce/uqKUFmwu+P3IwBFhBWnw55rgCgRtnTlhSGgCQIgCWIyWeu9A/UAAE4BOJUT2vHTtMF2ungQaXtsz+gCubMBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAF60sDlp9Wwt9wicQqdH0hEnOsZbib0D1p92GZ8NVLT4QAAAAAA/f///wJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmZmznKQEAAAAWABS6SbDH8uBBXLRkahFSMVlzCOJQkmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIHF16oX4FlxZ9S3DpGGEMJDUPpBENnK0doOSnZQb4yQzAiAu+bXJc/CBgM6LoZL4oG17WNBExUsWz1kiAm5CzMueLQEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgV/U0DpbgeDFsMtJqNfV4WrYwYLSUbCRfo6Qz2F+ji78CIGyTvhfzl6tig9nTK0fPAZFvNW3cuepcxUoX446hQlLNASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHiICAyjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJRzBEAiBkzGfXPiVmNXdnTcZl+30f4GVcy708U1WTMeRY9BFwugIgcxl+7PLJ/5rn2CK0Sj77HMNGkXFz6z6r6NLbDSp24HkBIgYDKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kIn7Z7/AAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:sendpsbt#7", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYiAgKv8NfCnGLPlGp5DZolEOblC+6iHqDuS5wwE7yMdh8N2kcwRAIgKZbrgzvU8JunsglhtSUt9UXNCRnegB+crmWCRCC084cCIEPOx1AMWH2fvurtDWBWhjH9A12FlKNzrV+jVIBx9yLgASIGAq/w18KcYs+UankNmiUQ5uUL7qIeoO5LnDATvIx2Hw3aCCrxoFQAAAAAAAEAcQIAAAABFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYBAAAAAP3///8CZmznKQEAAAAWABQgkiQQ/cGP1cMZwXJxYrtbQOghk0BCDwAAAAAAFgAUoyPCgqmhl/wRjsCc2vIcorsbiHJnAAAAAQEfQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIciICA7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/RzBEAiA/09H8QMKPfD7WpN0IjFvQAT+6D3tv3UWPlu5KxMYJYgIgMRatwrIZycp1HEyy7Om9lLtvuJ9PpIgGUbEHnWFM8tcBIgYDuBs9FtAwe26X0/wiqBxArW2tNc+GgvWigGwQBF0GIr8IoyPCggAAAAAAAQBxAgAAAAH3wTApkw4eLJFhbJOhp7opx7eALCpS+dVdceUH+mz2hwEAAAAA/f///wKY24spAQAAABYAFDiujHD6mFgd6VpGvvUNgHcUTL/fQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OWUAAAABAR9AQg8AAAAAABYAFMEg7UImOz1bwXO8MOemO9mCEHY5IgICn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfZHMEQCIFgv8xBzH8/LQJ3lxoJr/Y3HvnzrFyTX7+ZdKDKPDcNlAiB4UsxBnIuJOz6/aBNi6zUohmULP0PzbketicmGGjBxwwEiBgKfwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9gjBIO1CAAAAAAABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8iAgMoX1zu0CwQFm3TYwd0zf2F4CvNk15QX3Vjr1MpVCo6eUcwRAIgF7bow1ywpuUMpg+10qceV2zz5tZGVq83t95LZRLevdoCIDKOKhbJOKM9mFxQfpf98LF7vWZoxY+DYF8NDwqYuWTfASIGAyhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CLdt1h4AAAAAAAEAcQIAAAABEwt8DAr/ait5b1ZFSbvW/79lYDHqWbZ354DKdsTF0Z8AAAAAAP3///8CZNBOKQEAAAAWABRCLHOHAZfgUzd9yp/NPmGH5DLfnEBCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37BlAAAAAQEfQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsCICA/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaRzBEAiAkZnt0GJG9Lpw2dvN9VkJtIfDMJZ5Dq7OuEVl2bU32iQIgIEza8yga23nfNF/rolNVNqz2DS7zwig2GxXNAtcr/o8BIgYD82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAAAAAAAAQBxAgAAAAEDwn86cL5y4fv1nrBmbPB0COEENo8dq+HfK+Gvih0NdAEAAAAA/f///wLKSjApAQAAABYAFNUe47xwo45f8mWYxTrqifpRzniaQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1WcAAAABAR9AQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVIgIDLnmaFipNeIBXZ4iteHU2t+7T55Jye2Th6jRBZ6e4blJGMEMCH0WKnu0mLtPg134T64Ou+Pm9xTQSY1OfKjw1i/OjN5wCIBOEw+ISb3jgBjqPjAl8TgkdNEl+1qyn57RRV9cVBlP/ASIGAy55mhYqTXiAV2eIrXh1Nrfu0+eScntk4eo0QWenuG5SCLp2TGYAAAAAAAEAcQIAAAAB9HEFplncV8MbDGFlAtgK6s37uQmPTHqfMKGDjfh2eNEAAAAAAP3///8CzObIKQEAAAAWABQtKpGnnhtqsX/tH1c6awsMJVZ0AUBCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIhlAAAAAQEfQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiAFvxEKtGIzFpn3A3pyx8RMWiNZ/zy9iNChdqKf48VUewIgJt+I+5t4kCA4CHKBSo5692MfKrM8w9WP3VPHm9UAlk0BIgYCucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wAAAAAAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIG90DSr+fGNoWhCrgLbJG3Wt8PJNMWYqaa5MLWRwA0oTAiA9rsLEqqVhjV6wENfzzpudaE949uLlVqWgDjE/FSgKNAEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAAA", + "reserve": null + } + }, + { + "id": "example:sendpsbt#8", + "method": "sendpsbt", + "params": { + "psbt": "cHNidP8BAM0CAAAABJ5+OxmuqVr9pwr8oU8qfasHLA0Ln6T9j0U5Nsmi5mZ1AAAAAAD9////kf9K8Je8NbtvypvnkIMLgz6OBnrUf97ytmcAZpen5n4BAAAAAP3///8Dwn86cL5y4fv1nrBmbPB0COEENo8dq+HfK+Gvih0NdAAAAAAA/f///4qO8P2kZc8+Pa/vxgMpB4/Zirt18eepG3dW0uRVzVNxAQAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABio7w/aRlzz49r+/GAykHj9mKu3Xx56kbd1bS5FXNU3EAAAAAAP3///8CQEIPAAAAAAAWABTK3xgoi4tGZzgmPNxESidbC2DGPDDFESkBAAAAFgAUuJlB5o2ub6opssSnlAINbqTgpANnAAAAAQEfQEIPAAAAAAAWABTK3xgoi4tGZzgmPNxESidbC2DGPCICAr2SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6RzBEAiBf6yisUK1bz9Qdd2qNeWXxCLe2UHTmes9qBnMpXfFpwAIgAf+JP/CrD61YfWORL4nkw1bDBBf7SoTCyPW1COndoFIBIgYCvZI/zJ5gMwIKRWhwvhoONSpzuE+hMin+5LvMB/uiSToIyt8YKAAAAAAAAQBxAgAAAAF0qbS2udI1XCWKuN3OJd+pR1gZrqDTVaYEq85C56aakwEAAAAA/f///wJmbOcpAQAAABYAFPzBL/XSkygJN4YdoRkoYhWg40B0QEIPAAAAAAAWABSwXa0ojBNJRa2oPN1c3rn7+Y9tRGcAAAABAR9AQg8AAAAAABYAFLBdrSiME0lFrag83Vzeufv5j21EIgICfeCrF6vvIcTq680G6wiZotbqEQuS3w8wOu19e8LPwZ5HMEQCIEGXgo8DCuph8QInR0YmYZKkSQmtMvnFDmSmfrOvem+GAiAqjvUQXr3EQrXRDjkLNpdC94AKqjsna8hXV7/yME10hgEiBgJ94KsXq+8hxOrrzQbrCJmi1uoRC5LfDzA67X17ws/BngiwXa0oAAAAAAABAHECAAAAAQqvgHASUBJzHdsDll1q+sfCHhmH6sU2+QT/7uC7VZueAAAAAAD9////AkBCDwAAAAAAFgAUJyE+Ihe09WvRm2yDk9yfYb5pEjOXjT8pAQAAABYAFOsVL8GHeerXnkDJ/bjVMp8XbSmxZwAAAAEBH0BCDwAAAAAAFgAUJyE+Ihe09WvRm2yDk9yfYb5pEjMiAgIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZkcwRAIgBqqMVd9jCYfRMJpt1UOoxnWSQ0JsF+8kiJfGJXo48SMCIA3MG/clhcrQiN8nus7DxNsjNyz1oxG9/MWW97FVb0GWASIGAgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmCCchPiIAAAAAAAEAcQIAAAABdR6LuPeT9vm2eMUa81mF7aJbPw7oVCNMSkzlcih242wAAAAAAP3///8C/QchKQEAAAAWABQuzXURT67/hmzoBgpri3DJ2iv/GkBCDwAAAAAAFgAUqc1Qh7Q5kY1noDksmj7cJmHaIbRnAAAAAQEfQEIPAAAAAAAWABSpzVCHtDmRjWegOSyaPtwmYdohtCICAjl7BEmmDZ01Y0QBvOrzvrYRj8IpuFUr1xIvc1gIsoruRzBEAiBZf5t/A1oSDxsO+c34k3Wlx83ugWIenHT3xhe9OCpq/wIgHVq7MfOerBL5ONrvikMfoImzP4/5cuZSK3uw542lnYwBIgYCOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4Iqc1QhwAAAAAAAA==", + "reserve": null + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters or some error happened during the command process." + ], + "example_json_response": [ + { + "txid": "05985072bbe20747325e69a159fe08176cc1bbc96d25e8848edad2dddc1165d0", + "tx": "02000000027032912651fc25a3e0893acd5f9640598707e2dfef92143bb5a4020e335442800100000017160014a5f48b9aa3cb8ca6cc1040c11e386745bb4dc932ffffffffd229a4b4f78638ebcac10a68b0561585a5d6e4d3b769ad0a909e9b9afaeae24e00000000171600145c83da9b685f9142016c6f5eb5f98a45cfa6f686ffffffff01915a01000000000017a9143a4dfd59e781f9c3018e7d0a9b7a26d58f8d22bf8700000000" + }, + { + "tx": "02000000000104457e76715120d9b2787c62e087743ab72ecc8e5abb9fc194fb537eeec4da6dc40000000000fdffffff72ff288a80f1fb43421278c1498b67c05d07e15475de3f9b9326f980e3902d450100000000fdffffff1e84eaca9bb244abacdf964a7dfb3992c04d623ded728772935ef93ea26fe57a0100000000fdffffff6b37d7036b23551abcc8230b51b2ace1cd6f13a6ebc2986b5dd65ff9867e68dc0100000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402207015bf6b0349d456520f19dd9a6a245b27e287e0c2ccdc1bbe7f426e5c1fe1c002204f6aeb2141bd817059a07f5f70f8c29db6ccd524781a22d818b7802c1f3210da0121035a79bbbb406d4bc28df05fa6a87328cfb02a7e13743becdcd1dfcfe071c2e0100247304402203b71fe41287383c70c39b8797e5210e9ae446bbb4a1a441bbc4a05bb83fcd8e20220589082a8777f5d7016ab093ec36dc864bb0c7bd2d2613b1412262d84322a06af0121025d37280829f186cb995cdccbf238ab45640139397351396324a36575df34ddff024730440220340788546bd48fd316335f1a9b4771dc9b447fbf6240c5fb46acf5b6db5eb37202200b4d0a095496fa5289d03173fc688b2f5c035ddb822989c76e46f9e6577d825e0121028a599168d3c97debc71bc66e6270ecf054f300d888309ba05471a482175dd9300247304402204a001a8d57b705e432a1b5dfa6f99126585db5bc1b76b812a7cde0ee505aaf0f022025cebeffa190a887f3f3af642695054c03184de2f6a9647a776f044043898243012103fa9c95085e42b1e5003cd1f418178c30c96e4ae77954ca0fc48c58826ff4eb0e00000000", + "txid": "43bb1c1bce6763ffe4d5df6b49f152f907f36f7849e55bb56075e2b256d17502" + }, + { + "tx": "02000000000108148b03a45d84b9a189b51ae1631f886f339dfccee49e24086e590c81788971d80100000000fdffffff51d4ed1099ca5cd131d94c049d9b6b85cac6fd25ecb7565673d84ba9a191feb40100000000fdffffff11f2c60625756ff95d079a26ae44662dfd1778973c0f4826575632bb3445d5a50000000000fdffffff957118616ed2d9e6c642b1071ffe9f17e1186d5482acb40c3b5696d0ab4676470000000000fdffffffdab387d49e08c5d7bd3805ba88738044ab05493b6cc41cff31a7546638eed7a80000000000fdffffff8036910523e0a07c02d38a6fcc5ac01aeb683e126156ac5af3043042982077320100000000fdffffff0dfa649c5920992af49bd9525a13c8182c3ead76c7b9d49116fb3b35502b48080100000000fdffffffb722194061cda037a4043166ca76f31a5c90b37c8f593798497a83e8480f5ddd0000000000fdffffff0182017a0000000000160014c9096d43f408ea526020262ccdad7c8516b92a8102473044022040f212d611cfbefd98631a82f44e2703323a6c9f1533ec6daa28f6418130f5d902207bc947dd43e01f7d1e3166a96f171afe17ccc1b660ec47ed34ab17298c899f04012103f36cf9cf72147bd98004dffdcbc38fe45f540a6abef0eb49a8855a05ddb6f4da02473044022018d05cac9d9f4e501bfae5a3fa728f84de323988316dc1d13c824bc311043ef002201e69876401ed1d3a97f20644110c81501fb262c35f750da75d43432a5c0206400121025c6d86196f4aca31dac3b933a311e2f3cb18ae2ae33969dfbc6d04bbe9b7076c0247304402201fb0e765f8f829bdf11faa13cbee190651e2673904000b904f63c209dca947de02207fdb1b36374a88ac827d1ab89e23249fad5500ff17066dd36b00e280aa0beca4012103b81b3d16d0307b6e97d3fc22a81c40ad6dad35cf8682f5a2806c10045d0622bf02473044022033b62c626d6723400acff507c15a56a04d697e92f3490b56fdfd502303b79aa902202b96a63fa2acb80118b1b097e03e11eb041d254306496bdb0cff141a07649b64012103c1078823a4f64979f05120cb8d553eac60f047aa08e5eb089d710bdbd7e74850024730440220381e3c6bb76ac66c72a1db0d7be0f4e197620c5f415f2c3f176c1eaf72af867502203b4825180b0acaf3192f0232c7d9edbed80568da4746e95a869d856e3a2273710121027de0ab17abef21c4eaebcd06eb0899a2d6ea110b92df0f303aed7d7bc2cfc19e0247304402206fdb449a0c1e30eda6f894b66305f591b64f545c09eaad4e9903a8f3c6b5678c02207d4af2279aee1bedb7aa6a463d8a67653eb00ba738757deaa98057bbbad684b3012103914532812a440a4d766c71cd39193694a340ae11e012e5ba1ad9efba6e76ca530247304402205c4c11b24d0889da6a4c30113e7edae2751034209fd044ebb059180e80d21835022072ef60bfa8517569c3797afd29d6a9d134f540a02074dc9c090a19e0bb78f8c30121022ca25964cb5e0e943c05f7043ab480102ba4acf33d75779a997444582b46475002473044022074f6df76f44e4e599f4c3763b74b00ba0eeb126289d3e2840dd78d443b03167202202c9abe2e5b26c492fa519ad8ccbe3f46690a84ee68f9df3ab05b144bc97b1c22012102272a9a25f1ffed52fab04a2cc88aeab135b53723856a8f1481c26417f88a922e00000000", + "txid": "aef3f8e18d792f50a2fd284713e3aa36df4d502273e76c411214e8f3ce7819f1" + }, + { + "tx": "02000000000101fc1b129be98ba0f5e1857854b9ee541e3b634b85e359171322512f822eb324920100000000fdffffff0c22020000000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be07de0e00000000001600142af1a054bfd3863584fcfd6839155787f39bb9c6d0070000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5d0070000000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aad007000000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5d00700000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ead0070000000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdcd0070000000000002251200518e92cd94e0f62c06f126dff98b9abe79b7ed845a156d5245678e26554475dd007000000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be2459d0070000000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218cad0070000000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c61d0070000000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c80140b434a93ac7df04ea6b90b96a3535daea78285d3efc99c1015db9dbb1395b64db40850d1e5838810008696e19e9f57b8c4c36db891fe634c2c6fc9428c0b0fb0667000000", + "txid": "c185568e1c4ad7a6ce2c3e94fc2eb56c48700d4659c3f2ce1cfa279573ed6654" + }, + { + "tx": "02000000000101e7860b84f433cd7f4710a48d10b364cd8b465689b9e67563ef33b55628a5b0b40100000000fdffffff0c220200000000000022512085d72025e78fd08bb61119f0987ab0041f50561ada6e130c645343db8c44c2afd9940d000000000016001438c10854c11e10cb3786460143c963c8530df8911027000000000000225120f575185f6f81c9422c7ce90d1a9fd214f3f1dda40c2958435099e525c6204ce210270000000000002251209d68645892a57906f0a70ff7512301ae29263126d932676374b62282260396fb1027000000000000225120370bae2303e8b17792a34ee04ada86a6b2b84fd76a01143babd899c7ed9e83721027000000000000225120b6fb00602d3cb305945ef2c83df9e13fcb827b1fc183002317928d0869c3acc81027000000000000225120fdab7c01fae70c08e0b1f9acacca110a53121e75dc54a25e7542416f342aeaf7102700000000000022512064de25aa07c3350b8d66391af15cafbb8d57078090c3f4883cc4f6dcfac3a8221027000000000000225120c6066f277b6a350839cf87354e6c2410d6f71d30896f87af8fa8b673e57fc8201027000000000000225120bac23c32e23d550364e073c832330f46a7a6b941e3b36fe0334932af46d20a6f102700000000000022512052021c61da23b2eda3d5000c6d812d0c9b088c237ed2a510abd94d8c3f7c421d10270000000000002251202b5dd0613b6e534f572dbcf4311b66e6cc8bb07e285928ddb6fa5791e4737874014058ac6f42ffd8b4a4c7178dfa66dbaed78f2c3d0ab7403078721fef9bda2ab1c7ea37e3565d9f9cb323885eb9a6e74ac5ab40d910ea0b1604acac952ac10ecf703c000000", + "txid": "ded7e3e6fe7c01b081f3eee510b5248a61589c159e10cfb6f5cfd41a18a7ce2e" + }, + { + "tx": "0200000000010420935258c8fe282283e86187133cf0ef6729d57d75883499c110506c2efd0cb40100000000fdffffffb5155af31fe5fb9fdc2260c3279f5fdeee93760ba0908f5e0dcd5fdb617fad5b0000000000fdffffffaebc0fc83081b821c1037d83fe43b36e19bb4c54be589265d82ca850db6a38260100000000fdfffffff7c13029930e1e2c91616c93a1a7ba29c7b7802c2a52f9d55d71e507fa6cf6870000000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402204b03271efeea8a5059b0bbe3f72300458415a7c39e6b802811b674e58521a009022009623259ebbd03f500004e01389513daf1d3b4c176ba7810697b6ccfe802b9b30121035a79bbbb406d4bc28df05fa6a87328cfb02a7e13743becdcd1dfcfe071c2e0100247304402207175ea85f8165c59f52dc3a461843090d43e90443672b47683929d941be3243302202ef9b5c973f08180ce8ba192f8a06d7b58d044c54b16cf5922026e42cccb9e2d012103914532812a440a4d766c71cd39193694a340ae11e012e5ba1ad9efba6e76ca5302473044022057f5340e96e078316c32d26a35f5785ab63060b4946c245fa3a433d85fa38bbf02206c93be17f397ab6283d9d32b47cf01916f356ddcb9ea5cc54a17e38ea14252cd0121028a599168d3c97debc71bc66e6270ecf054f300d888309ba05471a482175dd93002473044022064cc67d73e25663577674dc665fb7d1fe0655ccbbd3c53559331e458f41170ba022073197eecf2c9ff9ae7d822b44a3efb1cc346917173eb3eabe8d2db0d2a76e07901210328cc8fc978e209f1695fa5b5655061db1aab2311b524176945bf1015ef2d4b8900000000", + "txid": "88a639ed18789b1fe56de538980ee5b5d01165e5f17ad3501fb76c296ae26532" + }, + { + "tx": "0200000000010815379fdbb1f6180241ccfe1464c78378fb035648253b8effab88ea2b5f226c260000000000fdffffff9ac706a9e962a7107bcb8c82595f465e27cedcb3b3ca91705fc2f6c65668e94d0100000000fdffffff0435715cdbf4d47b9d769dc91ba1401bfeda2aa166486f500fac3e8e73fd2b120100000000fdffffff95743bf3c99e52d4b18415f5de6c765e1c8cdc3768df442d98d5b462e1364c300100000000fdffffff0aaf8070125012731ddb03965d6afac7c21e1987eac536f904ffeee0bb559b9e0100000000fdffffff751e8bb8f793f6f9b678c51af35985eda25b3f0ee854234c4a4ce5722876e36c0100000000fdffffff7e6e4e9b83288dc9df6624e6af06f86f9072c3d7a6ae32138bf9e412a4caf4cb0100000000fdffffff25c1da59aaddc82cf470848358e0f1af920d824b0eda81c30f4ae1681c30e4210000000000fdffffff0182017a0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402202996eb833bd4f09ba7b20961b5252df545cd0919de801f9cae65824420b4f387022043cec7500c587d9fbeeaed0d60568631fd035d8594a373ad5fa3548071f722e0012102aff0d7c29c62cf946a790d9a2510e6e50beea21ea0ee4b9c3013bc8c761f0dda0247304402203fd3d1fc40c28f7c3ed6a4dd088c5bd0013fba0f7b6fdd458f96ee4ac4c6096202203116adc2b219c9ca751c4cb2ece9bd94bb6fb89f4fa4880651b1079d614cf2d7012103b81b3d16d0307b6e97d3fc22a81c40ad6dad35cf8682f5a2806c10045d0622bf024730440220582ff310731fcfcb409de5c6826bfd8dc7be7ceb1724d7efe65d28328f0dc36502207852cc419c8b893b3ebf681362eb352886650b3f43f36e47ad89c9861a3071c30121029fc1cd01f2d2770b8281e2babc1a4c245edd37bb72d12e20723a69df4f5f01f602473044022017b6e8c35cb0a6e50ca60fb5d2a71e576cf3e6d64656af37b7de4b6512debdda0220328e2a16c938a33d985c507e97fdf0b17bbd6668c58f83605f0d0f0a98b964df012103285f5ceed02c10166dd3630774cdfd85e02bcd935e505f7563af5329542a3a7902473044022024667b741891bd2e9c3676f37d56426d21f0cc259e43abb3ae1159766d4df6890220204cdaf3281adb79df345feba2535536acf60d2ef3c228361b15cd02d72bfe8f012103f36cf9cf72147bd98004dffdcbc38fe45f540a6abef0eb49a8855a05ddb6f4da02463043021f458a9eed262ed3e0d77e13eb83aef8f9bdc5341263539f2a3c358bf3a3379c02201384c3e2126f78e0063a8f8c097c4e091d34497ed6aca7e7b45157d7150653ff0121032e799a162a4d7880576788ad787536b7eed3e792727b64e1ea344167a7b86e5202473044022005bf110ab462331699f7037a72c7c44c5a2359ff3cbd88d0a176a29fe3c5547b022026df88fb9b789020380872814a8e7af7631f2ab33cc3d58fdd53c79bd500964d012102b9c0c6844e12a531c968e55c55078ec16d9bf76be9290fd87d1cca72b4839a170247304402206f740d2afe7c63685a10ab80b6c91b75adf0f24d31662a69ae4c2d6470034a1302203daec2c4aaa5618d5eb010d7f3ce9b9d684f78f6e2e556a5a00e313f15280a34012103fa9c95085e42b1e5003cd1f418178c30c96e4ae77954ca0fc48c58826ff4eb0e00000000", + "txid": "418c075c624806a8d4b1a2e734025fcb60856aeba4fa9b42e0497d5c11d36f2d" + }, + { + "tx": "020000000001049e7e3b19aea95afda70afca14f2a7dab072c0d0b9fa4fd8f453936c9a2e666750000000000fdffffff91ff4af097bc35bb6fca9be790830b833e8e067ad47fdef2b667006697a7e67e0100000000fdffffff03c27f3a70be72e1fbf59eb0666cf07408e104368f1dabe1df2be1af8a1d0d740000000000fdffffff8a8ef0fda465cf3e3dafefc60329078fd98abb75f1e7a91b7756d2e455cd53710100000000fdffffff01c1003d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a810247304402205feb28ac50ad5bcfd41d776a8d7965f108b7b65074e67acf6a0673295df169c0022001ff893ff0ab0fad587d63912f89e4c356c30417fb4a84c2c8f5b508e9dda052012102bd923fcc9e6033020a456870be1a0e352a73b84fa13229fee4bbcc07fba2493a0247304402204197828f030aea61f102274746266192a44909ad32f9c50e64a67eb3af7a6f8602202a8ef5105ebdc442b5d10e390b369742f7800aaa3b276bc85757bff2304d74860121027de0ab17abef21c4eaebcd06eb0899a2d6ea110b92df0f303aed7d7bc2cfc19e02473044022006aa8c55df630987d1309a6dd543a8c6759243426c17ef248897c6257a38f12302200dcc1bf72585cad088df27bacec3c4db23372cf5a311bdfcc596f7b1556f419601210207ec2b35534712d86ae030dd9bfaec08e2ddea1ec1cecffb9725ed7acb12ab66024730440220597f9b7f035a120f1b0ef9cdf89375a5c7cdee81621e9c74f7c617bd382a6aff02201d5abb31f39eac12f938daef8a431fa089b33f8ff972e6522b7bb0e78da59d8c012102397b0449a60d9d35634401bceaf3beb6118fc229b8552bd7122f735808b28aee00000000", + "txid": "1b2be7dbb24b76509ee96ee991c0f7d55dd4babfaaed9a4992acae970faf4fe5" + } + ], + "author": [ + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." + ], + "see_also": [ + "lightning-fundpsbt(7)", + "lightning-signpsbt(7)", + "lightning-listtransactions(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-setchannel.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "setchannel", + "title": "Command for configuring fees / htlc range advertized for a channel", + "description": [ + "The **setchannel** RPC command sets channel specific routing fees, and `htlc_minimum_msat` or `htlc_maximum_msat` as defined in BOLT #7. The channel has to be in normal or awaiting state. This can be checked by **listpeers** reporting a *state* of CHANNELD_NORMAL or CHANNELD_AWAITING_LOCKIN for the channel.", + "", + "These changes (for a public channel) will be broadcast to the rest of the network (though many nodes limit the rate of such changes they will accept: we allow 2 a day, with a few extra occasionally)." + ], + "request": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": [ + "Should contain a scid (short channel ID), channel id or peerid (pubkey) of the channel to be modified. If *id* is set to `all`, the updates are applied to all channels in states CHANNELD_NORMAL CHANNELD_AWAITING_LOCKIN or DUALOPEND_AWAITING_LOCKIN. If *id* is a peerid, all channels with the +peer in those states are changed." + ] + }, + "feebase": { + "type": "msat", + "description": [ + "Value in millisatoshi that is added as base fee to any routed payment: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*." + ] + }, + "feeppm": { + "type": "u32", + "description": [ + "Value that is added proportionally per-millionths to any routed payment volume in satoshi. For example, if ppm is 1,000 and 1,000,000 satoshi is being routed through the channel, an proportional fee of 1,000 satoshi is added, resulting in a 0.1% fee." + ] + }, + "htlcmin": { + "type": "msat", + "description": [ + "Value that limits how small an HTLC we will forward: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that the peer also enforces a minimum for the channel: setting it below that will simply set it to that value with a warning. Also note that *htlcmin* only applies to forwarded HTLCs: we can still send smaller payments ourselves." + ], + "default": "no lower limit" + }, + "htlcmax": { + "type": "msat", + "description": [ + "Value that limits how large an HTLC we will forward: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that *htlcmax* only applies to forwarded HTLCs: we can still send larger payments ourselves." + ], + "default": "no effective limit" + }, + "enforcedelay": { + "type": "u32", + "description": [ + "Number of seconds to delay before enforcing the new fees/htlc max. This gives the network a chance to catch up with the new rates and avoids rejecting HTLCs before they do. This only has an effect if rates are increased (we always allow users to overpay fees) or *htlcmax* is decreased, and only applied to a single rate increase per channel (we don't remember an arbitrary number of prior feerates) and if the node is restarted the updated configuration is enforced immediately." + ], + "default": "600, which is ten minutes" + }, + "ignorefeelimits": { + "added": "v23.08", + "type": "boolean", + "description": [ + "If set to True means to allow the peer to set the commitment transaction fees (or closing transaction fees) to any value they want. This is dangerous: they could set an exorbitant fee (so HTLCs are unenforcable), or a tiny fee (so that commitment transactions cannot be relayed), but avoids channel breakage in case of feerate disagreements. (Note: the global `ignore_fee_limits` setting overrides this)." + ] + } + } + }, + "response": { + "required": [ + "channels" + ], + "properties": { + "channels": { + "type": "array", + "description": [ + "Channel(s) set, and their resulting configuration." + ], + "items": { "type": "object", "additionalProperties": false, "required": [ - "value_int", - "source" + "peer_id", + "channel_id", + "fee_base_msat", + "fee_proportional_millionths", + "minimum_htlc_out_msat", + "maximum_htlc_out_msat", + "ignore_fee_limits" ], "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" + "peer_id": { + "type": "pubkey", + "description": [ + "The node_id of the peer." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "fee-base": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" + "channel_id": { + "type": "hash", + "description": [ + "The channel_id of the channel." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "rescan": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "integer", - "description": "field from config or cmdline, or default" + "short_channel_id": { + "type": "short_channel_id", + "description": [ + "The short_channel_id (if locked in)." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "fee-per-satoshi": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" + "fee_base_msat": { + "type": "msat", + "description": [ + "The resulting feebase (this is the BOLT #7 name)." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "max-concurrent-htlcs": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { + "fee_proportional_millionths": { "type": "u32", - "description": "field from config or cmdline, or default" + "description": [ + "The resulting feeppm (this is the BOLT #7 name)." + ] }, - "source": { + "ignore_fee_limits": { + "type": "boolean", + "added": "v23.08", + "description": [ + "If we are now allowing peer to set feerate on commitment transaction without restriction." + ] + }, + "minimum_htlc_out_msat": { + "type": "msat", + "description": [ + "The resulting htlcmin we will advertize (the BOLT #7 name is htlc_minimum_msat)." + ] + }, + "warning_htlcmin_too_low": { "type": "string", - "description": "source of configuration setting" - } - } - }, - "htlc-minimum-msat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_msat", - "source" - ], - "properties": { - "value_msat": { + "description": [ + "The requested htlcmin was too low for this peer, so we set it to the minimum they will allow." + ] + }, + "maximum_htlc_out_msat": { "type": "msat", - "description": "field from config or cmdline, or default" + "description": [ + "The resulting htlcmax we will advertize (the BOLT #7 name is htlc_maximum_msat)." + ] }, - "source": { + "warning_htlcmax_too_high": { "type": "string", - "description": "source of configuration setting" + "description": [ + "The requested htlcmax was greater than the channel capacity, so we set it to the channel capacity." + ] } } - }, - "htlc-maximum-msat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_msat", - "source" - ], - "properties": { - "value_msat": { - "type": "msat", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } + } + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Channel is in incorrect state, i.e. Catchall nonspecific error.", + "- -32602: JSONRPC2_INVALID_PARAMS, i.e. Given id is not a channel ID or short channel ID." + ], + "example_json_request": [ + { + "id": "example:setchannel#1", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": true + } + }, + { + "id": "example:setchannel#2", + "method": "setchannel", + "params": { + "id": "111x1x1", + "feebase": 123, + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#3", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": true + } + }, + { + "id": "example:setchannel#4", + "method": "setchannel", + "params": { + "id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "feebase": 4000, + "feeppm": 300, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": 0, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#5", + "method": "setchannel", + "params": { + "id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "feebase": 3000, + "feeppm": 350, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": 0, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#6", + "method": "setchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "feebase": 20, + "feeppm": 1000, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#7", + "method": "setchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "feebase": 21, + "feeppm": 1001, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#8", + "method": "setchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "feebase": 20, + "feeppm": 1000, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#9", + "method": "setchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "feebase": 21, + "feeppm": 1001, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#10", + "method": "setchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "feebase": 20, + "feeppm": 1000, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#11", + "method": "setchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "feebase": 21, + "feeppm": 1001, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#12", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": true + } + }, + { + "id": "example:setchannel#13", + "method": "setchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "feebase": 1337, + "feeppm": 137, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": 0, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#14", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": 1337, + "feeppm": 137, + "htlcmin": 17, + "htlcmax": 133337, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#15", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": 42, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#16", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": 43, + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#17", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": null, + "htlcmin": 45, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#18", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": null, + "feeppm": null, + "htlcmin": null, + "htlcmax": 43333, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#19", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": 0, + "feeppm": 0, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#20", + "method": "setchannel", + "params": { + "id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "feebase": 142, + "feeppm": 143, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#21", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": "1sat", + "feeppm": null, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#22", + "method": "setchannel", + "params": { + "id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "feebase": 42, + "feeppm": 0, + "htlcmin": null, + "htlcmax": null, + "enforcedelay": null, + "ignorefeelimits": null + } + }, + { + "id": "example:setchannel#23", + "method": "setchannel", + "params": { + "id": "103x1x0", + "feebase": 1337, + "feeppm": 137, + "htlcmin": 17, + "htlcmax": 4000000, + "enforcedelay": 0, + "ignorefeelimits": null + } + } + ], + "example_json_response": [ + { + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel_id": "90210d39d12a65d239ece267c5f48e0a82e7cb95724e658f6d99f370064faad1", + "short_channel_id": "103x1x0", + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": true + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "b463b157cd75008e103efe4f75c7d1f2f1df789689d465a49525c67f8349d43c", + "short_channel_id": "111x1x1", + "fee_base_msat": 123, + "fee_proportional_millionths": 10, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel_id": "4f78afe243774f761675839a57da858f1b6ed3bf31a57fe2cf54b121480d17a2", + "short_channel_id": "103x1x0", + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": true + } + ] + }, + { + "channels": [ + { + "peer_id": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "channel_id": "9c54c71bbbe59591cc3162e14fc4ff58c146f085c07d0f206ea679a8231d03ab", + "short_channel_id": "103x3x0", + "fee_base_msat": 4000, + "fee_proportional_millionths": 300, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "channel_id": "6988b765fa506f4f8b97051b948444fb69cfad090b89c711e50b7e51cec03ae3", + "short_channel_id": "103x2x0", + "fee_base_msat": 3000, + "fee_proportional_millionths": 350, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "2e4015b00117f84267aa1301eb77fdda8a896a1469ca7f9c7c716e5fb368b76c", + "short_channel_id": "103x2x0", + "fee_base_msat": 20, + "fee_proportional_millionths": 1000, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "2e4015b00117f84267aa1301eb77fdda8a896a1469ca7f9c7c716e5fb368b76c", + "short_channel_id": "103x2x0", + "fee_base_msat": 21, + "fee_proportional_millionths": 1001, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "e9c2727dd1f4b84e999fd252883b529ebd08c221bd58a2a31604ffa014171f43", + "short_channel_id": "103x2x0", + "fee_base_msat": 20, + "fee_proportional_millionths": 1000, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "e9c2727dd1f4b84e999fd252883b529ebd08c221bd58a2a31604ffa014171f43", + "short_channel_id": "103x2x0", + "fee_base_msat": 21, + "fee_proportional_millionths": 1001, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "92876225f42ffed7fae1e672fa9ae904b9a6361a83bc5ff8d5b4cf7a81b8f7e7", + "short_channel_id": "103x2x0", + "fee_base_msat": 20, + "fee_proportional_millionths": 1000, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "92876225f42ffed7fae1e672fa9ae904b9a6361a83bc5ff8d5b4cf7a81b8f7e7", + "short_channel_id": "103x2x0", + "fee_base_msat": 21, + "fee_proportional_millionths": 1001, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "channel_id": "bfa3f57e255341313710c051561b69336a397d8a2fa3055fd92e0c114d21aa6e", + "short_channel_id": "103x1x0", + "fee_base_msat": 1, + "fee_proportional_millionths": 10, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": true + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "1e4a21e1c7aa17eb0ea2022595ac2c1971e378f9fc4f844f6c315a5fa04ea254", + "short_channel_id": "103x1x0", + "fee_base_msat": 1337, + "fee_proportional_millionths": 137, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 1337, + "fee_proportional_millionths": 137, + "minimum_htlc_out_msat": 17, + "maximum_htlc_out_msat": 133337, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 1337, + "fee_proportional_millionths": 42, + "minimum_htlc_out_msat": 17, + "maximum_htlc_out_msat": 133337, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 43, + "fee_proportional_millionths": 42, + "minimum_htlc_out_msat": 17, + "maximum_htlc_out_msat": 133337, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 43, + "fee_proportional_millionths": 42, + "minimum_htlc_out_msat": 45, + "maximum_htlc_out_msat": 133337, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 43, + "fee_proportional_millionths": 42, + "minimum_htlc_out_msat": 45, + "maximum_htlc_out_msat": 43333, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 0, + "fee_proportional_millionths": 0, + "minimum_htlc_out_msat": 45, + "maximum_htlc_out_msat": 43333, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 142, + "fee_proportional_millionths": 143, + "minimum_htlc_out_msat": 45, + "maximum_htlc_out_msat": 43333, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "channel_id": "40d271fdd029babdbf8f292656749d3dda62d751afbb775463069626f415a175", + "short_channel_id": "103x1x0", + "fee_base_msat": 1000, + "fee_proportional_millionths": 143, + "minimum_htlc_out_msat": 45, + "maximum_htlc_out_msat": 43333, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "634463d08ba690754b60ac50c1bf051ba272082e9330c221631a69a8d4a47607", + "fee_base_msat": 42, + "fee_proportional_millionths": 0, + "minimum_htlc_out_msat": 0, + "maximum_htlc_out_msat": 990000000, + "ignore_fee_limits": false + } + ] + }, + { + "channels": [ + { + "peer_id": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "channel_id": "1234ba12bf1730ddbf9efddcea1cc02e6d21b7e1ea2533da141ce8cd86e3e0f7", + "short_channel_id": "103x1x0", + "fee_base_msat": 1337, + "fee_proportional_millionths": 137, + "minimum_htlc_out_msat": 17, + "maximum_htlc_out_msat": 4000000, + "ignore_fee_limits": false + } + ] + } + ], + "author": [ + "Michael Schmoock <> is the author of this feature." + ], + "see_also": [ + "lightningd-config(5)", + "lightning-fundchannel(7)", + "lightning-listchannels(7)", + "lightning-listpeers(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-setconfig.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "setconfig", + "title": "Dynamically change some config options", + "description": [ + "The **setconfig** RPC command allows you set the (dynamic) configuration option named by `config`: options which take a value (as separate from simple flag options) also need a `val` parameter.", + "", + "This new value will *also* be written at the end of the config file, for persistence across restarts (and any old value commented out).", + "", + "You can see what options are dynamically adjustable using lightning- listconfigs(7). Note that you can also adjust existing options for stopped plugins; they will have an effect when the plugin is restarted." + ], + "request": { + "required": [ + "config" + ], + "properties": { + "config": { + "type": "string", + "description": [ + "Name of the config variable which should be set to the value of the variable." + ] + }, + "val": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "boolean" + } + ], + "description": [ + "Value of the config variable to be set or updated." + ] + } + } + }, + "response": { + "required": [ + "config" + ], + "properties": { + "config": { + "type": "object", + "description": [ + "Config settings after completion." + ], + "additionalProperties": false, + "required": [ + "config", + "source", + "dynamic" + ], + "properties": { + "config": { + "type": "string", + "description": [ + "Name of the config variable which was set." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting (`file`:`linenum`)." + ] + }, + "plugin": { + "type": "string", + "description": [ + "The plugin this configuration setting is for." + ] + }, + "dynamic": { + "type": "boolean", + "enum": [ + true + ], + "description": [ + "Whether this option is settable via setconfig." + ] + }, + "set": { + "type": "boolean", + "description": [ + "For simple flag options." + ] + }, + "value_str": { + "type": "string", + "description": [ + "For string options." + ] + }, + "value_msat": { + "type": "msat", + "description": [ + "For msat options." + ] + }, + "value_int": { + "type": "integer", + "description": [ + "For integer options." + ] + }, + "value_bool": { + "type": "boolean", + "description": [ + "For boolean options." + ] } - }, - "max-dust-htlc-exposure-msat": { + } + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- -32602: JSONRPC2_INVALID_PARAMS, i.e. the parameter is not dynamic, or the val was invalid." + ], + "example_json_request": [ + { + "id": "example:setconfig#1", + "method": "setconfig", + "params": [ + "autoclean-expiredinvoices-age", + 2 + ] + }, + { + "id": "example:setconfig#2", + "method": "setconfig", + "params": [ + "autoclean-cycle", + 10 + ] + }, + { + "id": "example:setconfig#3", + "method": "setconfig", + "params": [ + "autoclean-expiredinvoices-age", + 2 + ] + }, + { + "id": "example:setconfig#4", + "method": "setconfig", + "params": [ + "autoclean-cycle", + 10 + ] + }, + { + "id": "example:setconfig#5", + "method": "setconfig", + "params": [ + "autoclean-expiredinvoices-age", + 0 + ] + }, + { + "id": "example:setconfig#6", + "method": "setconfig", + "params": [ + "autoclean-expiredinvoices-age", + 2 + ] + }, + { + "id": "example:setconfig#7", + "method": "setconfig", + "params": [ + "autoclean-paidinvoices-age", + 1 + ] + }, + { + "id": "example:setconfig#8", + "method": "setconfig", + "params": [ + "autoclean-failedpays-age", + 1 + ] + }, + { + "id": "example:setconfig#9", + "method": "setconfig", + "params": [ + "autoclean-cycle", + 5 + ] + }, + { + "id": "example:setconfig#10", + "method": "setconfig", + "params": [ + "autoclean-succeededpays-age", + 2 + ] + }, + { + "id": "example:setconfig#11", + "method": "setconfig", + "params": [ + "autoclean-cycle", + 5 + ] + }, + { + "id": "example:setconfig#12", + "method": "setconfig", + "params": [ + "autoclean-failedforwards-age", + 2 + ] + }, + { + "id": "example:setconfig#13", + "method": "setconfig", + "params": [ + "autoclean-succeededforwards-age", + 2 + ] + }, + { + "id": "example:setconfig#14", + "method": "setconfig", + "params": [ + "test-dynamic-config", + "changed" + ] + }, + { + "id": "example:setconfig#15", + "method": "setconfig", + "params": { + "config": "min-capacity-sat", + "val": 500000 + } + }, + { + "id": "example:setconfig#16", + "method": "setconfig", + "params": { + "config": "min-capacity-sat", + "val": 400000 + } + }, + { + "id": "example:setconfig#17", + "method": "setconfig", + "params": { + "config": "min-capacity-sat", + "val": 400000 + } + } + ], + "example_json_response": [ + { + "config": { + "config": "autoclean-expiredinvoices-age", + "value_int": 2, + "source": "/tmp/ltests-9fwwgjc_/test_autoclean_1/lightning-3/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-cycle", + "value_int": 10, + "source": "/tmp/ltests-9fwwgjc_/test_autoclean_1/lightning-3/regtest/config:4", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-expiredinvoices-age", + "value_int": 2, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-cycle", + "value_int": 10, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:4", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-expiredinvoices-age", + "value_int": 0, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-expiredinvoices-age", + "value_int": 2, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-paidinvoices-age", + "value_int": 1, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-3/regtest/config:6", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-failedpays-age", + "value_int": 1, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-cycle", + "value_int": 5, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:4", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-succeededpays-age", + "value_int": 2, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-1/regtest/config:6", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-cycle", + "value_int": 5, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-failedforwards-age", + "value_int": 2, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:4", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "autoclean-succeededforwards-age", + "value_int": 2, + "source": "/tmp/ltests-7u_8_rtu/test_autoclean_1/lightning-2/regtest/config:6", + "plugin": "/home/shahana/workspace/lightning/plugins/autoclean", + "dynamic": true + } + }, + { + "config": { + "config": "test-dynamic-config", + "value_str": "changed", + "source": "/tmp/ltests-7u_8_rtu/test_dynamic_option_python_plugin_1/lightning-1/regtest/config:2", + "plugin": "/home/shahana/workspace/lightning/tests/plugins/dynamic_option.py", + "dynamic": true + } + }, + { + "config": { + "config": "min-capacity-sat", + "value_int": 500000, + "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:2", + "dynamic": true + } + }, + { + "config": { + "config": "min-capacity-sat", + "value_int": 400000, + "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:2", + "dynamic": true + } + }, + { + "config": { + "config": "min-capacity-sat", + "value_int": 400000, + "source": "/tmp/ltests-nvfdbou2/test_setconfig_1/lightning-2/regtest/config:3", + "dynamic": true + } + } + ], + "author": [ + "Rusty Russell <> is mainly responsible for this feature." + ], + "see_also": [ + "lightningd-config(5)", + "lightning-listconfigs(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-setpsbtversion.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "setpsbtversion", + "title": "Command for setting PSBT version", + "description": [ + "The **setpsbtversion** RPC command converts the provided PSBT to the given version, and returns the base64 result of the conversion. Returns an error if version is invalid." + ], + "request": { + "required": [ + "psbt", + "version" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The PSBT to change versions." + ] + }, + "version": { + "type": "u32", + "description": [ + "The version to set." + ] + } + } + }, + "response": { + "required": [ + "psbt" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "A converted PSBT of the requested version." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:setpsbtversion#1", + "method": "setpsbtversion", + "params": { + "psbt": "cHNidP8BAAoCAAAAAAAAAAAAAA==", + "version": "2" + } + }, + { + "id": "example:setpsbtversion#2", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", + 0 + ] + }, + { + "id": "example:setpsbtversion#3", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQECAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=", + 0 + ] + }, + { + "id": "example:setpsbtversion#4", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAA==", + 0 + ] + }, + { + "id": "example:setpsbtversion#5", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQECAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=", + 0 + ] + }, + { + "id": "example:setpsbtversion#6", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQABBQEDAQYBAwH7BAIAAAAAAQMIQEIPAAAAAAABBCJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4uAAEDCNXcMgAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgABAwjV3DIAAAAAAAEEIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YA", + 0 + ] + }, + { + "id": "example:setpsbtversion#7", + "method": "setpsbtversion", + "params": [ + "cHNidP8BADMCAAAAAXuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQAAAAD9////AGYAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + 2 + ] + }, + { + "id": "example:setpsbtversion#8", + "method": "setpsbtversion", + "params": [ + "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEAAQYBAwH7BAIAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIHuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQ8EAQAAAAEQBP3///8A", + 0 + ] + } + ], + "errors": [ + "The following error codes may occur:", + "", + "- -32602: Parameter missed or malformed." + ], + "example_json_response": [ + { + "psbt": "cHNidP8BAgQCAAAAAQQBAAEFAQABBgEDAfsEAgAAAAA=" + }, + { + "psbt": "cHNidP8BADUCAAAAAAFAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4ubwAAAAAA" + }, + { + "psbt": "cHNidP8BAGACAAAAAAJAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/Wm8AAAAAAAA=" + }, + { + "psbt": "cHNidP8BADUCAAAAAAFAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4ubwAAAAAA" + }, + { + "psbt": "cHNidP8BAGACAAAAAAJAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/Wm8AAAAAAAA=" + }, + { + "psbt": "cHNidP8BAIsCAAAAAANAQg8AAAAAACJRIJd6ICNAQALFOMhoUHuSVSuzcaUdkDKlk4K+A+DR9+4u1dwyAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WtXcMgAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZvAAAAAAAAAA==" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQEAAQYBAwH7BAIAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIHuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQ8EAQAAAAEQBP3///8A" + }, + { + "psbt": "cHNidP8BADMCAAAAAXuy2kyGhwDq4JV2TB9LBtlCWJGcCouEooqQyHAtALOkAQAAAAD9////AGYAAAAAAQDeAgAAAAABAdob/GGaEELgfQb4XwbGol0Udw3bs1vFtgTiwgf6KE5nAAAAAAD9////AnMQECQBAAAAFgAUko8SZRb/R7kVBfw4x0lL11mgJoAA4fUFAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgFb1/GPFx2JntbKp+c4lKh2ev8gmo+ZGYQ0G8LU8CuCACIBT0POj6pHHJ39YCwFsvfcpyFPZ1dvwz/VypFA8uxqaWASECvBYCGfoOfteoVQj+GYMZZ7QpJIQTf5CA7ogr6E8VuCBlAAAAAQEfAOH1BQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=" + } + ], + "author": [ + "Gregory Sanders <> is mainly responsible." + ], + "see_also": [ + "lightning-fundpsbt(7)", + "lightning-utxopsbt(7)", + "lightning-signpsbt(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-showrunes.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "showrunes", + "title": "Command to list previously generated runes", + "description": [ + "The **showrunes** RPC command either lists runes that we stored as we generate them (see lightning-createrune(7)) or decodes the rune given on the command line." + ], + "request": { + "required": [], + "properties": { + "rune": { + "type": "string", + "description": [ + "If specified, only details of that rune will be returned." + ] + } + } + }, + "response": { + "required": [ + "runes" + ], + "properties": { + "runes": { + "type": "array", + "items": { "type": "object", "additionalProperties": false, "required": [ - "value_msat", - "source" + "rune", + "unique_id", + "restrictions", + "restrictions_as_english" ], "properties": { - "value_msat": { - "type": "msat", - "description": "field from config or cmdline, or default" - }, - "source": { + "rune": { "type": "string", - "description": "source of configuration setting" - } - } - }, - "min-capacity-sat": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" - ], - "properties": { - "value_int": { - "type": "u64", - "description": "field from config or cmdline, or default" + "description": [ + "Base64 encoded rune." + ] }, - "source": { + "unique_id": { "type": "string", - "description": "source of configuration setting" - }, - "dynamic": { - "type": "boolean", - "enum": [ - true - ], - "description": "Can this be set by setconfig()" - } - } - }, - "addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } - } - } - }, - "announce-addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } - } - } - }, - "bind-addr": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" - ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } + "description": [ + "Unique id assigned when the rune was generated; this is always a u64 for commando runes." + ] }, - "sources": { + "restrictions": { "type": "array", + "description": [ + "The restrictions on what commands this rune can authorize." + ], "items": { - "type": "string", - "description": "source of configuration setting" - } - } - } - }, - "offline": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" + "type": "object", + "additionalProperties": false, + "required": [ + "alternatives", + "english" + ], + "properties": { + "alternatives": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "fieldname", + "value", + "condition", + "english" + ], + "properties": { + "fieldname": { + "type": "string", + "description": [ + "The field this restriction applies to; see commando-rune(7)." + ] + }, + "value": { + "type": "string", + "description": [ + "The value accepted for this field." + ] + }, + "condition": { + "type": "string", + "description": [ + "The way to compare fieldname and value." + ] + }, + "english": { + "type": "string", + "description": [ + "English readable description of this alternative." + ] + } + } + } + }, + "english": { + "type": "string", + "description": [ + "English readable summary of alternatives above." + ] + } + } + } }, - "source": { + "restrictions_as_english": { "type": "string", - "description": "source of configuration setting" - } - } - }, - "autolisten": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" - ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" + "description": [ + "English readable description of the restrictions array above." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "proxy": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" - ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" + "stored": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } - }, - "disable-dns": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" - ], - "properties": { - "set": { + "blacklisted": { "type": "boolean", - "description": "`true` if set in config or cmdline" + "enum": [ + true + ], + "description": [ + "The rune has been blacklisted; see commando-blacklist(7)." + ] }, - "source": { - "type": "string", - "description": "source of configuration setting" + "last_used": { + "type": "number", + "description": [ + "The last time this rune was successfully used." + ], + "added": "23.11" + }, + "our_rune": { + "type": "boolean", + "enum": [ + false + ], + "description": [ + "This is not a rune for this node (only possible when `rune` is specified)." + ] } } - }, - "announce-addr-discovered": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" + } + } + } + }, + "example_json_request": [ + { + "id": "example:showrunes#1", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#2", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#3", + "method": "showrunes", + "params": "{}" + }, + { + "id": "example:showrunes#4", + "method": "showrunes", + "params": "{}" + }, + { + "id": "example:showrunes#5", + "method": "showrunes", + "params": "{}" + }, + { + "id": "example:showrunes#6", + "method": "showrunes", + "params": { + "rune": "lI6iPwM1R9OkcRW25SH0a06PscPDinTfLFAjzSGFGE09OQ==" + } + }, + { + "id": "example:showrunes#7", + "method": "showrunes", + "params": { + "rune": "oNJAqigqDrHBGzsm7gV3z87oGpzq-KqFlOxx2O9iEQk9MA==" + } + }, + { + "id": "example:showrunes#8", + "method": "showrunes", + "params": { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + } + }, + { + "id": "example:showrunes#9", + "method": "showrunes", + "params": { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + } + }, + { + "id": "example:showrunes#10", + "method": "showrunes", + "params": { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==" + } + }, + { + "id": "example:showrunes#11", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#12", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#13", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#14", + "method": "showrunes", + "params": { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=" + } + }, + { + "id": "example:showrunes#15", + "method": "showrunes", + "params": { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + } + }, + { + "id": "example:showrunes#16", + "method": "showrunes", + "params": { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + } + }, + { + "id": "example:showrunes#17", + "method": "showrunes", + "params": { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + } + }, + { + "id": "example:showrunes#18", + "method": "showrunes", + "params": { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=" + } + }, + { + "id": "example:showrunes#19", + "method": "showrunes", + "params": { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + } + }, + { + "id": "example:showrunes#20", + "method": "showrunes", + "params": { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + } + }, + { + "id": "example:showrunes#21", + "method": "showrunes", + "params": { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + } + }, + { + "id": "example:showrunes#22", + "method": "showrunes", + "params": { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=" + } + }, + { + "id": "example:showrunes#23", + "method": "showrunes", + "params": { + "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==" + } + } + ], + "example_json_response": [ + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } + ], + "english": "per equal to 1000000000nsec" + } ], - "properties": { - "value_str": { - "type": "string", - "enum": [ - "true", - "false", - "auto" + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "last_used": 1706297277.7276134, + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } ], - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "english": "per equal to 1000000000nsec" } - } + ], + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] + }, + { + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] + }, + { + "runes": [ + { + "rune": "OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==", + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" }, - "announce-addr-discovered-port": { - "added": "v23.02", - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" + { + "rune": "geZmO6U7yqpHn-moaX93FVMVWrDRfSNY4AXx9ypLcqg9MQ==", + "unique_id": "1", + "restrictions": [], + "restrictions_as_english": "" + } + ] + }, + { + "runes": [ + { + "rune": "lI6iPwM1R9OkcRW25SH0a06PscPDinTfLFAjzSGFGE09OQ==", + "stored": false, + "unique_id": "9", + "restrictions": [], + "restrictions_as_english": "" + } + ] + }, + { + "runes": [ + { + "rune": "oNJAqigqDrHBGzsm7gV3z87oGpzq-KqFlOxx2O9iEQk9MA==", + "stored": false, + "our_rune": false, + "unique_id": "0", + "restrictions": [], + "restrictions_as_english": "" + } + ] + }, + { + "runes": [ + { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "method", + "value": "getinfo", + "condition": "=", + "english": "method equal to getinfo" + } + ], + "english": "method equal to getinfo" + } ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "method equal to getinfo" + } + ] + }, + { + "runes": [ + { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "method", + "value": "getinfo", + "condition": "=", + "english": "method equal to getinfo" + } + ], + "english": "method equal to getinfo" } - } - }, - "encrypted-hsm": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "method equal to getinfo" + } + ] + }, + { + "runes": [ + { + "rune": "_SoWTTZDZFTmUyVOkShRvku7hK7GHen2agVFhvgm2e89MiZtZXRob2Q9Z2V0aW5mbw==", + "last_used": 1708630994.1033866, + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "method", + "value": "getinfo", + "condition": "=", + "english": "method equal to getinfo" + } + ], + "english": "method equal to getinfo" } - } - }, - "rpc-file-mode": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "method equal to getinfo" + } + ] + }, + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } + ], + "english": "per equal to 1000000000nsec" } - } - }, - "log-level": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "last_used": 1708631736.8291712, + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } + ], + "english": "per equal to 1000000000nsec" } - } - }, - "log-prefix": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "last_used": 1708631736.8291712, + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } + ], + "english": "per equal to 1000000000nsec" } - } - }, - "log-file": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "Bl0V_vkVkGr4h356JbCMCcoDyyKE8djkoQ2156iPB509MCZwZXI9MTAwMDAwMDAwMG5zZWM=", + "last_used": 1708631738.8525143, + "unique_id": "0", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000000000nsec", + "condition": "=", + "english": "per equal to 1000000000nsec" + } + ], + "english": "per equal to 1000000000nsec" } - } - }, - "log-timestamps": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000000000nsec" + } + ] + }, + { + "runes": [ + { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "unique_id": "1", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "2000000usec", + "condition": "=", + "english": "per equal to 2000000usec" + } + ], + "english": "per equal to 2000000usec" } - } - }, - "force-feerates": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 2000000usec" + } + ] + }, + { + "runes": [ + { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "last_used": 1708631738.9107368, + "unique_id": "1", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "2000000usec", + "condition": "=", + "english": "per equal to 2000000usec" + } + ], + "english": "per equal to 2000000usec" } - } - }, - "subdaemon": { - "type": "object", - "additionalProperties": false, - "required": [ - "values_str", - "sources" ], - "properties": { - "values_str": { - "type": "array", - "items": { - "type": "string", - "description": "field from config or cmdline" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string", - "description": "source of configuration setting" - } + "restrictions_as_english": "per equal to 2000000usec" + } + ] + }, + { + "runes": [ + { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "last_used": 1708631738.9107368, + "unique_id": "1", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "2000000usec", + "condition": "=", + "english": "per equal to 2000000usec" + } + ], + "english": "per equal to 2000000usec" } - } - }, - "fetchinvoice-noconnect": { - "type": "object", - "additionalProperties": false, - "required": [ - "set", - "source" ], - "properties": { - "set": { - "type": "boolean", - "description": "`true` if set in config or cmdline" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 2000000usec" + } + ] + }, + { + "runes": [ + { + "rune": "i8H9Rk5iDvXdiNgRUbeWqKUdMH2x0h58-1LqE1jthio9MSZwZXI9MjAwMDAwMHVzZWM=", + "last_used": 1708631741.9628165, + "unique_id": "1", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "2000000usec", + "condition": "=", + "english": "per equal to 2000000usec" + } + ], + "english": "per equal to 2000000usec" } - } - }, - "accept-htlc-tlv-types": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 2000000usec" + } + ] + }, + { + "runes": [ + { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000msec", + "condition": "=", + "english": "per equal to 1000msec" + } + ], + "english": "per equal to 1000msec" } - } - }, - "tor-service-password": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_str", - "source" ], - "properties": { - "value_str": { - "type": "string", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000msec" + } + ] + }, + { + "runes": [ + { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "last_used": 1708631742.041398, + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000msec", + "condition": "=", + "english": "per equal to 1000msec" + } + ], + "english": "per equal to 1000msec" } - } - }, - "announce-addr-dns": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000msec" + } + ] + }, + { + "runes": [ + { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "last_used": 1708631742.041398, + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000msec", + "condition": "=", + "english": "per equal to 1000msec" + } + ], + "english": "per equal to 1000msec" } - } - }, - "require-confirmed-inputs": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_bool", - "source" ], - "properties": { - "value_bool": { - "type": "boolean", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000msec" + } + ] + }, + { + "runes": [ + { + "rune": "EzVpQwjYe2aoNQiRa4_s7FJtomD3kWzx7lusMpzA59w9MiZwZXI9MTAwMG1zZWM=", + "last_used": 1708631744.0758824, + "unique_id": "2", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "1000msec", + "condition": "=", + "english": "per equal to 1000msec" + } + ], + "english": "per equal to 1000msec" } - } - }, - "commit-fee": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" ], - "properties": { - "value_int": { - "type": "u64", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" + "restrictions_as_english": "per equal to 1000msec" + } + ] + }, + { + "runes": [ + { + "rune": "dBbGI4T85cF4eSHvuQF_kW8bXgSDJY8Wr9cTsPGRCqg9MyZwZXI9MnNlYw==", + "unique_id": "3", + "restrictions": [ + { + "alternatives": [ + { + "fieldname": "per", + "value": "2sec", + "condition": "=", + "english": "per equal to 2sec" + } + ], + "english": "per equal to 2sec" } - } - }, - "commit-feerate-offset": { - "type": "object", - "additionalProperties": false, - "required": [ - "value_int", - "source" ], - "properties": { - "value_int": { - "type": "u32", - "description": "field from config or cmdline, or default" - }, - "source": { - "type": "string", - "description": "source of configuration setting" - } - } + "restrictions_as_english": "per equal to 2sec" + } + ] + } + ], + "author": [ + "Shahana Farooqui <> is mainly responsible." + ], + "see_also": [ + "lightning-commando-showrunes(7)", + "lightning-blacklistrune(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-signinvoice.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.02", + "rpc": "signinvoice", + "title": "Low-level invoice signing", + "description": [ + "The **signinvoice** RPC command signs an invoice. Unlike **createinvoice** it does not save the invoice into the database and thus does not require the preimage." + ], + "request": { + "required": [ + "invstring" + ], + "properties": { + "invstring": { + "type": "string", + "description": [ + "Bolt11 form, but the final signature is ignored. Minimal sanity checks are done." + ] + } + } + }, + "response": { + "required": [ + "bolt11" + ], + "properties": { + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string." + ] + } + } + }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: Catchall nonspecific error." + ], + "example_json_request": [ + { + "id": "example:signinvoice#1", + "method": "signinvoice", + "params": [ + "lnbcrt10n1pjmxt3lsp5jumuz2sv3ca68kzd92hp3wdtpx8ghnxur65fs6maw6dyxsleqd0spp5nadvvh7uzk2qzh8d9d7tsxr08l9uaz2vjeuuahqtufjv52d0eassdq8d9h8vvgxqyjw5qcqp99qxpqysgq4rrn702eum6c9ld9khlz39vdyd8zcwrav5ygqvu6w54aep6yarkyfrnk990yf5prpasgzmj52stektf6mzwdl5hc6qlsglt2a0pwp0spwww44w" + ] + }, + { + "id": "example:signinvoice#2", + "method": "signinvoice", + "params": [ + "lnbcrt10n1pja0thgsp55sy2zxdvj666nlfwcjd7wmw22d4xpejafpvp70grqtr6dj5nwf4spp58mqk29ra52mmkxu3j5tvjssr0qr6q2t9hc8fedz4cyc0gj7evhwqdq8d9h8vvgxqyjw5qcqp99qxpqysgqjtpf0mx7c0jf5clm6r504mum6phc0e32ef7muxswcjfzjz2f2ffsapj9uf8shx886g4glq2zsyrvv4lr3x70mh8x4wyvdmpqumc86rspq8drx3" + ] + } + ], + "example_json_response": [ + { + "bolt11": "lnbcrt10n1pjmxt3lsp5jumuz2sv3ca68kzd92hp3wdtpx8ghnxur65fs6maw6dyxsleqd0spp5nadvvh7uzk2qzh8d9d7tsxr08l9uaz2vjeuuahqtufjv52d0eassdq8d9h8vvgxqyjw5qcqp99qxpqysgq3nhrd72qe7wmc2hvwhaqnx05y6dzxh2tal02kw055er7uutkkrcreccm37ce6wv7ee8q70ktlr9fy3fd635hc2k98a4svd9c8v4cpjsppm2eee" + }, + { + "bolt11": "lnbcrt10n1pja0thgsp55sy2zxdvj666nlfwcjd7wmw22d4xpejafpvp70grqtr6dj5nwf4spp58mqk29ra52mmkxu3j5tvjssr0qr6q2t9hc8fedz4cyc0gj7evhwqdq8d9h8vvgxqyjw5qcqp99qxpqysgqwv74vdlengurnhdcpllztde6en6kgwq02lup6c89e3p5j8y33r3p0wr7eauwxeed6r5qpj5ergye6vchspnff4gev2rrsym3g4uhqscq2qq7rq" + } + ], + "author": [ + "Carl Dong <> is mainly responsible." + ], + "see_also": [ + "lightning-createinvoice(7)", + "lightning-invoice(7)", + "lightning-listinvoices(7)", + "lightning-delinvoice(7)", + "lightning-getroute(7)", + "lightning-sendpay(7)", + "lightning-offer(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-signmessage.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "signmessage", + "title": "Command to create a signature from this node", + "description": [ + "The **signmessage** RPC command creates a digital signature of *message* using this node's secret key. A receiver who knows your node's *id* and the *message* can be sure that the resulting signature could only be created by something with access to this node's secret key." + ], + "request": { + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string", + "description": [ + "Less than 65536 characters long message to be signed by the node." + ] + } + } + }, + "response": { + "required": [ + "signature", + "recid", + "zbase" + ], + "properties": { + "signature": { + "type": "hex", + "description": [ + "The signature." + ], + "minLength": 128, + "maxLength": 128 + }, + "recid": { + "type": "hex", + "description": [ + "The recovery id (0, 1, 2 or 3)." + ], + "minLength": 2, + "maxLength": 2 + }, + "zbase": { + "type": "string", + "description": [ + "*signature* and *recid* encoded in a style compatible with **lnd**'s [SignMessageRequest](https://api.lightning.community/#grpc-request- signmessagerequest)." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:signmessage#1", + "method": "signmessage", + "params": { + "message": "this is a test!" + } + }, + { + "id": "example:signmessage#2", + "method": "signmessage", + "params": { + "message": "message for you" + } + }, + { + "id": "example:signmessage#3", + "method": "signmessage", + "params": { + "message": "this is a test!" + } + }, + { + "id": "example:signmessage#4", + "method": "signmessage", + "params": { + "message": "message for you" + } + }, + { + "id": "example:signmessage#5", + "method": "signmessage", + "params": { + "message": "this is a test!" + } + }, + { + "id": "example:signmessage#6", + "method": "signmessage", + "params": { + "message": "message for you" + } + } + ], + "example_json_response": [ + { + "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", + "recid": "00", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" + }, + { + "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", + "recid": "00", + "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" + }, + { + "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", + "recid": "00", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" + }, + { + "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", + "recid": "00", + "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" + }, + { + "signature": "a2ec227012795f9d6b80a3f5ea98374c6d2886917517c05336799923fcf37caf08344c0431275e1a8189da01b444ae978007fe70f0cc9009f38cabe074ade87d", + "recid": "00", + "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7" + }, + { + "signature": "85843b010bc517b32eaafe70232e2c44bb5a354c74d2202390af1b272e4c6ac23ac3f97ea663d8b49116ad6c2d080515b43bcdf1ea4f38cdb18af0edf8209cd8", + "recid": "00", + "zbase": "d6naeqabbxntxc3qim98ye3qftnmsstijt4prebd1nztsj3qjticrqsd9f9kca6as1etpmmcfwrykfpw8xg9d41x8dg5dnzo7zhnb8ga" + } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-checkmessage(7)" + ], + "resources": [ + "Main web site: ", + "", + "[SignMessageRequest](https://api.lightning.community/#grpc-request-signmessagerequest)" + ] + }, + "lightning-signpsbt.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "signpsbt", + "title": "Command to sign a wallet's inputs on a provided bitcoin transaction (PSBT).", + "description": [ + "**signpsbt** is a low-level RPC command which signs a PSBT as defined by BIP-174.", + "", + "By default, all known inputs are signed, and others ignored: with *signonly*, only those inputs are signed, and an error is returned if one of them cannot be signed.", + "", + "Note that the command will fail if there are no inputs to sign, or if the inputs to be signed were not previously reserved." + ], + "request": { + "required": [ + "psbt" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The psbt to be signed." + ] + }, + "signonly": { + "type": "array", + "description": [ + "Input numbers to sign." + ], + "items": { + "type": "u32" + } + } + } + }, + "response": { + "required": [ + "signed_psbt" + ], + "properties": { + "signed_psbt": { + "type": "string", + "description": [ + "The fully signed PSBT." + ] + } + } + }, + "example_json_request": [ + { + "id": "example:signpsbt#1", + "method": "signpsbt", + "params": { + "psbt": "some_psbt" + } + }, + { + "id": "example:signpsbt#2", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCMbeD+3qn9/kAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI4upB+mjl6AIA", + "signonly": null + } + }, + { + "id": "example:signpsbt#3", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI+hxMzu14vTIA", + "signonly": null + } + }, + { + "id": "example:signpsbt#4", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAAAAAAAAAAAAAAAAAA==", + "signonly": null + } + }, + { + "id": "example:signpsbt#5", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqAAAAAAAAAAAAAAAAAA==", + "signonly": null + } + }, + { + "id": "example:signpsbt#6", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIr++SR9L3pxYA", + "signonly": null + } + }, + { + "id": "example:signpsbt#7", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8M/AlsaWdodG5pbmcBCEqp7j+Fzz26AAEDCODIEAAAAAAAAQQiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwz8CWxpZ2h0bmluZwEI6Akvp0mZjYYA", + "signonly": null + } + }, + { + "id": "example:signpsbt#8", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0M/AlsaWdodG5pbmcBCKM6W9ikNMuIAAEDCODIEAAAAAAAAQQiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQz8CWxpZ2h0bmluZwEI2cr+W0Zxee4A", + "signonly": null + } + }, + { + "id": "example:signpsbt#9", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34M/AlsaWdodG5pbmcBCFQ0TOBBlgMSAA==", + "signonly": null + } + }, + { + "id": "example:signpsbt#10", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVQz8CWxpZ2h0bmluZwEIY2Ov6P6i1BoA", + "signonly": null + } + }, + { + "id": "example:signpsbt#11", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrcM/AlsaWdodG5pbmcBCAI02w5E3raGAAEDCODIEAAAAAAAAQQiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z3wz8CWxpZ2h0bmluZwEI0FwC5BQBVzoA", + "signonly": null + } + }, + { + "id": "example:signpsbt#12", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIsxXzTDldwaoA", + "signonly": null + } + }, + { + "id": "example:signpsbt#13", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCFol1305RLSEAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI6hXVngxUsjAA", + "signonly": null + } + }, + { + "id": "example:signpsbt#14", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIZUU/3RYkOYAA", + "signonly": null + } + }, + { + "id": "example:signpsbt#15", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIiig65O+Y6+YA", + "signonly": null + } + }, + { + "id": "example:signpsbt#16", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCCJAK2EimaaoAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI5lJHZzirrkoA", + "signonly": null + } + }, + { + "id": "example:signpsbt#17", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI2X7UNHx1NPoA", + "signonly": null + } + }, + { + "id": "example:signpsbt#18", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCHLFtWk7Kj3aAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEInK6NtLtmEmgA", + "signonly": null + } + }, + { + "id": "example:signpsbt#19", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAAAAAAA", + "signonly": null + } + }, + { + "id": "example:signpsbt#20", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgwABAHECAAAAAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYAAQBxAgAAAAEV9PehqxjfHwVYBLoQqbZ0e7HHaVUKlbY0dfsWQ8zYmgAAAAAA/f///wL+VW0pAQAAABYAFDp1w8b/NEvIwTXD0X87XqbQ/abCQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouGUAAAABAR9AQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHgAA", + "signonly": null + } + }, + { + "id": "example:signpsbt#21", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", + "signonly": [ + 2 + ] + } + }, + { + "id": "example:signpsbt#22", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", + "signonly": [ + 4 + ] + } + }, + { + "id": "example:signpsbt#23", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", + "signonly": [ + 6 + ] + } + }, + { + "id": "example:signpsbt#24", + "method": "signpsbt", + "params": { + "psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iAAA=", + "signonly": [ + 7 + ] + } + } + ], + "errors": [ + "On failure, one of the following error codes may be returned:", + "", + "- -32602: Error in given parameters, or there aren't wallet's inputs to sign, or we couldn't sign all of *signonly*, or inputs are not reserved." + ], + "example_json_response": [ + { + "psbt": "some_psbt" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////ARNACI9TcWG+6uC9ElBFN3qhND7amsor/dtBhJ5ujEQAT/80548avrt7d7IJiOAaCNzzYLSXITdL2xjx6mhbBi9hTiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////ARNAJR0Xm/Q2ij7y0I643ad+hbhUgWyEcq6SwuATpEq2zWpSZO28Tzv1Aa3ODEOHlFw/UBpHsTAg1KM2I92Btb5q2iEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + }, + { + "signed_psbt": "cHNidP8BAP0rAgIAAAAB/BsSm+mLoPXhhXhUue5UHjtjS4XjWRcTIlEvgi6zJJIBAAAAAP3///8MIgIAAAAAAAAiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgfeDgAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucbQBwAAAAAAACJRIGwn4ZVqz6YeaCksgJCIgOgTRQ91QTLooqxHGoa/Eya10AcAAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qtAHAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLXQBwAAAAAAACJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbq0AcAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3NAHAAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR13QBwAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZ0AcAAAAAAAAiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYytAHAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGHQBwAAAAAAACJRID6KA/Z4u3ygSLrsw5eIUwVg6gSYFtYE9ykl5CUohEbIZwAAAAABAPYCAAAAAAEBRJMby2raIWOpsOYK+ahtWogK0q84hT0dmKKg9tR7/kQAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAza8/DwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiBLtZ31UbfYvqxTNtfZsITKncCbKsoFklkxVEvnHpnYegIgRt0KPIPSf2gDDtkRw7CAUnLHI+qU0yMGaexsPBtxDigBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASuvPw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aARNAtDSpOsffBOprkLlqNTXa6ngoXT78mcEBXbnbsTlbZNtAhQ0eWDiBAAhpbhnp9XuMTDbbiR/mNMLG/JQowLD7BiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAAACEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAAAAAhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAAhB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAAhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAAhB5/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CQDBIO1CCAAAAAAhB1xthhlvSsox2sO5M6MR4vPLGK4q4zlp37xtBLvptwdsCQCpi4YXCQAAAAAhB4pZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCQA9Q9ImCgAAAAAhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAAhB/Ns+c9yFHvZgATf/cvDj+RfVApqvvDrSaiFWgXdtvTaCQD2/7RIDAAAAAAhB9A094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhDQAAAAAhB2f0Ro/6/m+Rmuhx9X8JaQRn9JToPgNY3GTRBHL5By9MCQCkO4IaDgAAAAA=" + }, + { + "signed_psbt": "cHNidP8BAP0rAgIAAAAB54YLhPQzzX9HEKSNELNkzYtGVom55nVj7zO1ViilsLQBAAAAAP3///8MIgIAAAAAAAAiUSCF1yAl54/Qi7YRGfCYerAEH1BWGtpuEwxkU0PbjETCr9mUDQAAAAAAFgAUOMEIVMEeEMs3hkYBQ8ljyFMN+JEQJwAAAAAAACJRIPV1GF9vgclCLHzpDRqf0hTz8d2kDClYQ1CZ5SXGIEziECcAAAAAAAAiUSCdaGRYkqV5BvCnD/dRIwGuKSYxJtkyZ2N0tiKCJgOW+xAnAAAAAAAAIlEgNwuuIwPosXeSo07gStqGprK4T9dqARQ7q9iZx+2eg3IQJwAAAAAAACJRILb7AGAtPLMFlF7yyD354T/LgnsfwYMAIxeSjQhpw6zIECcAAAAAAAAiUSD9q3wB+ucMCOCx+aysyhEKUxIeddxUol51QkFvNCrq9xAnAAAAAAAAIlEgZN4lqgfDNQuNZjka8Vyvu41XB4CQw/SIPMT23PrDqCIQJwAAAAAAACJRIMYGbyd7ajUIOc+HNU5sJBDW9x0wiW+Hr4+otnPlf8ggECcAAAAAAAAiUSC6wjwy4j1VA2Tgc8gyMw9Gp6a5QeOzb+AzSTKvRtIKbxAnAAAAAAAAIlEgUgIcYdojsu2j1QAMbYEtDJsIjCN+0qUQq9lNjD98Qh0QJwAAAAAAACJRICtd0GE7blNPVy289DEbZubMi7B+KFko3bb6V5Hkc3h0PAAAAAABAPYCAAAAAAEBQFboUUVryVdVXA2grw6n4Vcz/G5yrrlPQ9nvZR0KOgwBAAAAAP3///8CQEIPAAAAAAAiACCGmGWKAe+wAeHMTfaotvOttGH6PmeThf2q5AC9c5lrMgEvDwAAAAAAIlEgihbAGJXOkPt7M77eHOtuOQ0T5FODazNBO11sYIA3YWoCRzBEAiAh4xEaXKCjsV7vlOPUYi47R7M9w9gOJvC5pgczmOIqqwIgSfOWFazugXt8tT0TrKMNfhMdGFs0a6soG18dS5yGP84BIQIH7Cs1U0cS2GrgMN2b+uwI4t3qHsHOz/uXJe16yxKrZmYAAAABASsBLw8AAAAAACJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqARNAWKxvQv/YtKTHF436Ztuu148sPQq3QDB4ch/vm9oqscfqN+NWXZ+csyOIXrmm50rFq0DZEOoLFgSsrJUqwQ7PcCEWwQeII6T2SXnwUSDLjVU+rGDwR6oI5esInXEL29fnSFAJAGHtBsAAAAAAACEHOXsESaYNnTVjRAG86vO+thGPwim4VSvXEi9zWAiyiu4JAKnNUIcFAAAAAAAhB33gqxer7yHE6uvNBusImaLW6hELkt8PMDrtfXvCz8GeCQCwXa0oBgAAAAAhByhfXO7QLBAWbdNjB3TN/YXgK82TXlBfdWOvUylUKjp5CQC3bdYeBwAAAAAhB7gbPRbQMHtul9P8IqgcQK1trTXPhoL1ooBsEARdBiK/CQCjI8KCCAAAAAAhBzCnWsrtJYvmvALan6sFirvg53DKzrfGSW6q6nAUw9ObCQCmBZWCCQAAAAAhB72SP8yeYDMCCkVocL4aDjUqc7hPoTIp/uS7zAf7okk6CQDK3xgoCgAAAAAhB84QbIvXo39Om7hPsSCztnxpw4x6G6G/sRCtGsxzM47pCQAznE7uCwAAAAAhByyiWWTLXg6UPAX3BDq0gBArpKzzPXV3mpl0RFgrRkdQCQDAAMtBDAAAAAAhB6Jvzf+c2c5Qrvvj78smeIzuWAjjEtHW01YDo2je0daMCQBxtd2rDQAAAAAhB8SkNSQBiTs1cYIq8kWiODRmmFlnt+VkoODlBh1PjXFxCQCLx6pcDgAAAAAhB/ezBtxauw6UTQFvjhaT8ztqh+dAYi+W2/WHIEQ/e965CQBPad/3DwAAAAA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////ARNABQcEvF7uoEPAbhZCNMknJHzDjoHkG1XyLSk5VJXYd3U6RRLOKb4ompV8h+P4UhJvoxwPiIOqGh1ZoxYLvYJnYSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////ARNAqSvK6XXJi7FDvh3cd+ZErgN/5n/9eDltNEZm2ze7/pufFc156Qj4LkQbCgC4lS1Ruc4o47YlZ1Wczkp802gGeyEWIlzhZuhLODPZ9iCGO05xMJneYW9Vnodo9E/2dAVLsH0JADjBCFQAAAAADPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8hB3CAw1/JvTXMtaK0xhF8IkXU+9Efjkym4dever68ttXWCQAH25HaBAAAAAz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMI4MgQAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////ARNAPjf4XVl3WFTh1v+SzS5oUwsigqqGNk324zkxgYehDXepYaFUM/wLgINaJnwkHN5nbU1f7E5xtKuqse063GaWNSEWksaqE5AFBOwsOjOB264fLeBPJNQ5g1q/rchy5+HAXGEJAJQzAycAAAAADPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0hB4K/sHl7zkP5rrPAzTaAcQJPrn1P3i9bH1vaKjEaycC7CQC+H2EVBAAAAAz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMI4MgQAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wETQBhLehl4jatF3ayDDNubA0Iyuh1NvqqKyPm6bXvllFWZBbRNuGQpfHu1C5BHoqeXR+LxGu+eBXpKamK0rnAXWjMhFvGECqicf7Y9xs91jwAbMcPiBOS7Rq7e/4BUDVz2ATiHCQBBoPcfAAAAAAz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34hB24ZKTdlaLtkygxjUFAJ33ZjMv9KnWwbY5ro44uOF9DACQANe4R+BAAAAAz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8BE0DCDwdObCXlsdaWuBcmKrK2CmI/T/WtxKcYQnUYJ793YSsk0rzUgLsHcKNt/+QQXFD3JqXCKWLW9Rv5AcKYVaDdIRaA8vHh3zSrfz0qQ+zlYXI4dytIKOikf9779NIq4cEtGgkAj3YM8AAAAAAM/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVSEHSGn5H1BOLW1cQuaAXwZz7OyTu4UYInxyYnJzwKCebrUJAJcA1qsEAAAADPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8BE0DpUPzjAPBIiyiBQjOavU1nokrXClo+fAJVSlZrtKyMklHLDWVJSen8k+VpK7aCftTvbpF95qsJXOCxivax0pMdIRasL+bRV5lfwMW1DXAcDTj+4gEYA5xoHnELhLlOm7s9TgkA5Uc/iQAAAAAM/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrchBxNHIqAqqqtlGdp6cUIvUOg1zWYXjgzOheBoxx0t10nBCQBv3LVMBAAAAAz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMI4MgQAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8BE0BdJHiX7sErT15ULrKrq7fpyQxmI7dsZ5gGHVypREqUBD41YE0Lx9BbIqs5oxqpuQyKNTZBfWJ84MLAsftAWx0lIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAM/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////ARNAYKQLTQqSOsXCff59GQf7J4819uzPuP0WxdxMksdEyR7KUO1TkfQxZ6hBQtMgSGgjAFOsRZ4/JvO4ckZ9O4akMiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////ARNAYP1VnL+/6YQZqE77/wg6T7XjriX12pGDMuOEjkebVFnpSnE1sfz7wJ7oy/DQnYeuAAn4GXmmuKJZDBQ22lY0lCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////ARNANvpkh9embgt74SJ1971S8zbYdekRzb1+6Qwg5NzBMi31I60s2BaS+asEzqlSE+n8nOPS+8k9+aZILzVH7y6rLCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////ARNAQEKmIehoW3hRALbLBT+tXoA6YXdQfPIgtfiMkpeYOvRSuHmgJFhVzHUgTLFlprt8ItRjQueznT/Qh4djvxulAiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////ARNAJXn/exEY5zrlawEisgjuMX/CnutadCsjEu1yW2tSZX9WqFFqcxsgtfpUGFFpJG5t0rbZxhFY3gDWrvFdWEk+gSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + }, + { + "signed_psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////ARNAtQ86v4+DnHWsJFqqWU5jbB32nnpfgx8hxpJxRq7wDcajZ0MIVGwQi3moYsbO0fsVgP8FW3zjjgVu9jY2oDRpcyEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + }, + { + "signed_psbt": "cHNidP8BAM0CAAAABEQZWURX1Z8iDf2nelzMfOY2SmjJM7QY0M+SO+vPL9ShAAAAAAD9////SKMaIryF2/hY1raVMEVu4HfNh8km7HbqvaHwcECMQYkBAAAAAP3////zKUPVEs2xZUdOQVaz8zQ3SarsSLoVNW0UJc7lbnjrNwEAAAAA/f///0+YhO2y2d1r8MTiky42v4n9GAEjaBbYUou/Cj4ZU+nYAAAAAAD9////AcDGLQAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMAAAAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUiAgPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz0cwRAIgXgFlc+42o5hJmnHENXEhgwyrZ2v2X+4iT4sb6XJ5MRwCIDRGbwKezzbkSNtch2LocWPqnEQXkpZIq04M+IRocrkJASIGA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPCAH62QoAAAAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYiAgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKU0cwRAIgXIq7qrnemfLo3A8UdRUJhr4A67/ldca+ueY2deY5xxUCIHN5a+UHbx8vUU6KuIc5hmJmsAEP+x/E5BDZQFG35tOeASIGA5FFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTCMLMqxcAAAAAAAEBH0BCDwAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgeuHuBdJNlTFK+E0PWyLcyX2kK4h/0IiOHgiQ3zsolcMCIE+9zRN4Bbg9mj7KZtHpftY1PN8JSAP4C0QIv3sdvgjlASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF0cwRAIgG2TapevAJ2lrQL0oiM9Gfkpds384nDm0SpK/kywrTUUCIAh6UVY0rFjAqv009n8+5kQNbYquX9sRSVGBi7zoq/DyASIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAACICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCH0I2ZcFAAAAAA==" + }, + { + "signed_psbt": "cHNidP8BAM0CAAAABCCTUljI/igig+hhhxM88O9nKdV9dYg0mcEQUGwu/Qy0AQAAAAD9////tRVa8x/l+5/cImDDJ59f3u6TdgugkI9eDc1f22F/rVsAAAAAAP3///+uvA/IMIG4IcEDfYP+Q7NuGbtMVL5YkmXYLKhQ22o4JgEAAAAA/f////fBMCmTDh4skWFsk6GnuinHt4AsKlL51V1x5Qf6bPaHAAAAAAD9////AcEAPQAAAAAAFgAUyQltQ/QI6lJgICYsza18hRa5KoEAAAAAAAEAcQIAAAABfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDINlAAAAAQEfQEIPAAAAAAAWABR9CNmX36nN45+GhjqvD4LjLMMMgyICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQRzBEAiBLAyce/uqKUFmwu+P3IwBFhBWnw55rgCgRtnTlhSGgCQIgCWIyWeu9A/UAAE4BOJUT2vHTtMF2ungQaXtsz+gCubMBIgYDWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAIfQjZlwAAAAAAAQBxAgAAAAF60sDlp9Wwt9wicQqdH0hEnOsZbib0D1p92GZ8NVLT4QAAAAAA/f///wJAQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmZmznKQEAAAAWABS6SbDH8uBBXLRkahFSMVlzCOJQkmUAAAABAR9AQg8AAAAAABYAFMLMqxccKlvp2rUuxBuCWGMCTFRmIgIDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylNHMEQCIHF16oX4FlxZ9S3DpGGEMJDUPpBENnK0doOSnZQb4yQzAiAu+bXJc/CBgM6LoZL4oG17WNBExUsWz1kiAm5CzMueLQEiBgORRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwjCzKsXAAAAAAABAHECAAAAARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4ZQAAAAEBH0BCDwAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgV/U0DpbgeDFsMtJqNfV4WrYwYLSUbCRfo6Qz2F+ji78CIGyTvhfzl6tig9nTK0fPAZFvNW3cuepcxUoX446hQlLNASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAAEAcQIAAAABJcHaWardyCz0cISDWODxr5INgksO2oHDD0rhaBww5CEBAAAAAP3///8CQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHmUemykBAAAAFgAUCn/QWAW5so+0BTOKV3WtCWWqWgJlAAAAAQEfQEIPAAAAAAAWABSftnv87+5st9tMflXZxr/XSeMdHiICAyjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJRzBEAiBkzGfXPiVmNXdnTcZl+30f4GVcy708U1WTMeRY9BFwugIgcxl+7PLJ/5rn2CK0Sj77HMNGkXFz6z6r6NLbDSp24HkBIgYDKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kIn7Z7/AAAAAAAAA==" + }, + { + "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OSICAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2RzBEAiBYL/MQcx/Py0Cd5caCa/2Nx7586xck1+/mXSgyjw3DZQIgeFLMQZyLiTs+v2gTYus1KIZlCz9D825HrYnJhhowccMBIgYCn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYIwSDtQgAAAAAAAQBxAgAAAAGR/0rwl7w1u2/Km+eQgwuDPo4GetR/3vK2ZwBml6fmfgAAAAAA/f///wKZKdgpAQAAABYAFHP2PrCKt6GMhHuNBpCibF2sJM8BQEIPAAAAAAAWABS3bdYeQbXvBSryHNoyYIiMBwu5r2cAAAABAR9AQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvAAEAcQIAAAABEwt8DAr/ait5b1ZFSbvW/79lYDHqWbZ354DKdsTF0Z8AAAAAAP3///8CZNBOKQEAAAAWABRCLHOHAZfgUzd9yp/NPmGH5DLfnEBCDwAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37BlAAAAAQEfQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsAABAHECAAAAAQPCfzpwvnLh+/WesGZs8HQI4QQ2jx2r4d8r4a+KHQ10AQAAAAD9////AspKMCkBAAAAFgAU1R7jvHCjjl/yZZjFOuqJ+lHOeJpAQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVZwAAAAEBH0BCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dUAAQBxAgAAAAH0cQWmWdxXwxsMYWUC2Arqzfu5CY9Mep8woYON+HZ40QAAAAAA/f///wLM5sgpAQAAABYAFC0qkaeeG2qxf+0fVzprCwwlVnQBQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iGUAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" + }, + { + "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wIgID82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NpHMEQCICRme3QYkb0unDZ2831WQm0h8MwlnkOrs64RWXZtTfaJAiAgTNrzKBrbed80X+uiU1U2rPYNLvPCKDYbFc0C1yv+jwEiBgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02gj2/7RIAAAAAAABAHECAAAAAQPCfzpwvnLh+/WesGZs8HQI4QQ2jx2r4d8r4a+KHQ10AQAAAAD9////AspKMCkBAAAAFgAU1R7jvHCjjl/yZZjFOuqJ+lHOeJpAQg8AAAAAABYAFLp2TGa8ljKgk4jLlVjRf3JXoOnVZwAAAAEBH0BCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dUAAQBxAgAAAAH0cQWmWdxXwxsMYWUC2Arqzfu5CY9Mep8woYON+HZ40QAAAAAA/f///wLM5sgpAQAAABYAFC0qkaeeG2qxf+0fVzprCwwlVnQBQEIPAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iGUAAAABAR9AQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" + }, + { + "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF0cwRAIgBb8RCrRiMxaZ9wN6csfETFojWf88vYjQoXain+PFVHsCICbfiPubeJAgOAhygUqOevdjHyqzPMPVj91Tx5vVAJZNASIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAAEAcQIAAAABIJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQAAAAAAP3///8CQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIjJhqikBAAAAFgAU+VyjcFSBbFCodurKhxUpTi6uUxRlAAAAAQEfQEIPAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIgAA" + }, + { + "signed_psbt": "cHNidP8BAP1xAQIAAAAIFTef27H2GAJBzP4UZMeDePsDVkglO47/q4jqK18ibCYAAAAAAP3///+axwap6WKnEHvLjIJZX0ZeJ87cs7PKkXBfwvbGVmjpTQEAAAAA/f///wQ1cVzb9NR7nXadyRuhQBv+2iqhZkhvUA+sPo5z/SsSAQAAAAD9////lXQ788meUtSxhBX13mx2XhyM3Ddo30QtmNW0YuE2TDABAAAAAP3///8Kr4BwElAScx3bA5ZdavrHwh4Zh+rFNvkE/+7gu1WbngEAAAAA/f///3Uei7j3k/b5tnjFGvNZhe2iWz8O6FQjTEpM5XIoduNsAQAAAAD9////fm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsBAAAAAP3///8lwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQAAAAAA/f///wGCAXoAAAAAABYAFMkJbUP0COpSYCAmLM2tfIUWuSqBAAAAAAABAHECAAAAAZVxzFxyEg7tiQTgRHwGleR8Srxw6taAGOoEpJK/Xj5sAAAAAAD9////AkBCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYzr/YpAQAAABYAFKmkod5S53U4m5tKFApyeC35UbnbZwAAAAEBH0BCDwAAAAAAFgAUKvGgVL/ThjWE/P1oORVXh/ObucYAAQBxAgAAAAEVN5/bsfYYAkHM/hRkx4N4+wNWSCU7jv+riOorXyJsJgEAAAAA/f///wJmbOcpAQAAABYAFCCSJBD9wY/VwxnBcnFiu1tA6CGTQEIPAAAAAAAWABSjI8KCqaGX/BGOwJza8hyiuxuIcmcAAAABAR9AQg8AAAAAABYAFKMjwoKpoZf8EY7AnNryHKK7G4hyAAEAcQIAAAAB98EwKZMOHiyRYWyToae6Kce3gCwqUvnVXXHlB/ps9ocBAAAAAP3///8CmNuLKQEAAAAWABQ4roxw+phYHelaRr71DYB3FEy/30BCDwAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjllAAAAAQEfQEIPAAAAAAAWABTBIO1CJjs9W8FzvDDnpjvZghB2OQABAHECAAAAAZH/SvCXvDW7b8qb55CDC4M+jgZ61H/e8rZnAGaXp+Z+AAAAAAD9////Apkp2CkBAAAAFgAUc/Y+sIq3oYyEe40GkKJsXawkzwFAQg8AAAAAABYAFLdt1h5Bte8FKvIc2jJgiIwHC7mvZwAAAAEBH0BCDwAAAAAAFgAUt23WHkG17wUq8hzaMmCIjAcLua8AAQBxAgAAAAETC3wMCv9qK3lvVkVJu9b/v2VgMepZtnfngMp2xMXRnwAAAAAA/f///wJk0E4pAQAAABYAFEIsc4cBl+BTN33Kn80+YYfkMt+cQEIPAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsGUAAAABAR9AQg8AAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wAAEAcQIAAAABA8J/OnC+cuH79Z6wZmzwdAjhBDaPHavh3yvhr4odDXQBAAAAAP3///8CykowKQEAAAAWABTVHuO8cKOOX/JlmMU66on6Uc54mkBCDwAAAAAAFgAUunZMZryWMqCTiMuVWNF/cleg6dVnAAAAAQEfQEIPAAAAAAAWABS6dkxmvJYyoJOIy5VY0X9yV6Dp1QABAHECAAAAAfRxBaZZ3FfDGwxhZQLYCurN+7kJj0x6nzChg434dnjRAAAAAAD9////AszmyCkBAAAAFgAULSqRp54barF/7R9XOmsLDCVWdAFAQg8AAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIZQAAAAEBH0BCDwAAAAAAFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgAAQBxAgAAAAEgk1JYyP4oIoPoYYcTPPDvZynVfXWINJnBEFBsLv0MtAAAAAAA/f///wJAQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iMmGqKQEAAAAWABT5XKNwVIFsUKh26sqHFSlOLq5TFGUAAAABAR9AQg8AAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIG90DSr+fGNoWhCrgLbJG3Wt8PJNMWYqaa5MLWRwA0oTAiA9rsLEqqVhjV6wENfzzpudaE949uLlVqWgDjE/FSgKNAEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAAA" + } + ], + "author": [ + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." + ], + "see_also": [ + "lightning-fundpsbt(7)", + "lightning-sendpsbt(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-splice_init.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "splice_init", + "title": "Command to initiate a channel to a peer", + "warning": "experimental-splicing only", + "description": [ + "`splice_init` is a low level RPC command which initiates a channel splice for a given channel specified by `channel_id`." + ], + "request": { + "required": [ + "channel_id", + "relative_amount" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel to be spliced." + ] + }, + "relative_amount": { + "type": "integer", + "description": [ + "A positive or negative amount of satoshis to add or subtract from the channel. Note you may need to add a double dash (--) after splice_init if using a negative *relative_amount* so it is not interpretted as a command modifier. For example: ```shell lightning-cli splice_init -- $CHANNEL_ID -100000 ```." + ] + }, + "initialpsbt": { + "type": "string", + "description": [ + "The (optional) base 64 encoded PSBT to begin with. If not specified, one will be generated automatically." + ] + }, + "feerate_per_kw": { + "type": "u32", + "description": [ + "The miner fee we promise our peer to pay for our side of the splice transaction. It is calculated by `feerate_per_kw` * our_bytes_in_splice_tx / 1000." + ] + }, + "force_feerate": { + "type": "boolean", + "description": [ + "By default splices will fail if the fee provided looks too high. This is to protect against accidentally setting your fee higher than intended. Set `force_feerate` to true to skip this saftey check." + ] + } + } + }, + "response": { + "required": [ + "psbt" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The (incomplete) PSBT of the splice transaction." + ] + } + } + }, + "example_usage": [ + "Here is an example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", + "", + "```shell", + "RESULT=$(lightning-cli listpeerchannels)", + "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", + "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", + "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", + "echo $RESULT", + "", + "lightning-cli splice_signed $CHANNEL_ID $PSBT", + "```", + "", + "Here is an example set of splice commands that will splice out 100,000 sats from first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", + "", + "```shell", + "RESULT=$(lightning-cli listpeerchannels)", + "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli addpsbtoutput 100000)", + "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_init -- $CHANNEL_ID -100500 $INITIALPSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "lightning-cli splice_signed $CHANNEL_ID $PSBT", + "```" + ], + "example_json_request": [ + { + "id": "example:splice_init#1", + "method": "splice_init", + "params": { + "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#2", + "method": "splice_init", + "params": { + "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAYvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4cAAAAAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#3", + "method": "splice_init", + "params": { + "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAbEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#4", + "method": "splice_init", + "params": { + "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAARG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQAAAAD9////AU58DQAAAAAAIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM95AAAAAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#5", + "method": "splice_init", + "params": { + "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAeH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQAAAAD9////AU58DQAAAAAAIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X2GAAAAAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0AAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#6", + "method": "splice_init", + "params": { + "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAf/K9YsbCxoVAiDgMpE/MI3Dp3JAIYZ13i3GIgYwiM3nAQAAAAD9////AU58DQAAAAAAIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu36TAAAAAAEA9QIAAAAAAQGE6uaap2O3s6nD36OqwOYb5sPUAE0GymVeLQfSgwmEXQAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQJGMEMCIEismeiIrCJvJPzr3KG/7vcfFMMhbb6vx9YRLwz0rNUBAh9G71jfeCkk+mJXtes4Bm8CgZoTFPpCrSGgRGw7RtcDASECZhTrOMPPls113NzCmuu111rSIVaJ2kOaRGbZsa41WZ6NAAAAAQErAS8PAAAAAAAiUSBaWqBOuMicV8gConE6lzTM+r/5nQM4mA+hScNq2+MPgQAA", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#7", + "method": "splice_init", + "params": { + "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAaOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQAAAAD9////AU58DQAAAAAAIlEgEGf6wTvoGuGQnB1yXXQBbve/bt8bAzh9RhtJJfg26FWgAAAAAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBKwEvDwAAAAAAIlEg8Tk0Z8cXzVDeJ2AWfUMRFBqPdQyJ9U/SyQBgGn2oQ0wAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#8", + "method": "splice_init", + "params": { + "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAY6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQAAAAD9////AU58DQAAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreXAAAAAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBKwEvDwAAAAAAIlEgVcDvqqdKsxN3kvoAQphndXd9tNBcLIzxU0vPlIxmVcwAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#9", + "method": "splice_init", + "params": { + "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAexljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#10", + "method": "splice_init", + "params": { + "channel_id": "d4aa1a72d383a4b1fbfb33408a46bcf1292db4bbfadc6e4496810ed2f3af89b6", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAdSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQAAAAD9////AU6OhwAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#11", + "method": "splice_init", + "params": { + "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAS72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#12", + "method": "splice_init", + "params": { + "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAWcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#13", + "method": "splice_init", + "params": { + "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAVjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5OAAAAAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#14", + "method": "splice_init", + "params": { + "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", + "relative_amount": -105000, + "initialpsbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+AA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#15", + "method": "splice_init", + "params": { + "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", + "relative_amount": 100000, + "initialpsbt": null, + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#16", + "method": "splice_init", + "params": { + "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAdxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + }, + { + "id": "example:splice_init#17", + "method": "splice_init", + "params": { + "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", + "relative_amount": 100000, + "initialpsbt": "cHNidP8BAF4CAAAAAXjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQAAAAD9////AU58DQAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5sAAAAAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oAAA==", + "feerate_per_kw": null + } + } + ], + "example_json_response": [ + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gVndyHDWkJKI9bcx8kJA25QWuaGUOCdWXM7S35zADpNwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIK/Jiqp0i3SYAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDmPhBY5ChQUAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gi9JWJfF8ve8M2OwCjZPhNqVFy5CjbYJrKRo/peixYysBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIQYRATkaED2wAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCM7CJA2jNB0qAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIbENoCf5Hio4AAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gsR/jiZP8E8PEuRSMrLVvJaSzIvK4zqFt7yyHMRtteEYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEILOYcUhjAzkYAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCLz21Xp+Dk0CAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIDAEpuamKq3QAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEFR1IhAhwpdG5BNt3/RWSD3zmAwtDV8xyT713tVk9ylKENdBSqIQLrdfEO0gHsEvvRysYZ07lg1IMlGhYYAQDPOptMHiPv/1KuAQ4gEbiXQj5Moz17RCYiBVLkdn+HC0lfWO6UfSqYxjoviMEBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIGnfCPdZul94AAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCFWi5vcrQ5lEAAEDCE58DQAAAAAAAQQiUSCXTBnV7ZamKhvRCtGH/uXC4xRvdyIoxa56QrNudM8kzwz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMIAAAAAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEFR1IhA2KgO1jORx0r1OHDa6BpROaVKkhZKbJZWKOPxM/g9FdjIQPc4OHFtEn8TeuN/T9K6ZvmQrMrF0QTTeUgkl7RTfgD3FKuAQ4g4foM9nP6gjQ7CEmOzrV6A4VVFlvOE5Hup5Wj6aKy8OwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIMhTVGj4EalYAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKexrdwmY1F4AAEDCE58DQAAAAAAAQQiUSBLnNqLJpEMXXUaAgEGxY402YaBLZyzejLO3E49ezXxfQz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMIAAAAAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQVHUiECVw7AtutUVmMwIYOmLqx10I/e62TzE1IZIGXWAcjKUh0hAmaGfDQrglCra07axtuuL95TeCtpzRcTmUn71PIISH/yUq4BDiD/yvWLGwsaFQIg4DKRPzCNw6dyQCGGdd4txiIGMIjN5wEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiVVBGTmPomqAABAwgAAAAAAAAAAAEEIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYM/AlsaWdodG5pbmcBCCHyowtU6dbaAAEDCE58DQAAAAAAAQQiUSCvUWBdkY26o7/8o8NbJTy3mrAAU6K037EanxJCdke7fgz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BBUdSIQJhLcWHe6l9d/BGGrIBeuMcBT+FwE1Q/b3FwdAp2u6QAyEDRZKhxQrV8eSubcyWgM6dBoiuADwM3sG9xpRswiDmkZNSrgEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCH1VIAqQd6ZAAAEDCAAAAAAAAAAAAQQiACCgVjY76MfbtREJjMUPvKJIQ+btbeA/gWRl8ZmKmoKgnQz8CWxpZ2h0bmluZwEIURpO7CkZ3dAAAQMITnwNAAAAAAABBCJRIBBn+sE76BrhkJwdcl10AW73v27fGwM4fUYbSSX4NuhVDPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BBUdSIQN6P3aWA4VIxek/Wuj4i3eEzv72gc8bz9e1sN0QmSXLxyEDfNZXevWSCzTyHWB2lOHVK0mwGXgvDsgwyRgI40W76/xSrgEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCOFOEzXQ59v4AAEDCE58DQAAAAAAAQQiUSA74Tflo81LdhBFqIwHKNMkNRg28E7Vnf2jebjYRkZStwz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMIAAAAAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BBUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKVEmpG4fXRsAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIEnLndwbE4HgAAQMITo6HAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g1KoactODpLH7+zNAika88SkttLv63G5EloEO0vOvibYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIqZaYfujo2BwAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCP0mEB0ZGKJuAAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gLvYxu+lLpVPBqKH9d2Cb5qzIAwsXpyqcyvQ5oH5nwF4BDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIB89Az8bSUbAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCOU1wuT/1NQ+AAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIHljdzrPDqcwAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gZyZw0D6ys94JBp3Uep5Uje1qf0rMtKlZyxfl0KxZ5UsBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIdhLmRH0voHIAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCL2hF0YVoCNeAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIGp7T9myw9goAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gWMIDcohpczFwLx0xYRAdL1P9WIeAZr74Mot6u2fkINABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIcFBwW8PCblQAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCPnRQRszVflAAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gpAu0QtqwIxtR2PhC2VqtVIqjXh0TxM/PKZc0T4BUU6EBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIn2Ac8fyFEJwAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQgu7JK9IpBWOAABAwighgEAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCOZ1GpRwbKfuAA==" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQQBAQEFAQEBBgEDAfsEAgAAAAABAPYCAAAAAAEB7beoXmZkY9pXjrP59RLW0mrR/PYdWchP6PsSXFBNBVcBAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiALXpZvMNlV6IVDDOx4kn5Ih5N32ltfK09IABmoJSIttAIgIURsthD9uyGm60gtF752jcx5FpYeauyAtz8Ko/mPY+sBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABAStAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAQVHUiECMkJm3oQDs6sVegnx94TVh69hgxyZjBUbzCG7dMKyMUshAuO9OACYZsnajsSqmcxOqcbA3UbfFcYe8M4fJxKRcU5XUq4BDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiYsDEp+abz/AABAwgAAAAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJa7BJ4fwTwAA==" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g3GndU0mBa3/m9IPV7nFTM7kTMnnzcbwR+jzq103E/isBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEItwxCusFf01QAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMgFmkSe2m9gAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIxulwFA6teKoAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4geOeYSfdnAF5Jy+uSkKsVUGv33QExwv38vC+K6Be4jOABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIIATHYCCJHzAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCHXamYBiH1QqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + } + ], + "author": [ + "Dusty <<@dusty_daemon>> is mainly responsible." + ], + "see_also": [ + "lightning-splice_signed(7)", + "lightning-splice_update(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-splice_signed.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "splice_signed", + "title": "Command to initiate a channel to a peer", + "warning": "experimental-splicing only", + "description": [ + "`splice_signed` is a low level RPC command which finishes the active channel splice associated with `channel_id`.", + "", + "The *psbt* must have all signatures attached to all inputs that you have added to it or it will fail." + ], + "request": { + "required": [ + "channel_id", + "psbt" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel to be spliced." + ] + }, + "psbt": { + "type": "string", + "description": [ + "The final version of the psbt to complete the splice with." + ] + }, + "sign_first": { + "type": "boolean", + "description": [ + "A flag that makes our node offer the final splice signature first (defaults to false). When false, the node will calculate who should sign first based off who is adding inputting the least sats to the splice as per spec." + ] + } + } + }, + "response": { + "required": [ + "tx", + "txid" + ], + "properties": { + "tx": { + "type": "hex", + "description": [ + "The hex representation of the final transaction that is published." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The txid is of the final transaction." + ] + } + } + }, + "example_usage": [ + "In this example we funded the psbt from our lightning node, so we can use the lightning node to sign for its funds.", + "", + "```shell", + "RESULT=$(lightning-cli signpsbt $PSBT)", + "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", + "echo $RESULT", + "", + "lightning-cli splice_signed $CHANNEL_ID $PSBT", + "```", + "", + "Here is a full example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", + "", + "```shell", + "RESULT=$(lightning-cli listpeerchannels)", + "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", + "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT={\"commitments_secured\":false}", + "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", + "do", + " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", + " PSBT=$(echo $RESULT | jq -r \".psbt\")", + " echo $RESULT", + "done", + "", + "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", + "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", + "echo $RESULT", + "", + "lightning-cli splice_signed $CHANNEL_ID $PSBT", + "```" + ], + "example_json_request": [ + { + "id": "example:splice_signed#1", + "method": "splice_signed", + "params": { + "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////ARNACI9TcWG+6uC9ElBFN3qhND7amsor/dtBhJ5ujEQAT/80548avrt7d7IJiOAaCNzzYLSXITdL2xjx6mhbBi9hTiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + } + }, + { + "id": "example:splice_signed#2", + "method": "splice_signed", + "params": { + "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", + "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////ARNAJR0Xm/Q2ij7y0I643ad+hbhUgWyEcq6SwuATpEq2zWpSZO28Tzv1Aa3ODEOHlFw/UBpHsTAg1KM2I92Btb5q2iEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + } + }, + { + "id": "example:splice_signed#3", + "method": "splice_signed", + "params": { + "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////ARNABQcEvF7uoEPAbhZCNMknJHzDjoHkG1XyLSk5VJXYd3U6RRLOKb4ompV8h+P4UhJvoxwPiIOqGh1ZoxYLvYJnYSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + } + }, + { + "id": "example:splice_signed#4", + "method": "splice_signed", + "params": { + "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", + "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////ARNAqSvK6XXJi7FDvh3cd+ZErgN/5n/9eDltNEZm2ze7/pufFc156Qj4LkQbCgC4lS1Ruc4o47YlZ1Wczkp802gGeyEWIlzhZuhLODPZ9iCGO05xMJneYW9Vnodo9E/2dAVLsH0JADjBCFQAAAAADPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8hB3CAw1/JvTXMtaK0xhF8IkXU+9Efjkym4dever68ttXWCQAH25HaBAAAAAz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMI4MgQAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + } + }, + { + "id": "example:splice_signed#5", + "method": "splice_signed", + "params": { + "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", + "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////ARNAPjf4XVl3WFTh1v+SzS5oUwsigqqGNk324zkxgYehDXepYaFUM/wLgINaJnwkHN5nbU1f7E5xtKuqse063GaWNSEWksaqE5AFBOwsOjOB264fLeBPJNQ5g1q/rchy5+HAXGEJAJQzAycAAAAADPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0hB4K/sHl7zkP5rrPAzTaAcQJPrn1P3i9bH1vaKjEaycC7CQC+H2EVBAAAAAz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMI4MgQAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + } + }, + { + "id": "example:splice_signed#6", + "method": "splice_signed", + "params": { + "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", + "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wETQBhLehl4jatF3ayDDNubA0Iyuh1NvqqKyPm6bXvllFWZBbRNuGQpfHu1C5BHoqeXR+LxGu+eBXpKamK0rnAXWjMhFvGECqicf7Y9xs91jwAbMcPiBOS7Rq7e/4BUDVz2ATiHCQBBoPcfAAAAAAz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34hB24ZKTdlaLtkygxjUFAJ33ZjMv9KnWwbY5ro44uOF9DACQANe4R+BAAAAAz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + } + }, + { + "id": "example:splice_signed#7", + "method": "splice_signed", + "params": { + "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", + "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8BE0DCDwdObCXlsdaWuBcmKrK2CmI/T/WtxKcYQnUYJ793YSsk0rzUgLsHcKNt/+QQXFD3JqXCKWLW9Rv5AcKYVaDdIRaA8vHh3zSrfz0qQ+zlYXI4dytIKOikf9779NIq4cEtGgkAj3YM8AAAAAAM/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVSEHSGn5H1BOLW1cQuaAXwZz7OyTu4UYInxyYnJzwKCebrUJAJcA1qsEAAAADPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + } + }, + { + "id": "example:splice_signed#8", + "method": "splice_signed", + "params": { + "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", + "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8BE0DpUPzjAPBIiyiBQjOavU1nokrXClo+fAJVSlZrtKyMklHLDWVJSen8k+VpK7aCftTvbpF95qsJXOCxivax0pMdIRasL+bRV5lfwMW1DXAcDTj+4gEYA5xoHnELhLlOm7s9TgkA5Uc/iQAAAAAM/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrchBxNHIqAqqqtlGdp6cUIvUOg1zWYXjgzOheBoxx0t10nBCQBv3LVMBAAAAAz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMI4MgQAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + } + }, + { + "id": "example:splice_signed#9", + "method": "splice_signed", + "params": { + "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8BE0BdJHiX7sErT15ULrKrq7fpyQxmI7dsZ5gGHVypREqUBD41YE0Lx9BbIqs5oxqpuQyKNTZBfWJ84MLAsftAWx0lIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAM/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + } + }, + { + "id": "example:splice_signed#10", + "method": "splice_signed", + "params": { + "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////ARNAYP1VnL+/6YQZqE77/wg6T7XjriX12pGDMuOEjkebVFnpSnE1sfz7wJ7oy/DQnYeuAAn4GXmmuKJZDBQ22lY0lCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + } + }, + { + "id": "example:splice_signed#11", + "method": "splice_signed", + "params": { + "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////ARNANvpkh9embgt74SJ1971S8zbYdekRzb1+6Qwg5NzBMi31I60s2BaS+asEzqlSE+n8nOPS+8k9+aZILzVH7y6rLCEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + } + }, + { + "id": "example:splice_signed#12", + "method": "splice_signed", + "params": { + "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", + "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////ARNAQEKmIehoW3hRALbLBT+tXoA6YXdQfPIgtfiMkpeYOvRSuHmgJFhVzHUgTLFlprt8ItRjQueznT/Qh4djvxulAiEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + } + }, + { + "id": "example:splice_signed#13", + "method": "splice_signed", + "params": { + "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIKQLtELasCMbUdj4QtlarVSKo14dE8TPzymXNE+AVFOhAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCJ9gHPH8hRCcAAEDCBioDQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEILuySvSKQVjgAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjmdRqUcGyn7gA=" + } + }, + { + "id": "example:splice_signed#14", + "method": "splice_signed", + "params": { + "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////ARNAJXn/exEY5zrlawEisgjuMX/CnutadCsjEu1yW2tSZX9WqFFqcxsgtfpUGFFpJG5t0rbZxhFY3gDWrvFdWEk+gSEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEviEHucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcJANa5adMEAAAADPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + } + }, + { + "id": "example:splice_signed#15", + "method": "splice_signed", + "params": { + "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////ARNAtQ86v4+DnHWsJFqqWU5jbB32nnpfgx8hxpJxRq7wDcajZ0MIVGwQi3moYsbO0fsVgP8FW3zjjgVu9jY2oDRpcyEWkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMJAMLMqxcAAAAADPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4hB7nAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCQDWuWnTBAAAAAz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMI4MgQAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + } + } + ], + "example_json_response": [ + { + "tx": "020000000001025677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc0000000000000000005677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc0100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022053269f3951a1fc942174ac0dde8462405a86c89b31b444890664ee9735872cff02204cd822c4456c15e90ad342b23e9bb252d383d4e17a8a04818c4919e4fd61efd80147304402205ac0787c79e74ebfa0eaf18964625c53eb672cc4bed2c65303bd9cc192dad6f902206c6c0cded47201dae0020f50a8998555e654d3420c64e801fc668238e3c1cdfa0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140088f537161beeae0bd125045377aa1343eda9aca2bfddb41849e6e8c44004fff34e78f1abebb7b77b20988e01a08dcf360b49721374bdb18f1ea685b062f614e6c000000", + "txid": "f00d5e230b401274c88d3e6205e2c6117028cb9878b7d2bc52b1441f0b589427" + }, + { + "tx": "020000000001028bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b0000000000000000008bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402205b24a4055db9f6f16d67cd6e06ba067eff853cbd34cfe4896923dd484b15dba602201c8e4bcd8a385a4ea4f414f3c0319d867a18141827e18c1bd08fd6df254b53330147304402205247352fb9be88652c9dcef9758610a35ed4465b61e24c709f39848d5b233b920220728b5e0301625b491378287016e9c5421487ba5ea42eced8a17b6e4b01dc7bf80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140251d179bf4368a3ef2d08eb8dda77e85b854816c8472ae92c2e013a44ab6cd6a5264edbc4f3bf501adce0c4387945c3f501a47b13020d4a33623dd81b5be6ada1c000000", + "txid": "ae3f4b463e26f008d8aaf2579f63a5ec81a19671f8d57b4cb5304efbb96ab0b0" + }, + { + "tx": "02000000000102b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846000000000000000000b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d78460100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402203dc0ca44eb37fb9b3477bccc174e61b085c585a1c477b4219da907e9ae2ec66002202ed842db04b7c62d729eac00b06c98cc2bc0c9025b31c984e845439af4f3aa8a0147304402203bb1ebf07422090a65874c974aa735d2eabe385946565e2674f8647919e3829402200b23a7ac92f6a1ff2cc34b9ee51ffbe1015c50fca18a427082e3bea968e53e6c0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140050704bc5eeea043c06e164234c927247cc38e81e41b55f22d29395495d877753a4512ce29be289a957c87e3f852126fa31c0f8883aa1a1d59a3160bbd8267616c000000", + "txid": "d6e3e31cce65da31aed36aafcb0bf2180e1f5342f4fe833a98b69882f06500b0" + }, + { + "tx": "0200000000010211b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c100000000000000000011b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c10100000000fdffffff024e7c0d0000000000225120974c19d5ed96a62a1bd10ad187fee5c2e3146f772228c5ae7a42b36e74cf24cfe0c81000000000002200206013ab2b7f5160d7d0d806c99ec3d1c3ba70a02be46051db5bec9c3c9bf6bfc30400473044022057e60e3d5ee0e89c9ba84e08c773316851098bc70000ff02e8931e7ae2a067b802205038fccf7ec110a24f7f01db4302050bba4f44471ad1986c42c3d6fbbf7e38c40147304402203e880e14fd5daacc21f5d6142c9137f41be4c51e87860e1b55eac2036270790902204f6c719030359d424317dc93cb1f09a09498a246454c3e27ca9f8cdaad7c478501475221021c29746e4136ddff456483df3980c2d0d5f31c93ef5ded564f7294a10d7414aa2102eb75f10ed201ec12fbd1cac619d3b960d483251a16180100cf3a9b4c1e23efff52ae0140a92bcae975c98bb143be1ddc77e644ae037fe67ffd78396d344666db37bbfe9b9f15cd79e908f82e441b0a00b8952d51b9ce28e3b62567559cce4a7cd368067b79000000", + "txid": "acab3f7a74ab81065d3a30dd944edc42a72082616f1c2cebb76ccaa2713e1772" + }, + { + "tx": "02000000000102e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec000000000000000000e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec0100000000fdffffff024e7c0d00000000002251204b9cda8b26910c5d751a020106c58e34d986812d9cb37a32cedc4e3d7b35f17de0c810000000000022002057a390cefa90d94c0e4f2c52f87215f65b028d6867b3ad674fb70fe9e032e9ad0400473044022001c77d0c54396da6337c30d8966a0db092e65f493359bdfac994e25fce7e8cae0220122b25066ef0c82b7f4f9daccbc6fbbe6b37483438dc15d2235412d58c071ba30147304402207697c16dc19946acff3508177a2c233a10f33bbf5423917be17e3bf6f817417a022079a97a8f85c6429289fb2c9e0842a2182b1b6bd9367cd755d58427ea5bb9c08f014752210362a03b58ce471d2bd4e1c36ba06944e6952a485929b25958a38fc4cfe0f457632103dce0e1c5b449fc4deb8dfd3f4ae99be642b32b1744134de520925ed14df803dc52ae01403e37f85d59775854e1d6ff92cd2e68530b2282aa86364df6e339318187a10d77a961a15433fc0b80835a267c241cde676d4d5fec4e71b4abaab1ed3adc66963586000000", + "txid": "37673573d318e34e37f64332a545a782b0747d4ea811358fcd67f05e8d1538a4" + }, + { + "tx": "02000000000102ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde70100000000fdffffffffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde700000000000000000002e0c810000000000022002093dedd0c265bca868576d3ee2e59eebbb20ebc296e58f7edca93d5eeaec089964e7c0d0000000000225120af51605d918dbaa3bffca3c35b253cb79ab00053a2b4dfb11a9f12427647bb7e0140184b7a19788dab45ddac830cdb9b034232ba1d4dbeaa8ac8f9ba6d7be594559905b44db864297c7bb50b9047a2a79747e2f11aef9e057a4a6a62b4ae70175a33040047304402203b7f7a3a7dea2711720d5cdb3b9c17c7789d54839ccee5679ab6860746bfa23402203ebfefb9bac5bf1dbb3aae53d8855a35c6c32d684d1e0793d2d315472d69e7420147304402204c4f09575ab1de684520f905976a61c84f7677c267712859935376c36690871202201bfd67eab4db896f7575cbf29882a7c38722a3f518d26030f6fea3f8c0ca14720147522102570ec0b6eb545663302183a62eac75d08fdeeb64f31352192065d601c8ca521d210266867c342b8250ab6b4edac6dbae2fde53782b69cd17139949fbd4f208487ff252ae93000000", + "txid": "b48c80c2e02bf442d01dc078c81a798ae7497ffa27690e9eb179e3530bb32947" + }, + { + "tx": "02000000000102a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be26350100000000fdffffffa388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be263500000000000000000002e0c8100000000000220020a056363be8c7dbb511098cc50fbca24843e6ed6de03f816465f1998a9a82a09d4e7c0d00000000002251201067fac13be81ae1909c1d725d74016ef7bf6edf1b03387d461b4925f836e8550140c20f074e6c25e5b1d696b817262ab2b60a623f4ff5adc4a71842751827bf77612b24d2bcd480bb0770a36dffe4105c50f726a5c22962d6f51bf901c29855a0dd0400473044022030352283a516af6a505aff317c16176fcb287e2a9c120886f2090ddfa02e7004022033b5fef2fda20b46d53dfcdf1899f36b3150640641c7d9c66fd6e4ef7b76d7f20147304402200e4148231f60a7d5b65cba0cfb3899cff4821c5038e2c67d0708496b11fbb38402206fdbdb2354b803f79f911c55f6dab8dbe4a28b95e37eba3b458ce5bdf348e9170147522102612dc5877ba97d77f0461ab2017ae31c053f85c04d50fdbdc5c1d029daee900321034592a1c50ad5f1e4ae6dcc9680ce9d0688ae003c0cdec1bdc6946cc220e6919352aea0000000", + "txid": "021d4fa6a156618ec43d6838047391afb8492c9f9a9dae56aceda1f10ae629f9" + }, + { + "tx": "020000000001028e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a00100000000fdffffff8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0000000000000000000024e7c0d00000000002251203be137e5a3cd4b761045a88c0728d324351836f04ed59dfda379b8d8464652b7e0c8100000000000220020c9bc5c063caefbf7a6c7814407b5627b4f81a8b56ecbe932c682f9cbac0d19df0140e950fce300f0488b288142339abd4d67a24ad70a5a3e7c02554a566bb4ac8c9251cb0d654949e9fc93e5692bb6827ed4ef6e917de6ab095ce0b18af6b1d2931d040047304402203bcac36acaee045fd023af045e17e7904aa0db3f94415f3e7739a336465817ed02205a6ec6406e1c3523558eeb997de2b34c78c14dafbefe360d3593d53baaab97a501473044022067ba94c04efde43bdd66d3e611a4e8da2361c397e21636230343211b66d77d9e022011cc0ebb25f7002cf3a0388e08b3b06264a7739b191d3113cd72e351889c0cf001475221037a3f7696038548c5e93f5ae8f88b7784cefef681cf1bcfd7b5b0dd109925cbc721037cd6577af5920b34f21d607694e1d52b49b019782f0ec830c91808e345bbebfc52ae97000000", + "txid": "8489ddf9c95ed49273fd050bef6cfe4b6cfdd869cb9cac711f2906681d077c3e" + }, + { + "tx": "02000000000102ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb780100000000fdffffffec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb7800000000000000000002e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e8e8700000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be01405d247897eec12b4f5e542eb2ababb7e9c90c6623b76c6798061d5ca9444a94043e35604d0bc7d05b22ab39a31aa9b90c8a3536417d627ce0c2c0b1fb405b1d25040047304402207e8d0a8ee58fdb6ca46be9815810d3d74ebe8f008f1ea102ce8852cabd04fe6502205c090f65396c3940004215dd9a3574fdfc6e036e3ffa9c21db433930d82653ae014730440220230efa6d3f7acbcec389ae7856e25807e117b0d156cc3dee7b639d242d74229f02202f0caf316f19d0685a81376bf3029a0db95b424cdc5c979986a98a048d7927b60147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae6c000000", + "txid": "efe3f30ee1b141b3870e58eaefe8a352dec605b6b473394944c21fed01c33bde" + }, + { + "tx": "020000000001022ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e0000000000000000002ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be0400473044022017d23cc911fdcc2d24cb1e702f57246e282ded2fd559bed274999901d7540a060220182a23aef2c69075a715b8c8cff948f801106efe817d5a1083682d0285f2db2d0147304402204d7b51c196c42953bb7fd19a9d3044c657e4de2e361d086003febbbdd95baffd02204318660efec2a530463baaec4c1a24d3f69c1c834e53ca92a1e9b62ecc6e572f0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae014060fd559cbfbfe98419a84efbff083a4fb5e3ae25f5da918332e3848e479b5459e94a7135b1fcfbc09ee8cbf0d09d87ae0009f81979a6b8a2590c1436da5634946c000000", + "txid": "3765b07ea8677cbfdc1593f83a0c0e5f5413e6c6f87fe6cfc7dabb79ded90d63" + }, + { + "tx": "02000000000102672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b000000000000000000672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402204b022898c9777868bb5edc54f8fa08f809b239c36711e4cb64086f116d39c4a0022051feb7e430e04dfb649b360b709a3876b821336007ec95995f1b81ec186be9c4014730440220188d4c2b63057111f70b0207cea118a1ef1e6e1a3ddefb96ef37fdd0891a138a02203b1a15cb507253310f83d30d3717523446c156befdbc617fcbf5032b8d51b1b80147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae014036fa6487d7a66e0b7be12275f7bd52f336d875e911cdbd7ee90c20e4dcc1322df523ad2cd81692f9ab04cea95213e9fc9ce3d2fbc93df9a6482f3547ef2eab2c6c000000", + "txid": "1278b6ec16938796fa2f0cbbff95435f8b8665cb8c80858ae8c45416341bdb4b" + }, + { + "tx": "0200000000010258c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d000000000000000000058c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d00100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022064c30b88879243cf33b782f4a39f485cb3a516e6f39c2e62b5c6714c6ebae7cf022061b4424d0abb0122c25e6a029c11c592c996bfef10ada7887d6477424ea96f650147304402200b4e357783e25e7ef15a782d792176026c0e0059fd507e942e741448a85b2d3b022061df1373201365488222bf02e90bb141b722196c70197ffe03a0466f1136ea8e0147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae01404042a621e8685b785100b6cb053fad5e803a6177507cf220b5f88c9297983af452b879a0245855cc75204cb165a6bb7c22d46342e7b39d3fd0878763bf1ba5024e000000", + "txid": "bf8abfa53663bf1948753da882f762c989cb6227187285bd4638ba8ee70abf10" + }, + { + "tx": "02000000000101a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a10000000000000000000218a80d00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cda0860100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402201560d5601d4399a9518884ff8d4072dafd1d177fe7044b4a7ad05f292ebf40f7022000ad22fc0a999d7fd38408142ce6282bb83e31dadb1df99c7c8ca4251b622a850147304402201b8016536e8d783ec85cb11f2d24f192ad25ce77d39baafc2130b7cb8913c78902204fb4e5551d5420d6bc6173290d0e6c374998ce9c75a109964367fd391ff984c50147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae6c000000", + "txid": "922a6f56f9fd5356ca8865b0a3b0e0ab33b2da04f99cfc72997758b89ee5633d" + }, + { + "tx": "02000000000102dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b000000000000000000dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b0100000000fdffffff02e0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd4e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be040047304402204b56d6b3cf7f77289657818c10ec907741f61041bfb937ea9afd7be6a4d4725402201efb63cb7c11cdd5dd01a0ca1cb528cbc38848ce0e8f14eb523c6f353044b0a701473044022001347e42ac52eac07437fa9de267ba59d81a491c91293e65ce4a9d412c9483d302203d48fc57ed444ba5c14e548bae075cbc3101c8ac9cd9cf406dfe4ec40c3e74840147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae01402579ff7b1118e73ae56b0122b208ee317fc29eeb5a742b2312ed725b6b52657f56a8516a731b20b5fa54185169246e6dd2b6d9c61158de00d6aef15d58493e816c000000", + "txid": "9ce51c947b221bfcd1c8ab4576cc5b96583ed520dfacd3e42a7e161b2c21ff10" + }, + { + "tx": "0200000000010278e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce000000000000000000078e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce00100000000fdffffff024e7c0d00000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84bee0c81000000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd0400473044022018546d459431e6e4cdc5bb1f5117001c5070829a18c4818053a9e56767461afb02205a7968ac7997ec6d59e06d2985746ef2e7c2ea68082c01c0365d1ba5775ec6310147304402205d5e8135819bf53afd4ef836e3c25ecd573bdcf61755f293a32aeea4ada9ade7022064b6f947b7e9c98ddc72cdafd86f96f9c0873c8dde0b46fc01b29ff982a8bf230147522102324266de8403b3ab157a09f1f784d587af61831c998c151bcc21bb74c2b2314b2102e3bd38009866c9da8ec4aa99cc4ea9c6c0dd46df15c61ef0ce1f271291714e5752ae0140b50f3abf8f839c75ac245aaa594e636c1df69e7a5f831f21c6927146aef00dc6a3674308546c108b79a862c6ced1fb1580ff055b7ce38e056ef63636a03469736c000000", + "txid": "f1274b6a4d1421ca6f816850a648ef362a21ed4f6160ae9577ebcb6b8745d1f5" + } + ], + "author": [ + "Dusty <<@dusty_daemon>> is mainly responsible." + ], + "see_also": [ + "lightning-splice_init(7)", + "lightning-splice_update(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-splice_update.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.08", + "rpc": "splice_update", + "title": "Command to initiate a channel to a peer", + "warning": "experimental-splicing only", + "description": [ + "`splice_update` is a low level RPC command which updates the active channel splice associated with `channel_id`.", + "", + "`splice_update` must be called repeatidly until the result `commitments_secured` is `true`. Each time `splice_update` is called, it will return a new PSBT that may have changes. In the simplest case, you take the returned `psbt` and pass it back into `splice_update` for the incoming `psbt` field.", + "", + "For more complex use cases, you may modify the `psbt` both before calling `splice_update` and inbetween subsequent calls until `commitments_secured` is `true`. After which point you can no long make modifications to the PSBT (beyond signing, which comes later with `splice_signed`).", + "", + "Each `splice_update` result may include changes to the PSBT specified by your channel peer. You can review these changes between calls to `splice_update` to perform additional validation or strategy adjustment.", + "", + "Typically, `splice_update` will return `commitments_secured` true after one call but you should assume it will need multiple calls." + ], + "request": { + "required": [ + "channel_id", + "psbt" + ], + "properties": { + "channel_id": { + "type": "hash", + "description": [ + "The channel id of the channel to be spliced." + ] + }, + "psbt": { + "type": "string", + "description": [ + "The base 64 encoded PSBT returned from `splice_init` with any changes added by the user." + ] + } + } + }, + "response": { + "required": [ + "psbt", + "commitments_secured" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The (incomplete) PSBT of the splice transaction." + ] + }, + "commitments_secured": { + "type": "boolean", + "description": [ + "Whether or not the commitments were secured." + ] + } + } + }, + "example_usage": [ + "Here is an example way to call `splice_update`", + "", + "```shell", + "RESULT={\"commitments_secured\":false}", + "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", + "do", + " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", + " PSBT=$(echo $RESULT | jq -r \".psbt\")", + " echo $RESULT", + "done", + "```", + "", + "Before each call to `splice_update` you have the opportunity to make additional changes.", + "", + "Here is a full example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.", + "", + "```shell", + "RESULT=$(lightning-cli listpeerchannels)", + "CHANNEL_ID=$(echo $RESULT| jq -r \".channels[0].channel_id\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true)", + "INITIALPSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT)", + "PSBT=$(echo $RESULT | jq -r \".psbt\")", + "echo $RESULT", + "", + "RESULT={\"commitments_secured\":false}", + "while [[ $(echo $RESULT | jq -r \".commitments_secured\") == \"false\" ]]", + "do", + " RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT)", + " PSBT=$(echo $RESULT | jq -r \".psbt\")", + " echo $RESULT", + "done", + "", + "RESULT=$(lightning-cli signpsbt -k psbt=\"$PSBT\")", + "PSBT=$(echo $RESULT | jq -r \".signed_psbt\")", + "echo $RESULT", + "", + "lightning-cli splice_signed $CHANNEL_ID $PSBT", + "```" + ], + "example_json_request": [ + { + "id": "example:splice_update#1", + "method": "splice_update", + "params": { + "channel_id": "5677721c35a424a23d6dcc7c909036e505ae68650e09d59733b4b7e73003a4dc", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gVndyHDWkJKI9bcx8kJA25QWuaGUOCdWXM7S35zADpNwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIK/Jiqp0i3SYAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCDmPhBY5ChQUAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIxt4P7eqf3+QAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQji6kH6aOXoAgA=" + } + }, + { + "id": "example:splice_update#2", + "method": "splice_update", + "params": { + "channel_id": "8bd25625f17cbdef0cd8ec028d93e136a545cb90a36d826b291a3fa5e8b1632b", + "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gi9JWJfF8ve8M2OwCjZPhNqVFy5CjbYJrKRo/peixYysBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIQYRATkaED2wAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCM7CJA2jNB0qAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIbENoCf5Hio4AAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQj6HEzO7Xi9MgA=" + } + }, + { + "id": "example:splice_update#3", + "method": "splice_update", + "params": { + "channel_id": "b11fe38993fc13c3c4b9148cacb56f25a4b322f2b8cea16def2c87311b6d7846", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gsR/jiZP8E8PEuRSMrLVvJaSzIvK4zqFt7yyHMRtteEYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEILOYcUhjAzkYAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCLz21Xp+Dk0CAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIDAEpuamKq3QAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiv75JH0venFgA=" + } + }, + { + "id": "example:splice_update#4", + "method": "splice_update", + "params": { + "channel_id": "11b897423e4ca33d7b4426220552e4767f870b495f58ee947d2a98c63a2f88c1", + "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEFR1IhAhwpdG5BNt3/RWSD3zmAwtDV8xyT713tVk9ylKENdBSqIQLrdfEO0gHsEvvRysYZ07lg1IMlGhYYAQDPOptMHiPv/1KuAQ4gEbiXQj5Moz17RCYiBVLkdn+HC0lfWO6UfSqYxjoviMEBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIGnfCPdZul94AAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCFWi5vcrQ5lEAAEDCE58DQAAAAAAAQQiUSCXTBnV7ZamKhvRCtGH/uXC4xRvdyIoxa56QrNudM8kzwz8CWxpZ2h0bmluZwEISqnuP4XPPboAAQMIAAAAAAAAAAABBCIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DDPwJbGlnaHRuaW5nAQjoCS+nSZmNhgA=" + } + }, + { + "id": "example:splice_update#5", + "method": "splice_update", + "params": { + "channel_id": "e1fa0cf673fa82343b08498eceb57a038555165bce1391eea795a3e9a2b2f0ec", + "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEFR1IhA2KgO1jORx0r1OHDa6BpROaVKkhZKbJZWKOPxM/g9FdjIQPc4OHFtEn8TeuN/T9K6ZvmQrMrF0QTTeUgkl7RTfgD3FKuAQ4g4foM9nP6gjQ7CEmOzrV6A4VVFlvOE5Hup5Wj6aKy8OwBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIMhTVGj4EalYAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKexrdwmY1F4AAEDCE58DQAAAAAAAQQiUSBLnNqLJpEMXXUaAgEGxY402YaBLZyzejLO3E49ezXxfQz8CWxpZ2h0bmluZwEIozpb2KQ0y4gAAQMIAAAAAAAAAAABBCIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtDPwJbGlnaHRuaW5nAQjZyv5bRnF57gA=" + } + }, + { + "id": "example:splice_update#6", + "method": "splice_update", + "params": { + "channel_id": "ffcaf58b1b0b1a150220e032913f308dc3a77240218675de2dc622063088cde7", + "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQVHUiECVw7AtutUVmMwIYOmLqx10I/e62TzE1IZIGXWAcjKUh0hAmaGfDQrglCra07axtuuL95TeCtpzRcTmUn71PIISH/yUq4BDiD/yvWLGwsaFQIg4DKRPzCNw6dyQCGGdd4txiIGMIjN5wEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQiVVBGTmPomqAABAwgAAAAAAAAAAAEEIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYM/AlsaWdodG5pbmcBCCHyowtU6dbaAAEDCE58DQAAAAAAAQQiUSCvUWBdkY26o7/8o8NbJTy3mrAAU6K037EanxJCdke7fgz8CWxpZ2h0bmluZwEIVDRM4EGWAxIA" + } + }, + { + "id": "example:splice_update#7", + "method": "splice_update", + "params": { + "channel_id": "a388a5a97786ae7fc09e70216968d62adeb9e1acb5b74043fbfe633462be2635", + "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BBUdSIQJhLcWHe6l9d/BGGrIBeuMcBT+FwE1Q/b3FwdAp2u6QAyEDRZKhxQrV8eSubcyWgM6dBoiuADwM3sG9xpRswiDmkZNSrgEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCH1VIAqQd6ZAAAEDCAAAAAAAAAAAAQQiACCgVjY76MfbtREJjMUPvKJIQ+btbeA/gWRl8ZmKmoKgnQz8CWxpZ2h0bmluZwEIURpO7CkZ3dAAAQMITnwNAAAAAAABBCJRIBBn+sE76BrhkJwdcl10AW73v27fGwM4fUYbSSX4NuhVDPwJbGlnaHRuaW5nAQhjY6/o/qLUGgA=" + } + }, + { + "id": "example:splice_update#8", + "method": "splice_update", + "params": { + "channel_id": "8e96521856441f21aacfb31b37e1046bca1cde8797ff75f9c2f4f0f39165c4a0", + "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BBUdSIQN6P3aWA4VIxek/Wuj4i3eEzv72gc8bz9e1sN0QmSXLxyEDfNZXevWSCzTyHWB2lOHVK0mwGXgvDsgwyRgI40W76/xSrgEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCOFOEzXQ59v4AAEDCE58DQAAAAAAAQQiUSA74Tflo81LdhBFqIwHKNMkNRg28E7Vnf2jebjYRkZStwz8CWxpZ2h0bmluZwEIAjTbDkTetoYAAQMIAAAAAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjQXALkFAFXOgA=" + } + }, + { + "id": "example:splice_update#9", + "method": "splice_update", + "params": { + "channel_id": "ec658e425da887b42dc663c229e95ead0ce11a82b7370f1f8af6ac752fc4bb78", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BBUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKVEmpG4fXRsAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIEnLndwbE4HgAAQMITo6HAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQizFfNMOV3BqgA=" + } + }, + { + "id": "example:splice_update#10", + "method": "splice_update", + "params": { + "channel_id": "d4aa1a72d383a4b1fbfb33408a46bcf1292db4bbfadc6e4496810ed2f3af89b6", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g1KoactODpLH7+zNAika88SkttLv63G5EloEO0vOvibYBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIqZaYfujo2BwAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCP0mEB0ZGKJuAAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIWiXXfTlEtIQAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjqFdWeDFSyMAA=" + } + }, + { + "id": "example:splice_update#11", + "method": "splice_update", + "params": { + "channel_id": "2ef631bbe94ba553c1a8a1fd77609be6acc8030b17a72a9ccaf439a07e67c05e", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gLvYxu+lLpVPBqKH9d2Cb5qzIAwsXpyqcyvQ5oH5nwF4BDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIB89Az8bSUbAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCOU1wuT/1NQ+AAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIHljdzrPDqcwAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQhlRT/dFiQ5gAA=" + } + }, + { + "id": "example:splice_update#12", + "method": "splice_update", + "params": { + "channel_id": "672670d03eb2b3de09069dd47a9e548ded6a7f4accb4a959cb17e5d0ac59e54b", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gZyZw0D6ys94JBp3Uep5Uje1qf0rMtKlZyxfl0KxZ5UsBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIdhLmRH0voHIAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCL2hF0YVoCNeAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIGp7T9myw9goAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQiKKDrk75jr5gA=" + } + }, + { + "id": "example:splice_update#13", + "method": "splice_update", + "params": { + "channel_id": "58c2037288697331702f1d3161101d2f53fd58878066bef8328b7abb67e420d0", + "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gWMIDcohpczFwLx0xYRAdL1P9WIeAZr74Mot6u2fkINABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIcFBwW8PCblQAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCPnRQRszVflAAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIIkArYSKZpqgAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQjmUkdnOKuuSgA=" + } + }, + { + "id": "example:splice_update#14", + "method": "splice_update", + "params": { + "channel_id": "a40bb442dab0231b51d8f842d95aad548aa35e1d13c4cfcf2997344f805453a1", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4gpAu0QtqwIxtR2PhC2VqtVIqjXh0TxM/PKZc0T4BUU6EBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIn2Ac8fyFEJwAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQgu7JK9IpBWOAABAwighgEAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCOZ1GpRwbKfuAA==" + } + }, + { + "id": "example:splice_update#15", + "method": "splice_update", + "params": { + "channel_id": "dc69dd5349816b7fe6f483d5ee715333b9133279f371bc11fa3cead74dc4fe2b", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4g3GndU0mBa3/m9IPV7nFTM7kTMnnzcbwR+jzq103E/isBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEItwxCusFf01QAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCMgFmkSe2m9gAAEDCAAAAAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEIxulwFA6teKoAAQMITnwNAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjZftQ0fHU0+gA=" + } + }, + { + "id": "example:splice_update#16", + "method": "splice_update", + "params": { + "channel_id": "78e79849f767005e49cbeb9290ab15506bf7dd0131c2fdfcbc2f8ae817b88ce0", + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEFR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KuAQ4geOeYSfdnAF5Jy+uSkKsVUGv33QExwv38vC+K6Be4jOABDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIIATHYCCJHzAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCHXamYBiH1QqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIcsW1aTsqPdoAAQMIAAAAAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNDPwJbGlnaHRuaW5nAQicro20u2YSaAA=" + } + } + ], + "example_json_response": [ + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAYulMzSBYSogKOBxk3Kg+HN0Hl81kGsQVuw2mwoetN33AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFlrmLyNU919XilsjNJ5sxvlE36XmUmRAoDD36K8BZ+cCIE2F6HPv3XjcNsU6hOOY9hUSuVjQUuVWqiNf3Bq3RopeASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFZ3chw1pCSiPW3MfJCQNuUFrmhlDgnVlzO0t+cwA6TcAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCvyYqqdIt0mAAEA9gIAAAAAAQGLpTM0gWEqICjgcZNyoPhzdB5fNZBrEFbsNpsKHrTd9wEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBZa5i8jVPdfV4pbIzSebMb5RN+l5lJkQKAw9+ivAWfnAiBNhehz79143DbFOoTjmPYVErlY0FLlVqojX9wat0aKXgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBWd3IcNaQkoj1tzHyQkDblBa5oZQ4J1ZcztLfnMAOk3AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQg5j4QWOQoUFAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCMbeD+3qn9/kAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI4upB+mjl6AIA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEHAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAehIDQa7gUQPClETSdef221AK4HqE3Obf6uebo44+74mAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgFSQDGAIlCmFPAFgGzrVThECPD9eHAjzqegBxYC1RimgCIFeWTcdPeP1lsW9YRgY4uoJdOE8pNH0k2vk9v/FT0M45ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIIvSViXxfL3vDNjsAo2T4TalRcuQo22CaykaP6XosWMrAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCEGEQE5GhA9sAAEA9gIAAAAAAQHoSA0Gu4FEDwpRE0nXn9ttQCuB6hNzm3+rnm6OOPu+JgAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBUkAxgCJQphTwBYBs61U4RAjw/XhwI86noAcWAtUYpoAiBXlk3HT3j9ZbFvWEYGOLqCXThPKTR9JNr5Pb/xU9DOOQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCL0lYl8Xy97wzY7AKNk+E2pUXLkKNtgmspGj+l6LFjKwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjOwiQNozQdKgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCGxDaAn+R4qOAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI+hxMzu14vTIA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARX1KPXB8eo78QJl4en+7twUvl5FprVW7iFdZvAfvanGAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYgtPcOtw2fr9Yo6GzHEqruUNarjt1XQiNGGPRtgezjICICnM4O2avPuJ8rfYbzUDZdsHFZugWTa83hPeeD+FiZvXASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOILEf44mT/BPDxLkUjKy1byWksyLyuM6hbe8shzEbbXhGAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCzmHFIYwM5GAAEA9gIAAAAAAQEV9Sj1wfHqO/ECZeHp/u7cFL5eRaa1Vu4hXWbwH72pxgEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGILT3DrcNn6/WKOhsxxKq7lDWq47dV0IjRhj0bYHs4yAiApzODtmrz7ifK32G81A2XbBxWboFk2vN4T3ng/hYmb1wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiCxH+OJk/wTw8S5FIystW8lpLMi8rjOoW3vLIcxG214RgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi89tV6fg5NAgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCAwBKbmpiqt0AAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIr++SR9L3pxYA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEeQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAdlUwQcq5TWOWbXWgxSRCaOPcBIbs8TQ9Pi20PkfhtKnAAAAAAD9////AkBCDwAAAAAAIgAgYBOrK39RYNfQ2AbJnsPRw7pwoCvkYFHbW+ycPJv2v8MBLw8AAAAAACJRIKdYPwxCFmO4ynb6V5AYtAaC74VT1z/QYc2PIW7NztajAkcwRAIgbNoREuaOfGs3xZ9Cvlb1Tzier2rOzsK66VN3Vu5qWJ8CIDMBXsOmmGHBGVKcJa3ttamo/hgBBr7pur/U8Dkl9Qz6ASECyKjyXtE1zWcciL1OQHuzdGZ4z6y89lzon478KqCr5TVzAAAAAQErQEIPAAAAAAAiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwEOIBG4l0I+TKM9e0QmIgVS5HZ/hwtJX1julH0qmMY6L4jBAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCBp3wj3WbpfeAAEA9gIAAAAAAQHZVMEHKuU1jlm11oMUkQmjj3ASG7PE0PT4ttD5H4bSpwAAAAAA/f///wJAQg8AAAAAACIAIGATqyt/UWDX0NgGyZ7D0cO6cKAr5GBR21vsnDyb9r/DAS8PAAAAAAAiUSCnWD8MQhZjuMp2+leQGLQGgu+FU9c/0GHNjyFuzc7WowJHMEQCIGzaERLmjnxrN8WfQr5W9U84nq9qzs7CuulTd1bualifAiAzAV7DpphhwRlSnCWt7bWpqP4YAQa+6bq/1PA5JfUM+gEhAsio8l7RNc1nHIi9TkB7s3RmeM+svPZc6J+O/Cqgq+U1cwAAAAEBKwEvDwAAAAAAIlEgp1g/DEIWY7jKdvpXkBi0BoLvhVPXP9BhzY8hbs3O1qMBDiARuJdCPkyjPXtEJiIFUuR2f4cLSV9Y7pR9KpjGOi+IwQEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQhVoub3K0OZRAABAwhOfA0AAAAAAAEEIlEgl0wZ1e2Wpiob0QrRh/7lwuMUb3ciKMWuekKzbnTPJM8M/AlsaWdodG5pbmcBCEqp7j+Fzz26AAEDCODIEAAAAAAAAQQiACBgE6srf1Fg19DYBsmew9HDunCgK+RgUdtb7Jw8m/a/wwz8CWxpZ2h0bmluZwEI6Akvp0mZjYYA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEhgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAaDlYTzxjqCFzH4Syg8Wc4MvWGBS1x4JhoakNtV1BL+wAAAAAAD9////AkBCDwAAAAAAIgAgV6OQzvqQ2UwOTyxS+HIV9lsCjWhns61nT7cP6eAy6a0BLw8AAAAAACJRIBNjgVA5vZ4JEiGhSi6DHtA4WD7S7K1GT00GNohtvWUtAkcwRAIgBc+6Pph8cUrA6f7nQ7Uq2FC9FIkauM3iE0e4348jQYUCIDTItg+GBDqExC6SGe7ljflkXhWEvCsk/sGnwYFW+c3eASECsPtMyG/pXGO/KCZcz/9YcwHPtSIk2zPOXVVBGLBCvuCAAAAAAQErQEIPAAAAAAAiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQEOIOH6DPZz+oI0OwhJjs61egOFVRZbzhOR7qeVo+misvDsAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCDIU1Ro+BGpWAAEA9gIAAAAAAQGg5WE88Y6ghcx+EsoPFnODL1hgUtceCYaGpDbVdQS/sAAAAAAA/f///wJAQg8AAAAAACIAIFejkM76kNlMDk8sUvhyFfZbAo1oZ7OtZ0+3D+ngMumtAS8PAAAAAAAiUSATY4FQOb2eCRIhoUougx7QOFg+0uytRk9NBjaIbb1lLQJHMEQCIAXPuj6YfHFKwOn+50O1KthQvRSJGrjN4hNHuN+PI0GFAiA0yLYPhgQ6hMQukhnu5Y35ZF4VhLwrJP7Bp8GBVvnN3gEhArD7TMhv6VxjvygmXM//WHMBz7UiJNszzl1VQRiwQr7ggAAAAAEBKwEvDwAAAAAAIlEgE2OBUDm9ngkSIaFKLoMe0DhYPtLsrUZPTQY2iG29ZS0BDiDh+gz2c/qCNDsISY7OtXoDhVUWW84Tke6nlaPporLw7AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQinsa3cJmNReAABAwhOfA0AAAAAAAEEIlEgS5zaiyaRDF11GgIBBsWONNmGgS2cs3oyztxOPXs18X0M/AlsaWdodG5pbmcBCKM6W9ikNMuIAAEDCODIEAAAAAAAAQQiACBXo5DO+pDZTA5PLFL4chX2WwKNaGezrWdPtw/p4DLprQz8CWxpZ2h0bmluZwEI2cr+W0Zxee4A", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEkwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABASsBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIZfZEZg75MhIAAQD1AgAAAAABAYTq5pqnY7ezqcPfo6rA5hvmw9QATQbKZV4tB9KDCYRdAAAAAAD9////AkBCDwAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBLw8AAAAAACJRIFpaoE64yJxXyAKicTqXNMz6v/mdAziYD6FJw2rb4w+BAkYwQwIgSKyZ6IisIm8k/Ovcob/u9x8UwyFtvq/H1hEvDPSs1QECH0bvWN94KST6Yle16zgGbwKBmhMU+kKtIaBEbDtG1wMBIQJmFOs4w8+WzXXc3MKa67XXWtIhVonaQ5pEZtmxrjVZno0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQ4g/8r1ixsLGhUCIOAykT8wjcOnckAhhnXeLcYiBjCIzecBDwQAAAAAARAEAAAAAAz8CWxpZ2h0bmluZwEIlVQRk5j6JqgAAQMI4MgQAAAAAAABBCIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWDPwJbGlnaHRuaW5nAQgh8qMLVOnW2gABAwhOfA0AAAAAAAEEIlEgr1FgXZGNuqO//KPDWyU8t5qwAFOitN+xGp8SQnZHu34M/AlsaWdodG5pbmcBCFQ0TOBBlgMSAA==", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEoAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUa8dqFP5M64FnkKWCmDusnd5FCYhu84IeFFBwhNA+X8AQAAAAD9////AkBCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BLw8AAAAAACJRIPE5NGfHF81Q3idgFn1DERQaj3UMifVP0skAYBp9qENMAkcwRAIgdMgLUBmGp8TU6CjUnCTFlXqTcEoMes29ifT8TgefQkwCIBAiI515v+aCty1LuAH76IAjhD8WkrRFJTaXpwrO3HVfASECrdS+fDe+nFDye7Mp6i6PaAV6YeEglyQM1Lypkk6qiU6aAAAAAQErAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAEOIKOIpal3hq5/wJ5wIWlo1ireueGstbdAQ/v+YzRiviY1AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCJzYnffNtamAAEA9gIAAAAAAQFGvHahT+TOuBZ5Clgpg7rJ3eRQmIbvOCHhRQcITQPl/AEAAAAA/f///wJAQg8AAAAAACIAIKBWNjvox9u1EQmMxQ+8okhD5u1t4D+BZGXxmYqagqCdAS8PAAAAAAAiUSDxOTRnxxfNUN4nYBZ9QxEUGo91DIn1T9LJAGAafahDTAJHMEQCIHTIC1AZhqfE1Ogo1JwkxZV6k3BKDHrNvYn0/E4Hn0JMAiAQIiOdeb/mgrctS7gB++iAI4Q/FpK0RSU2l6cKztx1XwEhAq3Uvnw3vpxQ8nuzKeouj2gFemHhIJckDNS8qZJOqolOmgAAAAEBK0BCDwAAAAAAIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0BDiCjiKWpd4auf8CecCFpaNYq3rnhrLW3QEP7/mM0Yr4mNQEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQh9VSAKkHemQAABAwjgyBAAAAAAAAEEIgAgoFY2O+jH27URCYzFD7yiSEPm7W3gP4FkZfGZipqCoJ0M/AlsaWdodG5pbmcBCFEaTuwpGd3QAAEDCE58DQAAAAAAAQQiUSAQZ/rBO+ga4ZCcHXJddAFu979u3xsDOH1GG0kl+DboVQz8CWxpZ2h0bmluZwEIY2Ov6P6i1BoA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMElwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAWhufGhDjETqU2w5AAvMCkgq2oyLXYGh1aFy1/Iib8zYAQAAAAD9////AkBCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BLw8AAAAAACJRIFXA76qnSrMTd5L6AEKYZ3V3fbTQXCyM8VNLz5SMZlXMAkcwRAIgDexJhXPkm+MGXxYT9kBs0yQmXkIDY0nKkh5i9Iee5tgCIFWKNv+1d8CsE4mPIcsZLW7UyZARXX/bvXn9p2qGIPMVASECRz15z0oQ57qDTAJqrEPqGLCn+3Xs2lGEv6+oxGYV9renAAAAAQErAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAEOII6WUhhWRB8hqs+zGzfhBGvKHN6Hl/91+cL08PORZcSgAQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCCZuSnH3kxiOAAEA9gIAAAAAAQFobnxoQ4xE6lNsOQALzApIKtqMi12BodWhctfyIm/M2AEAAAAA/f///wJAQg8AAAAAACIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfAS8PAAAAAAAiUSBVwO+qp0qzE3eS+gBCmGd1d3200FwsjPFTS8+UjGZVzAJHMEQCIA3sSYVz5JvjBl8WE/ZAbNMkJl5CA2NJypIeYvSHnubYAiBVijb/tXfArBOJjyHLGS1u1MmQEV1/2715/adqhiDzFQEhAkc9ec9KEOe6g0wCaqxD6hiwp/t17NpRhL+vqMRmFfa3pwAAAAEBK0BCDwAAAAAAIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8BDiCOllIYVkQfIarPsxs34QRryhzeh5f/dfnC9PDzkWXEoAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQjhThM10Ofb+AABAwhOfA0AAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrcM/AlsaWdodG5pbmcBCAI02w5E3raGAAEDCODIEAAAAAAAAQQiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z3wz8CWxpZ2h0bmluZwEI0FwC5BQBVzoA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAUfq6v77QQeUalcdWjq2kbsk2vp7e92v+lowXKawW0r6AQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgEXGPuj2wWGS1Gv/DErOFyuIVOPtgPaDu4cbfFtoMvVACIFjywd0ur4I2HbZw7g8kb97kfk6WVsntv/9c3g67u9wwASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIOxljkJdqIe0LcZjwinpXq0M4RqCtzcPH4r2rHUvxLt4AQ8EAQAAAAEQBP3///8M/AlsaWdodG5pbmcBCKN2AuNv/wYKAAEA9gIAAAAAAQFH6ur++0EHlGpXHVo6tpG7JNr6e3vdr/paMFymsFtK+gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBFxj7o9sFhktRr/wxKzhcriFTj7YD2g7uHG3xbaDL1QAiBY8sHdLq+CNh22cO4PJG/e5H5OllbJ7b//XN4Ou7vcMAEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBK0BCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BDiDsZY5CXaiHtC3GY8Ip6V6tDOEagrc3Dx+K9qx1L8S7eAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQilRJqRuH10bAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBJy53cGxOB4AAEDCE6OhwAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIsxXzTDldwaoA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcWxjwYjQmFJ2LnO9Mzmh90o4XbU2P057ZLdMHwP8eDJAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BQYkAAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgYqt3dLZdCkAIWavxNjy2lyf5UrBDJC5seWLtyFQY254CIHPhhRBJHwxUt/ES8DiAdY3NXF+LH111oYT6VaVA94l3ASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9kAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINSqGnLTg6Sx+/szQIpGvPEpLbS7+txuRJaBDtLzr4m2AQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCKmWmH7o6NgcAAEA9gIAAAAAAQHFsY8GI0JhSdi5zvTM5ofdKOF21Nj9Oe2S3TB8D/HgyQAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAUGJAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIGKrd3S2XQpACFmr8TY8tpcn+VKwQyQubHli7chUGNueAiBz4YUQSR8MVLfxEvA4gHWNzVxfix9ddaGE+lWlQPeJdwEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZAAAAAEBKwFBiQAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDUqhpy04Oksfv7M0CKRrzxKS20u/rcbkSWgQ7S86+JtgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj9JhAdGRiibgABAwhOjocAAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCFol1305RLSEAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI6hXVngxUsjAA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAcKJPqUIIitrVZnMOXNyXyjsSFIKT/OKHQt8VDook9ERAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgJcRt1fI8YSzNkOeFnXZ7fXBVkbYiFTZ+ycEDbB7IArYCIGT/irIpG+c/ij7GSfq56lzjb2V4Y7XLEh//wWWRngHmASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8sAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIC72MbvpS6VTwaih/Xdgm+asyAMLF6cqnMr0OaB+Z8BeAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCAfPQM/G0lGwAAEA9gIAAAAAAQHCiT6lCCIra1WZzDlzcl8o7EhSCk/zih0LfFQ6KJPREQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCICXEbdXyPGEszZDnhZ12e31wVZG2IhU2fsnBA2weyAK2AiBk/4qyKRvnP4o+xkn6uepc429leGO1yxIf/8FlkZ4B5gEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPLAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiAu9jG76UulU8Goof13YJvmrMgDCxenKpzK9DmgfmfAXgEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjlNcLk/9TUPgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCB5Y3c6zw6nMAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIZUU/3RYkOYAA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAR3U4bWvz6rAgQx5xcnOwGDzl+auHn73N56lz960jQnyAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgGLljwbBh8SqUve8aFGhSNrHE+61eW6DbPYjPpu6u3jECIGPM7P6D0B2cl5TXuvhr+vkwXwDhQtWaTblXH7mVcv0JASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIGcmcNA+srPeCQad1HqeVI3tan9KzLSpWcsX5dCsWeVLAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHYS5kR9L6ByAAEA9gIAAAAAAQEd1OG1r8+qwIEMecXJzsBg85fmrh5+9zeepc/etI0J8gEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIBi5Y8GwYfEqlL3vGhRoUjaxxPutXlug2z2Iz6burt4xAiBjzOz+g9AdnJeU17r4a/r5MF8A4ULVmk25Vx+5lXL9CQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBnJnDQPrKz3gkGndR6nlSN7Wp/Ssy0qVnLF+XQrFnlSwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQi9oRdGFaAjXgABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCBqe0/ZssPYKAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEIiig65O+Y6+YA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMETgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAXuHHVXdEQejGf8lxoRDa1UyadQeYmOlNizYIPQx4/KcAAAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgNdwnQQBWE47Zj0soyRpdYbIhusUIuItNG5JL5OQIjaUCIGY62BidVaA9+pquvjiFC8RztAfFJi2pCiIK84/fpugFASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8YAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIFjCA3KIaXMxcC8dMWEQHS9T/ViHgGa++DKLertn5CDQAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCHBQcFvDwm5UAAEA9gIAAAAAAQF7hx1V3REHoxn/JcaEQ2tVMmnUHmJjpTYs2CD0MePynAAAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIDXcJ0EAVhOO2Y9LKMkaXWGyIbrFCLiLTRuSS+TkCI2lAiBmOtgYnVWgPfqarr44hQvEc7QHxSYtqQoiCvOP36boBQEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPGAAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiBYwgNyiGlzMXAvHTFhEB0vU/1Yh4Bmvvgyi3q7Z+Qg0AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQj50UEbM1X5QAABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCCJAK2EimaaoAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEI5lJHZzirrkoA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABARzi7RBt64yrfqRL2p+KiUw8cYtiKICRFHmp/4eCSemSAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgTCjR9L+TfzP7pLJVVto5egTRbRNj/RaBhyrA3UW0aEcCIAJO5FZjXvdpRcGR949C4DnfHs3soklTjn/1upkia+TgASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIKQLtELasCMbUdj4QtlarVSKo14dE8TPzymXNE+AVFOhAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCJ9gHPH8hRCcAAEDCBioDQAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEILuySvSKQVjgAAQMIoIYBAAAAAAABBCJRIHg2NV/cioLcTLAKdyxVVBUdBjhKTdZejT9orAhWa4S+DPwJbGlnaHRuaW5nAQjmdRqUcGyn7gA=", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAe23qF5mZGPaV46z+fUS1tJq0fz2HVnIT+j7ElxQTQVXAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgC16WbzDZVeiFQwzseJJ+SIeTd9pbXytPSAAZqCUiLbQCICFEbLYQ/bshputILRe+do3MeRaWHmrsgLc/CqP5j2PrASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOINxp3VNJgWt/5vSD1e5xUzO5EzJ583G8Efo86tdNxP4rAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCLcMQrrBX9NUAAEA9gIAAAAAAQHtt6heZmRj2leOs/n1EtbSatH89h1ZyE/o+xJcUE0FVwEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIAtelm8w2VXohUMM7HiSfkiHk3faW18rT0gAGaglIi20AiAhRGy2EP27IabrSC0XvnaNzHkWlh5q7IC3Pwqj+Y9j6wEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiDcad1TSYFrf+b0g9XucVMzuRMyefNxvBH6POrXTcT+KwEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQjIBZpEntpvYAABAwjgyBAAAAAAAAEEIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0M/AlsaWdodG5pbmcBCMbpcBQOrXiqAAEDCE58DQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgz8CWxpZ2h0bmluZwEI2X7UNHx1NPoA", + "commitments_secured": true + }, + { + "psbt": "cHNidP8BAgQCAAAAAQMEbAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD2AgAAAAABAa2CLcfXsYz6aSg6g22OtVnMlnXVVvnb0eAQMJSHf2SlAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgH2v+RkrzVNKg+EgV/+2q9b+k2x2IPK5kPST0n+ZqMIwCIHnMq3WZljqPST/uRUbEzd4/kF43fLyINjl46ZqmMIduASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEOIHjnmEn3ZwBeScvrkpCrFVBr990BMcL9/LwviugXuIzgAQ8EAAAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCCAEx2AgiR8wAAEA9gIAAAAAAQGtgi3H17GM+mkoOoNtjrVZzJZ11Vb529HgEDCUh39kpQEAAAAA/f///wJAQg8AAAAAACIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgJHMEQCIB9r/kZK81TSoPhIFf/tqvW/pNsdiDyuZD0k9J/majCMAiB5zKt1mZY6j0k/7kVGxM3eP5BeN3y8iDY5eOmapjCHbgEhA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPZgAAAAEBKwEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oBDiB455hJ92cAXknL65KQqxVQa/fdATHC/fy8L4roF7iM4AEPBAEAAAABEAT9////DPwJbGlnaHRuaW5nAQh12pmAYh9UKgABAwhOfA0AAAAAAAEEIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL4M/AlsaWdodG5pbmcBCHLFtWk7Kj3aAAEDCODIEAAAAAAAAQQiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQz8CWxpZ2h0bmluZwEInK6NtLtmEmgA", + "commitments_secured": true + } + ], + "author": [ + "Dusty <<@dusty_daemon>> is mainly responsible." + ], + "see_also": [ + "lightning-splice_init(7)", + "lightning-splice_signed(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-sql.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "added": "v23.02", + "rpc": "sql", + "title": "Command to do complex queries on list commands", + "description": [ + "The **sql** RPC command runs the given query across a sqlite3 database created from various list commands.", + "", + "When tables are accessed, it calls the below commands, so it's no faster than any other local access (though it goes to great length to cache `listnodes` and `listchannels`) which then processes the results.", + "", + "It is, however faster for remote access if the result of the query is much smaller than the list commands would be." + ], + "request": { + "required": [ + "query" + ], + "properties": { + "query": { + "type": "string", + "description": [ + "The standard sqlite3 query to run.", + "Note that queries like \"SELECT *\" are fragile, as columns will change across releases; see lightning-listsqlschemas(7)." + ] + } + } + }, + "response": { + "required": [ + "rows" + ], + "properties": { + "rows": { + "type": "array", + "items": { + "type": "array" + } + }, + "warning_db_failure": { + "type": "string", + "description": [ + "A message if the database encounters an error partway through." + ] + } + }, + "pre_return_value_notes": [ + "On success, an object containing **rows** is returned. It is an array. Each array entry contains an array of values, each an integer, real number, string or *null*, depending on the sqlite3 type.", + "", + "The object may contain **warning_db_failure** if the database fails partway through its operation." + ] + }, + "treatment_of_types": [ + "The following types are supported in schemas, and this shows how they are presented in the database. This matters: a JSON boolean is represented as an integer in the database, so a query will return 0 or 1, not true or false.", + "", + "* *hex*. A hex string.", + " * JSON: a string", + " * sqlite3: BLOB", + "", + "* *hash*/*secret*/*pubkey*/*txid*: just like *hex*.", + "", + "* *msat*/*integer*/*u64*/*u32*/*u16*/*u8*. Normal numbers.", + " * JSON: an unsigned integer", + " * sqlite3: INTEGER", + "", + "* *boolean*. True or false.", + " * JSON: literal **true** or **false**", + " * sqlite3: INTEGER", + "", + "* *number*. A floating point number (used for times in some places).", + " * JSON: number", + " * sqlite3: REAL", + "", + "* *string*. Text.", + " * JSON: string", + " * sqlite3: TEXT", + "", + "* *short_channel_id*. A short-channel-id of form 1x2x3.", + " * JSON: string", + " * sqlite3: TEXT" + ], + "permitted_sqlite3_functions": [ + "Writing to the database is not permitted, and limits are placed on various other query parameters.", + "", + "Additionally, only the following functions are allowed:", + "", + "* abs", + "* avg", + "* coalesce", + "* count", + "* hex", + "* quote", + "* length", + "* like", + "* lower", + "* upper", + "* min", + "* max", + "* sum", + "* total" + ], + "tables": [ + "Note that the first column of every table is a unique integer called `rowid`: this is used for related tables to refer to specific rows in their parent. sqlite3 usually has this as an implicit column, but we make it explicit as the implicit version is not allowed to be used as a foreign key.", + "", + "The following tables are currently supported:\n- `bkpr_accountevents` (see lightning-bkpr-listaccountevents(7))\n - `account` (type `string`, sqltype `TEXT`)\n - `type` (type `string`, sqltype `TEXT`)\n - `tag` (type `string`, sqltype `TEXT`)\n - `credit_msat` (type `msat`, sqltype `INTEGER`)\n - `debit_msat` (type `msat`, sqltype `INTEGER`)\n - `currency` (type `string`, sqltype `TEXT`)\n - `timestamp` (type `u32`, sqltype `INTEGER`)\n\n- `bkpr_income` (see lightning-bkpr-listincome(7))\n - `account` (type `string`, sqltype `TEXT`)\n - `tag` (type `string`, sqltype `TEXT`)\n - `credit_msat` (type `msat`, sqltype `INTEGER`)\n - `debit_msat` (type `msat`, sqltype `INTEGER`)\n - `currency` (type `string`, sqltype `TEXT`)\n - `timestamp` (type `u32`, sqltype `INTEGER`)\n - `description` (type `string`, sqltype `TEXT`)\n - `outpoint` (type `string`, sqltype `TEXT`)\n - `txid` (type `txid`, sqltype `BLOB`)\n - `payment_id` (type `hex`, sqltype `BLOB`)\n\n- `channels` indexed by `short_channel_id` (see lightning-listchannels(7))\n - `source` (type `pubkey`, sqltype `BLOB`)\n - `destination` (type `pubkey`, sqltype `BLOB`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `direction` (type `u32`, sqltype `INTEGER`)\n - `public` (type `boolean`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `message_flags` (type `u8`, sqltype `INTEGER`)\n - `channel_flags` (type `u8`, sqltype `INTEGER`)\n - `active` (type `boolean`, sqltype `INTEGER`)\n - `last_update` (type `u32`, sqltype `INTEGER`)\n - `base_fee_millisatoshi` (type `u32`, sqltype `INTEGER`)\n - `fee_per_millionth` (type `u32`, sqltype `INTEGER`)\n - `delay` (type `u32`, sqltype `INTEGER`)\n - `htlc_minimum_msat` (type `msat`, sqltype `INTEGER`)\n - `htlc_maximum_msat` (type `msat`, sqltype `INTEGER`)\n - `features` (type `hex`, sqltype `BLOB`)\n\n- `closedchannels` (see lightning-listclosedchannels(7))\n - `peer_id` (type `pubkey`, sqltype `BLOB`)\n - `channel_id` (type `hash`, sqltype `BLOB`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `opener` (type `string`, sqltype `TEXT`)\n - `closer` (type `string`, sqltype `TEXT`)\n - `private` (type `boolean`, sqltype `INTEGER`)\n - related table `closedchannels_channel_type_bits`, from JSON object `channel_type`\n - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `bits` (type `u32`, sqltype `INTEGER`)\n - related table `closedchannels_channel_type_names`, from JSON object `channel_type`\n - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `names` (type `string`, sqltype `TEXT`)\n - `total_local_commitments` (type `u64`, sqltype `INTEGER`)\n - `total_remote_commitments` (type `u64`, sqltype `INTEGER`)\n - `total_htlcs_sent` (type `u64`, sqltype `INTEGER`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `leased` (type `boolean`, sqltype `INTEGER`)\n - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`)\n - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`)\n - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`)\n - `total_msat` (type `msat`, sqltype `INTEGER`)\n - `final_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `min_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `max_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `last_commitment_txid` (type `hash`, sqltype `BLOB`)\n - `last_commitment_fee_msat` (type `msat`, sqltype `INTEGER`)\n - `close_cause` (type `string`, sqltype `TEXT`)\n\n- `forwards` indexed by `in_channel and in_htlc_id` (see lightning-listforwards(7))\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `in_channel` (type `short_channel_id`, sqltype `TEXT`)\n - `in_htlc_id` (type `u64`, sqltype `INTEGER`)\n - `in_msat` (type `msat`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `received_time` (type `number`, sqltype `REAL`)\n - `out_channel` (type `short_channel_id`, sqltype `TEXT`)\n - `out_htlc_id` (type `u64`, sqltype `INTEGER`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n - `style` (type `string`, sqltype `TEXT`)\n\n- `htlcs` indexed by `short_channel_id and id` (see lightning-listhtlcs(7))\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `expiry` (type `u32`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `direction` (type `string`, sqltype `TEXT`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `state` (type `string`, sqltype `TEXT`)\n\n- `invoices` indexed by `payment_hash` (see lightning-listinvoices(7))\n - `label` (type `string`, sqltype `TEXT`)\n - `description` (type `string`, sqltype `TEXT`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `status` (type `string`, sqltype `TEXT`)\n - `expires_at` (type `u64`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `bolt11` (type `string`, sqltype `TEXT`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n - `local_offer_id` (type `hash`, sqltype `BLOB`)\n - `invreq_payer_note` (type `string`, sqltype `TEXT`)\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n\n- `nodes` indexed by `nodeid` (see lightning-listnodes(7))\n - `nodeid` (type `pubkey`, sqltype `BLOB`)\n - `last_timestamp` (type `u32`, sqltype `INTEGER`)\n\n- `offers` indexed by `offer_id` (see lightning-listoffers(7))\n - `offer_id` (type `hash`, sqltype `BLOB`)\n - `active` (type `boolean`, sqltype `INTEGER`)\n - `single_use` (type `boolean`, sqltype `INTEGER`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n - `used` (type `boolean`, sqltype `INTEGER`)\n - `label` (type `string`, sqltype `TEXT`)\n\n- `peerchannels` indexed by `peer_id` (see lightning-listpeerchannels(7))\n - `peer_id` (type `pubkey`, sqltype `BLOB`)\n - `peer_connected` (type `boolean`, sqltype `INTEGER`)\n - `reestablished` (type `boolean`, sqltype `INTEGER`)\n - `state` (type `string`, sqltype `TEXT`)\n - `scratch_txid` (type `txid`, sqltype `BLOB`)\n - related table `peerchannels_channel_type_bits`, from JSON object `channel_type`\n - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `bits` (type `u32`, sqltype `INTEGER`)\n - related table `peerchannels_channel_type_names`, from JSON object `channel_type`\n - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `names` (type `string`, sqltype `TEXT`)\n - `local_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `local`)\n - `local_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`)\n - `local_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `local`)\n - `remote_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`)\n - `remote_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `remote`)\n - `ignore_fee_limits` (type `boolean`, sqltype `INTEGER`)\n - `lost_state` (type `boolean`, sqltype `INTEGER`)\n - `feerate_perkw` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`)\n - `feerate_perkb` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`)\n - `owner` (type `string`, sqltype `TEXT`)\n - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`)\n - `channel_id` (type `hash`, sqltype `BLOB`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `initial_feerate` (type `string`, sqltype `TEXT`)\n - `last_feerate` (type `string`, sqltype `TEXT`)\n - `next_feerate` (type `string`, sqltype `TEXT`)\n - `next_fee_step` (type `u32`, sqltype `INTEGER`)\n - related table `peerchannels_inflight`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `funding_txid` (type `txid`, sqltype `BLOB`)\n - `funding_outnum` (type `u32`, sqltype `INTEGER`)\n - `feerate` (type `string`, sqltype `TEXT`)\n - `total_funding_msat` (type `msat`, sqltype `INTEGER`)\n - `splice_amount` (type `integer`, sqltype `INTEGER`)\n - `our_funding_msat` (type `msat`, sqltype `INTEGER`)\n - `scratch_txid` (type `txid`, sqltype `BLOB`)\n - `close_to` (type `hex`, sqltype `BLOB`)\n - `private` (type `boolean`, sqltype `INTEGER`)\n - `opener` (type `string`, sqltype `TEXT`)\n - `closer` (type `string`, sqltype `TEXT`)\n - related table `peerchannels_features`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `features` (type `string`, sqltype `TEXT`)\n - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_local_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_remote_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`)\n - `to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `min_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `max_to_us_msat` (type `msat`, sqltype `INTEGER`)\n - `total_msat` (type `msat`, sqltype `INTEGER`)\n - `fee_base_msat` (type `msat`, sqltype `INTEGER`)\n - `fee_proportional_millionths` (type `u32`, sqltype `INTEGER`)\n - `dust_limit_msat` (type `msat`, sqltype `INTEGER`)\n - `max_total_htlc_in_msat` (type `msat`, sqltype `INTEGER`)\n - `their_reserve_msat` (type `msat`, sqltype `INTEGER`)\n - `our_reserve_msat` (type `msat`, sqltype `INTEGER`)\n - `spendable_msat` (type `msat`, sqltype `INTEGER`)\n - `receivable_msat` (type `msat`, sqltype `INTEGER`)\n - `minimum_htlc_in_msat` (type `msat`, sqltype `INTEGER`)\n - `minimum_htlc_out_msat` (type `msat`, sqltype `INTEGER`)\n - `maximum_htlc_out_msat` (type `msat`, sqltype `INTEGER`)\n - `their_to_self_delay` (type `u32`, sqltype `INTEGER`)\n - `our_to_self_delay` (type `u32`, sqltype `INTEGER`)\n - `max_accepted_htlcs` (type `u32`, sqltype `INTEGER`)\n - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`)\n - related table `peerchannels_state_changes`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `timestamp` (type `string`, sqltype `TEXT`)\n - `old_state` (type `string`, sqltype `TEXT`)\n - `new_state` (type `string`, sqltype `TEXT`)\n - `cause` (type `string`, sqltype `TEXT`)\n - `message` (type `string`, sqltype `TEXT`)\n - related table `peerchannels_status`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `in_payments_offered` (type `u64`, sqltype `INTEGER`)\n - `in_offered_msat` (type `msat`, sqltype `INTEGER`)\n - `in_payments_fulfilled` (type `u64`, sqltype `INTEGER`)\n - `in_fulfilled_msat` (type `msat`, sqltype `INTEGER`)\n - `out_payments_offered` (type `u64`, sqltype `INTEGER`)\n - `out_offered_msat` (type `msat`, sqltype `INTEGER`)\n - `out_payments_fulfilled` (type `u64`, sqltype `INTEGER`)\n - `out_fulfilled_msat` (type `msat`, sqltype `INTEGER`)\n - `last_stable_connection` (type `u64`, sqltype `INTEGER`)\n - related table `peerchannels_htlcs`\n - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `direction` (type `string`, sqltype `TEXT`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `expiry` (type `u32`, sqltype `INTEGER`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `local_trimmed` (type `boolean`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n\n- `peers` indexed by `id` (see lightning-listpeers(7))\n - `id` (type `pubkey`, sqltype `BLOB`)\n - `connected` (type `boolean`, sqltype `INTEGER`)\n - related table `peers_netaddr`\n - `row` (reference to `peers.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `netaddr` (type `string`, sqltype `TEXT`)\n - `features` (type `string`, sqltype `TEXT`)\n - `num_channels` (type `u32`, sqltype `INTEGER`)\n\n- `sendpays` indexed by `payment_hash` (see lightning-listsendpays(7))\n - `created_index` (type `u64`, sqltype `INTEGER`)\n - `id` (type `u64`, sqltype `INTEGER`)\n - `groupid` (type `u64`, sqltype `INTEGER`)\n - `partid` (type `u64`, sqltype `INTEGER`)\n - `payment_hash` (type `hash`, sqltype `BLOB`)\n - `updated_index` (type `u64`, sqltype `INTEGER`)\n - `status` (type `string`, sqltype `TEXT`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `destination` (type `pubkey`, sqltype `BLOB`)\n - `created_at` (type `u64`, sqltype `INTEGER`)\n - `amount_sent_msat` (type `msat`, sqltype `INTEGER`)\n - `label` (type `string`, sqltype `TEXT`)\n - `bolt11` (type `string`, sqltype `TEXT`)\n - `description` (type `string`, sqltype `TEXT`)\n - `bolt12` (type `string`, sqltype `TEXT`)\n\n- `transactions` indexed by `hash` (see lightning-listtransactions(7))\n - `hash` (type `txid`, sqltype `BLOB`)\n - `rawtx` (type `hex`, sqltype `BLOB`)\n - `blockheight` (type `u32`, sqltype `INTEGER`)\n - `txindex` (type `u32`, sqltype `INTEGER`)\n - `locktime` (type `u32`, sqltype `INTEGER`)\n - `version` (type `u32`, sqltype `INTEGER`)\n - related table `transactions_inputs`\n - `row` (reference to `transactions.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `txid` (type `txid`, sqltype `BLOB`)\n - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`)\n - `sequence` (type `u32`, sqltype `INTEGER`)\n - related table `transactions_outputs`\n - `row` (reference to `transactions.rowid`, sqltype `INTEGER`)\n - `arrindex` (index within array, sqltype `INTEGER`)\n - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`)\n - `amount_msat` (type `msat`, sqltype `INTEGER`)\n - `scriptPubKey` (type `hex`, sqltype `BLOB`)" + ], + "errors": [ + "On failure, an error is returned." + ], + "example_usage": [ + "Here are some example using lightning-cli. Note that you may need to use `-o` if you use queries which contain `=` (which make lightning-cli(1) default to keyword style):", + "", + "A simple peer selection query:", + "", + "```shell", + "$ lightning-cli sql \"SELECT id FROM peers\"", + "{", + " \"rows\": [", + " [", + " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", + " ]", + " ]", + "}", + "```", + "", + "A statement containing using `=` needs `-o`:", + "", + "```shell", + "$ lightning-cli sql -o \"SELECT node_id,last_timestamp FROM nodes WHERE last_timestamp>=1669578892\"", + "{", + " \"rows\": [", + " [", + " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\",", + " 1669601603", + " ]", + " ]", + "}", + "```", + "", + "If you want to compare a BLOB column, `x'hex'` or `X'hex'` are needed:", + "", + "```shell", + "$ lightning-cli sql -o \"SELECT nodeid FROM nodes WHERE nodeid != x'03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1';\"", + "{", + " \"rows\": [", + " [", + " \"0214739d625944f8fdc0da9d2ef44dbd7af58443685e494117b51410c5c3ff973a\"", + " ],", + " [", + " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", + " ]", + " ]", + "}", + "$ lightning-cli sql -o \"SELECT nodeid FROM nodes WHERE nodeid IN (x'03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1', x'02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00')\"", + "{", + " \"rows\": [", + " [", + " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\"", + " ],", + " [", + " \"03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1\"", + " ]", + " ]", + "}", + "```", + "", + "Related tables are usually referenced by JOIN:", + "", + "```shell", + "$ lightning-cli sql -o \"SELECT nodeid, alias, nodes_addresses.type, nodes_addresses.port, nodes_addresses.address FROM nodes INNER JOIN nodes_addresses ON nodes_addresses.row = nodes.rowid\"", + "{", + " \"rows\": [", + " [", + " \"02ba9965e3db660385bd1dd2c09dd032e0f2179a94fc5db8917b60adf0b363da00\",", + " \"YELLOWWATCH-22.11rc2-31-gcd7593b\",", + " \"dns\",", + " 7272,", + " \"localhost\"", + " ],", + " [", + " \"0214739d625944f8fdc0da9d2ef44dbd7af58443685e494117b51410c5c3ff973a\",", + " \"HOPPINGSQUIRREL-1rc2-31-gcd7593b\",", + " \"dns\",", + " 7171,", + " \"localhost\"", + " ]", + " ]", + "}", + "```", + "", + "Simple function usage, in this case COUNT. Strings inside arrays need \", and ' to protect them from the shell:", + "", + "```shell", + "$ lightning-cli sql 'SELECT COUNT(*) FROM nodes\"", + "{", + " \"rows\": [", + " [", + " 3", + " ]", + " ]", + "}", + "```" + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-listtransactions(7)", + "lightning-listchannels(7)", + "lightning-listpeers(7)", + "lightning-listnodes(7)", + "lightning-listforwards(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ + { + "id": "example:sql#1", + "method": "sql", + "params": [ + "SELECT * FROM forwards;" + ] + }, + { + "id": "example:sql#2", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] + }, + { + "id": "example:sql#3", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] + }, + { + "id": "example:sql#4", + "method": "sql", + "params": [ + "SELECT * FROM forwards;" + ] + }, + { + "id": "example:sql#5", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] + }, + { + "id": "example:sql#6", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] + } + ], + "example_json_response": [ + { + "rows": [] + }, + { + "rows": [ + [ + 6, + 1, + 0, + "option_static_remotekey" + ], + [ + 7, + 1, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 16, + 11, + 0, + "option_static_remotekey" + ], + [ + 17, + 11, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] + }, + { + "rows": [ + [ + 26, + 21, + 0, + "option_static_remotekey" + ], + [ + 27, + 21, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 36, + 31, + 0, + "option_static_remotekey" + ], + [ + 37, + 31, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] + }, + { + "rows": [] + }, + { + "rows": [ + [ + 6, + 1, + 0, + "option_static_remotekey" + ], + [ + 7, + 1, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 16, + 11, + 0, + "option_static_remotekey" + ], + [ + 17, + 11, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] + }, + { + "rows": [ + [ + 26, + 21, + 0, + "option_static_remotekey" + ], + [ + 27, + 21, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 36, + 31, + 0, + "option_static_remotekey" + ], + [ + 37, + 31, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] + } + ] + }, + "lightning-staticbackup.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "staticbackup", + "title": "Command for deriving getting SCB of all the existing channels", + "description": [ + "The **staticbackup** RPC command returns an object with SCB of all the channels in an array." + ], + "request": { + "required": [], + "properties": {} + }, + "response": { + "required": [ + "scb" + ], + "properties": { + "scb": { + "type": "array", + "items": { + "type": "hex", + "description": [ + "SCB of a channel in TLV format." + ] } } + } + }, + "example_json_request": [ + { + "id": "example:staticbackup#1", + "method": "staticbackup", + "params": "{}" + }, + { + "id": "example:staticbackup#2", + "method": "staticbackup", + "params": "{}" + }, + { + "id": "example:staticbackup#3", + "method": "staticbackup", + "params": "{}" + }, + { + "id": "example:staticbackup#4", + "method": "staticbackup", + "params": "{}" + } + ], + "example_json_response": [ + { + "scb": [ + "0000000000000001c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc651022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f000001b2e3c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc6510000000000000000000186a000021000" + ] + }, + { + "scb": [ + "0000000000000001c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc651022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f000001b2e3c707da9b230e1655b0a6c082b8daf4fa44d9d1f68163ed4d531d45cf453dc6510000000000000000000186a000021000" + ] + }, + { + "scb": [ + "0000000000000001c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f4022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f0000018789c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f40000000000000000000186a00003401000" + ] + }, + { + "scb": [ + "0000000000000001c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f4022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d5900017f0000018789c3038a58aec100a1cbcf9e0ee45036204c496490df568339c0b71e7ffdee11f40000000000000000000186a00003401000" + ] + } + ], + "author": [ + "Aditya <> is mainly responsible." + ], + "see_also": [ + "lightning-getsharedsecret(7)" + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-stop.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "stop", + "title": "Command to shutdown the Core Lightning node.", + "description": [ + "The **stop** is a RPC command to shut off the Core Lightning node." + ], + "request": { + "required": [], + "properties": {} + }, + "response": { + "required": [ + "result" + ], + "properties": { + "result": { + "type": "string", + "added": "v24.05", + "enum": [ + "Shutdown complete" + ] + } + } + }, + "example_json_request": [ + { + "id": "example:stop#1", + "method": "stop", + "params": {} + }, + { + "id": "example:stop#2", + "method": "stop", + "params": "{}" + }, + { + "id": "example:stop#3", + "method": "stop", + "params": "{}" + } + ], + "example_json_response": [ + "Shutdown complete", + "Shutdown complete" + ], + "author": [ + "Vincenzo Palazzo <> wrote the initial version of this man page,", + "but many others did the hard work of actually implementing this rpc command." + ], + "resources": [ + "Main web site: " + ] + }, + "lightning-txdiscard.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "txdiscard", + "title": "Abandon a transaction from txprepare, release inputs", + "description": [ + "The **txdiscard** RPC command releases inputs which were reserved for use of the *txid* from lightning-txprepare(7)." + ], + "request": { + "required": [ + "txid" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The transaction id, inputs should be unreseverd from." + ] + } + } + }, + "response": { + "required": [ + "unsigned_tx", + "txid" + ], + "properties": { + "unsigned_tx": { + "type": "hex", + "description": [ + "The unsigned transaction." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The transaction id of *unsigned_tx*." + ] + } + }, + "post_return_value_notes": [ + "If there is no matching *txid*, an error is reported. Note that this may happen due to incorrect usage, such as **txdiscard** or **txsend** already being called for *txid*." + ] + }, + "errors": [ + "The following error codes may occur:", + "", + "- -1: An unknown *txid*." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-txprepare(7)", + "lightning-txsend(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ + { + "id": "example:txdiscard#1", + "method": "txdiscard", + "params": { + "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc" + } + }, + { + "id": "example:txdiscard#2", + "method": "txdiscard", + "params": { + "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da" + } + }, + { + "id": "example:txdiscard#3", + "method": "txdiscard", + "params": { + "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6" + } + }, + { + "id": "example:txdiscard#4", + "method": "txdiscard", + "params": { + "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3" + } + }, + { + "id": "example:txdiscard#5", + "method": "txdiscard", + "params": { + "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe" + } + }, + { + "id": "example:txdiscard#6", + "method": "txdiscard", + "params": { + "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562" + } + }, + { + "id": "example:txdiscard#7", + "method": "txdiscard", + "params": { + "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310" + } + }, + { + "id": "example:txdiscard#8", + "method": "txdiscard", + "params": { + "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470" + } + }, + { + "id": "example:txdiscard#9", + "method": "txdiscard", + "params": { + "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040" + } + }, + { + "id": "example:txdiscard#10", + "method": "txdiscard", + "params": { + "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d" + } + }, + { + "id": "example:txdiscard#11", + "method": "txdiscard", + "params": { + "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517" + } + }, + { + "id": "example:txdiscard#12", + "method": "txdiscard", + "params": { + "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda" + } + }, + { + "id": "example:txdiscard#13", + "method": "txdiscard", + "params": { + "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee" + } + }, + { + "id": "example:txdiscard#14", + "method": "txdiscard", + "params": { + "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10" + } + }, + { + "id": "example:txdiscard#15", + "method": "txdiscard", + "params": { + "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9" + } + }, + { + "id": "example:txdiscard#16", + "method": "txdiscard", + "params": { + "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652" + } }, - "# version": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "Special field indicating the current version" + { + "id": "example:txdiscard#17", + "method": "txdiscard", + "params": { + "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6" + } }, - "plugins": { - "type": "array", - "deprecated": [ - "v23.08", - "v24.02" - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "path", - "name" - ], - "description": "`plugin` field from config or cmdline", - "properties": { - "path": { - "type": "string", - "description": "Full path of the plugin" - }, - "name": { - "type": "string", - "description": "short name of the plugin" - }, - "options": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": "Specific options set for this plugin", - "properties": {} - } - } + { + "id": "example:txdiscard#18", + "method": "txdiscard", + "params": { + "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b" } }, - "important-plugins": { - "type": "array", - "deprecated": [ - "v23.08", - "v24.02" - ], - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "path", - "name" - ], - "description": "`important-plugin` field from config or cmdline, or built-in", - "properties": { - "path": { - "type": "string", - "description": "Full path of the plugin" - }, - "name": { - "type": "string", - "description": "short name of the plugin" - }, - "options": { - "type": "object", - "additionalProperties": true, - "required": [], - "description": "Specific options set for this plugin", - "properties": {} - } - } + { + "id": "example:txdiscard#19", + "method": "txdiscard", + "params": { + "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c" } }, - "conf": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`conf` field from cmdline, or default" + { + "id": "example:txdiscard#20", + "method": "txdiscard", + "params": { + "txid": "42952da74925034b653a86bbd0b1ad25aa383738514a8a3058102dcf7a19e792" + } }, - "lightning-dir": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`lightning-dir` field from config or cmdline, or default" + { + "id": "example:txdiscard#21", + "method": "txdiscard", + "params": { + "txid": "0fefffd33b4cff56c5f2fc5014304983500084680eb5ea9add41240f3dd89a13" + } + } + ], + "example_json_response": [ + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff02ffffff00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd42839800000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", + "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc" }, - "network": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`network` field from config or cmdline, or default" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a9849800000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", + "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da" }, - "allow-deprecated-apis": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`allow-deprecated-apis` field from config or cmdline, or default" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec760141890100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb566000000", + "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6" }, - "rpc-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`rpc-file` field from config or cmdline, or default" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000002200203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df41839800000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", + "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3" }, - "disable-plugin": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "array", - "items": { - "type": "string", - "description": "`disable-plugin` field from config or cmdline" - } + { + "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe" }, - "bookkeeper-dir": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`bookkeeper-dir` field from config or cmdline, or default" + { + "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", + "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562" }, - "bookkeeper-db": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`bookkeeper-db` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310" }, - "always-use-proxy": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`always-use-proxy` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", + "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470" }, - "daemon": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`daemon` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", + "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040" }, - "wallet": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`wallet` field from config or cmdline default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c361730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b566000000", + "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d" }, - "large-channels": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`large-channels` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df361730100000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", + "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517" }, - "experimental-dual-fund": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`experimental-dual-fund` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828617301000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea66000000", + "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda" }, - "experimental-splicing": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`experimental-splicing` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a114003285961730100000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", + "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee" }, - "experimental-onion-messages": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`experimental-onion-messages` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f262236173010000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", + "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10" }, - "experimental-offers": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`experimental-offers` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef8902061730100000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca66000000", + "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9" }, - "experimental-shutdown-wrong-funding": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`experimental-shutdown-wrong-funding` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e5461730100000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6166000000", + "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652" }, - "experimental-websocket-port": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u16", - "description": "`experimental-websocket-port` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b79861730100000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c866000000", + "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6" }, - "experimental-peer-storage": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "added": "v23.02", - "description": "`experimental-peer-storage` field from config or cmdline, or default" - }, - "experimental-quiesce": { - "type": "boolean", - "added": "v23.08", - "deprecated": [ - "v23.08", - "v24.02" - ], - "description": "`experimental-quiesce` field from config or cmdline, or default" - }, - "experimental-upgrade-protocol": { - "type": "boolean", - "added": "v23.08", - "deprecated": [ - "v23.08", - "v24.02" - ], - "description": "`experimental-upgrade-protocol` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f661730100000000002251203671809e546731752648236bab1e96a5af9a2c985da53db6116b0d672b23dc9966000000", + "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b" }, - "invoices-onchain-fallback": { - "type": "boolean", - "added": "v23.11", - "description": "`invoices-onchain-fallback` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002025f9e19a5118ff891eb25882add8ad394db2b143355b5b9fbc3c5fd37106d6f66173010000000000225120a2a01c7965289eee56b5cfcddb9856c70fa476c264d21f711c6a69af776ae40366000000", + "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c" }, - "database-upgrade": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`database-upgrade` field from config or cmdline" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020cf050a02a9ba9b88da7c3a5b0b62aac4376c6ad75e12add1765a5ec9df076f6b61730100000000002251209cd4d53cf7a2290767b6a408a97fcf2581c97d7a66389779d95144920f9dfdfe66000000", + "txid": "42952da74925034b653a86bbd0b1ad25aa383738514a8a3058102dcf7a19e792" }, - "rgb": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "hex", - "description": "`rgb` field from config or cmdline, or default", - "maxLength": 6, - "minLength": 6 - }, - "alias": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`alias` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002048da304bb52be17e10aab3f8b8a0750762bca11b27a5413b4400bd0bcb9f07c1617301000000000022512018ece00b736f9ed77ed3a87426643c242223e3d6116a4cd6d90946f73de2ce7127000000", + "txid": "0fefffd33b4cff56c5f2fc5014304983500084680eb5ea9add41240f3dd89a13" + } + ] + }, + "lightning-txprepare.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "txprepare", + "title": "Command to prepare to withdraw funds from the internal wallet", + "description": [ + "The **txprepare** RPC command creates an unsigned transaction which spends funds from Core Lightning's internal wallet to the outputs specified in *outputs*.", + "", + "**txprepare** is similar to the first part of a **withdraw** command, but supports multiple outputs and uses *outputs* as parameter. The second part is provided by **txsend**." + ], + "request": { + "required": [ + "outputs" + ], + "properties": { + "outputs": { + "type": "array", + "description": [ + "Format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs." + ], + "items": { + "type": "outputdesc" + } + }, + "feerate": { + "type": "feerate", + "description": [ + "Used for the transaction as initial feerate." + ], + "default": "*normal*" + }, + "minconf": { + "type": "u32", + "description": [ + "The minimum number of confirmations that used outputs should have." + ], + "default": 1 + }, + "utxos": { + "type": "array", + "description": [ + "To be used to fund the transaction, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." + ], + "items": { + "type": "outpoint" + } + } + } + }, + "response": { + "required": [ + "psbt", + "unsigned_tx", + "txid" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The PSBT representing the unsigned transaction." + ] + }, + "unsigned_tx": { + "type": "hex", + "description": [ + "The unsigned transaction." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The transaction id of *unsigned_tx*; you hand this to lightning-txsend(7) or lightning-txdiscard(7), as the inputs of this transaction are reserved." + ] + } + } + }, + "errors": [ + "On failure, an error is reported and the transaction is not created.", + "", + "- -1: Catchall nonspecific error.", + "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", + "- 302: The dust limit is not met." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-withdraw(7)", + "lightning-txsend(7)", + "lightning-txdiscard(7)", + "lightning-feerates(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ + { + "id": "example:txprepare#1", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": 16777215 + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "pid-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`pid-file` field from config or cmdline, or default" + { + "id": "example:txprepare#2", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1q05ydn97l48x788uxsca27ruzuvkvxryr86ht74": 16777216 + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "ignore-fee-limits": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`ignore-fee-limits` field from config or cmdline, or default" + { + "id": "example:txprepare#3", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qxc9kcn2kvd2xhdjj4rkyshkvsa9jgtfgj6lzfutmj6p9cxtka3mqzlqr9g": 1000000 + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "watchtime-blocks": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`watchtime-blocks` field from config or cmdline, or default" + { + "id": "example:txprepare#4", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1q8utnpsnag7l9s5gpd0ng7jvwzdjnvt02tz8370jwr6xn3smgzr0scm0qlc": 16777216 + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "max-locktime-blocks": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`max-locktime-blocks` field from config or cmdline, or default" + { + "id": "example:txprepare#5", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qkcm0qupxafjf2tkwtdmzp2fn0kdvyvsu094ynynqn9x3kdekvagq44g5t6": 16777216 + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "funding-confirms": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`funding-confirms` field from config or cmdline, or default" + { + "id": "example:txprepare#6", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "cltv-delta": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`cltv-delta` field from config or cmdline, or default" + { + "id": "example:txprepare#7", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "cltv-final": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`cltv-final` field from config or cmdline, or default" + { + "id": "example:txprepare#8", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "commit-time": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`commit-time` field from config or cmdline, or default" + { + "id": "example:txprepare#9", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qtwxd8wg5eanumk86vfeujvp48hfkgannf77evggzct048wggsrxsum2pmm": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "fee-base": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`fee-base` field from config or cmdline, or default" + { + "id": "example:txprepare#10", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qk4f5vjwc8pjt7e48csz07v8wqa9rqtsqjkyedp47khvd4c8rmpcq5qleup": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "rescan": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "integer", - "description": "`rescan` field from config or cmdline, or default" + { + "id": "example:txprepare#11", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qdx3dv8xmrd9m9qypsdmqrlaxq5uhk39he5hppckvacxur6qgww2s3qvx5s": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "fee-per-satoshi": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`fee-per-satoshi` field from config or cmdline, or default" + { + "id": "example:txprepare#12", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qqfuz9aj2smn67em2ruahnz5sxlx2qjc5etmw5lxes0zqrmvhjtps7d9ra5": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "max-concurrent-htlcs": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u32", - "description": "`max-concurrent-htlcs` field from config or cmdline, or default" + { + "id": "example:txprepare#13", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qmxjat4dgx0dzqed3kzzedgvww4y94nn5zuegctv9t6rfxh8c0hes68mc90": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "htlc-minimum-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": "`htlc-minimum-msat` field from config or cmdline, or default" + { + "id": "example:txprepare#14", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qlz0xjvuvezvyw8kpfqrvhh9ek9n5kfp24mr35d5fqpj7m0tt4q5qk2dkt7": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } + }, + { + "id": "example:txprepare#15", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1q8qhvpcezere4w23cgqfa7gfdyapdttd2hl0e59vkfq9pzsqr9pvsw358ad": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } + }, + { + "id": "example:txprepare#16", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qr04a4yyd8vv7ffe72um0dg3mrk6essa09ctmh543nj5amv8jvg3s44cn70": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } + }, + { + "id": "example:txprepare#17", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qad0tre46xxhkyztv7ec479ur4q8cvvwp6py8yjrhq0uvwhhcjqsqtff0fy": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } + }, + { + "id": "example:txprepare#18", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qnumzyg5fsjez8ff7jcsnzjtdfzvluurr4s90u8lxpnvkeqkhde2qrdu7dv": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "htlc-maximum-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": "`htlc-maximum-msat` field from config or cmdline, or default" + { + "id": "example:txprepare#19", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qfjwl4zp5w7kql5fwh9m3cqed7lksjng3vl7hw2ux63jewl3fk7vqjk67ad": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "max-dust-htlc-exposure-msat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "msat", - "description": "`max-dust-htlc-exposure-mast` field from config or cmdline, or default" + { + "id": "example:txprepare#20", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qjfgh5fdcf5eeu0dyhhxjpcszryaxrcdfmgqj7xjs7nfthfq8hrmqzjxure": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } }, - "min-capacity-sat": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u64", - "description": "`min-capacity-sat` field from config or cmdline, or default" + { + "id": "example:txprepare#21", + "method": "txprepare", + "params": { + "outputs": [ + { + "bcrt1qyhu7rxj3rrlcj84jtzp2mk9d89xm9v2rx4d4h8au830axugx6mmqsuplng": "100000sat" + } + ], + "feerate": null, + "minconf": null, + "utxos": null + } + } + ], + "example_json_response": [ + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff02ffffff00000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd42839800000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", + "txid": "6e680cb76077f11c838cc7aee0c0aa360f9857f00856bb1614025a1af53739fc", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMI////AAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCEKDmAAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgA=" }, - "addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`addr` field from config or cmdline (can be more than one)" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a9849800000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", + "txid": "8acf936dd707ae89597bbcf007c2e1161649663f14e2474bd5816f605a4d99da", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBBYAFH0I2Zffqc3jn4aGOq8PguMswwyDAAEDCKmEmAAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" }, - "announce-addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`announce-addr` field from config or cmdline (can be more than one)" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0240420f0000000000220020360b6c4d5663546bb652a8ec485ecc874b242d2896be24f17b96825c1976ec760141890100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb566000000", + "txid": "2ef2984e55f0ab3326eb436965fe6447d41d641bb8b4cb4f7da2dab6a8118ed6", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIQEIPAAAAAAABBCIAIDYLbE1WY1RrtlKo7EhezIdLJC0olr4k8XuWglwZdux2AAEDCAFBiQEAAAAAAQQiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQA=" }, - "bind-addr": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`bind-addr` field from config or cmdline (can be more than one)" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff0200000001000000002200203f1730c27d47be5851016be68f498e1365362dea588f1f3e4e1e8d38c36810df41839800000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", + "txid": "05ae4e90192c84902c8650caeab22a127f765c3c28277cefc10dce0ab74751c3", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfAAEDCEGDmAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" }, - "offline": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`true` if `offline` was set in config or cmdline" + { + "unsigned_tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b373667504183980000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", + "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIELcANgTWcOlUeFw479SYvqcrMLrLig6EOV5SRzYbc5LAQ8EAAAAAAEQBP3///8AAQMIAAAAAQAAAAABBCIAILY28HAm6mSVLs5bdiCpM32awjIceWpJkmCZTRs3NmdQAAEDCEGDmAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" }, - "autolisten": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`autolisten` field from config or cmdline, or default" + { + "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "664e352944ab1d4a2e71b5ff8548f030168d424c3c89ac67b38cfdb8ca7589fe", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCGFzAQAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=" }, - "proxy": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`proxy` field from config or cmdline, or default" + { + "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", + "txid": "04af011729649a99143884b5d9292483df10a9415e6310d9283831caf224a562", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" }, - "disable-dns": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`true` if `disable-dns` was set in config or cmdline" + { + "unsigned_tx": "02000000011db8f8b9a3fa3aaf0dfc2707664cd3ed5384051000b497e44507eece77adfd380000000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b560000000", + "txid": "5775dba29353b414f5a2c8b2e827d94a5e3c622b4e8ee8b135d459c5abe82c80", + "psbt": "cHNidP8BAgQCAAAAAQMEYAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAda9ChfZm36d/jOKzQ43Ypl8jX9jxF/2PlVDnWTKjF9KAAAAAAD9////AkANAwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUz5AIqAQAAABYAFKWYLM6bmwH0Qp2s3hJm8t9aTx87AkcwRAIgBeqGP+9rkE7BkIE+xohny/68s4yJvfq8fRuPvuKyUc4CIDHTzppG9CiC8AlICmZVFVfSiEUttAfoSZdFnicXdZ1mASED/7yGfo/lDpAtBG1Sqi3ocxyyfWZpAm9naSOMn3v8qbJlAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIB24+Lmj+jqvDfwnB2ZM0+1ThAUQALSX5EUH7s53rf04AQ8EAAAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" }, - "announce-addr-discovered": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`true`/`false`/`auto` depending on how `announce-addr-discovered` was set in config or cmdline", - "added": "v23.02" - }, - "announce-addr-discovered-port": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "integer", - "description": "Sets the announced TCP port for dynamically discovered IPs.", - "added": "v23.02" - }, - "encrypted-hsm": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`true` if `encrypted-hsm` was set in config or cmdline" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200205b8cd3b914cf67cdd8fa6273c930353dd36476734fbd962102c2df53b90880cd617301000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "b6e67082847def6edda678434e82265b0040d7e0960695126232ed6c8a09a310", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIFuM07kUz2fN2Ppic8kwNT3TZHZzT72WIQLC31O5CIDNAAEDCGFzAQAAAAAAAQQiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgA=" }, - "rpc-file-mode": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`rpc-file-mode` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020b5534649d83864bf66a7c404ff30ee074a302e0095899686beb5d8dae0e3d8706173010000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", + "txid": "e863eeff977a514aeccb0c1e72b3856bdcb4fac8730a6d6b5fd13f59a0db0470", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAILVTRknYOGS/ZqfEBP8w7gdKMC4AlYmWhr612Nrg49hwAAEDCGFzAQAAAAAAAQQiUSDu10WATal4TMID9WPvqZ/6VP3wGxN7yWTmPDEkBw/75gA=" }, - "log-level": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`log-level` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002069a2d61cdb1b4bb28081837601ffa605397b44b7cd2e10e2ccee0dc1e808739561730100000000002251207836355fdc8a82dc4cb00a772c5554151d06384a4dd65e8d3f68ac08566b84be66000000", + "txid": "b56e7fc101e22f754ee0e0ccf613f6ad6296ccfe3a149dadac0c00f5822bb040", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIGmi1hzbG0uygIGDdgH/pgU5e0S3zS4Q4szuDcHoCHOVAAEDCGFzAQAAAAAAAQQiUSB4NjVf3IqC3EywCncsVVQVHQY4Sk3WXo0/aKwIVmuEvgA=" }, - "log-prefix": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`log-prefix` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020027822f64a86e7af676a1f3b798a9037cca04b14caf6ea7cd983c401ed9792c361730100000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b566000000", + "txid": "bd15cca9240ba54ce02a32da5b53a92398b00ddee7fdaa0a85fc0ac772ec2f4d", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIAJ4IvZKhuevZ2ofO3mKkDfMoEsUyvbqfNmDxAHtl5LDAAEDCGFzAQAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQA=" }, - "log-file": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`log-file` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020d9a5d5d5a833da2065b1b08596a18e75485ace7417328c2d855e86935cf87df361730100000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa66000000", + "txid": "14415fec768cc4f092d2dc45d10008b8d7798c102a12570fb2e180c5451b7517", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAINml1dWoM9ogZbGwhZahjnVIWs50FzKMLYVehpNc+H3zAAEDCGFzAQAAAAAAAQQiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgA=" }, - "log-timestamps": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`log-timestamps` field from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020f89e69338cc898471ec14806cbdcb9b1674b242aaec71a36890065edbd6ba828617301000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea66000000", + "txid": "59310589eeb556af658ccabc6b33f340f4c58e84326985449a4b1bd2d20efeda", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIPieaTOMyJhHHsFIBsvcubFnSyQqrscaNokAZe29a6goAAEDCGFzAQAAAAAAAQQiUSA18RhPa0cMnfNH2mLEso5+ye4QsiC6w6zNIiCd7wA26gA=" }, - "force-feerates": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "force-feerate configuration setting, if any" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020382ec0e322c8f3572a384013df212d2742d5adaabfdf9a1596480a114003285961730100000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc66000000", + "txid": "9b95070b81c2653b6f297d549f99e77db2998758cfa7ac361c67b7e750aa80ee", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIDguwOMiyPNXKjhAE98hLSdC1a2qv9+aFZZIChFAAyhZAAEDCGFzAQAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AA=" }, - "subdaemon": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`subdaemon` fields from config or cmdline if any (can be more than one)" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200201bebda908d3b19e4a73e5736f6a23b1db59843af2e17bbd2b19ca9ddb0f262236173010000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", + "txid": "c7f21647c81d1dceb989b0806d1c8561d68571f21ba237fd2a15b60be249ac10", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIBvr2pCNOxnkpz5XNvaiOx21mEOvLhe70rGcqd2w8mIjAAEDCGFzAQAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQA=" }, - "fetchinvoice-noconnect": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "`fetchinvoice-noconnect` fields from config or cmdline, or default" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a086010000000000220020eb5eb1e6ba31af62096cf6715f1783a80f8631c1d04872487703f8c75ef8902061730100000000002251202f843ba0c8de9d0c41a63a25d4cab22032be4fabf24931dab82214316be218ca66000000", + "txid": "bb21c3cc860329278253efa563b261c56d60b86c42c1e2ff89857004d08fb3e9", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIOtesea6Ma9iCWz2cV8Xg6gPhjHB0EhySHcD+Mde+JAgAAEDCGFzAQAAAAAAAQQiUSAvhDugyN6dDEGmOiXUyrIgMr5Pq/JJMdq4IhQxa+IYygA=" }, - "accept-htlc-tlv-types": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`accept-htlc-tlv-types` field from config or cmdline, or not present" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200209f3622228984b223a53e962131496d4899fe7063ac0afe1fe60cd96c82d76e5461730100000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6166000000", + "txid": "fc22ca3db3fd4e4b15c4d6f15784e3504e6e3b025473e2b8515e06d651784652", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIJ82IiKJhLIjpT6WITFJbUiZ/nBjrAr+H+YM2WyC125UAAEDCGFzAQAAAAAAAQQiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYQA=" }, - "tor-service-password": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "string", - "description": "`tor-service-password` field from config or cmdline, if any" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a0860100000000002200204c9dfa883477ac0fd12eb9771c032df7ed094d1167fd772b86d465977e29b79861730100000000002251203e8a03f678bb7ca048baecc39788530560ea049816d604f72925e425288446c866000000", + "txid": "7096f630e38570b7446ed8f51d131b1b4339d581f403a40abb637158d40213a6", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIEyd+og0d6wP0S65dxwDLfftCU0RZ/13K4bUZZd+KbeYAAEDCGFzAQAAAAAAAQQiUSA+igP2eLt8oEi67MOXiFMFYOoEmBbWBPcpJeQlKIRGyAA=" }, - "dev-allowdustreserve": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "Whether we allow setting dust reserves" + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002092517a25b84d339e3da4bdcd20e202193a61e1a9da012f1a50f4d2bba407b8f661730100000000002251203671809e546731752648236bab1e96a5af9a2c985da53db6116b0d672b23dc9966000000", + "txid": "3f290586b0d669f8d1b7783bcd5d06dcc3eecf6b9abfb77057ac606b524d831b", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAIJJReiW4TTOePaS9zSDiAhk6YeGp2gEvGlD00rukB7j2AAEDCGFzAQAAAAAAAQQiUSA2cYCeVGcxdSZII2urHpalr5osmF2lPbYRaw1nKyPcmQA=" }, - "announce-addr-dns": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "added": "v22.11.1", - "description": "Whether we put DNS entries into node_announcement" - }, - "require-confirmed-inputs": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "boolean", - "description": "Request peers to only send confirmed inputs (dual-fund only)" - }, - "developer": { - "added": "v23.08", - "type": "boolean", - "description": "Whether developer mode is enabled" - }, - "commit-fee": { - "deprecated": [ - "v23.08", - "v24.02" - ], - "type": "u64", - "added": "v23.05", - "description": "The percentage of the 6-block fee estimate to use for commitment transactions" - }, - "min-emergency-msat": { - "type": "msat", - "added": "v23.08", - "description": "field from config or cmdline, or default" - }, - "commit-feerate-offset": { - "type": "u32", - "added": "v23.11", - "description": "additional commitment feerate applied by channel owner" - } - } - }, - "listdatastore.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "key": { - "oneOf": [ - { - "type": "array", - "description": "all immediate children of the *key* (or root children) are returned.\t\tUsing the first element of the key as the plugin name (e.g. `[ 'summary' ]`) is recommended.\t\tAn array of values to form a hierarchy (though a single value is treated as a one-element array)", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] + { + "unsigned_tx": "0200000001a91077a134fb9fe4a8d13a482b718368bfd9ce3eff61ff7d96549480a1f97dca0100000000fdffffff02a08601000000000022002025f9e19a5118ff891eb25882add8ad394db2b143355b5b9fbc3c5fd37106d6f66173010000000000225120a2a01c7965289eee56b5cfcddb9856c70fa476c264d21f711c6a69af776ae40366000000", + "txid": "f11d436054607603e903fc69c4bd9b39ce97421341c7cf814ad025cb5bf59c1c", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAYZ4QwAgPq6Os8kk073f5Yx4T9LXYfbOjAdkzMXfuBQdAAAAAAD9////AjPkAioBAAAAFgAUeOeqzyifepeJAMCl4vnnJ/TRptRADQMAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgYBFwmqWCrVkxxZ0/tte3z4lIem0L7MkhXzGAOvBWa6YCIFx7H4zOzxjixlZMi0DYYbIEflDjYHJXLfN1wVcXYuekASEDgztw/3Rks6vKGYMXJ83VEvQcNIjg3rJW6KdxEh26uwplAAAAAQEfQA0DAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQEOIKkQd6E0+5/kqNE6SCtxg2i/2c4+/2H/fZZUlICh+X3KAQ8EAQAAAAEQBP3///8AAQMIoIYBAAAAAAABBCIAICX54ZpRGP+JHrJYgq3YrTlNsrFDNVtbn7w8X9NxBtb2AAEDCGFzAQAAAAAAAQQiUSCioBx5ZSie7la1z83bmFbHD6R2wmTSH3Ecammvd2rkAwA=" } - } + ] }, - "listdatastore.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-txsend.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "datastore" + "rpc": "txsend", + "title": "Command to sign and send transaction from txprepare", + "description": [ + "The **txsend** RPC command signs and broadcasts a transaction created by *txprepare* RPC command." ], - "properties": { - "datastore": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "key" - ], - "properties": { - "key": { - "type": "array", - "items": { - "type": "string", - "description": "Part of the key added to the datastore" - } - }, - "generation": { - "type": "u64", - "description": "The number of times this has been updated" - }, - "hex": { - "type": "hex", - "description": "The hex data from the datastore" - }, - "string": { - "type": "string", - "description": "The data as a string, if it's valid utf-8" - } - } + "request": { + "required": [ + "txid" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The transaction id of the transaction created by `txprepare` rpc command." + ] } } - } - }, - "listforwards.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "properties": { - "status": { - "type": "string", - "description": "if specified, then only the forwards with the given status are returned", - "enum": [ - "offered", - "settled", - "local_failed", - "failed" - ] - }, - "in_channel": { - "type": "short_channel_id", - "description": "only the matching forwards on the given inbound channel are returned" - }, - "out_channel": { - "type": "short_channel_id", - "description": "only the matching forwards on the given outbount channel are returned" + }, + "response": { + "required": [ + "psbt", + "tx", + "txid" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "The completed PSBT representing the signed transaction." + ] + }, + "tx": { + "type": "hex", + "description": [ + "The fully signed transaction." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The transaction id of *tx*." + ] + } + } + }, + "errors": [ + "On failure, an error is reported (from bitcoind), and the inputs from the transaction are unreserved.", + "", + "- -1: Catchall nonspecific error." + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-txprepare(7)", + "lightning-txdiscard(7)" + ], + "resources": [ + "Main web site: " + ], + "example_json_request": [ + { + "id": "example:txsend#1", + "method": "txsend", + "params": { + "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce" + } }, - "index": { - "type": "string", - "added": "v23.11", - "enum": [ - "created", - "updated" - ], - "description": "if neither *in_channel* nor *out_channel* is specified, it controls ordering. Defaults to `created`" + { + "id": "example:txsend#2", + "method": "txsend", + "params": { + "txid": "3091e50601329ee8f843bfb9901a87abc8820088684c39932a6d16f31e908f52" + } }, - "start": { - "type": "u64", - "added": "v23.11", - "description": "if `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)" + { + "id": "example:txsend#3", + "method": "txsend", + "params": { + "txid": "3cb68dc48c35f7d38e30ac8962345ef7f74cf940c29228841b9f931a32b9fa21" + } }, - "limit": { - "type": "u32", - "added": "v23.11", - "description": "if `index` is specified, `limit` can be used to specify the maximum number of entries to return" - } - } - }, - "listforwards.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "forwards" - ], - "properties": { - "forwards": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "created_index", - "in_channel", - "in_msat", - "status", - "received_time" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this forward was created in" - }, - "in_channel": { - "type": "short_channel_id", - "description": "the channel that received the HTLC" - }, - "in_htlc_id": { - "type": "u64", - "description": "the unique HTLC id the sender gave this (not present if incoming channel was closed before ugprade to v22.11)" - }, - "in_msat": { - "type": "msat", - "description": "the value of the incoming HTLC" - }, - "status": { - "type": "string", - "enum": [ - "offered", - "settled", - "local_failed", - "failed" - ], - "description": "still ongoing, completed, failed locally, or failed after forwarding" - }, - "received_time": { - "type": "number", - "description": "the UNIX timestamp when this was received" - }, - "out_channel": { - "type": "short_channel_id", - "description": "the channel that the HTLC (trying to) forward to" - }, - "out_htlc_id": { - "type": "u64", - "description": "the unique HTLC id we gave this when sending (may be missing even if out_channel is present, for old forwards before v22.11)" - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this forward was changed (only present if it has changed since creation)" - }, - "style": { - "type": "string", - "enum": [ - "legacy", - "tlv" - ], - "description": "Either a legacy onion format or a modern tlv format" - } - }, - "allOf": [ - { - "if": { - "required": [ - "out_msat" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "fee_msat", - "out_msat", - "out_channel" - ], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "resolved_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "failcode": {}, - "failreason": {}, - "fee_msat": { - "type": "msat", - "description": "the amount this paid in fees" - }, - "out_msat": { - "type": "msat", - "description": "the amount we sent out the *out_channel*" - } - } - }, - "else": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "resolved_time": {}, - "failcode": {}, - "failreason": {}, - "out_channel": {} - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "settled", - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "resolved_time" - ], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "failcode": {}, - "failreason": {}, - "resolved_time": { - "type": "number", - "description": "the UNIX timestamp when this was resolved" - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "failcode": {}, - "failreason": {}, - "out_msatoshi": {}, - "out_msat": {} - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "local_failed", - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "resolved_time": {}, - "failcode": { - "type": "u32", - "description": "the numeric onion code returned" - }, - "failreason": { - "type": "string", - "description": "the name of the onion code returned" - } - } - }, - "else": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "updated_index": {}, - "in_channel": {}, - "in_htlc_id": {}, - "in_msatoshi": {}, - "in_msat": {}, - "status": {}, - "style": {}, - "received_time": {}, - "out_channel": {}, - "out_htlc_id": {}, - "fee": {}, - "fee_msat": {}, - "out_msatoshi": {}, - "out_msat": {}, - "resolved_time": {} - } - } - } - ] + { + "id": "example:txsend#4", + "method": "txsend", + "params": { + "txid": "fd3bda04e2088943720fd08938092adab2a5b3d2bd9ac4d4846d8434873d5a72" } } - } - }, - "listfunds.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "spent": { - "type": "boolean", - "description": "if True, then the *outputs* will include spent outputs in addition to the unspent ones. Default is False" - } - } - }, - "listfunds.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "outputs", - "channels" ], - "properties": { - "outputs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "txid", - "output", - "amount_msat", - "scriptpubkey", - "status", - "reserved" - ], - "properties": { - "txid": { - "type": "txid", - "description": "the ID of the spendable transaction" - }, - "output": { - "type": "u32", - "description": "the index within *txid*" - }, - "amount_msat": { - "type": "msat", - "description": "the amount of the output" - }, - "scriptpubkey": { - "type": "hex", - "description": "the scriptPubkey of the output" - }, - "address": { - "type": "string", - "description": "the bitcoin address of the output" - }, - "redeemscript": { - "type": "hex", - "description": "the redeemscript, only if it's p2sh-wrapped" - }, - "status": { - "type": "string", - "enum": [ - "unconfirmed", - "confirmed", - "spent", - "immature" - ] - }, - "reserved": { - "type": "boolean", - "description": "whether this UTXO is currently reserved for an in-flight tx" - } - }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "confirmed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "blockheight" - ], - "properties": { - "txid": {}, - "output": {}, - "amount_msat": {}, - "scriptpubkey": {}, - "address": {}, - "value": {}, - "redeemscript": {}, - "status": {}, - "reserved": {}, - "reserved_to_block": {}, - "blockheight": { - "type": "u32", - "description": "Block height where it was confirmed" - } - } - } - }, - { - "if": { - "properties": { - "reserved": { - "type": "boolean", - "enum": [ - "true" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "reserved_to_block" - ], - "properties": { - "txid": {}, - "output": {}, - "amount_msat": {}, - "scriptpubkey": {}, - "address": {}, - "value": {}, - "redeemscript": {}, - "status": {}, - "blockheight": {}, - "reserved": {}, - "reserved_to_block": { - "type": "u32", - "description": "Block height where reservation will expire" - } - } - } - } + "example_json_response": [ + { + "tx": "020000000142dc00d81359c3a551e170e3bf5262fa9cacc2eb2e283a10e579491cd86dce4b0000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b373667504183980000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245966000000", + "txid": "c9f59ba6bda8e095bb43ecabfa37de8d5194e5c839b6b63be4e29bceaae483ce", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABATRHoQ9tEMHRHpf06v5uTEdjdMk1rccIaA6MNGMipNQWAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFLnqitWTi465LGxeucwoSAj16NGbAkcwRAIgVtOsUaQaPgH86aW6e6qmJa1xVb8KWvc+HALGosqVVmQCIFi4JU8Gy+vl2a2/frY+71hitYIBB/tjsRP7fpgb8b9TASECHUIV5q1r2ownjOlAFPQASTlZxxNgBvi5O3hCRvajwdJlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBp/HPhg1ObOXqTr5rIjUYLMspGLz+sk1pjD9pjRFzf3wIgWycOB/dQPzwZAK3OXYs269h8o85ucDpdVhH4AyX69a0BIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBC3ADYE1nDpVHhcOO/UmL6nKzC6y4oOhDleUkc2G3OSwEPBAAAAAABEAT9////AAEDCAAAAAEAAAAAAQQiACC2NvBwJupklS7OW3YgqTN9msIyHHlqSZJgmU0bNzZnUAABAwhBg5gAAAAAAAEEIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFkhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAA=" + }, + { + "tx": "020000000413b0d7563a6279fd8c1c3a68953f4e86c51f1dae1bb95250ddee0dc0d760369b0100000000fdffffff50fe4ccd554133d6568ed18872fa0f657f84f532ba5e51b73021d4ab2ffb9d4f0000000000fdfffffff5a05ce5ce0fb555c35f0c9cb00bc6f3e6cf38c365bf6343d9695f24b5310a590100000000fdffffff4d4e4374d5293a7a708d593b38ba72052805d68693127092d177b360793f512c0000000000fdffffff02c0c62d0000000000160014c9096d43f408ea526020262ccdad7c8516b92a8197180f00000000002251207994bdf262cc296e26b6272fed43e87658dbb95d35758b3552bfb2f0ce71ed8154000000", + "txid": "3091e50601329ee8f843bfb9901a87abc8820088684c39932a6d16f31e908f52", + "psbt": "cHNidP8BAgQCAAAAAQMEVAAAAAEEAQQBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAaNMrbjuYAljZNbaKswRXuY8psqCzmbo0EgvlZAk2kssAQAAAAD9////Apkp2CkBAAAAFgAU6pHIz5HihQ4OBe2DX/m6wMBOl+5AQg8AAAAAABYAFF7u8lcifRz8kdd7F0RJrxmvphOWAkcwRAIgDNOC8Mm8gw79QQhDR3f4nj0mrjxsOS46CpDPOEedhDUCIBYAxH//GkPW5so0LVTxtJ9zNwd6JzKQj2mPBC7X5NqWASEC/wlBCV7DbYfR/khDlbc0EbdF8orxtlXN9Rmyd4tnhqFlAAAAAQEfQEIPAAAAAAAWABRe7vJXIn0c/JHXexdESa8Zr6YTliICA5x2EDNUbZridTecYb6J8X5dKirll1LzBnPYRGJKPCMmRzBEAiAnGpyzZfKPjIpgStsW5Re+pntgp6C2rYkMFGGinGLFGwIgYLxQGB/9MnQ85jXU9TGfd2WpZeTTYUf1lfLlITUYY+UBIgYDnHYQM1RtmuJ1N5xhvonxfl0qKuWXUvMGc9hEYko8IyYIXu7yVwAAAAABDiATsNdWOmJ5/YwcOmiVP06GxR8drhu5UlDd7g3A12A2mwEPBAEAAAABEAT9////AAEA3gIAAAAAAQE6jkWbsue9RY7gNXkY4H/y+40lkzp67NTNA0fyFNHG9wEAAAAA/f///wJAQg8AAAAAABYAFArBbsHsKwY04IRb8aEZr4BrqAwYy5h8KQEAAAAWABTIwQC6hbvu6PhwL3u+WD4U09ZEBAJHMEQCIDI8wxoijhMC7oJ3Z5Ia4DJZvez/POatVE+5tK4Bb11HAiAzMLNSImJUKqlWhwrYH7vSW39D1Sc9P/Co7nyDTaIg/AEhA4mVlWkvrJ/WBr+LTy6n9xAoAPiyWkSstzQX1Mf5dN6+ZQAAAAEBH0BCDwAAAAAAFgAUCsFuwewrBjTghFvxoRmvgGuoDBgiAgKAgtBRUvc6jQPUNEevQFU28XtCyaxqmFfp86ctQab8SkcwRAIgB2aS/KPP5Q42UQEb7deGV/oYVFj2h6gbWSPTKOlwyewCIBFWWsHoKEeDgaJFc5Y2jX2Vu1mGamWmt6RKP19GQHJyASIGAoCC0FFS9zqNA9Q0R69AVTbxe0LJrGqYV+nzpy1BpvxKCArBbsEAAAAAAQ4gUP5MzVVBM9ZWjtGIcvoPZX+E9TK6XlG3MCHUqy/7nU8BDwQAAAAAARAE/f///wABAN4CAAAAAAEBV2b4348UzbPV0W0Ht8aVFPKD6m+rk11FjtQXlxCE8NgAAAAAAP3///8CZR6bKQEAAAAWABTipxqZndAvINgcisEgSp1vptG1FUBCDwAAAAAAFgAUIE104kPCHhwifaa0EQdOhb3k2bICRzBEAiBOR/lNw+9P4d3P3nyAgNlNcb5t6iATEXxRmAYNc6Jn/wIgfZ2h/yOcVP6mtNb/oOj+Oiqvc+naq4Ie2jQ6Qe6sBasBIQOjn6phjNRhl/6xL+YelmSjqLiljli9MNXGAHghQCJLHWUAAAABAR9AQg8AAAAAABYAFCBNdOJDwh4cIn2mtBEHToW95NmyIgIDFLKzB9ADXpQ9IFapyKht1L/l8b0cU2GLyc1skHTKEx9HMEQCIGqfcRBBjM6xbFGeWJaqTTaYyzJhywQ82mQMHgOfr/pVAiBu4ceiVgeZZ51uperfSEYNYQRMJ5e5vsHYxmtoDb4iSgEiBgMUsrMH0ANelD0gVqnIqG3Uv+XxvRxTYYvJzWyQdMoTHwggTXTiAAAAAAEOIPWgXOXOD7VVw18MnLALxvPmzzjDZb9jQ9lpXyS1MQpZAQ8EAQAAAAEQBP3///8AAQDeAgAAAAABAcuypKM/NjhyOuvTHXtJzpeFPP1EV5uRTCsYDIU2nRzaAQAAAAD9////AkBCDwAAAAAAFgAUbAZZzOP1/8KVKOEj7hDIkjqNHrz/o7kpAQAAABYAFDQa0hhCvnw5g0vmEKMQwu6aJD1kAkcwRAIgPzE4nzV4ueUnxSYmLlhfwi3tzcRMB/ZQkAJZGFML2ZECIGScQrwILbkQWcWOHhFl6LAu+SFcqYWRyMPzrbcAcKaeASEC1gV8d8xS1X5Bu0vFdMYh84nnbxSHtdcO+D1K4dmGRMJMAAAAAQEfQEIPAAAAAAAWABRsBlnM4/X/wpUo4SPuEMiSOo0evCICAlP9Sxx1aY1pAo4XGWpTBm+Jb3adPcMV5pLXtFecV8VoRzBEAiBxHyuF6gddXM1pZDx3DUSqpkMdPloiLByfOJ1B6/TNfQIgLpgQ/Y03B52wpKq7GlvzdEAL0/CeMs13JDkNVeQ1sEoBIgYCU/1LHHVpjWkCjhcZalMGb4lvdp09wxXmkte0V5xXxWgIbAZZzAAAAAABDiBNTkN01Sk6enCNWTs4unIFKAXWhpMScJLRd7NgeT9RLAEPBAAAAAABEAT9////AAEDCMDGLQAAAAAAAQQWABTJCW1D9AjqUmAgJizNrXyFFrkqgQABAwiXGA8AAAAAAAEEIlEgeZS98mLMKW4mticv7UPodljbuV01dYs1Ur+y8M5x7YEhBy6TpHMDLtueQudXStH7jCUI5NpdCX0McjLFe6BvXoj2CQBC1sM3CwAAAAA=" + }, + { + "tx": "02000000019b7035e08e7d00c40889222a12966cc35b43e47f1ce308c08cd82eaa1bef8cac0000000000fdffffff02e803000000000000160014071c49cad2f420f3c805f9f6b98a57269cb1415051110000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b567000000", + "txid": "3cb68dc48c35f7d38e30ac8962345ef7f74cf940c29228841b9f931a32b9fa21", + "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAU4q2suC/M8rKjg/BsA/eRZLI8BMTVv2oWxrCZm1CU59AAAAAAD9////AhAnAAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WVjygUqAQAAABYAFGJxeJ2HjLcxj/WQQ/lIDlCDUe0LAkcwRAIgcwh4G4zlrzWRLllEZfF19guZJpMDgaw5jqrgcvZ9a/MCIDKHkABSfizN+FKKKnCiyoEqT0KLF3efRkyobS29zDFsASECJG1h4qBn0aYoJ0LX8fBd7YfiYml1t+BGHnUOOC7SsBFlAAAAAQEfECcAAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAou6FN1prYGnnqArSgm7vblVcQEH8w2BnL/OLwaGGhWwIgCDSGmrnXEcdgo+8H41NRZ9MNPQSs31rAXafw0hWY8HIBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiCbcDXgjn0AxAiJIioSlmzDW0PkfxzjCMCM2C6qG++MrAEPBAAAAAABEAT9////ACICAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoDAAAAAQMI6AMAAAAAAAABBBYAFAccScrS9CDzyAX59rmKVyacsUFQAAEDCFERAAAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtSEHWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAJAH0I2ZcFAAAAAA==" + }, + { + "tx": "0200000001b727b2c3740a71caf0926c3d2df35b7c3c744e51af75508f40d14d236f849c810000000000fdffffff020000000100000000220020b636f07026ea64952ece5b7620a9337d9ac2321c796a499260994d1b37366750012f0f0000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245967000000", + "txid": "fd3bda04e2088943720fd08938092adab2a5b3d2bd9ac4d4846d8434873d5a72", + "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAaweu4SxAUVlFYyRXyK2fpcRPaofobc6JmX7GY/KtVULAAAAAAD9////AkBCDwEAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYmGF4nAQAAABYAFJZ2phvfH5DOyHTsIiNtucDm642VAkcwRAIgQJenMokGT0FA2Rk2dAFEAVHcy3MR6b7MUM5+KvpCtskCIByzJrmKCIU0xdjQNHX2Ye1Fz4OooY4tH3/a2kX+e8apASECRRZm2n2GVzArOVdehmPS+mak+ieUdRsCYNJPN3xJ9etmAAAAAQEfQEIPAQAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZiICA5FFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTRzBEAiB42bsIsQKtY1fsBAC3J05Q3xXqpN7M0Q6bYGKQXFHnQAIgO94+13jZz1mkZsgKq5Q3uNHivCGWjVT8PThvT2uCs4IBIgYDkUUygSpECk12bHHNORk2lKNArhHgEuW6Gtnvum52ylMIwsyrFwAAAAABDiC3J7LDdApxyvCSbD0t81t8PHROUa91UI9A0U0jb4ScgQEPBAAAAAABEAT9////AAEDCAAAAAEAAAAAAQQiACC2NvBwJupklS7OW3YgqTN9msIyHHlqSZJgmU0bNzZnUAABAwgBLw8AAAAAAAEEIlEgdUp3tQP8ug/YDwoagibtZ2T/mp2bthtIXUDUyfS+JFkhBycqmiXx/+1S+rBKLMiK6rE1tTcjhWqPFIHCZBf4ipIuCQDVXEk5CwAAAAA=" + } + ] + }, + "lightning-unreserveinputs.json": { + "$schema": "../rpc-schema-draft.json", + "type": "object", + "additionalProperties": false, + "rpc": "unreserveinputs", + "title": "Release reserved UTXOs", + "description": [ + "The **unreserveinputs** RPC command releases (or reduces reservation) on UTXOs which were previously marked as reserved, generally by lightning-reserveinputs(7)." + ], + "request": { + "required": [ + "psbt" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "Inputs to unreserve are the inputs specified in the passed-in *psbt*." ] - } - }, - "channels": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "peer_id", - "our_amount_msat", - "amount_msat", - "funding_txid", - "funding_output", - "connected", - "state", - "channel_id" + }, + "reserve": { + "type": "u32", + "description": [ + "The number of blocks to decrease reservation by." ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": "the peer with which the channel is opened" - }, - "our_amount_msat": { - "type": "msat", - "description": "available satoshis on our node's end of the channel" - }, - "amount_msat": { - "type": "msat", - "description": "total channel value" - }, - "funding_txid": { - "type": "txid", - "description": "funding transaction id" - }, - "funding_output": { - "type": "u32", - "description": "the 0-based index of the output in the funding transaction" - }, - "connected": { - "type": "boolean", - "description": "whether the channel peer is connected" - }, - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": "the channel state, in particular \"CHANNELD_NORMAL\" means the channel can be used normally" - }, - "channel_id": { - "type": "hash", - "description": "The full channel_id (funding txid Xored with output number)", - "added": "v23.05" - } - }, - "allOf": [ - { - "if": { - "properties": { - "state": { - "type": "string", - "enum": [ - "CHANNELD_NORMAL" - ] - } - } + "default": 72 + } + } + }, + "response": { + "required": [ + "reservations" + ], + "properties": { + "reservations": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "required": [ + "txid", + "vout", + "was_reserved", + "reserved" + ], + "properties": { + "txid": { + "type": "txid", + "description": [ + "The transaction id." + ] }, - "then": { - "additionalProperties": false, - "required": [ - "short_channel_id" - ], - "properties": { - "peer_id": {}, - "our_amount_msat": {}, - "channel_sat": {}, - "amount_msat": {}, - "channel_total_sat": {}, - "funding_txid": {}, - "funding_output": {}, - "connected": {}, - "state": {}, - "channel_id": {}, - "short_channel_id": { - "type": "short_channel_id", - "description": "short channel id of channel" - } - } + "vout": { + "type": "u32", + "description": [ + "The output number which was reserved." + ] + }, + "was_reserved": { + "type": "boolean", + "description": [ + "Whether the input was already reserved (usually `true`)." + ] + }, + "reserved": { + "type": "boolean", + "description": [ + "Whether the input is now reserved (may still be `true` if it was reserved for a long time)." + ] } }, - { - "if": { - "properties": { - "state": { - "type": "string", - "enum": [ - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN" - ] + "allOf": [ + { + "if": { + "additionalProperties": true, + "properties": { + "reserved": { + "enum": [ + true + ] + } } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "peer_id": {}, - "our_amount_msat": {}, - "channel_sat": {}, - "amount_msat": {}, - "channel_total_sat": {}, - "funding_txid": {}, - "funding_output": {}, - "connected": {}, - "state": {}, - "channel_id": {}, - "short_channel_id": { - "type": "short_channel_id", - "description": "short channel id of channel (only if funding reached lockin depth before closing)" + }, + "then": { + "required": [ + "reserved_to_block" + ], + "properties": { + "txid": {}, + "vout": {}, + "was_reserved": {}, + "reserved": {}, + "reserved_to_block": { + "type": "u32", + "description": [ + "What blockheight the reservation will expire." + ] + } } } } - } - ] + ] + } } } - } - }, - "listhtlcs.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "properties": { - "id": { - "type": "string", - "description": "a short channel id (e.g. 1x2x3) or full 64-byte hex channel id, it will only list htlcs for that channel (which must be known)" - } - } - }, - "listhtlcs.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "htlcs" + }, + "errors": [ + "On failure, an error is reported and no UTXOs are unreserved.", + "", + "- -32602: Invalid parameter, i.e. an unparseable PSBT." ], - "properties": { - "htlcs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "short_channel_id", - "id", - "expiry", - "direction", - "amount_msat", - "payment_hash", - "state" - ], - "properties": { - "short_channel_id": { - "type": "short_channel_id", - "description": "the channel that contains/contained the HTLC" - }, - "id": { - "type": "u64", - "description": "the unique, incrementing HTLC id the creator gave this" - }, - "expiry": { - "type": "u32", - "description": "the block number where this HTLC expires/expired" - }, - "amount_msat": { - "type": "msat", - "description": "the value of the HTLC" - }, - "direction": { - "type": "string", - "enum": [ - "out", - "in" - ], - "description": "out if we offered this to the peer, in if they offered it" - }, - "payment_hash": { - "type": "hash", - "description": "payment hash sought by HTLC" - }, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION", - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": "The first 10 states are for `in`, the next 10 are for `out`." - } - } + "example_json_request": [ + { + "id": "example:unreserveinputs#1", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAXyy20ynmOFyRbegGyApk50yNIAb4C+RKV5c2n5VKL3lAAAAAAD9////Akf0EAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUs/fQpAQAAABYAFN9HebR4q6498ytdeRKjC64CkCOMAkcwRAIgSTJCpWVH1FLZYPdwFe7gZckxCtk+AxPp20KUVKqPIdUCIA3hkoUco68vffiwt6TrE3KgX09JE9m7PDUUgrHQANMRASEDBOBlCza/8qXE5q8uJ+OWsKscDERWfdA+LLCa/lwMH0BlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBKjSasyN29ODqXSemEQCZfRIvbJP8thKRBrd4e+NLEMQIgMGNz3+DWDnLmjnIDCaVcC7BKxuycwvtJq1qlKFtTaXcBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAoXS6QUlCcOApG/j+hr4OhNt0tT4GvCzI6z16Hepi7OwEPBAAAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABQfJ4Qjje0sa2yGBz++6jkM2hGRmAz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA", + "reserve": 200 + } + }, + { + "id": "example:unreserveinputs#2", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAATcmTTXq+fj+sIHr+R5b7fJF7TFSj9CobhAzsy8ZmSrYAQAAAAD9////AGYAAAAAAQDeAgAAAAABAWQACJva49ga8OCYXvPRWQRhoXndrJykwjgXbwT251dEAAAAAAD9////AiOI9ikBAAAAFgAU3gClv/YpAKRpfDuiFu6mIL2E4+5QaQ8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgUXIQFs7oRkorVThUn3sLj7WI7g8c8RHai4ChoCvIkWsCICp1CqHl4BlMJCKFHRWHXhhekaj0r1EFSNrh8UnvysQPASEDqHIAEdaH3H6pb3VJzbJNDG4lL8PTfsheL+h2p6baK3JlAAAAAQEfUGkPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "reserve": 2015 + } + }, + { + "id": "example:unreserveinputs#3", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAgQCAAAAAQMEGQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAvnQ1D05X5V7fK9Ypl3PGNGC+SPFQA1egU/xGlMIv2jAIgHUC7f/WwrDyHKiJD/eRQWr45NqpHEsvrAuNy41GlPBsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA", + "reserve": 200 + } + }, + { + "id": "example:unreserveinputs#4", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": 2015 + } + }, + { + "id": "example:unreserveinputs#5", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": 1 + } + }, + { + "id": "example:unreserveinputs#6", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#7", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#8", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAP32AQIAAAAMgnW099dbh1uD153ih5eU5WhluynLxekXjAOjkEdNBg8BAAAAAP3///9FWKQt8C+1y4741+beFSqWAaj9DuvzHNpxvpxS+GB8lwEAAAAA/f///6E5TAGqktI29Oso6b9kZZoAFFGGvpJQUM8VO+3LMTlmAAAAAAD9////nSDT7hrkuoQtAV1yNnbpkJsB5ifKoM2zP+CcLPfis1gBAAAAAP3///+P1rW90UXfD0gIk58h3sXxxy3ZfJJLP0H1I4Jpzy/87QEAAAAA/f///w0UKZ/s9DnPpV+FJ8h2BEI7tl+qVxSGRFRv9FYw4girAQAAAAD9////EPNsUFrEOZyfjbqbh8rfHQ4C9RQECw12n3c1yhFqkzoAAAAAAP3///8QW9LEsSmuvSnvVzy+FDktM7ewQmZnIJI/TJMahLmSzwEAAAAA/f///+4edbWRHDdRJcMeHHElgSmb+nENPsz/g/0AmAEU6hXeAAAAAAD9////T15YLGmk7HBsrL+awdcxi3db3esp8AcCTS9XGrEnfoAAAAAAAP3///8q7xInvEk7J0Ir9cpKXqU2lArUskkYLrimIE0+Yb6a2QEAAAAA/f///8hBLKyMa2zRJqwNOk7DmsDIfG7IvJtQiJ+QnkkHl6atAAAAAAD9////AAAAAAAAAAAAAAAAAAAAAAAA", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#9", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAU2hwXnXuA4Ozo0t3tNHRiLj5A8yVAObfXiF6OhTRPVrAQAAAAD9////AAAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#10", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAK4CAAAABK68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////IJNSWMj+KCKD6GGHEzzw72cp1X11iDSZwRBQbC79DLQBAAAAAP3////3wTApkw4eLJFhbJOhp7opx7eALCpS+dVdceUH+mz2hwAAAAAA/f///7UVWvMf5fuf3CJgwyefX97uk3YLoJCPXg3NX9thf61bAAAAAAD9////AGYAAAAAAQDeAgAAAAABARX096GrGN8fBVgEuhCptnR7scdpVQqVtjR1+xZDzNiaAAAAAAD9////Av5VbSkBAAAAFgAUOnXDxv80S8jBNcPRfzteptD9psJAQg8AAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4AkcwRAIgP6Hy4dnkYkUJ+vkCHpIdFivzuj5hZIt5e3HXoZ1J8wgCIDbuhq289JDZgHFPniRM/7q8wiOS37/0Jz7jkPu019/zASED9GFy1oR4sXAkiYvdXRdgCXd5opn0rhCbIQJWbineAhtlAAAAAQEfQEIPAAAAAAAWABQ9Q9ImvMJwGa3lLXo9xSp6wb4ouAABAN4CAAAAAAEBfm5Om4MojcnfZiTmrwb4b5Byw9emrjITi/nkEqTK9MsAAAAAAP3///8C/6O5KQEAAAAWABTtOQPnEOuAIO7/agK5Ro18/IxUl0BCDwAAAAAAFgAUfQjZl9+pzeOfhoY6rw+C4yzDDIMCRzBEAiA/a9I1mkTVaKL6nRG8CEJ2hsaMimICZUcvAWzHpT85AQIgUJdjAwn+++IWWhKxCJoyRC0Pu+ykZuCL0fWfmN/PAWUBIQKTJtCURBOVsMIxKJ6DCvk64F7L8ZtY9SOELs46KGzWBWUAAAABAR9AQg8AAAAAABYAFH0I2Zffqc3jn4aGOq8PguMswwyDAAEA3gIAAAAAAQElwdpZqt3ILPRwhINY4PGvkg2CSw7agcMPSuFoHDDkIQEAAAAA/f///wJAQg8AAAAAABYAFJ+2e/zv7my320x+VdnGv9dJ4x0eZR6bKQEAAAAWABQKf9BYBbmyj7QFM4pXda0JZapaAgJHMEQCIHqi0/7YrwIb47rEUPMeHI2NqGahL4Qz5Uz2C+dn7x5bAiA/3Woc5maMLzTl6nv0O4yYBsuLy6ZnyBOSNc0KwwT8DwEhAwUcWsfTj5UtdsQdlidCAD7wzD+sAS0ZNUxMfMG2Tc/AZQAAAAEBH0BCDwAAAAAAFgAUn7Z7/O/ubLfbTH5V2ca/10njHR4AAQDeAgAAAAABAXrSwOWn1bC33CJxCp0fSESc6xluJvQPWn3YZnw1UtPhAAAAAAD9////AkBCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGZmbOcpAQAAABYAFLpJsMfy4EFctGRqEVIxWXMI4lCSAkcwRAIgGi4F+ak4VcPFinRD/mVvGFY6jd4fgsFU+Hu9zPjpmsUCIFTY/MS8T7p22wuS2L9tZSjbx+qCguWAgu7okF+eRIn0ASEC66fApkpA4VYZtuZTJcDBftErLdaGUneLIyTy5AAInYdlAAAAAQEfQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgA=", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#11", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAa68D8gwgbghwQN9g/5Ds24Zu0xUvliSZdgsqFDbajgmAQAAAAD9////AAAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#12", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAYbThUhSzYr7ph6Z434bdcW7eoirYOFMmUt2GXZ79sF/AQAAAAD9////AGYAAAAAAQDeAgAAAAABARVD4QKlmwy8SNcNypf1o9TzbIFZjj4dqVzHAL0SLDoTAAAAAAD9////AjOv9ikBAAAAFgAUXJGglH7At5HOVY4ZHp0+19kv655AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgVIxRXqIykOOxm/6YPaFFx2Qh1618qlXPUhDiliVQ2KUCIHQcHniUTcm1XT8SyRE8ev52jm0uiIYum15XcR/tPh+NASEC3Pby7xL4+Ig/Z8TchQ0QT1upLGet3da8qjSjgHO9LOJlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#13", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": 2015 + } + }, + { + "id": "example:unreserveinputs#14", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": 1 + } + }, + { + "id": "example:unreserveinputs#15", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAK4CAAAABNNngbU2OZbuxWy1eirCXDelreU6DGRwcgNhK269/gD4AQAAAAD9////x0An5I3jS5JHYBJ3dSLwsXBSd0XRItsBjtgrOEJqfYwBAAAAAP3///9IPHsAJ8zDdkfaIS1BmfYzv7kd8pMPnk1scxuPGsYDYAEAAAAA/f///6IA2n7v1aIzIemVsJdOO4dUQKjRfDTlvM8pxbB2gjzkAQAAAAD9////AAAAAAAAAAAAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#16", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BADMCAAAAAQVmgyf8sA3N9J6XaH5z7W+GUPDFOM/2L/PuD7iE0RaqAAAAAAD9////AGYAAAAAAQDeAgAAAAABAdWZZguGlQJ1eA+d7WAT500jdCzHJWT9J/TGQIkbS1KfAAAAAAD9////AoCWmAEAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0oAQAAABYAFE8Xxp4GJggW2lJcsHg0VLolc/Z/AkcwRAIgEQLtA2JvAk7S1R9QD5o4SVNXCjMwTUIyHtu65taC/d4CIEnpq2PdrqKqitdmZj09U8cFuwV+Ba9kmZSUsctSWx8CASECUKP6EBufpaBXT910uYhCcKdw9z8iqHgyKa3uuX2QgmVlAAAAAQEfgJaYAQAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#17", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#18", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#19", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#20", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96pmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#21", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLVmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } + }, + { + "id": "example:unreserveinputs#22", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgPh9uV2EwI1rEcIHzocnd2JbGHIZmzLyvv6NfPTIlH9xmAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null } - } - } - }, - "listinvoicerequests.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v22.11", - "properties": { - "invreq_id": { - "type": "string", - "description": "a specific invoice can be queried by providing the `invreq_id`, which is presented by lightning-invoicerequest(7), or can be calculated from a bolt12 invoice" }, - "active_only": { - "type": "boolean", - "description": "if it is *True* then only active invoice requests are returned. Default is *False*" + { + "id": "example:unreserveinputs#23", + "method": "unreserveinputs", + "params": { + "psbt": "cHNidP8BAF4CAAAAAVa79WPJoiYrzo/RgzIAn5HanoBFZo0vZvEjxPAVwLv4AAAAAAD9////AXzpHAAAAAAAIlEgBRjpLNlOD2LAbxJt/5i5q+ebfthFoVbVJFZ44mVUR11mAAAAAAEA3gIAAAAAAQENwcSElLyC0jcwUHiODBhtapHyzIdiwytOGiu/Raf4BwAAAAAA/f///wKAhB4AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFl82znKQEAAAAWABQyIWyAI6LDf6dJ58BDPdkh+PWUZwJHMEQCIGiJFhVi/d/Hz19Cz48uHTjhgBJ6WAlgl/bLVS7A6VtxAiAwlb7xYzIM4uopFvMnpOmGIOp3+upOPPF2F8VaB8U/HQEhA6BAjey7RADP4ifoh2VXhX7QXkh+sZqozv1EPuU5TxZmZQAAAAEBH4CEHgAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "reserve": null + } } - } - }, - "listinvoicerequests.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invoicerequests" ], - "properties": { - "invoicerequests": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "invreq_id", - "single_use", - "active", - "bolt12", - "used" - ], - "properties": { - "invreq_id": { - "type": "hash", - "description": "the SHA256 hash of all invoice_request fields less than 160" - }, - "active": { - "type": "boolean", - "description": "whether the invoice_request is currently active" - }, - "single_use": { - "type": "boolean", - "description": "whether the invoice_request will become inactive after we pay an invoice for it" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string starting with lnr" - }, - "used": { - "type": "boolean", - "description": "whether the invoice_request has already been used" - }, - "label": { - "type": "string", - "description": "the label provided when creating the invoice_request" - } + "example_json_response": [ + { + "reservations": [ + { + "txid": "3bbb987a875ecf3a320baf814f2ddd36a183afa13ffe460a389c5052902e5d28", + "vout": 0, + "was_reserved": true, + "reserved": false } - } - } - } - }, - "listinvoices.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "label": { - "oneOf": [ + ] + }, + { + "reservations": [ + { + "txid": "d82a99192fb333106ea8d08f5231ed45f2ed5b1ef9eb81b0fef8f9ea354d2637", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 103 + } + ] + }, + { + "reservations": [ + { + "txid": "895b5eaad4544d24c99628883b4d84b2c6024d6a2da4c1de54098d985f280943", + "vout": 1, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [ + { + "txid": "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 103 + } + ] + }, + { + "reservations": [ + { + "txid": "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9", + "vout": 0, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": true, + "reserved": false + }, { - "type": "string" + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": true, + "reserved": false }, { - "type": "integer" + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": true, + "reserved": false } - ], - "description": "a label used a the creation of the invoice to get a specific invoice" - }, - "invstring": { - "type": "string", - "description": "the string value to query a specific invoice" - }, - "payment_hash": { - "type": "hex", - "description": "a payment_hash of the invoice to get the details of a specific invoice" - }, - "offer_id": { - "type": "string", - "description": "a local `offer_id` the invoice was issued for a specific invoice details" - }, - "index": { - "type": "string", - "added": "v23.08", - "enum": [ - "created", - "updated" - ], - "description": "if neither *in_channel* nor *out_channel* is specified, it controls ordering. Defaults to `created`" + ] }, - "start": { - "type": "u64", - "added": "v23.08", - "description": "if `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)" + { + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + }, + { + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 174 + } + ] }, - "limit": { - "type": "u32", - "added": "v23.08", - "description": "if `index` is specified, `limit` can be used to specify the maximum number of entries to return" - } - } - }, - "listinvoices.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invoices" - ], - "properties": { - "invoices": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "label", - "created_index", - "payment_hash", - "status", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": "unique label supplied at invoice creation" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": "Whether it's paid, unpaid or unpayable" - }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when it will become / became unpayable" - }, - "amount_msat": { - "type": "msat", - "description": "the amount required to pay this invoice" - }, - "bolt11": { - "type": "string", - "description": "the BOLT11 string (always present unless *bolt12* is)" - }, - "bolt12": { - "type": "string", - "description": "the BOLT12 string (always present unless *bolt11* is)" - }, - "local_offer_id": { - "type": "hash", - "description": "the *id* of our offer which created this invoice (**experimental-offers** only)." - }, - "invreq_payer_note": { - "type": "string", - "description": "the optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" - }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)" - } + { + "reservations": [ + { + "txid": "0f064d4790a3038c17e9c5cb29bb6568e5949787e29dd7835b875bd7f7b47582", + "vout": 1, + "was_reserved": true, + "reserved": false }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "local_offer_id": {}, - "invreq_payer_note": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": "Unique incrementing index for this payment" - }, - "amount_received_msat": { - "type": "msat", - "description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when it was paid" - }, - "paid_outpoint": { - "type": "object", - "description": "Outpoint this invoice was paid with", - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": "ID of the transaction that paid the invoice" - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": "The 0-based output number of the transaction that paid the invoice" - } - } - }, - "payment_preimage": { - "type": "secret", - "description": "proof of payment" - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "local_offer_id": {}, - "invreq_payer_note": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } - } - } - ] - } - } - } - }, - "listnodes.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "id": { - "type": "pubkey", - "description": "The public key of the node to list" - } - } - }, - "listnodes.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "nodes" - ], - "properties": { - "nodes": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "nodeid" - ], - "properties": { - "nodeid": { - "type": "pubkey", - "description": "the public key of the node" - }, - "last_timestamp": { - "type": "u32", - "description": "A node_announcement has been received for this node (UNIX timestamp)" - } + { + "txid": "977c60f8529cbe71da1cf3eb0efda801962a15dee6d7f88ecbb52ff02da45845", + "vout": 1, + "was_reserved": true, + "reserved": false }, - "allOf": [ - { - "if": { - "required": [ - "last_timestamp" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "nodeid", - "last_timestamp", - "alias", - "color", - "features", - "addresses" - ], - "properties": { - "nodeid": {}, - "last_timestamp": {}, - "option_will_fund": {}, - "alias": { - "type": "string", - "description": "The fun alias this node advertized", - "maxLength": 32 - }, - "color": { - "type": "hex", - "description": "The favorite RGB color this node advertized", - "minLength": 6, - "maxLength": 6 - }, - "features": { - "type": "hex", - "description": "BOLT #9 features bitmap this node advertized" - }, - "addresses": { - "type": "array", - "description": "The addresses this node advertized", - "items": { - "type": "object", - "required": [ - "type", - "port" - ], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ], - "description": "Type of connection (until 23.08, `websocket` was also allowed)" - }, - "port": { - "type": "u16", - "description": "port number" - } - }, - "if": { - "properties": { - "type": { - "type": "string", - "enum": [ - "dns", - "ipv4", - "ipv6", - "torv2", - "torv3" - ] - } - } - }, - "then": { - "required": [ - "type", - "address", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {}, - "address": { - "type": "string", - "description": "address in expected format for **type**" - } - } - }, - "else": { - "required": [ - "type", - "port" - ], - "additionalProperties": false, - "properties": { - "type": {}, - "port": {} - } - } - } - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "nodeid": {} - } - } - }, - { - "if": { - "required": [ - "option_will_fund" - ] - }, - "then": { - "additionalProperties": true, - "required": [ - "option_will_fund" - ], - "properties": { - "option_will_fund": { - "type": "object", - "additionalProperties": false, - "required": [ - "lease_fee_base_msat", - "lease_fee_basis", - "funding_weight", - "channel_fee_max_base_msat", - "channel_fee_max_proportional_thousandths", - "compact_lease" - ], - "properties": { - "lease_fee_base_msat": { - "type": "msat", - "description": "the fixed fee for a lease (whole number of satoshis)" - }, - "lease_fee_basis": { - "type": "u32", - "description": "the proportional fee in basis points (parts per 10,000) for a lease" - }, - "funding_weight": { - "type": "u32", - "description": "the onchain weight you'll have to pay for a lease" - }, - "channel_fee_max_base_msat": { - "type": "msat", - "description": "the maximum base routing fee this node will charge during the lease" - }, - "channel_fee_max_proportional_thousandths": { - "type": "u32", - "description": "the maximum proportional routing fee this node will charge during the lease (in thousandths, not millionths like channel_update)" - }, - "compact_lease": { - "type": "hex", - "description": "the lease as represented in the node_announcement" - } - } - } - } - } - } - ] - } - } - } - }, - "listoffers.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "offer_id": { - "type": "hash", - "description": "Only return offers matching this ID" + { + "txid": "663931cbed3b15cf505092be865114009a6564bfe928ebf436d292aa014c39a1", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "58b3e2f72c9ce03fb3cda0ca27e6019b90e97636725d012d84bae41aeed3209d", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "edfc2fcf698223f5413f4b927cd92dc7f1c5de219f9308480fdf45d1bdb5d68f", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "ab08e23056f46f5444861457aa5fb63b420476c827855fa5cf39f4ec9f29140d", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "3a936a11ca35779f760d0b0414f5020e1ddfca879bba8d9f9c39c45a506cf310", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "cf92b9841a934c3f9220676642b0b7332d3914be3c57ef29bdae29b1c4d25b10", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "de15ea14019800fd83ffcc3e0d71fa9b298125711c1ec32551371c91b5751eee", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "807e27b11a572f4d0207f029ebdd5b778b31d7c19abfac6c70eca4692c585e4f", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "d99abe613e4d20a6b82e1849b2d40a9436a55e4acaf52b42273b49bc2712ef2a", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "ada69707499e909f88509bbcc86e7cc8c09ac34e3a0dac26d16c6b8cac2c41c8", + "vout": 0, + "was_reserved": true, + "reserved": false + } + ] }, - "active_only": { - "type": "boolean", - "description": "f active_only is set and is true, only offers with active true are returned." - } - } - }, - "listoffers.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "offers" - ], - "properties": { - "offers": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used" - ], - "properties": { - "offer_id": { - "type": "hash", - "description": "the id of this offer (merkle hash of non-signature fields)" - }, - "active": { - "type": "boolean", - "description": "whether this can still be used" - }, - "single_use": { - "type": "boolean", - "description": "whether this expires as soon as it's paid" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 encoding of the offer" - }, - "used": { - "type": "boolean", - "description": "True if an associated invoice has been paid" - }, - "label": { - "type": "string", - "description": "the (optional) user-specified label" - } + { + "reservations": [ + { + "txid": "6bf54453e8e885787d9b0354320fe4e3224647d3de2d8dce0e0eb8d779c1a14d", + "vout": 1, + "was_reserved": true, + "reserved": false } - } - } - } - }, - "listpays.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "bolt11": { - "type": "string", - "description": "bolt11 string to get the payment details" - }, - "payment_hash": { - "type": "hash", - "description": "payment hash to get the payment details" - }, - "status": { - "type": "string", - "description": "to filter the payment by status", - "enum": [ - "pending", - "complete", - "failed" ] - } - } - }, - "listpays.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "pays" - ], - "properties": { - "pays": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "payment_hash", - "status", - "created_at" - ], - "properties": { - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": "status of the payment" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" - }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "completed_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was completed" - }, - "label": { - "type": "string", - "description": "the label, if given to sendpay" - }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if pay supplied one)" - }, - "description": { - "type": "string", - "description": "the description matching the bolt11 description hash (if pay supplied one)" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied for pay: **experimental-offers** only)." - } + }, + { + "reservations": [ + { + "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", + "vout": 1, + "was_reserved": true, + "reserved": false }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "amount_sent_msat", - "preimage" - ], - "properties": { - "payment_hash": {}, - "status": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "amount_msat": { - "type": "msat", - "description": "The amount of millisatoshi we intended to send to the destination" - }, - "amount_sent_msat": { - "type": "msat", - "description": "The amount of millisatoshi we sent in order to pay (may include fees and not match amount_msat)" - }, - "preimage": { - "type": "secret", - "description": "proof of payment" - }, - "number_of_parts": { - "type": "u64", - "description": "the number of parts for a successful payment (only if more than one)." - } - } - } - }, - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "failed" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "amount_sent_msat" - ], - "properties": { - "payment_hash": {}, - "status": {}, - "destination": {}, - "created_at": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "amount_sent_msat": {}, - "erroronion": { - "type": "hex", - "description": "the error onion returned on failure, if any." - } - } - } - } - ] - } - } - } - }, - "listpeerchannels.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "added": "v23.02", - "properties": { - "id": { - "type": "pubkey", - "description": "If supplied, limits the channels to just the peer with the given ID, if it exists" - } - } - }, - "listpeerchannels.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "required": [ - "channels" - ], - "properties": { - "channels": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "state", - "opener", - "features", - "peer_connected", - "peer_id" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": "Node Public key" - }, - "peer_connected": { - "type": "boolean", - "description": "A boolean flag that is set to true if the peer is online" - }, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "CHANNELD_AWAITING_SPLICE", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": "the channel state, in particular \"CHANNELD_NORMAL\" means the channel can be used normally" - }, - "scratch_txid": { - "type": "txid", - "description": "The txid we would use if we went onchain now" - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v23.05", - "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" - } - } - } - }, - "updates": { - "type": "object", - "added": "v24.02", - "description": "Latest gossip updates sent/received", - "additionalProperties": false, - "required": [ - "local" - ], - "properties": { - "local": { - "type": "object", - "description": "Our gossip for channel", - "additionalProperties": false, - "added": "v24.02", - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": "Minimum msat amount we allow" - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": "Maximum msat amount we allow" - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": "Blocks delay required between incoming and outgoing HTLCs" - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": "Amount we charge to use the channel" - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": "Amount we charge to use the channel in parts-per-million" - } - } - }, - "remote": { - "type": "object", - "added": "v24.02", - "description": "Peer's gossip for channel", - "additionalProperties": false, - "required": [ - "htlc_minimum_msat", - "htlc_maximum_msat", - "cltv_expiry_delta", - "fee_base_msat", - "fee_proportional_millionths" - ], - "properties": { - "htlc_minimum_msat": { - "type": "msat", - "added": "v24.02", - "description": "Minimum msat amount they allow" - }, - "htlc_maximum_msat": { - "type": "msat", - "added": "v24.02", - "description": "Maximum msat amount they allow" - }, - "cltv_expiry_delta": { - "type": "u32", - "added": "v24.02", - "description": "Blocks delay required between incoming and outgoing HTLCs" - }, - "fee_base_msat": { - "type": "msat", - "added": "v24.02", - "description": "Amount they charge to use the channel" - }, - "fee_proportional_millionths": { - "type": "u32", - "added": "v24.02", - "description": "Amount they charge to use the channel in parts-per-million" - } - } - } - } - }, - "ignore_fee_limits": { - "type": "boolean", - "added": "v23.08", - "description": "set if we allow this peer to set fees to anything they want" - }, - "lost_state": { - "type": "boolean", - "added": "v24.02", - "description": "set if we are fallen behind i.e. lost some channel state." - }, - "feerate": { - "type": "object", - "description": "Feerates for the current tx", - "additionalProperties": false, - "required": [ - "perkw", - "perkb" - ], - "properties": { - "perkw": { - "type": "u32", - "description": "Feerate per 1000 weight (i.e kSipa)" - }, - "perkb": { - "type": "u32", - "description": "Feerate per 1000 virtual bytes" - } - } - }, - "owner": { - "type": "string", - "description": "The current subdaemon controlling this connection" - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "The short_channel_id (once locked in)" - }, - "channel_id": { - "type": "hash", - "description": "The full channel_id (funding txid Xored with output number)" - }, - "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" - }, - "initial_feerate": { - "type": "string", - "description": "For inflight opens, the first feerate used to initiate the channel open" - }, - "last_feerate": { - "type": "string", - "description": "For inflight opens, the most recent feerate used on the channel open" - }, - "next_feerate": { - "type": "string", - "description": "For inflight opens, the next feerate we'll use for the channel open" - }, - "next_fee_step": { - "type": "u32", - "description": "For inflight opens, the next feerate step we'll use for the channel open" - }, - "inflight": { - "type": "array", - "description": "Current candidate funding transactions", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "funding_txid", - "funding_outnum", - "feerate", - "total_funding_msat", - "splice_amount", - "our_funding_msat" - ], - "properties": { - "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" - }, - "feerate": { - "type": "string", - "description": "The feerate for this funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "total_funding_msat": { - "type": "msat", - "description": "total amount in the channel" - }, - "splice_amount": { - "type": "integer", - "added": "v23.08", - "description": "The amouont of sats we're splicing in or out" - }, - "our_funding_msat": { - "type": "msat", - "description": "amount we have in the channel" - }, - "scratch_txid": { - "type": "txid", - "description": "The commitment transaction txid we would use if we went onchain now" - } - } - } - }, - "close_to": { - "type": "hex", - "description": "scriptPubkey which we have to close to if we mutual close" - }, - "private": { - "type": "boolean", - "description": "if True, we will not announce this channel" - }, - "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)" - }, - "features": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "option_static_remotekey", - "option_anchor_outputs", - "option_anchors_zero_fee_htlc_tx", - "option_scid_alias", - "option_zeroconf" - ], - "description": "BOLT #9 features which apply to this channel" - } - }, - "funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "local_funds_msat", - "remote_funds_msat" - ], - "properties": { - "pushed_msat": { - "type": "msat", - "description": "Amount pushed from opener to peer" - }, - "local_funds_msat": { - "type": "msat", - "description": "Amount of channel we funded" - }, - "remote_funds_msat": { - "type": "msat", - "description": "Amount of channel they funded" - }, - "fee_paid_msat": { - "type": "msat", - "description": "Amount we paid peer at open" - }, - "fee_rcvd_msat": { - "type": "msat", - "description": "Amount we were paid by peer at open" - } - } - }, - "to_us_msat": { - "type": "msat", - "description": "How much of channel is owed to us" - }, - "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." - }, - "total_msat": { - "type": "msat", - "description": "total amount in the channel" - }, - "fee_base_msat": { - "type": "msat", - "description": "amount we charge to use the channel" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "amount we charge to use the channel in parts-per-million" - }, - "dust_limit_msat": { - "type": "msat", - "description": "Minimum amount for an output on the channel transactions" - }, - "max_total_htlc_in_msat": { - "type": "msat", - "description": "Max amount accept in a single payment" - }, - "their_reserve_msat": { - "type": "msat", - "description": "Minimum we insist they keep in channel (default is 1% of the total channel capacity). If they have less than this in the channel, they cannot send to us on that channel" - }, - "our_reserve_msat": { - "type": "msat", - "description": "Minimum they insist we keep in channel. If you have less than this in the channel, you cannot send out via this channel." - }, - "spendable_msat": { - "type": "msat", - "description": "An estimate of the total we could send through channel (can be wrong because adding HTLCs requires an increase in fees paid to onchain miners, and onchain fees change dynamically according to onchain activity)" - }, - "receivable_msat": { - "type": "msat", - "description": "An estimate of the total peer could send through channel" - }, - "minimum_htlc_in_msat": { - "type": "msat", - "description": "The minimum amount HTLC we accept" - }, - "minimum_htlc_out_msat": { - "type": "msat", - "description": "The minimum amount HTLC we will send" - }, - "maximum_htlc_out_msat": { - "type": "msat", - "description": "The maximum amount HTLC we will send" - }, - "their_to_self_delay": { - "type": "u32", - "description": "The number of blocks before they can take their funds if they unilateral close" - }, - "our_to_self_delay": { - "type": "u32", - "description": "The number of blocks before we can take our funds if we unilateral close" - }, - "max_accepted_htlcs": { - "type": "u32", - "description": "Maximum number of incoming HTLC we will accept at once" - }, - "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" - } - } - }, - "state_changes": { - "type": "array", - "description": "Prior state changes", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "timestamp", - "old_state", - "new_state", - "cause", - "message" - ], - "properties": { - "timestamp": { - "type": "string", - "description": "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ" - }, - "old_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE" - ], - "description": "Previous state" - }, - "new_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY", - "CHANNELD_AWAITING_SPLICE" - ], - "description": "New state" - }, - "cause": { - "type": "string", - "enum": [ - "unknown", - "local", - "user", - "remote", - "protocol", - "onchain" - ], - "description": "What caused the change" - }, - "message": { - "type": "string", - "description": "Human-readable explanation" - } - } - } - }, - "status": { - "type": "array", - "items": { - "type": "string", - "description": "Billboard log of significant changes" - } - }, - "in_payments_offered": { - "type": "u64", - "description": "Number of incoming payment attempts" - }, - "in_offered_msat": { - "type": "msat", - "description": "Total amount of incoming payment attempts" - }, - "in_payments_fulfilled": { - "type": "u64", - "description": "Number of successful incoming payment attempts" - }, - "in_fulfilled_msat": { - "type": "msat", - "description": "Total amount of successful incoming payment attempts" - }, - "out_payments_offered": { - "type": "u64", - "description": "Number of outgoing payment attempts" - }, - "out_offered_msat": { - "type": "msat", - "description": "Total amount of outgoing payment attempts" - }, - "out_payments_fulfilled": { - "type": "u64", - "description": "Number of successful outgoing payment attempts" - }, - "out_fulfilled_msat": { - "type": "msat", - "description": "Total amount of successful outgoing payment attempts" - }, - "last_stable_connection": { - "type": "u64", - "added": "v24.02", - "description": "Last time we reestablished the open channel and stayed connected for 1 minute" - }, - "htlcs": { - "type": "array", - "description": "current HTLCs in this channel", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "direction", - "id", - "amount_msat", - "expiry", - "payment_hash", - "state" - ], - "properties": { - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": "Whether it came from peer, or is going to peer" - }, - "id": { - "type": "u64", - "description": "Unique ID for this htlc on this channel in this direction" - }, - "amount_msat": { - "type": "msat", - "description": "Amount send/received for this HTLC" - }, - "expiry": { - "type": "u32", - "description": "Block this HTLC expires at (after which an `in` direction HTLC will be returned to the peer, an `out` returned to us). If this expiry is too close, lightningd(8) will automatically unilaterally close the channel in order to enforce the timeout onchain." - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the payment_preimage which will prove payment" - }, - "local_trimmed": { - "type": "boolean", - "enum": [ - true - ], - "description": "If this is too small to enforce onchain; it doesn't appear in the commitment transaction and will not be enforced in a unilateral close. Generally true if the HTLC (after subtracting onchain fees) is below the `dust_limit_msat` for the channel." - }, - "status": { - "type": "string", - "description": "set if this HTLC is currently waiting on a hook (and shows what plugin)" - } - }, - "allOf": [ - { - "if": { - "properties": { - "direction": { - "enum": [ - "out" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION" - ], - "description": "Status of the HTLC" - } - } - } - }, - { - "if": { - "properties": { - "direction": { - "enum": [ - "in" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": { - "type": "string", - "enum": [ - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": "Status of the HTLC" - } - } - } - } - ] - } - } + { + "txid": "b40cfd2e6c5010c1993488757dd52967eff03c138761e8832228fec858529320", + "vout": 1, + "was_reserved": true, + "reserved": false }, - "allOf": [ - { - "if": { - "properties": { - "peer_connected": { - "type": "boolean", - "enum": [ - true - ] - } - } - }, - "then": { - "properties": { - "reestablished": { - "type": "boolean", - "description": "True if we have successfully exchanged reestablish messages this connection" - } - } - } - }, - { - "if": { - "required": [ - "close_to" - ] - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "alias": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "inflight": {}, - "last_tx_fee_msat": {}, - "direction": {}, - "close_to_addr": { - "type": "string", - "description": "The bitcoin address we will close to (present if close_to_addr is a standardized address)" - } - } - } - }, - { - "if": { - "required": [ - "scratch_txid" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "last_tx_fee_msat" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "alias": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": { - "type": "msat", - "description": "fee attached to this the current tx" - } - } - } - }, - { - "if": { - "required": [ - "short_channel_id" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "direction" - ], - "properties": { - "alias": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "state": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "last_tx_fee_msat": {}, - "direction": { - "type": "u32", - "description": "0 if we're the lesser node_id, 1 if we're the greater (as used in BOLT #7 channel_update)" - } - } - } - }, - { - "if": { - "required": [ - "inflight" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "initial_feerate", - "last_feerate", - "next_feerate" - ], - "properties": { - "state": {}, - "peer_id": {}, - "peer_connected": {}, - "reestablished": {}, - "scratch_txid": {}, - "channel_type": {}, - "feerate": {}, - "ignore_fee_limits": {}, - "lost_state": {}, - "owner": {}, - "alias": {}, - "short_channel_id": {}, - "channel_id": {}, - "updates": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "last_stable_connection": {}, - "htlcs": {}, - "inflight": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": {}, - "initial_feerate": { - "type": "string", - "description": "The feerate for the initial funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "last_feerate": { - "type": "string", - "description": "The feerate for the latest funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "next_feerate": { - "type": "string", - "description": "The minimum feerate for the next funding transaction in per-1000-weight, with \"kpw\" appended" - } - } - } - } - ] - } + { + "txid": "87f66cfa07e5715dd5f9522a2c80b7c729baa7a1936c61912c1e0e932930c1f7", + "vout": 0, + "was_reserved": true, + "reserved": false + }, + { + "txid": "5bad7f61db5fcd0d5e8f90a00b7693eede5f9f27c36022dc9ffbe51ff35a15b5", + "vout": 0, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [ + { + "txid": "26386adb50a82cd8659258be544cbb196eb343fe837d03c121b88130c80fbcae", + "vout": 1, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [] + }, + { + "reservations": [ + { + "txid": "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 103 + } + ] + }, + { + "reservations": [ + { + "txid": "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b", + "vout": 1, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [ + { + "txid": "f800febd6e2b61037270640c3ae5ada5375cc22a7ab56cc5ee963936b58167d3", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "8c7d6a42382bd88e01db22d145775270b1f0227577126047924be38de42740c7", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "6003c61a8f1b736c4d9e0f93f21db9bf33f699412d21da4776c3cc27007b3c48", + "vout": 1, + "was_reserved": true, + "reserved": false + }, + { + "txid": "e43c8276b0c529cfbce5347cd1a84054873b4e97b095e92133a2d5ef7eda00a2", + "vout": 1, + "was_reserved": true, + "reserved": false + } + ] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] + }, + { + "reservations": [] } - } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-unreserveinputs(7)", + "lightning-signpsbt(7)", + "lightning-sendpsbt(7)" + ], + "resources": [ + "Main web site: " + ] }, - "listpeers.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-upgradewallet.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", - "required": [], "additionalProperties": false, - "properties": { - "id": { - "type": "pubkey", - "description": "if supplied, limits the result to just the peer with the given ID, if it exists" + "rpc": "upgradewallet", + "title": "Command to spend all P2SH-wrapped inputs into a Native Segwit output", + "description": [ + "`upgradewallet` is a convenience RPC which will spend all p2sh-wrapped Segwit deposits in a wallet into a single Native Segwit P2WPKH address." + ], + "request": { + "required": [], + "properties": { + "feerate": { + "type": "feerate", + "description": [ + "Feerate for the upgrade transaction." + ], + "added": "v23.02", + "default": "*opening*" + }, + "reservedok": { + "type": "boolean", + "description": [ + "Tells the wallet to include all P2SH-wrapped inputs, including reserved ones." + ], + "added": "v23.02" + } + } + }, + "response": { + "required": [ + "upgraded_outs" + ], + "properties": { + "upgraded_outs": { + "type": "u64", + "description": [ + "Count of spent/upgraded UTXOs." + ], + "added": "v23.02" + }, + "psbt": { + "type": "string", + "description": [ + "The PSBT that was finalized and sent." + ], + "added": "v23.02" + }, + "tx": { + "type": "hex", + "description": [ + "The raw transaction which was sent." + ], + "added": "v23.02" + }, + "txid": { + "type": "txid", + "description": [ + "The txid of the **tx**." + ], + "added": "v23.02" + } + } + }, + "example_usage": [ + "The caller is trying to buy a liquidity ad but the command keeps failing. They have funds in their wallet, but they're all P2SH-wrapped outputs.", + "", + "The caller can call `upgradewallet` to convert their funds to native segwit outputs, which are valid for liquidity ad buys." + ], + "example_json_request": [ + { + "id": "example:upgradewallet#1", + "method": "upgradewallet", + "params": "{}" }, - "level": { - "type": "string", - "description": "supplying level will show log entries related to that peer at the given log level", - "enum": [ - "io", - "debug", - "info", - "unusual" - ] + { + "id": "example:upgradewallet#2", + "method": "upgradewallet", + "params": "{}" + }, + { + "id": "example:upgradewallet#3", + "method": "upgradewallet", + "params": "{}" + }, + { + "id": "example:upgradewallet#4", + "method": "upgradewallet", + "params": "{}" + }, + { + "id": "example:upgradewallet#5", + "method": "upgradewallet", + "params": "{}" + }, + { + "id": "example:upgradewallet#6", + "method": "upgradewallet", + "params": "{}" + }, + { + "id": "example:upgradewallet#7", + "method": "upgradewallet", + "params": { + "feerate": "urgent", + "reservedok": true + } + }, + { + "id": "example:upgradewallet#8", + "method": "upgradewallet", + "params": { + "feerate": "urgent", + "reservedok": true + } } - } + ], + "example_json_response": [ + { + "upgraded_outs": 0 + }, + { + "upgraded_outs": 0 + }, + { + "upgraded_outs": 0 + }, + { + "upgraded_outs": 0 + }, + { + "tx": "0200000001c08ce0a9ea1e00179ea603cb8619ec2a2df990ef931e1ccd87fa7a0e271ed8370100000000fdffffff01191c3101000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b5cf000000", + "txid": "c12939fb8009ba3befab825f1e9930895e9a0f323ecc5b0f4b01e04dbad8ccc5", + "psbt": "cHNidP8BAgQCAAAAAQMEzwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDgAgAAAAABAZRZ0m0kaJA+ubJw1eYurGROu1BYc0i7l9xbyG06R6uZAQAAAAD9////AmQtPCgBAAAAF6kUnoGu9IUv0FGnzol3Lb/BNBNkOViHAC0xAQAAAAAXqRRlVyjzbP420BqlDTI2cERp+EpVQIcCRzBEAiBliJpjBsipwFgsLZMlzbESZ6hMTh+pgKQlXUIL0nLb3wIga/xwr/IJgEc7Ie6ApS4aVDr9xr1TZ3wj+8bRvI6WqScBIQPgYuc48PzUufScX6A6YOsdmJwn+bAQjLZ/g9jhQYduHM4AAAABASAALTEBAAAAABepFGVXKPNs/jbQGqUNMjZwRGn4SlVAhyICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiBwwV18O8oTpfyEITvkAmkam9WYthf11FSSt/8d1E8XdgIgaz47x2qJdErr4JNjXqW6uoeDL2RYJ3hRCjTCY28uNYwBAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAQ4gwIzgqeoeABeepgPLhhnsKi35kO+THhzNh/p6Dice2DcBDwQBAAAAARAE/f///wABAwgZHDEBAAAAAAEEIlEgbCfhlWrPph5oKSyAkIiA6BNFD3VBMuiirEcahr8TJrUhB1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCQB9CNmXBQAAAAA=", + "upgraded_outs": 1 + }, + { + "upgraded_outs": 0 + }, + { + "tx": "0200000001c08ce0a9ea1e00179ea603cb8619ec2a2df990ef931e1ccd87fa7a0e271ed8370100000000fdffffff013514310100000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb5cf000000", + "txid": "de5f1d6f0b2f95cfe5cfbf8cc33bd3f279a8f800ee0efc27bbfafb2b6ead9560", + "psbt": "cHNidP8BAgQCAAAAAQMEzwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQDgAgAAAAABAZRZ0m0kaJA+ubJw1eYurGROu1BYc0i7l9xbyG06R6uZAQAAAAD9////AmQtPCgBAAAAF6kUnoGu9IUv0FGnzol3Lb/BNBNkOViHAC0xAQAAAAAXqRRlVyjzbP420BqlDTI2cERp+EpVQIcCRzBEAiBliJpjBsipwFgsLZMlzbESZ6hMTh+pgKQlXUIL0nLb3wIga/xwr/IJgEc7Ie6ApS4aVDr9xr1TZ3wj+8bRvI6WqScBIQPgYuc48PzUufScX6A6YOsdmJwn+bAQjLZ/g9jhQYduHM4AAAABASAALTEBAAAAABepFGVXKPNs/jbQGqUNMjZwRGn4SlVAhyICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiBlTUNYfS5n5rGRVmoNb0z3AMGJjHijwpXROGIVxfoBnQIgeTx32KY3CcfYTYzXUIRQAMUQB7rlPWRptWMDD3UttkcBAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCIGArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMAAAAAAQ4gwIzgqeoeABeepgPLhhnsKi35kO+THhzNh/p6Dice2DcBDwQBAAAAARAE/f///wABAwg1FDEBAAAAAAEEIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAA=", + "upgraded_outs": 1 + }, + { + "upgraded_outs": 0 + } + ], + "author": [ + "Lisa Neigut <> is mainly responsible." + ], + "see_also": [ + "lightning-utxopsbt(7)", + "lightning-reserveinputs(7)", + "lightning-unreserveinputs(7)" + ], + "resources": [ + "Main web site: " + ] }, - "listpeers.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-utxopsbt.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "peers" + "rpc": "utxopsbt", + "title": "Command to populate PSBT inputs from given UTXOs", + "description": [ + "*utxopsbt* is a low-level RPC command which creates a PSBT using unreserved inputs in the wallet, optionally reserving them as well.", + "", + "It deliberately mirrors the parameters and output of lightning-fundpsbt(7) except instead of an optional *minconf* parameter to select unreserved outputs from the wallet, it takes a compulsory list of outputs to use." ], - "properties": { - "peers": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "connected", - "num_channels" + "request": { + "required": [ + "satoshi", + "feerate", + "startweight", + "utxos" + ], + "properties": { + "satoshi": { + "type": "msat_or_all", + "description": [ + "The minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ] + }, + "feerate": { + "type": "feerate", + "description": [ + "Used for the transaction as initial feerate." ], - "properties": { - "id": { - "type": "pubkey", - "description": "the public key of the peer" - }, - "connected": { - "type": "boolean", - "description": "True if the peer is currently connected" - }, - "num_channels": { - "type": "u32", - "description": "The number of channels the peer has with this node", - "added": "v23.02" - }, - "log": { - "type": "array", - "description": "if *level* is specified, logs for this peer", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "SKIPPED", - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG", - "IO_IN", - "IO_OUT" - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "enum": [ - "SKIPPED" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "num_skipped" - ], - "properties": { - "type": {}, - "num_skipped": { - "type": "u32", - "description": "number of deleted/omitted entries" - } - } - } - }, - { - "if": { - "properties": { - "type": { - "enum": [ - "BROKEN", - "UNUSUAL", - "INFO", - "DEBUG" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "node_id" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": "UNIX timestamp with 9 decimal places" - }, - "source": { - "type": "string", - "description": "The particular logbook this was found in" - }, - "log": { - "type": "string", - "description": "The actual log message" - }, - "node_id": { - "type": "pubkey", - "description": "The peer this is associated with" - } - } - } - }, - { - "if": { - "properties": { - "type": { - "enum": [ - "IO_IN", - "IO_OUT" - ] - } - } - }, - "then": { - "type": "object", - "additionalProperties": false, - "required": [ - "time", - "source", - "log", - "node_id", - "data" - ], - "properties": { - "type": {}, - "time": { - "type": "string", - "description": "UNIX timestamp with 9 decimal places" - }, - "source": { - "type": "string", - "description": "The particular logbook this was found in" - }, - "log": { - "type": "string", - "description": "The actual log message" - }, - "node_id": { - "type": "pubkey", - "description": "The peer this is associated with" - }, - "data": { - "type": "hex", - "description": "The IO which occurred" - } - } - } - } + "default": "*normal*" + }, + "startweight": { + "type": "u32", + "description": [ + "The weight of the transaction before *fundpsbt* has added any inputs." + ] + }, + "utxos": { + "type": "array", + "description": [ + "An array of `txid:vout`, each of which must be reserved or available." + ], + "items": { + "type": "outpoint" + } + }, + "reserve": { + "type": "u32", + "description": [ + "If not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks." + ], + "default": "72 blocks" + }, + "reservedok": { + "type": "boolean", + "description": [ + "If set to true, it will also fail if any of the *utxos* are already reserved." + ], + "default": "false" + }, + "locktime": { + "type": "u32", + "description": [ + "If not set, it is set to a recent block height." + ] + }, + "min_witness_weight": { + "type": "u32", + "description": [ + "Minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used." + ] + }, + "excess_as_change": { + "type": "boolean", + "description": [ + "Flag to add a change output for the excess sats." + ] + }, + "opening_anchor_channel": { + "added": "v23.08", + "type": "boolean", + "description": [ + "To signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels." + ] + } + } + }, + "response": { + "required": [ + "psbt", + "feerate_per_kw", + "estimated_final_weight", + "excess_msat" + ], + "properties": { + "psbt": { + "type": "string", + "description": [ + "Unsigned PSBT which fulfills the parameters given." + ] + }, + "feerate_per_kw": { + "type": "u32", + "description": [ + "The feerate used to create the PSBT, in satoshis-per-kiloweight." + ] + }, + "estimated_final_weight": { + "type": "u32", + "description": [ + "The estimated weight of the transaction once fully signed." + ] + }, + "excess_msat": { + "type": "msat", + "description": [ + "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned." + ] + }, + "change_outnum": { + "type": "u32", + "description": [ + "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)." + ] + }, + "reservations": { + "type": "array", + "description": [ + "If *reserve* was true or a non-zero number, just as per lightning- reserveinputs(7)." + ], + "items": { + "type": "object", + "required": [ + "txid", + "vout", + "was_reserved", + "reserved", + "reserved_to_block" + ], + "additionalProperties": false, + "properties": { + "txid": { + "type": "txid", + "description": [ + "The txid of the transaction." ] - } - }, - "channels": { - "deprecated": [ - "v23.02", - "v24.02" - ], - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "state", - "opener", - "features" + }, + "vout": { + "type": "u32", + "description": [ + "The 0-based output number." + ] + }, + "was_reserved": { + "type": "boolean", + "description": [ + "Whether this output was previously reserved." + ] + }, + "reserved": { + "type": "boolean", + "enum": [ + true ], - "properties": { - "state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": "the channel state, in particular \"CHANNELD_NORMAL\" means the channel can be used normally" - }, - "scratch_txid": { - "type": "txid", - "description": "The txid we would use if we went onchain now" - }, - "feerate": { - "type": "object", - "description": "Feerates for the current tx", - "additionalProperties": false, - "required": [ - "perkw", - "perkb" - ], - "properties": { - "perkw": { - "type": "u32", - "description": "Feerate per 1000 weight (i.e kSipa)" - }, - "perkb": { - "type": "u32", - "description": "Feerate per 1000 virtual bytes" - } - } - }, - "owner": { - "type": "string", - "description": "The current subdaemon controlling this connection" - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "The short_channel_id (once locked in)" - }, - "channel_id": { - "type": "hash", - "description": "The full channel_id", - "minLength": 64, - "maxLength": 64 - }, - "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" - }, - "initial_feerate": { - "type": "string", - "description": "For inflight opens, the first feerate used to initiate the channel open" - }, - "last_feerate": { - "type": "string", - "description": "For inflight opens, the most recent feerate used on the channel open" - }, - "next_feerate": { - "type": "string", - "description": "For inflight opens, the next feerate we'll use for the channel open" - }, - "next_fee_step": { - "type": "u32", - "description": "For inflight opens, the next feerate step we'll use for the channel open" - }, - "inflight": { - "type": "array", - "description": "Current candidate funding transactions (only for dual-funding)", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "funding_txid", - "funding_outnum", - "feerate", - "total_funding_msat", - "our_funding_msat", - "splice_amount", - "scratch_txid" - ], - "properties": { - "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" - }, - "feerate": { - "type": "string", - "description": "The feerate for this funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "total_funding_msat": { - "type": "msat", - "description": "total amount in the channel" - }, - "our_funding_msat": { - "type": "msat", - "description": "amount we have in the channel" - }, - "splice_amount": { - "type": "integer", - "added": "v23.08", - "description": "The amouont of sats we're splicing in or out" - }, - "scratch_txid": { - "type": "txid", - "description": "The commitment transaction txid we would use if we went onchain now" - } - } - } - }, - "close_to": { - "type": "hex", - "description": "scriptPubkey which we have to close to if we mutual close" - }, - "private": { - "type": "boolean", - "description": "if True, we will not announce this channel" - }, - "opener": { - "type": "string", - "enum": [ - "local", - "remote" - ], - "description": "Who initiated the channel" - }, - "closer": { - "type": "string", - "enum": [ - "local", - "remote" - ], - "description": "Who initiated the channel close" - }, - "features": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "option_static_remotekey", - "option_anchor_outputs", - "option_scid_alias", - "option_zeroconf" - ], - "description": "BOLT #9 features which apply to this channel" - } - }, - "funding": { - "type": "object", - "additionalProperties": false, - "required": [ - "local_funds_msat", - "remote_funds_msat" - ], - "properties": { - "pushed_msat": { - "type": "msat", - "description": "Amount pushed from opener to peer" - }, - "local_funds_msat": { - "type": "msat", - "description": "Amount of channel we funded" - }, - "remote_funds_msat": { - "type": "msat", - "description": "Amount of channel they funded" - }, - "fee_paid_msat": { - "type": "msat", - "description": "Amount we paid peer at open" - }, - "fee_rcvd_msat": { - "type": "msat", - "description": "Amount we were paid by peer at open" - } - } - }, - "to_us_msat": { - "type": "msat", - "description": "how much of channel is owed to us" - }, - "min_to_us_msat": { - "type": "msat", - "description": "least amount owed to us ever" - }, - "max_to_us_msat": { - "type": "msat", - "description": "most amount owed to us ever" - }, - "total_msat": { - "type": "msat", - "description": "total amount in the channel" - }, - "fee_base_msat": { - "type": "msat", - "description": "amount we charge to use the channel" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "amount we charge to use the channel in parts-per-million" - }, - "dust_limit_msat": { - "type": "msat", - "description": "minimum amount for an output on the channel transactions" - }, - "max_total_htlc_in_msat": { - "type": "msat", - "description": "max amount accept in a single payment" - }, - "their_reserve_msat": { - "type": "msat", - "description": "minimum we insist they keep in channel" - }, - "our_reserve_msat": { - "type": "msat", - "description": "minimum they insist we keep in channel" - }, - "spendable_msat": { - "type": "msat", - "description": "total we could send through channel" - }, - "receivable_msat": { - "type": "msat", - "description": "total peer could send through channel" - }, - "minimum_htlc_in_msat": { - "type": "msat", - "description": "the minimum amount HTLC we accept" - }, - "minimum_htlc_out_msat": { - "type": "msat", - "description": "the minimum amount HTLC we will send" - }, - "maximum_htlc_out_msat": { - "type": "msat", - "description": "the maximum amount HTLC we will send" - }, - "their_to_self_delay": { - "type": "u32", - "description": "the number of blocks before they can take their funds if they unilateral close" - }, - "our_to_self_delay": { - "type": "u32", - "description": "the number of blocks before we can take our funds if we unilateral close" - }, - "max_accepted_htlcs": { - "type": "u32", - "description": "Maximum number of incoming HTLC we will accept at once" - }, - "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" - } - } - }, - "state_changes": { - "type": "array", - "description": "Prior state changes", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "timestamp", - "old_state", - "new_state", - "cause", - "message" - ], - "properties": { - "timestamp": { - "type": "string", - "description": "UTC timestamp of form YYYY-mm-ddTHH:MM:SS.%03dZ" - }, - "old_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": "Previous state" - }, - "new_state": { - "type": "string", - "enum": [ - "OPENINGD", - "CHANNELD_AWAITING_LOCKIN", - "CHANNELD_NORMAL", - "CHANNELD_SHUTTING_DOWN", - "CLOSINGD_SIGEXCHANGE", - "CLOSINGD_COMPLETE", - "AWAITING_UNILATERAL", - "FUNDING_SPEND_SEEN", - "ONCHAIN", - "DUALOPEND_OPEN_INIT", - "DUALOPEND_AWAITING_LOCKIN", - "DUALOPEND_OPEN_COMMITTED", - "DUALOPEND_OPEN_COMMIT_READY" - ], - "description": "New state" - }, - "cause": { - "type": "string", - "enum": [ - "unknown", - "local", - "user", - "remote", - "protocol", - "onchain" - ], - "description": "What caused the change" - }, - "message": { - "type": "string", - "description": "Human-readable explanation" - } - } - } - }, - "status": { - "type": "array", - "items": { - "type": "string", - "description": "Billboard log of significant changes" - } - }, - "in_payments_offered": { - "type": "u64", - "description": "Number of incoming payment attempts" - }, - "in_offered_msat": { - "type": "msat", - "description": "Total amount of incoming payment attempts" - }, - "in_payments_fulfilled": { - "type": "u64", - "description": "Number of successful incoming payment attempts" - }, - "in_fulfilled_msat": { - "type": "msat", - "description": "Total amount of successful incoming payment attempts" - }, - "out_payments_offered": { - "type": "u64", - "description": "Number of outgoing payment attempts" - }, - "out_offered_msat": { - "type": "msat", - "description": "Total amount of outgoing payment attempts" - }, - "out_payments_fulfilled": { - "type": "u64", - "description": "Number of successful outgoing payment attempts" - }, - "out_fulfilled_msat": { - "type": "msat", - "description": "Total amount of successful outgoing payment attempts" - }, - "htlcs": { - "type": "array", - "description": "current HTLCs in this channel", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "direction", - "id", - "amount_msat", - "expiry", - "payment_hash", - "state" - ], - "properties": { - "direction": { - "type": "string", - "enum": [ - "in", - "out" - ], - "description": "Whether it came from peer, or is going to peer" - }, - "id": { - "type": "u64", - "description": "Unique ID for this htlc on this channel in this direction" - }, - "amount_msat": { - "type": "msat", - "description": "Amount send/received for this HTLC" - }, - "expiry": { - "type": "u32", - "description": "Block this HTLC expires at" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the payment_preimage which will prove payment", - "maxLength": 64, - "minLength": 64 - }, - "local_trimmed": { - "type": "boolean", - "enum": [ - true - ], - "description": "if this is too small to enforce onchain" - }, - "status": { - "type": "string", - "description": "set if this HTLC is currently waiting on a hook (and shows what plugin)" - } - }, - "allOf": [ - { - "if": { - "properties": { - "direction": { - "enum": [ - "out" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "alias": {}, - "state": { - "type": "string", - "enum": [ - "SENT_ADD_HTLC", - "SENT_ADD_COMMIT", - "RCVD_ADD_REVOCATION", - "RCVD_ADD_ACK_COMMIT", - "SENT_ADD_ACK_REVOCATION", - "RCVD_REMOVE_HTLC", - "RCVD_REMOVE_COMMIT", - "SENT_REMOVE_REVOCATION", - "SENT_REMOVE_ACK_COMMIT", - "RCVD_REMOVE_ACK_REVOCATION" - ], - "description": "Status of the HTLC" - } - } - } - }, - { - "if": { - "properties": { - "direction": { - "enum": [ - "in" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "state" - ], - "properties": { - "direction": {}, - "id": {}, - "amount_msat": {}, - "msatoshi": {}, - "expiry": {}, - "payment_hash": {}, - "local_trimmed": {}, - "status": {}, - "state": { - "type": "string", - "enum": [ - "RCVD_ADD_HTLC", - "RCVD_ADD_COMMIT", - "SENT_ADD_REVOCATION", - "SENT_ADD_ACK_COMMIT", - "RCVD_ADD_ACK_REVOCATION", - "SENT_REMOVE_HTLC", - "SENT_REMOVE_COMMIT", - "RCVD_REMOVE_REVOCATION", - "RCVD_REMOVE_ACK_COMMIT", - "SENT_REMOVE_ACK_REVOCATION" - ], - "description": "Status of the HTLC" - } - } - } - } - ] - } - } - }, - "allOf": [ - { - "if": { - "required": [ - "close_to" - ] - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "state": {}, - "scratch_txid": {}, - "feerate": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "alias": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "inflight": {}, - "last_tx_fee_msat": {}, - "direction": {}, - "close_to_addr": { - "type": "string", - "description": "The bitcoin address we will close to" - } - } - } - }, - { - "if": { - "required": [ - "scratch_txid" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "last_tx_fee_msat" - ], - "properties": { - "state": {}, - "alias": {}, - "scratch_txid": {}, - "feerate": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": { - "type": "msat", - "description": "fee attached to this the current tx" - } - } - } - }, - { - "if": { - "required": [ - "short_channel_id" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "direction" - ], - "properties": { - "alias": {}, - "state": {}, - "scratch_txid": {}, - "feerate": {}, - "owner": {}, - "short_channel_id": {}, - "channel_id": {}, - "funding_txid": {}, - "funding_outnum": {}, - "inflight": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "htlcs": {}, - "initial_feerate": {}, - "last_feerate": {}, - "next_feerate": {}, - "close_to_addr": {}, - "last_tx_fee_msat": {}, - "direction": { - "type": "u32", - "description": "0 if we're the lesser node_id, 1 if we're the greater" - } - } - } - }, - { - "if": { - "required": [ - "inflight" - ] - }, - "then": { - "additionalProperties": false, - "required": [ - "initial_feerate", - "last_feerate", - "next_feerate" - ], - "properties": { - "state": {}, - "scratch_txid": {}, - "feerate": {}, - "owner": {}, - "alias": {}, - "short_channel_id": {}, - "channel_id": {}, - "funding_txid": {}, - "funding_outnum": {}, - "close_to": {}, - "private": {}, - "opener": {}, - "closer": {}, - "features": {}, - "funding": {}, - "to_us_msat": {}, - "min_to_us_msat": {}, - "max_to_us_msat": {}, - "total_msat": {}, - "fee_base_msat": {}, - "fee_proportional_millionths": {}, - "dust_limit_msat": {}, - "max_total_htlc_in_msat": {}, - "their_reserve_msat": {}, - "our_reserve_msat": {}, - "spendable_msat": {}, - "receivable_msat": {}, - "minimum_htlc_in_msat": {}, - "minimum_htlc_out_msat": {}, - "maximum_htlc_out_msat": {}, - "spendable_msatoshi": {}, - "receivable_msatoshi": {}, - "their_to_self_delay": {}, - "our_to_self_delay": {}, - "max_accepted_htlcs": {}, - "msatoshi_to_us": {}, - "msatoshi_to_us_min": {}, - "msatoshi_to_us_max": {}, - "msatoshi_total": {}, - "dust_limit_satoshis": {}, - "max_htlc_value_in_flight_msat": {}, - "our_channel_reserve_satoshis": {}, - "their_channel_reserve_satoshis": {}, - "spendable_satoshis": {}, - "receivable_satoshis": {}, - "htlc_minimum_msat": {}, - "state_changes": {}, - "status": {}, - "in_payments_offered": {}, - "in_offered_msat": {}, - "in_msatoshi_offered": {}, - "in_payments_fulfilled": {}, - "in_fulfilled_msat": {}, - "in_msatoshi_fulfilled": {}, - "out_payments_offered": {}, - "out_offered_msat": {}, - "out_msatoshi_offered": {}, - "out_payments_fulfilled": {}, - "out_fulfilled_msat": {}, - "out_msatoshi_fulfilled": {}, - "htlcs": {}, - "inflight": {}, - "close_to_addr": {}, - "direction": {}, - "last_tx_fee_msat": {}, - "initial_feerate": { - "type": "string", - "description": "The feerate for the initial funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "last_feerate": { - "type": "string", - "description": "The feerate for the latest funding transaction in per-1000-weight, with \"kpw\" appended" - }, - "next_feerate": { - "type": "string", - "description": "The minimum feerate for the next funding transaction in per-1000-weight, with \"kpw\" appended" - } - } - } - } + "description": [ + "Whether this output is now reserved." + ] + }, + "reserved_to_block": { + "type": "u32", + "description": [ + "The blockheight the reservation will expire." ] } } + } + } + }, + "post_return_value_notes": [ + "On success, returns the *psbt* it created, containing the inputs, *feerate_per_kw* showing the exact numeric feerate it used, *estimated_final_weight* for the estimated weight of the transaction once fully signed, and *excess_msat* containing the amount above *satoshi* which is available. This could be zero, or dust. If *satoshi* was `all`, then *excess_msat* is the entire amount once fees are subtracted for the weights of the inputs and *startweight*.", + "", + "If *reserve* was *true* or a non-zero number, then a *reservations* array is returned, exactly like *reserveinputs*.", + "", + "If *excess_as_change* is true and the excess is enough to cover an additional output above the `dust_limit`, then an output is added to the PSBT for the excess amount. The *excess_msat* will be zero. A *change_outnum* will be returned with the index of the change output." + ] + }, + "errors": [ + "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.", + "- -1: Catchall nonspecific error.", + "- 301: Insufficient UTXOs to meet *satoshi* value." + ], + "example_json_request": [ + { + "id": "example:utxopsbt#1", + "method": "utxopsbt", + "params": { + "satoshi": 0, + "feerate": "253perkw", + "startweight": 0, + "utxos": [ + "d82a99192fb333106ea8d08f5231ed45f2ed5b1ef9eb81b0fef8f9ea354d2637:1" + ], + "reserve": 0, + "reservedok": true, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#2", + "method": "utxopsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "b56a9903c37d046b4930306036cc5fb9543d933489f73b569ee661a9c299287c:0" + ], + "reserve": 0, + "reservedok": false, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#3", + "method": "utxopsbt", + "params": { + "satoshi": 0, + "feerate": "253perkw", + "startweight": 0, + "utxos": [ + "d6b329abcf78759f9784e22d7a9bf08b223c4e57ab281e30e82f221297dd35e9:0" + ], + "reserve": 0, + "reservedok": true, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#4", + "method": "utxopsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" + ], + "reserve": 0, + "reservedok": false, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#5", + "method": "utxopsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 99, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" + ], + "reserve": 0, + "reservedok": false, + "locktime": 103, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#6", + "method": "utxopsbt", + "params": { + "satoshi": 500000, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" + ], + "reserve": 0, + "reservedok": false, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:utxopsbt#7", + "method": "utxopsbt", + "params": { + "satoshi": 996500, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1" + ], + "reserve": 0, + "reservedok": false, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": true + } + }, + { + "id": "example:utxopsbt#8", + "method": "utxopsbt", + "params": { + "satoshi": 1000000, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1", + "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b:1" + ], + "reserve": null, + "reservedok": false, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#9", + "method": "utxopsbt", + "params": { + "satoshi": 1000000, + "feerate": "7500perkw", + "startweight": 0, + "utxos": [ + "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7:1", + "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b:1" + ], + "reserve": null, + "reservedok": true, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + }, + { + "id": "example:utxopsbt#10", + "method": "utxopsbt", + "params": { + "satoshi": 0, + "feerate": "253perkw", + "startweight": 0, + "utxos": [ + "1ec0ecfb4f58cf34467ddc0fdf27f6414eae940f3a3c837e700469efe2d1be7b:1" + ], + "reserve": 0, + "reservedok": true, + "locktime": null, + "min_witness_weight": null, + "excess_as_change": false + } + } + ], + "example_json_response": [ + { + "psbt": "cHNidP8BADMCAAAAATcmTTXq+fj+sIHr+R5b7fJF7TFSj9CobhAzsy8ZmSrYAQAAAAD9////AGYAAAAAAQDeAgAAAAABAWQACJva49ga8OCYXvPRWQRhoXndrJykwjgXbwT251dEAAAAAAD9////AiOI9ikBAAAAFgAU3gClv/YpAKRpfDuiFu6mIL2E4+5QaQ8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgUXIQFs7oRkorVThUn3sLj7WI7g8c8RHai4ChoCvIkWsCICp1CqHl4BlMJCKFHRWHXhhekaj0r1EFSNrh8UnvysQPASEDqHIAEdaH3H6pb3VJzbJNDG4lL8PTfsheL+h2p6baK3JlAAAAAQEfUGkPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 253, + "estimated_final_weight": 271, + "excess_msat": 1009932000 + }, + { + "psbt": "cHNidP8BADMCAAAAAXwomcKpYeaeVjv3iTSTPVS5X8w2YDAwSWsEfcMDmWq1AAAAAAD9////AGYAAAAAAQDeAgAAAAABAbDvNftst4ZrtrGteK7i3wGe5sapVBTI9bJTGw5luHL4AAAAAAD9////AkBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUzr/YpAQAAABYAFEAvhAIDJMWpX0hjEPDx3QQErrBdAkcwRAIgfGq/AmvmyIsg1Cb9fd+tLd22OrKl/zOZilH5B+fVd00CICFz4iPn05+G8R8zLm38Hpm64ML74dxKGb5jc4rWvjPVASEC4rvJ/Xe6OAW9lG4svSJSxEJ1pukp/vb3I1yJNejb9R5lAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 271, + "excess_msat": 497968000 + }, + { + "psbt": "cHNidP8BAF4CAAAAAek13ZcSIi/oMB4oq1dOPCKL8Jt6LeKEl591eM+rKbPWAAAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHaSq8sOtrBR+zUAr5OZPnpbZ3tqYI+eE3Qja3lG13XGgAAAAAA/f///wL4yg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFleyb2KQEAAAAWABQrXtZNkEinbcfK8iFPLCjtqVfIYAJHMEQCIBu7Y8N8dhvECxZV2q+BiYDX3OzspfO71j0t8ujS/9vvAiAGk+JLWpv/QLO1DXNSmEegzbwLjnRJZX4/ubWClXFP5wEhA8TI85DjdI7Wr3YDxDrYyvZ7IcpnKnFjrRRGcjJiuYiAZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "feerate_per_kw": 253, + "estimated_final_weight": 443, + "excess_msat": 1009888000, + "change_outnum": 0 + }, + { + "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGYAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 271, + "excess_msat": 497968000 + }, + { + "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGcAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 370, + "excess_msat": 497225000 + }, + { + "psbt": "cHNidP8BAF4CAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////ASaUBwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++ZmAAAAAAEA3gIAAAAAAQERorRND3siyvO47WAu369hu8sEb3Q2sI5mntIKCtGSdgAAAAAA/f///wIzr/YpAQAAABYAFDUH8qQhVuDvIVFwIQ39U6m185f8QEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIDWgjW6zzVcRr8NGW9w/aqdtYuxXmllxF++P0wvJPbTaAiBvuegyodhYyabsftU0R9Zrb2OO25X3KutJz26LXUQJDQEhAqFk4dHiAUoy7YQoqBn/uqeHOr0++G2cBbazE9nhz1EhZQAAAAEBH0BCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "feerate_per_kw": 7500, + "estimated_final_weight": 443, + "excess_msat": 0, + "change_outnum": 0 + }, + { + "psbt": "cHNidP8BADMCAAAAAaeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////AGYAAAAAAQDeAgAAAAABARGitE0PeyLK87jtYC7fr2G7ywRvdDawjmae0goK0ZJ2AAAAAAD9////AjOv9ikBAAAAFgAUNQfypCFW4O8hUXAhDf1TqbXzl/xAQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgNaCNbrPNVxGvw0Zb3D9qp21i7FeaWXEX74/TC8k9tNoCIG+56DKh2FjJpux+1TRH1mtvY47blfcq60nPbotdRAkNASECoWTh0eIBSjLthCioGf+6p4c6vT74bZwFtrMT2eHPUSFlAAAAAQEfQEIPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQA=", + "feerate_per_kw": 7500, + "estimated_final_weight": 271, + "excess_msat": 0 + }, + { + "psbt": "cHNidP8BAFwCAAAAAqeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////GwrAI6h8itf1ZIJEt9ELqbFkvFO3q9Ldx+VeYGqfZi8BAAAAAP3///8AZgAAAAABAN4CAAAAAAEBEaK0TQ97IsrzuO1gLt+vYbvLBG90NrCOZp7SCgrRknYAAAAAAP3///8CM6/2KQEAAAAWABQ1B/KkIVbg7yFRcCEN/VOptfOX/EBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUCRzBEAiA1oI1us81XEa/DRlvcP2qnbWLsV5pZcRfvj9MLyT202gIgb7noMqHYWMmm7H7VNEfWa29jjtuV9yrrSc9ui11ECQ0BIQKhZOHR4gFKMu2EKKgZ/7qnhzq9PvhtnAW2sxPZ4c9RIWUAAAABAR9AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAAEA3gIAAAAAAQGnjONW0nNIlx1dMMCOUU3vNXzwBvKm2fYg0a7U+LnDLwAAAAAA/f///wJmbOcpAQAAABYAFOwPo5eUrDF7UgZBFQLRHOeX6PiGQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgJHMEQCICgjGlauGj2eiMS4MWUK6zAWqMe1OuidQR+Hy9ZgSTuzAiA8JTb9OrLqS3hiWtT+TQ/NBsKJ2hhHLDaKUUNdgi4OkAEhA9g3oH5ejmGIqUY2ZWxc8YWF2+T+XpE/6oC40Cx3+e97ZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYA", + "feerate_per_kw": 7500, + "estimated_final_weight": 542, + "excess_msat": 995935000, + "reservations": [ + { + "txid": "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 }, - "allOf": [ - { - "if": { - "additionalProperties": true, - "properties": { - "connected": { - "enum": [ - true - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "netaddr", - "features" - ], - "properties": { - "id": {}, - "channels": {}, - "connected": {}, - "num_channels": {}, - "htlcs": {}, - "log": {}, - "netaddr": { - "type": "array", - "minItems": 1, - "maxItems": 1, - "description": "A single entry array", - "items": { - "type": "string", - "description": "address, e.g. 1.2.3.4:1234" - } - }, - "remote_addr": { - "type": "string", - "description": "The public IPv4/6 address the peer sees us from, e.g. 1.2.3.4:1234" - }, - "features": { - "type": "hex", - "description": "bitmap of BOLT #9 features from peer's INIT message" - } - } - } - } - ] - } - } - } - }, - "listsendpays.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "bolt11": { - "type": "string", - "description": "bolt11 invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the payment_preimage" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "complete", - "failed" - ], - "description": "Whether the invoice has been paid, pending, or failed" - }, - "index": { - "type": "string", - "added": "v23.11", - "enum": [ - "created", - "updated" - ], - "description": "if neither bolt11 or payment_hash is specified, `index` controls ordering, by `created` (default) or `updated`" + { + "txid": "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b", + "vout": 1, + "was_reserved": false, + "reserved": true, + "reserved_to_block": 174 + } + ] }, - "start": { - "type": "u64", - "added": "v23.11", - "description": "if `index` is specified, `start` may be specified to start from that value, which is generally returned from lightning-wait(7)" + { + "psbt": "cHNidP8BAFwCAAAAAqeM41bSc0iXHV0wwI5RTe81fPAG8qbZ9iDRrtT4ucMvAQAAAAD9////GwrAI6h8itf1ZIJEt9ELqbFkvFO3q9Ldx+VeYGqfZi8BAAAAAP3///8AZgAAAAABAN4CAAAAAAEBEaK0TQ97IsrzuO1gLt+vYbvLBG90NrCOZp7SCgrRknYAAAAAAP3///8CM6/2KQEAAAAWABQ1B/KkIVbg7yFRcCEN/VOptfOX/EBCDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUCRzBEAiA1oI1us81XEa/DRlvcP2qnbWLsV5pZcRfvj9MLyT202gIgb7noMqHYWMmm7H7VNEfWa29jjtuV9yrrSc9ui11ECQ0BIQKhZOHR4gFKMu2EKKgZ/7qnhzq9PvhtnAW2sxPZ4c9RIWUAAAABAR9AQg8AAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAAEA3gIAAAAAAQGnjONW0nNIlx1dMMCOUU3vNXzwBvKm2fYg0a7U+LnDLwAAAAAA/f///wJmbOcpAQAAABYAFOwPo5eUrDF7UgZBFQLRHOeX6PiGQEIPAAAAAAAWABTCzKsXHCpb6dq1LsQbglhjAkxUZgJHMEQCICgjGlauGj2eiMS4MWUK6zAWqMe1OuidQR+Hy9ZgSTuzAiA8JTb9OrLqS3hiWtT+TQ/NBsKJ2hhHLDaKUUNdgi4OkAEhA9g3oH5ejmGIqUY2ZWxc8YWF2+T+XpE/6oC40Cx3+e97ZQAAAAEBH0BCDwAAAAAAFgAUwsyrFxwqW+natS7EG4JYYwJMVGYA", + "feerate_per_kw": 7500, + "estimated_final_weight": 542, + "excess_msat": 995935000, + "reservations": [ + { + "txid": "2fc3b9f8d4aed120f6d9a6f206f07c35ef4d518ec0305d1d974873d256e38ca7", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + }, + { + "txid": "2f669f6a605ee5c7ddd2abb753bc64b1a90bd1b7448264f5d78a7ca823c00a1b", + "vout": 1, + "was_reserved": true, + "reserved": true, + "reserved_to_block": 246 + } + ] }, - "limit": { - "type": "u32", - "added": "v23.11", - "description": "if `index` is specified, `limit` can be used to specify the maximum number of entries to return" + { + "psbt": "cHNidP8BAF4CAAAAAXu+0eLvaQRwfoM8Og+Urk5B9iffD9x9RjTPWE/77MAeAQAAAAD9////AahhAAAAAAAAIlEgeDY1X9yKgtxMsAp3LFVUFR0GOEpN1l6NP2isCFZrhL5mAAAAAAEA3gIAAAAAAQHMs5JMVdBCRed7GRTNIB6t7gdodavuswg1oEJLasbQ/gAAAAAA/f///wJ7JvYpAQAAABYAFKD0Kqr/Ily15jBlFaAFbUetb/Zp+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZQJHMEQCIE/e2T8ZMKGi00OZxtI2HlHM71lp1iBoDNFcLGcNEOU+AiAmcKpaKRHi9Q4lGY1RPJu6EN59Zks46mqUfDY8Jaa5VQEhA2dyVe/6rwZQvXu7QwpdA6zkUavuzo1w2TscoYwPbaHdZQAAAAEBH/jKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUAAA==", + "feerate_per_kw": 253, + "estimated_final_weight": 443, + "excess_msat": 1009888000, + "change_outnum": 0 } - } + ], + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-fundpsbt(7)" + ], + "resources": [ + "Main web site: " + ] }, - "listsendpays.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-wait.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "payments" + "added": "v23.08", + "rpc": "wait", + "title": "Command to wait for creations, changes and deletions", + "description": [ + "The **wait** RPC command returns once the index given by *indexname* in *subsystem* reaches or exceeds *nextvalue*. All indexes start at 0, when no events have happened (**wait** with a *nextvalue* of 0 is a way of getting the current index, though naturally this is racy!)." ], - "properties": { - "payments": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "created_index", - "payment_hash", - "status", - "groupid", - "created_at", - "amount_sent_msat" + "request": { + "required": [ + "subsystem", + "indexname", + "nextvalue" + ], + "properties": { + "subsystem": { + "type": "string", + "description": [ + "The subsystem to get the next index value from.", + " `invoices`: corresponding to `listinvoices` (added in *v23.08*).", + " `sendpays`: corresponding to `listsendpays` (added in *v23.11*).", + " `forwards`: corresponding to `listforwards` (added in *v23.11*)." ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was created in" - }, - "id": { - "type": "u64", - "description": "old synonym for created_index" - }, - "groupid": { - "type": "u64", - "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "partid": { - "type": "u64", - "description": "Part number (for multiple parts to a single payment)" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was changed (only present if it has changed since creation)" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": "status of the payment" - }, - "amount_msat": { - "type": "msat", - "description": "The amount delivered to destination (if known)" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" - }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "amount_sent_msat": { - "type": "msat", - "description": "The amount sent" - }, - "label": { - "type": "string", - "description": "the label, if given to sendpay" - }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if pay supplied one)" - }, - "description": { - "type": "string", - "description": "the description matching the bolt11 description hash (if pay supplied one)" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied for pay: **experimental-offers** only)." + "enum": [ + "invoices", + "forwards", + "sendpays" + ] + }, + "indexname": { + "type": "string", + "description": [ + "The name of the index to get the next value for.", + " `created` is incremented by one for every new object.", + " `updated` is incremented by one every time an object is changed.", + " `deleted` is incremented by one every time an object is deleted." + ], + "enum": [ + "created", + "updated", + "deleted" + ] + }, + "nextvalue": { + "type": "u64", + "description": [ + "The next value of the index." + ] + } + } + }, + "response": { + "required": [ + "subsystem" + ], + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "invoices", + "forwards", + "sendpays" + ] + }, + "created": { + "type": "u64", + "description": [ + "1-based index indicating order entry was created." + ] + }, + "updated": { + "type": "u64", + "description": [ + "1-based index indicating order entry was updated." + ] + }, + "deleted": { + "type": "u64", + "description": [ + "1-based index indicating order entry was deleted." + ] + }, + "details": {} + }, + "allOf": [ + { + "if": { + "additionalProperties": true, + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "invoices" + ] + } } }, - "allOf": [ - { - "if": { + "then": { + "additionalProperties": false, + "properties": { + "subsystem": {}, + "created": {}, + "updated": {}, + "deleted": {}, + "details": { + "type": "object", + "additionalProperties": false, "properties": { "status": { "type": "string", "enum": [ - "complete" + "unpaid", + "paid", + "expired" + ], + "description": [ + "Whether it's paid, unpaid or unpayable." ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - } - } - } - }, - { - "if": { - "properties": { - "status": { + }, + "label": { "type": "string", - "enum": [ - "failed" + "description": [ + "Unique label supplied at invoice creation." ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {}, - "erroronion": { - "type": "hex", - "description": "the onion message returned" - } - } - } - }, - { - "if": { - "properties": { - "status": { + }, + "description": { "type": "string", - "enum": [ - "pending" + "description": [ + "Description used in the invoice." ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "partid": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "description": {}, - "bolt12": {} - } - } - } - ] - } - } - } - }, - "listsqlschemas.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "added": "v23.02", - "properties": { - "table": { - "type": "string" - } - } - }, - "listsqlschemas.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "schemas" - ], - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "tablename", - "columns" - ], - "properties": { - "tablename": { - "type": "string", - "description": "the name of the table" - }, - "columns": { - "type": "array", - "description": "the columns, in database order", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "name", - "type" - ], - "properties": { - "name": { + }, + "bolt11": { "type": "string", - "description": "the name of the column" + "description": [ + "The BOLT11 string." + ] }, - "type": { + "bolt12": { "type": "string", - "enum": [ - "INTEGER", - "BLOB", - "TEXT", - "REAL" - ], - "description": "the SQL type of the column" + "description": [ + "The BOLT12 string." + ] } } } - }, - "indices": { - "type": "array", - "description": "Any index we created to speed lookups", - "items": { - "type": "array", - "description": "The columns for this index", - "items": { - "type": "string", - "description": "The column name" - } - } } } - } - } - } - }, - "listtransactions.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": {} - }, - "listtransactions.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "transactions" - ], - "properties": { - "transactions": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "hash", - "rawtx", - "blockheight", - "txindex", - "locktime", - "version", - "inputs", - "outputs" - ], - "properties": { - "hash": { - "type": "txid", - "description": "the transaction id" - }, - "rawtx": { - "type": "hex", - "description": "the raw transaction" - }, - "blockheight": { - "type": "u32", - "description": "the block height of this tx" - }, - "txindex": { - "type": "u32", - "description": "the transaction number within the block" - }, - "locktime": { - "type": "u32", - "description": "The nLocktime for this tx" - }, - "version": { - "type": "u32", - "description": "The nVersion for this tx" - }, - "inputs": { - "type": "array", - "description": "Each input, in order", - "items": { + }, + { + "if": { + "additionalProperties": true, + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "forwards" + ] + } + } + }, + "then": { + "additionalProperties": false, + "properties": { + "subsystem": {}, + "created": {}, + "updated": {}, + "deleted": {}, + "details": { "type": "object", "additionalProperties": false, - "required": [ - "txid", - "index", - "sequence" - ], "properties": { - "txid": { - "type": "txid", - "description": "the transaction id spent" + "status": { + "type": "string", + "enum": [ + "offered", + "settled", + "failed", + "local_failed" + ], + "description": [ + "Still ongoing, completed, failed locally, or failed after forwarding." + ] }, - "index": { - "type": "u32", - "description": "the output spent" + "in_channel": { + "type": "short_channel_id", + "description": [ + "Unique label supplied at invoice creation." + ] }, - "sequence": { - "type": "u32", - "description": "the nSequence value" + "in_htlc_id": { + "type": "u64", + "description": [ + "The unique HTLC id the sender gave this (not present if incoming channel was closed before upgrade to v22.11)." + ] + }, + "in_msat": { + "type": "msat", + "description": [ + "The value of the incoming HTLC." + ] + }, + "out_channel": { + "type": "short_channel_id", + "description": [ + "The channel that the HTLC (trying to) forward to." + ] } } } - }, - "outputs": { - "type": "array", - "description": "Each output, in order", - "items": { + } + } + }, + { + "if": { + "additionalProperties": true, + "properties": { + "subsystem": { + "type": "string", + "enum": [ + "sendpays" + ] + } + } + }, + "then": { + "additionalProperties": false, + "properties": { + "subsystem": {}, + "created": {}, + "updated": {}, + "deleted": {}, + "details": { "type": "object", "additionalProperties": false, - "required": [ - "index", - "amount_msat", - "scriptPubKey" - ], "properties": { - "index": { - "type": "u32", - "description": "the 0-based output number" + "status": { + "type": "string", + "enum": [ + "pending", + "failed", + "complete" + ], + "description": [ + "Status of the payment." + ] }, - "amount_msat": { - "type": "msat", - "description": "the amount of the output" + "partid": { + "type": "u64", + "description": [ + "Part number (for multiple parts to a single payment)." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] }, - "scriptPubKey": { - "type": "hex", - "description": "the scriptPubKey" + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] } } } } } } - } - } - }, - "makesecret.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "hex": { - "type": "hex", - "description": "One of `hex` or `string` must be specified: `hex` can be any hex data" - }, - "string": { - "type": "string", - "description": "One of `hex` or `string` must be specified: `string` is a UTF-8 string interpreted literally" - } - } - }, - "makesecret.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "secret" + ] + }, + "reliability": [ + "Indices can go forward by more than one; in particlar, if multiple objects were created and the one deleted, you could see this effect. Similarly, there are some places (e.g. invoice expiration) where we can update multiple entries at once.", + "", + "Indices only monotoncally increase." ], - "properties": { - "secret": { - "type": "secret", - "description": "the pseudorandom key derived from HSM_secret" - } - } - }, - "multifundchannel.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "destinations" + "usage": [ + "The **wait** RPC is used to track changes in the system. Consider tracking invoices being paid or expiring. The simplest (and inefficient method) would be:", + "1. Call `listinvoices` to get the current state of all invoices, and remember the highest `updated_index`. Say it was 5.", + "2. Call `wait invoices updated 6`.", + "3. When it returns, call `listinvoices` again to see what changed.", + "", + "This is obviously inefficient, so there are two optimizations:", + "1. Call `listinvoices` with `index=updated` and `start=6` to only see invoices with `updated_index` greater than or equal to 6.", + "2. `wait` itself may also return some limited subset of fields from the list command (it can't do this in all cases); for `invoices` this is `label` and `status`, allowing many callers to avoid the `listinvoices` call." ], - "properties": { - "destinations": { - "type": "array", - "description": "there must be at least one entry in *destinations*; it cannot be an empty array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "amount" - ], - "properties": { - "id": { - "type": "string", - "description": "node ID, with an optional *@host:port* appended to it in a manner understood by **connect**; see lightning-connect(7). Each entry in the *destinations* array must have a unique node *id*. If not already connected, **multifundchannel** will automatically attempt to connect to the node" - }, - "amount": { - "type": "msat", - "description": "amount in satoshis taken from the internal wallet to fund the channel (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). The string *all* can be used to specify all available funds (or 16,777,215 satoshi if more is available and large channels were not negotiated with the peer). Otherwise it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*. The value cannot be less than the dust limit, currently 546 satoshi as of this writing, nor more than 16,777,215 satoshi (unless large channels were negotiated with the peer)" - }, - "announce": { - "type": "boolean", - "description": "flag that indicates whether to announce the channel with this, default `true`. If set to `false`, the channel is unpublished" - }, - "push_msat": { - "type": "msat", - "description": "amount of millisatoshis to outright give to the node. This is a gift to the peer, and you do not get a proof-of-payment out of this" - }, - "close_to": { - "type": "string", - "description": "bitcoin address to which the channel funds should be sent to on close. Only valid if both peers have negotiated `option_upfront_shutdown_script` Returns `close_to` set to closing script iff is negotiated" - }, - "request_amt": { - "type": "msat", - "description": "amount of liquidity you'd like to lease from peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*" - }, - "compact_lease": { - "type": "string", - "description": "compact represenation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel to this destination" - }, - "mindepth": { - "type": "u32", - "description": "number of confirmations before we consider the channel active" - }, - "reserve": { - "type": "msat", - "description": "amount we want the peer to maintain on its side of the channel. Default is 1% of the funding amount. It can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" - } - } + "errors": [ + "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." + ], + "example_json_request": [ + { + "id": "example:wait#1", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 0 } }, - "feerate": { - "type": "feerate", - "description": "feerate used for the opening transaction, and if *commitment_feerate* is not set, as initial feerate for commitment and HTLC transactions. See NOTES in lightning-feerates(7) for possible values. The default is *normal*" + { + "id": "example:wait#2", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 1 + } }, - "minconf": { - "type": "integer", - "description": "minimum number of confirmations that used outputs should have. Default is 1", - "default": 1 + { + "id": "example:wait#3", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 0 + } }, - "utxos": { - "type": "array", - "items": { - "type": "outpoint", - "description": "utxos to be used to fund the channel, as an array of `txid:vout`" + { + "id": "example:wait#4", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 1 } }, - "minchannels": { - "type": "integer", - "description": "re-attempt funding as long as at least this many peers remain (must not be zero). The **multifundchannel** command will only fail if too many peers fail the funding process" + { + "id": "example:wait#5", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 1 + } }, - "commitment_feerate": { - "type": "feerate", - "description": "initial feerate for commitment and HTLC transactions. See *feerate* for valid values" - } - } - }, - "multifundchannel.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "tx", - "txid", - "channel_ids" - ], - "properties": { - "tx": { - "type": "hex", - "description": "The raw transaction which funded the channel" + { + "id": "example:wait#6", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "updated", + "nextvalue": 0 + } }, - "txid": { - "type": "txid", - "description": "The txid of the transaction which funded the channel" + { + "id": "example:wait#7", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "updated", + "nextvalue": 1 + } }, - "channel_ids": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "channel_id", - "channel_type", - "outnum" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "The peer we opened the channel with" - }, - "outnum": { - "type": "u32", - "description": "The 0-based output index showing which output funded the channel" - }, - "channel_id": { - "type": "hex", - "description": "The channel_id of the resulting channel", - "minLength": 64, - "maxLength": 64 - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": "Each bit set in this channel_type", - "added": "v24.02", - "items": { - "type": "u32", - "description": "Bit number" - } - }, - "names": { - "type": "array", - "description": "Feature name for each bit set in this channel_type", - "added": "v24.02", - "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" - } - } - } - }, - "close_to": { - "type": "hex", - "description": "The raw scriptPubkey which mutual close will go to; only present if *close_to* parameter was specified and peer supports `option_upfront_shutdown_script`" - } - } + { + "id": "example:wait#8", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "updated", + "nextvalue": 1 } }, - "failed": { - "type": "array", - "description": "any peers we failed to open with (if *minchannels* was specified less than the number of destinations)", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "method", - "error" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "The peer we failed to open the channel with" - }, - "method": { - "type": "string", - "enum": [ - "connect", - "openchannel_init", - "fundchannel_start", - "fundchannel_complete" - ], - "description": "What stage we failed at" - }, - "error": { - "type": "object", - "additionalProperties": false, - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "integer", - "description": "JSON error code from failing stage" - }, - "message": { - "type": "string", - "description": "Message from stage" - }, - "data": { - "untyped": true, - "description": "Additional error data" - } - } - } - } + { + "id": "example:wait#9", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "updated", + "nextvalue": 2 + } + }, + { + "id": "example:wait#10", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "deleted", + "nextvalue": 0 + } + }, + { + "id": "example:wait#11", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "deleted", + "nextvalue": 1 } - } - } - }, - "multiwithdraw.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "outputs" - ], - "properties": { - "outputs": { - "type": "array", - "items": { - "type": "outputdesc" - }, - "description": "an array containing objects of the form `{address: amount}`. The `amount` may be the string *all*, indicating that all onchain funds be sent to the specified address. Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" }, - "feerate": { - "type": "feerate", - "description": "feerate used for the withdrawals. See NOTES in lightning-feerates(7) for possible values. The default is *normal*" + { + "id": "example:wait#12", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "deleted", + "nextvalue": 1 + } }, - "minconf": { - "type": "u32", - "description": "minimum number of confirmations that used outputs should have. Default is 1", - "default": 1 + { + "id": "example:wait#13", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "deleted", + "nextvalue": 2 + } }, - "utxos": { - "type": "array", - "items": { - "type": "outpoint", - "description": "utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set" + { + "id": "example:wait#14", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "created", + "nextvalue": 3 } - } - } - }, - "multiwithdraw.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", - "description": "The raw transaction which was sent" }, - "txid": { - "type": "txid", - "description": "The txid of the **tx**" - } - } - }, - "newaddr.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "addresstype": { - "type": "string", - "description": "it specifies the type of address wanted; currently *bech32* (e.g. `tb1qu9j4lg5f9rgjyfhvfd905vw46eg39czmktxqgg` on bitcoin testnet or `bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej` on bitcoin mainnet), or *p2tr* taproot addresses. The special value *all* generates all known address types for the same underlying key. Defaults to *bech32* address", - "enum": [ - "bech32", - "p2tr", - "all" - ] - } - } - }, - "newaddr.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "p2tr": { - "added": "v23.08", - "type": "string", - "description": "The taproot address" - }, - "bech32": { - "type": "string", - "description": "The bech32 (native segwit) address" - } - } - }, - "notifications.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "enable" - ], - "properties": { - "enable": { - "type": "boolean", - "description": "whether to enable or disable notifications" + { + "id": "example:wait#15", + "method": "wait", + "params": { + "subsystem": "invoices", + "indexname": "updated", + "nextvalue": 3 + } + }, + { + "id": "example:wait#16", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "created", + "nextvalue": 0 + } + }, + { + "id": "example:wait#17", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "created", + "nextvalue": 1 + } + }, + { + "id": "example:wait#18", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "updated", + "nextvalue": 1 + } + }, + { + "id": "example:wait#19", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "created", + "nextvalue": 0 + } + }, + { + "id": "example:wait#20", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "created", + "nextvalue": 1 + } + }, + { + "id": "example:wait#21", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "created", + "nextvalue": 1 + } + }, + { + "id": "example:wait#22", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "updated", + "nextvalue": 0 + } + }, + { + "id": "example:wait#23", + "method": "wait", + "params": { + "subsystem": "sendpays", + "indexname": "updated", + "nextvalue": 2 + } } - } - }, - "notifications.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "offer.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "amount", - "description" ], - "properties": { - "amount": { - "type": "string", - "description": "The amount parameter can be the string \"any\", which creates an offer that can be paid with any amount (e.g. a donation). Otherwise it can be a positive value in millisatoshi precision; it can be a whole number, or a whole number ending in msat or sat, or a number with three decimal places ending in sat, or a number with 1 to 11 decimal places ending in btc. `amount` can also have an ISO 4217 postfix (i.e. USD), in which case currency conversion will need to be done for the invoice itself. A plugin is needed which provides the \"currencyconvert\" API for this currency, otherwise the offer creation will fail." + "example_json_response": [ + { + "subsystem": "invoices", + "created": 0 + }, + { + "subsystem": "invoices", + "created": 1, + "details": { + "status": "unpaid", + "label": "invlabel", + "bolt11": "lnbcrt420p1pjmxtevsp5d8c6gnaj8lyjy2qly783vklda9dfaqeyzyc37agxxp8h3uguv8pqpp5w6lhwxhqnuew4hle5h7qwjm27zz784mvsrzhmayhscy5t2hy5c4qdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgq09gxhjhwu9u3z6dlt5ln5f4g8zl78wz4pgh0am3kz54m9lllhqckf4gmhmt2ftrclq5x62zkqmggc7y0ju0ghdfwjz8hyd8l5cqvemgpyyhm6w" + } + }, + { + "subsystem": "invoices", + "created": 0 + }, + { + "subsystem": "invoices", + "created": 1, + "details": { + "status": "unpaid", + "label": "invlabel", + "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj" + } + }, + { + "subsystem": "invoices", + "created": 1 + }, + { + "subsystem": "invoices", + "updated": 0 + }, + { + "subsystem": "invoices", + "updated": 1, + "details": { + "status": "paid", + "label": "invlabel" + } + }, + { + "subsystem": "invoices", + "updated": 1 + }, + { + "subsystem": "invoices", + "updated": 2, + "details": { + "status": "expired" + } + }, + { + "subsystem": "invoices", + "deleted": 0 + }, + { + "subsystem": "invoices", + "deleted": 1, + "details": { + "status": "paid", + "label": "invlabel", + "bolt11": "lnbcrt420p1pja0tepsp5u75mqdwzqfr4zcntd4q4fct0gl2glm0k0cjunqv82vjqupxt2jyspp5uyze679fj6unw8qvuw5mdkd2lz3hvvpwjmn0chv6sk0sfkpeykfsdqvd9h8ver9wd3sxqyjw5qcqp99qxpqysgqs38048tgvgp3r539z5mw4sk44tp9tcrasr9dj6qwfmy7jy2faalnlaatwwc3wnhul0fex7vt88xp80v40du0uc5dsm5fhsxaan7k30qpgrgxwj" + } + }, + { + "subsystem": "invoices", + "deleted": 1 + }, + { + "subsystem": "invoices", + "deleted": 2, + "details": { + "status": "expired", + "label": "invlabel2", + "bolt11": "lnbcrt420p1pja0teysp5q5fadz32um77r48wxqgcu0nf3lggnds7j6urvv5xjfcuvqg6t75qpp5ta6kezf0dzeh4v5xn9vtdzcn3v0p8ghmz0epdnze3s2l2hrynu8qdqdd9h8ver9wd3nyxqpzcqp99qxpqysgqf6jjcmtkm3xzeyueq6uthzrj3tmq2sdvjfd3galax8epl46p8nzx8kagh4kap8pfu4h3qt502pgkvq2c6ga63fyzz0ha5nps5jq42rqqxsa0am" + } }, - "description": { - "type": "string", - "description": "a short description of purpose of the offer" + { + "subsystem": "invoices", + "created": 3, + "details": { + "status": "unpaid", + "label": "invlabel2", + "bolt11": "lnbcrt420p1pja0tefsp5vvzg40t4g24l0eqk0jch7mc6jm3ec52ts8w8gwzpwtx9c8nv05rspp533e9csxurt7j9sn2cx7hsn6m00475qgrau8sux5r7djpdedwy2fshp5xqsmrtgfcwsnhxcxmf3tuc65kl6fxvqhvujfmxw2kpeh95yy2x8sxqyjw5qcqp99qxpqysgqgfjrz4q5zcq2lluxxg9h475mq2d3w0tpdstm5274zmhadjl8cqapylfskzk96apka5599a2flm90rmavsk7q8mhh87yle3sgh5vrlycq72fern" + } }, - "issuer": { - "type": "string", - "description": "who is issuing this offer" + { + "subsystem": "invoices", + "updated": 3, + "details": { + "label": "invlabel2", + "description": "invdesc2" + } }, - "label": { - "type": "string", - "description": "an internal-use name for the offer" + { + "subsystem": "sendpays", + "created": 0 }, - "quantity_max": { - "type": "u64", - "description": "specifies the number of items up (and including) this maximum" + { + "subsystem": "sendpays", + "created": 1, + "details": { + "status": "pending", + "partid": 0, + "groupid": 1, + "payment_hash": "58e1ce8ca059bd7a59dcf79adc79aeca9043b16fdd5eb13b2aa4619344a0b89b" + } }, - "absolute_expiry": { - "type": "u64", - "description": "the time the offer is valid until, in seconds since the first day of 1970 UTC" + { + "subsystem": "sendpays", + "updated": 1, + "details": { + "status": "complete", + "partid": 0, + "groupid": 1, + "payment_hash": "58e1ce8ca059bd7a59dcf79adc79aeca9043b16fdd5eb13b2aa4619344a0b89b" + } }, - "recurrence": { - "type": "string", - "description": "A recurrence period with unit (matches '[0-9]+(seconds|minutes|hours|days|weeks|months|years)' " + { + "subsystem": "sendpays", + "created": 0 }, - "recurrence_base": { - "type": "string", - "description": "Time in seconds since the first day of 1970 UTC. If not prefixed with an '@' the offer will start in any period (no missed payments will be performed)" + { + "subsystem": "sendpays", + "created": 1, + "details": { + "status": "pending", + "partid": 0, + "groupid": 1, + "payment_hash": "bd28338f4bfc44c87630e5bf1a98b70f9d9be0ae8e08cd725ba2cc742ccb3f80" + } }, - "recurrence_paywindow": { - "type": "string", - "description": "an optional argument of form '-time+time[%]'. The first time is the number of seconds before the start of a period in which an invoice and payment is valid, the second time is the number of seconds after the start of the period. For example -604800+86400 means you can fetch an pay the invoice 4 weeks before the given period starts, and up to 1 day afterwards. The optional % indicates that the amount of the invoice will be scaled by the time remaining in the period. If this is not specified, the default is that payment is allowed during the current and previous periods. This is encoded in the offer." + { + "subsystem": "sendpays", + "created": 1 }, - "recurrence_limit": { - "type": "u64", - "description": "the maximum recurrence period which exists" + { + "subsystem": "sendpays", + "updated": 1 }, - "single_use": { - "type": "boolean", - "description": "indicates that the offer is only valid once" + { + "subsystem": "sendpays", + "updated": 2, + "details": { + "status": "complete", + "partid": 0, + "groupid": 1, + "payment_hash": "220dcfcf43e1fab3ce30f70eb943c3ce962393f5a65ced52d749e324b443d19e" + } } - } - }, - "offer.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "offer_id", - "active", - "single_use", - "bolt12", - "used", - "created" ], - "properties": { - "offer_id": { - "type": "hash", - "description": "the id of this offer (merkle hash of non-signature fields)" - }, - "active": { - "type": "boolean", - "enum": [ - true - ], - "description": "whether this can still be used" - }, - "single_use": { - "type": "boolean", - "description": "whether this expires as soon as it's paid (reflects the *single_use* parameter)" - }, - "bolt12": { - "type": "string", - "description": "the bolt12 encoding of the offer" - }, - "used": { - "type": "boolean", - "description": "True if an associated invoice has been paid" - }, - "created": { - "type": "boolean", - "description": "false if the offer already existed" - }, - "label": { - "type": "string", - "description": "the (optional) user-specified label" - } - } - }, - "openchannel_abort.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id" + "author": [ + "Rusty Russell <> is mainly responsible." ], - "properties": { - "channel_id": { - "type": "hash", - "description": "channel id of the channel to be aborted" - } - } - }, - "openchannel_abort.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "channel_canceled", - "reason" + "see_also": [ + "lightning-listinvoice(7)", + "lightning-listforwards(7)", + "lightning-listsendpays(7)" ], - "properties": { - "channel_id": { - "type": "hex", - "description": "the channel id of the aborted channel", - "maxLength": 64, - "minLength": 64 - }, - "channel_canceled": { - "type": "boolean", - "description": "whether this is completely canceled (there may be remaining in-flight transactions)" - }, - "reason": { - "type": "string", - "description": "usually \"Abort requested\", but if it happened to fail at the same time it could be different" - } - } + "resources": [ + "Main web site: " + ] }, - "openchannel_bump.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-waitanyinvoice.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "channel_id", - "amount", - "initialpsbt" + "rpc": "waitanyinvoice", + "title": "Command for waiting for payments", + "description": [ + "The **waitanyinvoice** RPC command waits until an invoice is paid, then returns a single entry as per **listinvoice**. It will not return for any invoices paid prior to or including the *lastpay_index*.", + "", + "This is usually called iteratively: once with no arguments, then repeatedly with the returned *pay_index* entry. This ensures that no paid invoice is missed. The *pay_index* is a monotonically-increasing number assigned to an invoice when it gets paid. The first valid *pay_index* is 1." ], - "properties": { - "channel_id": { - "type": "hash", - "description": "id of the channel to RBF" - }, - "amount": { - "type": "sat", - "description": "satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel" - }, - "initialpsbt": { - "type": "string", - "description": "the funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met" - }, - "funding_feerate": { - "type": "feerate", - "description": "feerate for the funding transaction. Defaults to 1/64th greater than the last feerate used for this channel" + "request": { + "required": [], + "properties": { + "lastpay_index": { + "type": "u64", + "description": [ + "Ignores any invoices paid prior to or including this index. 0 is equivalent to not specifying and negative value is invalid." + ] + }, + "timeout": { + "type": "u64", + "description": [ + "If specified, wait at most that number of seconds, which must be an integer. If the specified *timeout* is reached, this command will return with an error. You can specify this to 0 so that **waitanyinvoice** will return immediately with an error if no pending invoice is available yet. If unspecified, this command will wait indefinitely." + ] + } } - } - }, - "openchannel_bump.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "channel_type", - "psbt", - "commitments_secured", - "funding_serial" - ], - "properties": { - "channel_id": { - "type": "hex", - "description": "the channel id of the channel", - "maxLength": 64, - "minLength": 64 - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": "Each bit set in this channel_type", - "added": "v24.02", - "items": { - "type": "u32", - "description": "Bit number" + }, + "response": { + "required": [ + "label", + "description", + "payment_hash", + "status", + "created_index", + "expires_at" + ], + "properties": { + "label": { + "type": "string", + "description": [ + "Unique label supplied at invoice creation." + ] + }, + "description": { + "type": "string", + "description": [ + "Description used in the invoice." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "paid", + "expired" + ], + "description": [ + "Whether it's paid or expired." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it will become / became unpayable." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount required to pay this invoice." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The BOLT11 string (always present unless *bolt12* is)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The BOLT12 string (always present unless *bolt11* is)." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "updated_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was changed (only present if it has changed since creation)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "paid" + ] + } } }, - "names": { - "type": "array", - "description": "Feature name for each bit set in this channel_type", - "added": "v24.02", - "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" + "then": { + "additionalProperties": false, + "required": [ + "pay_index", + "amount_received_msat", + "paid_at", + "payment_preimage" + ], + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "expires_at": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": { + "type": "u64", + "description": [ + "Unique incrementing index for this payment." + ] + }, + "amount_received_msat": { + "type": "msat", + "description": [ + "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." + ] + }, + "paid_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it was paid." + ] + }, + "paid_outpoint": { + "type": "object", + "description": [ + "Outpoint this invoice was paid with." + ], + "added": "v23.11", + "additionalProperties": false, + "required": [ + "txid", + "outnum" + ], + "properties": { + "txid": { + "added": "v23.11", + "type": "txid", + "description": [ + "ID of the transaction that paid the invoice." + ] + }, + "outnum": { + "added": "v23.11", + "type": "u32", + "description": [ + "The 0-based output number of the transaction that paid the invoice." + ] + } + } + }, + "payment_preimage": { + "type": "secret", + "description": [ + "Proof of payment." + ] + } + } + }, + "else": { + "additionalProperties": false, + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "created_index": {}, + "updated_index": {}, + "expires_at": {} } } } - }, - "psbt": { - "type": "string", - "description": "the (incomplete) PSBT of the RBF transaction" - }, - "commitments_secured": { - "type": "boolean", - "enum": [ - false - ], - "description": "whether the *psbt* is complete" - }, - "funding_serial": { - "type": "u64", - "description": "the serial_id of the funding output in the *psbt*" - }, - "requires_confirmed_inputs": { - "type": "boolean", - "description": "Does peer require confirmed inputs in psbt?" - } - } - }, - "openchannel_init.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "amount", - "initialpsbt" + ] + }, + "errors": [ + "The following error codes may occur:", + "", + "- 904: The *timeout* was reached without an invoice being paid." ], - "properties": { - "id": { - "type": "pubkey", - "description": "node id of the remote peer" - }, - "amount": { - "type": "sat", - "description": "satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel" - }, - "initialpsbt": { - "type": "string", - "description": "funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met" + "example_json_request": [ + { + "id": "example:waitanyinvoice#1", + "method": "waitanyinvoice", + "params": { + "lastpay_index": null, + "timeout": null + } }, - "commitment_feerate": { - "type": "feerate", - "description": "feerate for commitment transactions for non-anchor channels: see **fundchannel**. For anchor channels, it is ignored" + { + "id": "example:waitanyinvoice#2", + "method": "waitanyinvoice", + "params": { + "lastpay_index": 1, + "timeout": null + } }, - "funding_feerate": { - "type": "feerate", - "description": "feerate for the funding transaction. Defaults to 'opening' feerate" + { + "id": "example:waitanyinvoice#3", + "method": "waitanyinvoice", + "params": { + "lastpay_index": null, + "timeout": null + } }, - "announce": { - "type": "boolean", - "description": "whether or not to announce this channel" + { + "id": "example:waitanyinvoice#4", + "method": "waitanyinvoice", + "params": { + "lastpay_index": 1, + "timeout": null + } }, - "close_to": { - "type": "string", - "description": "bitcoin address to which the channel funds should be sent on close. Only valid if both peers have negotiated `option_upfront_shutdown_script`" + { + "id": "example:waitanyinvoice#5", + "method": "waitanyinvoice", + "params": { + "lastpay_index": 2, + "timeout": null + } }, - "request_amt": { - "type": "msat", - "description": "an amount of liquidity you'd like to lease from the peer. If peer supports `option_will_fund`, indicates to them to include this much liquidity into the channel. Must also pass in *compact_lease*" + { + "id": "example:waitanyinvoice#6", + "method": "waitanyinvoice", + "params": { + "lastpay_index": 3, + "timeout": 0 + } }, - "compact_lease": { - "type": "hex", - "description": "a compact represenation of the peer's expected channel lease terms. If the peer's terms don't match this set, we will fail to open the channel" + { + "id": "example:waitanyinvoice#7", + "method": "waitanyinvoice", + "params": { + "lastpay_index": null, + "timeout": null + } }, - "channel_type": { - "type": "array", - "description": "Each bit set in this channel_type", - "items": { - "type": "u32", - "description": "Bit number" + { + "id": "example:waitanyinvoice#8", + "method": "waitanyinvoice", + "params": { + "lastpay_index": 1, + "timeout": null } } - } - }, - "openchannel_init.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "psbt", - "channel_type", - "commitments_secured", - "funding_serial" ], - "properties": { - "channel_id": { - "type": "hex", - "description": "the channel id of the channel", - "maxLength": 64, - "minLength": 64 - }, - "psbt": { - "type": "string", - "description": "the (incomplete) PSBT of the funding transaction" - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" + "example_json_response": [ + { + "label": "inv1", + "bolt11": "lnbcrt10n1pjmxtsxsp56sn02x8lccjfsvunnhz5858zuyxztug9luy226w4qsmfm4r8pkcspp5gw5r0dw99yf3zqxrg24l8g9m9hun9cu06ldg4rga8s9t9kv8z45sdq8d9h8vvgxqyjw5qcqp99qxpqysgqv537uh2sx8ch640mf4t43t8qjtpg3z7gukgm07tlyq986m7nvsnxkapg37z4vsxtl4thfqzc64anqr83geygkc2xaftxgr97dltqfjqpe3mhja", + "payment_hash": "43a837b5c529131100c342abf3a0bb2df932e38fd7da8a8d1d3c0ab2d9871569", + "amount_msat": 1000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000, + "paid_at": 1706241546, + "payment_preimage": "a0c668998de14b975f33e1060b3efd7efc0bde784ac266ab667a1b2fddab3cd1", + "description": [ + "Inv1." ], - "properties": { - "bits": { - "type": "array", - "description": "Each bit set in this channel_type", - "added": "v24.02", - "items": { - "type": "u32", - "description": "Bit number" - } - }, - "names": { - "type": "array", - "description": "Feature name for each bit set in this channel_type", - "added": "v24.02", - "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" - } - } - } + "expires_at": 1706846342, + "created_index": 1, + "updated_index": 1 }, - "commitments_secured": { - "type": "boolean", - "enum": [ - false + { + "label": "inv2", + "bolt11": "lnbcrt10n1pjmxtsxsp55ywq6rmx90jxvw433n6umfxkrmggrjczp7n2khgfjhhun6utxedqpp5gtcrjusl0tergtg2d37yankukwf2gds8qesctdfljxmcq9zd8grsdq8d9h8vvsxqyjw5qcqp99qxpqysgq77xeqzw8t3znmk6kvz87hmxrntd9wcs7fza3t02v9xe8pfd79v55e7ngk0scn7uzctaepxekkrtxsmuv9gafccjwv3hzdp4s2u8n4qqqtq3dag", + "payment_hash": "42f039721f7af2342d0a6c7c4ecedcb392a43607066185b53f91b780144d3a07", + "amount_msat": 1000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 1000, + "paid_at": 1706241548, + "payment_preimage": "a6733b3a70f37cda9058a9e02a6b933d492e47eb68894ba739022f7d443ba1dd", + "description": [ + "Inv2." ], - "description": "whether the *psbt* is complete" - }, - "funding_serial": { - "type": "u64", - "description": "the serial_id of the funding output in the *psbt*" - }, - "requires_confirmed_inputs": { - "type": "boolean", - "description": "Does peer require confirmed inputs in psbt?" - } - } - }, - "openchannel_signed.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "signed_psbt" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": "id of the channel" - }, - "signed_psbt": { - "type": "string", - "description": "the PSBT returned from `openchannel_update` (where *commitments_secured* was true) with partial signatures or finalized witness stacks included for every input that we contributed to the PSBT" - } - } - }, - "openchannel_signed.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "tx", - "txid" - ], - "properties": { - "channel_id": { - "type": "hex", - "description": "the channel id of the channel", - "maxLength": 64, - "minLength": 64 - }, - "tx": { - "type": "hex", - "description": "the funding transaction" - }, - "txid": { - "type": "txid", - "description": "The txid of the **tx**" - } - } - }, - "openchannel_update.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "psbt" - ], - "properties": { - "channel_id": { - "type": "hash", - "description": "id of the channel" + "expires_at": 1706846342, + "created_index": 2, + "updated_index": 2 }, - "psbt": { - "type": "string", - "description": "updated PSBT to be sent to the peer. May be identical to the PSBT last returned by either `openchannel_init` or `openchannel_update`" - } - } - }, - "openchannel_update.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "psbt", - "commitments_secured", - "channel_type", - "funding_outnum" - ], - "properties": { - "channel_id": { - "type": "hex", - "description": "the channel id of the channel", - "maxLength": 64, - "minLength": 64 - }, - "channel_type": { - "type": "object", - "description": "channel_type as negotiated with peer", - "added": "v24.02", - "additionalProperties": false, - "required": [ - "bits", - "names" - ], - "properties": { - "bits": { - "type": "array", - "description": "Each bit set in this channel_type", - "added": "v24.02", - "items": { - "type": "u32", - "description": "Bit number" - } - }, - "names": { - "type": "array", - "description": "Feature name for each bit set in this channel_type", - "added": "v24.02", - "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" - } - } - } + { + "label": "inv1", + "bolt11": "lnbcrt10n1pja0tkmsp5jlrczmyj68e0gnljmu95x8z78ne7axwszrrk40706928r0057wxspp5w83epaxyxdchs7cm7a9ejfura3wzxe4szuwhwdzwa0kjjtxmqauqdq8d9h8vvgxqyjw5qcqp99qxpqysgqkt7qmexzcr9dfsxl8yndqgj6npr4d5rmglmwq0y05qgwc2jc60c46aquf8x45dg0xl8mpyzqmx0qvv8f0scjtw45x9lyrfrcd2naclgp7sz27f", + "payment_hash": "71e390f4c43371787b1bf74b992783ec5c2366b0171d77344eebed292cdb0778", + "amount_msat": 1000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000, + "paid_at": 1708633820, + "payment_preimage": "1881e76a2b2ea0584f6125a586abe46ec6b62181f7244179100d70c8a3c6f0f7", + "description": "inv1", + "expires_at": 1709238619, + "created_index": 1, + "updated_index": 1 }, - "psbt": { - "type": "string", - "description": "the PSBT of the funding transaction" + { + "label": "inv2", + "bolt11": "lnbcrt10n1pja0tkmsp5r70rsf8q3f4v6ey2avddg770ypsq746wwdtkvpyg8clg2nkzkatspp50hmcwqvvrzuh753mr6h6r728jt27ctsut04m82tzvsfa0arfr5ysdq8d9h8vvsxqyjw5qcqp99qxpqysgqv62gg70g54kyjex7m82e8f6tk883e94t7l8s2gwzfu34jrkkh7pk8wycl5ueshkmz72j2n8ygsum3x2xewjj2nwear9tgfv3apyrn7qpkcgl59", + "payment_hash": "7df787018c18b97f523b1eafa1f94792d5ec2e1c5bebb3a9626413d7f4691d09", + "amount_msat": 1000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 1000, + "paid_at": 1708633822, + "payment_preimage": "993e3532e250deff71586b69f25f646fdb574b477b4a143a915468736a9e4d2f", + "description": "inv2", + "expires_at": 1709238619, + "created_index": 2, + "updated_index": 2 }, - "commitments_secured": { - "type": "boolean", - "description": "whether the *psbt* is complete (if true, sign *psbt* and call `openchannel_signed` to complete the channel open)" + { + "label": "inv3", + "bolt11": "lnbcrt10n1pja0tkmsp5jpu6zfl373nny70rezhkc8m8rv8d3rgrz2nrum9unvtxyxat0cpqpp57594tvhgflk3klmxrh2ask4ndymfl50uu49u0gdnglf2f5g6e6tqdq8d9h8vvcxqyjw5qcqp99qxpqysgqf93vwyjpdjyttta5u8wts68uhn3054tcmqpsngnp73cmgfpzyq5h0hmmz6rnk4y0amgx9jz7ezcr5utq84skrz75679sjs8let3m6yqphrefer", + "payment_hash": "f50b55b2e84fed1b7f661dd5d85ab369369fd1fce54bc7a1b347d2a4d11ace96", + "amount_msat": 1000, + "status": "paid", + "pay_index": 3, + "amount_received_msat": 1000, + "paid_at": 1708633824, + "payment_preimage": "2d8b3db8b3edd3919c5d8af8d6ab1cde5c24594f4da4127801ad3abee3dfff9a", + "description": "inv3", + "expires_at": 1709238619, + "created_index": 3, + "updated_index": 3 }, - "funding_outnum": { - "type": "u32", - "description": "The index of the funding output in the psbt" + { + "label": "inv4", + "bolt11": "lnbcrt10n1pja0tkmsp57j4z9zwvdsyh57unh3da7aac5z20clfnrwy5nqm6wujaelduw23qpp580mdrwakz9xewc2vhvpucset9gjkgdvyhw7h9frcy2d6p2lwdw2qdq8d9h8vdqxqyjw5qcqp99qxpqysgqtgyzhtxs3p2dyk8wk9q028033303702d2hml4frmu38qe79mrkgzgxvyjmq2q4nhjgcuz3uhmlda3jnhf9w6mj8mj97pkgnda9l5kdcqsdgewf", + "payment_hash": "3bf6d1bbb6114d97614cbb03cc432b2a25643584bbbd72a478229ba0abee6b94", + "amount_msat": 1000, + "status": "paid", + "pay_index": 4, + "amount_received_msat": 1000, + "paid_at": 1708633825, + "payment_preimage": "77336a342dde76050c7ee7fc18599e407dfc1edad3c784ba68e9603004365b94", + "description": "inv4", + "expires_at": 1709238619, + "created_index": 4, + "updated_index": 4 }, - "close_to": { - "type": "hex", - "description": "scriptPubkey which we have to close to if we mutual close" + { + "label": "inv2", + "bolt11": "lnbcrt10n1pja0th0sp5z7xgdgdsj9s5yt3vzqxnthnr9nk8eyd3lh4np3lym6pv4pk8dxsspp5qapqw365tfhs93jpzhgruevn97cwzv63f0nzpc0xzxudh56fqv5qdq8d9h8vvsxqyjw5qcqp99qxpqysgq8zv6md2sew68mam2y0vlmfrxkavaxnv47nh0whpa4028rv3dkxw5p9qjqzhw3zdm0pe8qug0u6tzatmavnguwsqhwg0dlnu4pxdd5xgqppepvj", + "payment_hash": "07420747545a6f02c64115d03e65932fb0e133514be620e1e611b8dbd3490328", + "amount_msat": 1000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000, + "paid_at": 1708633840, + "payment_preimage": "c5337bd91c4aa6855d45e3aabab0e2165b68ec4798c2356d2ec167ffa5c11901", + "description": "inv2", + "expires_at": 1709238639, + "created_index": 2, + "updated_index": 1 }, - "requires_confirmed_inputs": { - "type": "boolean", - "description": "Does peer require confirmed inputs in psbt?" + { + "label": "inv1", + "bolt11": "lnbcrt10n1pja0th0sp54t9f89zwnxjvyfltznh37w444skx23l4g206wxsfmr0psv2fj5hspp5tu0caxzyutmcqzmtyfkh4j3dhmpc2y037f596n73w9amxvrtxt4sdq8d9h8vvgxqyjw5qcqp99qxpqysgqlycxr5j8vuvqdsyv8ja6g7xh65clvkkn7mnl3usy4sg0tshltxu925ktgvlxanejpxjlzslnp9k48pzsgf69c5g8w8pc59xf97fszfgpgvanmm", + "payment_hash": "5f1f8e9844e2f7800b6b226d7aca2dbec38511f1f2685d4fd1717bb3306b32eb", + "amount_msat": 1000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 1000, + "paid_at": 1708633841, + "payment_preimage": "e606c7ae4c6e7473d35df348f9974b165ebab68141398092f52919856564e8e8", + "description": "inv1", + "expires_at": 1709238639, + "created_index": 1, + "updated_index": 2 } - } - }, - "parsefeerate.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "feerate_str" ], - "properties": { - "feerate_str": { - "type": "string", - "description": "The feerate string to parse" - } - } - }, - "parsefeerate.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "perkw": { - "type": "u32", - "description": "Value of *feerate_str* in kilosipa", - "additionalProperties": false - } - } + "author": [ + "Rusty Russell <> is mainly responsible." + ], + "see_also": [ + "lightning-waitinvoice(7)", + "lightning-listinvoice(7)", + "lightning-delinvoice(7)", + "lightning-invoice(7)" + ], + "resources": [ + "Main web site: " + ] }, - "pay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-waitblockheight.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "bolt11" + "rpc": "waitblockheight", + "title": "Command for waiting for blocks on the blockchain", + "description": [ + "The **waitblockheight** RPC command waits until the blockchain has reached the specified *blockheight*." ], - "properties": { - "bolt11": { - "type": "string", - "description": "bolt11 invoice, if **experimental-offers** is enabled, it can actually be a bolt12 invoice, such as one received from lightningd-fetchinvoice(7). If it does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*" - }, - "amount_msat": { - "type": "msat", - "description": "*amount_msat* is in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*" - }, - "label": { - "type": "string", - "description": "it is used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)" - }, - "riskfactor": { - "type": "number", - "description": "the *riskfactor* is described in detail in lightning-getroute(7), and defaults to 10" - }, - "maxfeepercent": { - "type": "number", - "description": "percentage of the amount that is to be paid. Defaults to 0.5" - }, - "retry_for": { - "type": "u16", - "description": "until *retry_for* seconds passes, the command will keep finding routes and retrying the payment. Defaults to 60 seconds" - }, - "maxdelay": { - "type": "u16", - "description": "a payment may be delayed for up to `maxdelay` blocks by another node; clients should be prepared for this worst case" - }, - "exemptfee": { - "type": "msat", - "description": "this option can be used for tiny payments which would be dominated by the fee leveraged by forwarding nodes. Setting `exemptfee` allows the `maxfeepercent` check to be skipped on fees that are smaller than `exemptfee`. Defaults to 5000 millisatoshi" - }, - "localinvreqid": { - "type": "hex", - "description": "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7). This ensures that we only make a single payment for an offer, and that the offer is marked `used` once paid" - }, - "exclude": { - "type": "array", - "description": "*exclude* is a JSON array of short-channel-id/direction (e.g. [ '564334x877x1/0', '564195x1292x0/1' ]) or pubkey which should be excluded from consideration for routing. The default is not to exclude any channels or nodes", - "items": { - "oneOf": [ - { - "type": "short_channel_id_dir" - }, - { - "type": "pubkey" - } + "request": { + "required": [ + "blockheight" + ], + "properties": { + "blockheight": { + "type": "u32", + "description": [ + "Current blockheight of the blockchain if the value is greater than this number. If it is a present or past block height, then the command returns immediately." ] + }, + "timeout": { + "type": "u32", + "description": [ + "Only wait up to specified seconds." + ], + "default": "60 seconds" } - }, - "maxfee": { - "type": "msat", - "description": "*maxfee* overrides both *maxfeepercent* and *exemptfee* defaults (and if you specify *maxfee* you cannot specify either of those), and creates an absolute limit on what fee we will pay. This allows you to implement your own heuristics rather than the primitive ones used here" - }, - "description": { - "type": "string", - "description": "it is only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid" - } - } - }, - "pay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" - ], - "properties": { - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "created_at": { - "type": "number", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "parts": { - "type": "u32", - "description": "how many attempts this took" - }, - "amount_msat": { - "type": "msat", - "description": "Amount the recipient received" - }, - "amount_sent_msat": { - "type": "msat", - "description": "Total amount we sent (including fees)" - }, - "warning_partial_completion": { - "type": "string", - "description": "Not all parts of a multi-part payment have completed" - }, - "status": { - "type": "string", - "enum": [ - "complete", - "pending", - "failed" - ], - "description": "status of payment" } - } - }, - "ping.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "id" - ], - "additionalProperties": false, - "properties": { - "id": { - "type": "pubkey", - "description": "The pubkey of the node to ping" + }, + "response": { + "required": [ + "blockheight" + ], + "properties": { + "blockheight": { + "type": "u32", + "description": [ + "The current block height (>= *blockheight* parameter)." + ] + } }, - "len": { - "type": "u16", - "description": "the length of the ping. Defaults to 128" + "post_return_value_notes": [ + "If *timeout* seconds is reached without the specified blockheight being reached, this command will fail with a code of `2000`." + ] + }, + "example_json_request": [ + { + "id": "example:waitblockheight#1", + "method": "waitblockheight", + "params": { + "blockheight": 99, + "timeout": null + } }, - "pongbytes": { - "type": "u16", - "description": "the length of the reply. A value of 65532 to 65535 means `don't reply`. Defaults to 128" - } - } - }, - "ping.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "totlen" - ], - "properties": { - "totlen": { - "type": "u16", - "description": "the answer length of the reply message (including header: 0 means no reply expected)" - } - } - }, - "plugin.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "subcommand" - ], - "properties": { - "subcommand": { - "type": "string", - "enum": [ - "start", - "stop", - "rescan", - "startdir", - "list" - ], - "description": "determines what action is taken" + { + "id": "example:waitblockheight#2", + "method": "waitblockheight", + "params": { + "blockheight": 100, + "timeout": null + } }, - "plugin": { - "type": "string", - "description": "*path* or *name* of a plugin executable to start or stop" + { + "id": "example:waitblockheight#3", + "method": "waitblockheight", + "params": { + "blockheight": 99, + "timeout": null + } }, - "directory": { - "type": "string", - "description": "*path* of a directory containing plugins" - } - } - }, - "plugin.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "command" - ], - "properties": { - "command": { - "type": "string", - "enum": [ - "start", - "stop", - "rescan", - "startdir", - "list" - ], - "description": "the subcommand this is responding to" - } - }, - "allOf": [ { - "if": { - "properties": { - "command": { - "type": "string", - "enum": [ - "start", - "startdir", - "rescan", - "list" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "command", - "plugins" - ], - "properties": { - "command": {}, - "plugins": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "name", - "active", - "dynamic" - ], - "properties": { - "name": { - "type": "string", - "description": "full pathname of the plugin" - }, - "active": { - "type": "boolean", - "description": "status; plugin completed init and is operational, plugins are configured asynchronously." - }, - "dynamic": { - "type": "boolean", - "description": "plugin can be stopped or started without restarting lightningd" - } - } - } - } - } + "id": "example:waitblockheight#4", + "method": "waitblockheight", + "params": { + "blockheight": 100, + "timeout": null } }, { - "if": { - "properties": { - "command": { - "type": "string", - "enum": [ - "stop" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "command", - "result" - ], - "properties": { - "command": {}, - "result": { - "type": "string", - "description": "A message saying it successfully stopped" - } - } + "id": "example:waitblockheight#5", + "method": "waitblockheight", + "params": { + "blockheight": 101, + "timeout": null } - } - ] - }, - "preapproveinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": "bolt11 invoice to submit to the HSM to check", - "added": "v23.02" - } - } - }, - "preapproveinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "properties": {} - }, - "preapprovekeysend.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "required": [ - "destination", - "payment_hash", - "amount_msat" - ], - "properties": { - "destination": { - "type": "pubkey", - "description": "it is a 33 byte, hex-encoded, node ID of the node that the payment should go to", - "added": "v23.02" - }, - "payment_hash": { - "type": "hex", - "added": "v23.02", - "description": "it is the unique identifier of a payment", - "maxLength": 64, - "minLength": 64 - }, - "amount_msat": { - "type": "msat", - "description": "the amount to send in millisatoshi precision; it can be a whole number, or a whole number with suffix `msat` or `sat`, or a three decimal point number with suffix `sat`, or an 1 to 11 decimal point number suffixed by `btc`", - "added": "v23.02" - } - } - }, - "preapprovekeysend.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "recover.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "hsmsecret" - ], - "properties": { - "hsmsecret": { - "type": "string", - "description": "either a codex32 secret starting with `cl1` as returned by `hsmtool getcodexsecret`, or a raw 64 character hex string" - } - } - }, - "recover.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "result" - ], - "properties": { - "result": { - "type": "string", - "added": "v24.05", - "enum": [ - "Recovery restart in progress" - ] - } - } - }, - "recoverchannel.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "scb" - ], - "properties": { - "scb": { - "type": "array", - "description": "SCB of the channels in an array", - "items": { - "type": "hexstr" + }, + { + "id": "example:waitblockheight#6", + "method": "waitblockheight", + "params": { + "blockheight": 102, + "timeout": 60 } - } - } - }, - "recoverchannel.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "stubs" - ], - "properties": { - "stubs": { - "type": "array", - "items": { - "type": "string", - "description": "Channel IDs of channels successfully inserted." + }, + { + "id": "example:waitblockheight#7", + "method": "waitblockheight", + "params": { + "blockheight": 103, + "timeout": 60 } } - } - }, - "renepay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invstring" ], - "properties": { - "invstring": { - "type": "string", - "description": "bolt11 invoice which the RPC command attempts to pay. Currently, **renepay** supports bolt11 invoices only" - }, - "amount_msat": { - "type": "msat", - "description": "if the *invstring* does not contain an amount, *amount_msat* is required, otherwise if it is specified it must be *null*. in millisatoshi precision; it can be a whole number, or a whole number with suffix *msat* or *sat*, or a three decimal point number with suffix *sat*, or an 1 to 11 decimal point number suffixed by *btc*" + "example_json_response": [ + { + "blockheight": 101 }, - "maxfee": { - "type": "msat", - "description": "*maxfee* is a hard bound, in the sense that the command will never attempt a payment when the fees exceed that value" + { + "blockheight": 101 }, - "maxdelay": { - "type": "u32", - "description": "overrides the value of `max-locktime-blocks` for this payment. It serves to limit the locktime of funds in the payment HTLC measured in blocks" + { + "blockheight": 101 }, - "retry_for": { - "type": "u32", - "description": "measured in seconds specifies how much time it is allowed for the command to keep retrying the payment. Defaults to 60 seconds" + { + "blockheight": 101 }, - "description": { - "type": "string", - "description": "only required for bolt11 invoices which do not contain a description themselves, but contain a description hash: in this case *description* is required. *description* is then checked against the hash inside the invoice before it will be paid" + { + "blockheight": 101 }, - "label": { - "type": "string", - "description": "used to attach a label to payments, and is returned in lightning-listpays(7) and lightning-listsendpays(7)" + { + "blockheight": 102 }, - "dev_use_shadow": { - "hidden": true, - "type": "boolean" + { + "blockheight": 103 } - } - }, - "renepay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "added": "v23.08", - "type": "object", - "additionalProperties": false, - "required": [ - "payment_preimage", - "payment_hash", - "created_at", - "parts", - "amount_msat", - "amount_sent_msat", - "status" ], - "properties": { - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "created_at": { - "type": "number", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "parts": { - "type": "u32", - "description": "how many attempts this took" - }, - "amount_msat": { - "type": "msat", - "description": "amount the recipient received" - }, - "amount_sent_msat": { - "type": "msat", - "description": "total amount we sent (including fees)" - }, - "status": { - "type": "string", - "enum": [ - "complete", - "pending", - "failed" - ], - "description": "status of payment" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment" - } - } - }, - "renepaystatus.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "invstring": { - "type": "string", - "description": "if specified, the command will return a list of payment attempts whose invoice matches *invstring*, otherwise all payments with be listed" - } - } + "author": [ + "ZmnSCPxj <> is mainly responsible." + ], + "resources": [ + "Main web site: " + ] }, - "renepaystatus.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "added": "v23.08", + "lightning-waitinvoice.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "paystatus" + "rpc": "waitinvoice", + "title": "Command for waiting for specific payment", + "description": [ + "The **waitinvoice** RPC command waits until a specific invoice is paid, then returns that single entry as per **listinvoice**." ], - "properties": { - "paystatus": { - "type": "array", - "description": "a list of payments attempted by renepay", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "bolt11", - "payment_hash", - "created_at", - "groupid", - "amount_msat", - "status", - "notes" - ], - "properties": { - "bolt11": { - "type": "string", - "description": "invoice string BOLT11" - }, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash** (for completed payments only)" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "created_at": { - "type": "number", - "description": "the UNIX timestamp showing when this payment was initiated" - }, - "groupid": { - "type": "u32", - "description": "the id for this payment attempt" - }, - "parts": { - "type": "u32", - "description": "how many attempts this took" - }, - "amount_msat": { - "type": "msat", - "description": "amount the recipient received" - }, - "amount_sent_msat": { - "type": "msat", - "description": "total amount we sent including fees (for completed payments only)" - }, - "status": { - "type": "string", - "enum": [ - "complete", - "pending", - "failed" - ], - "description": "status of payment" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment" + "request": { + "required": [ + "label" + ], + "properties": { + "label": { + "oneOf": [ + { + "type": "string" }, - "notes": { - "type": "array", - "description": "a list of messages for debugging purposes", - "items": { + { + "type": "integer" + } + ], + "description": [ + "Unique label of the invoice waiting to be paid." + ] + } + } + }, + "response": { + "required": [ + "label", + "description", + "payment_hash", + "status", + "created_index", + "expires_at" + ], + "properties": { + "label": { + "type": "string", + "description": [ + "Unique label supplied at invoice creation." + ] + }, + "description": { + "type": "string", + "description": [ + "Description used in the invoice." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "paid", + "expired" + ], + "description": [ + "Whether it's paid or expired." + ] + }, + "expires_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it will become / became unpayable." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount required to pay this invoice." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The BOLT11 string (always present unless *bolt12* is)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The BOLT12 string (always present unless *bolt11* is)." + ] + }, + "created_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was created in." + ] + }, + "updated_index": { + "type": "u64", + "added": "v23.08", + "description": [ + "1-based index indicating order this invoice was changed (only present if it has changed since creation)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { "type": "string", - "description": "a message generated by renepay" + "enum": [ + "paid" + ] + } + } + }, + "then": { + "additionalProperties": false, + "required": [ + "pay_index", + "amount_received_msat", + "paid_at", + "payment_preimage" + ], + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "expires_at": {}, + "created_index": {}, + "updated_index": {}, + "pay_index": { + "type": "u64", + "description": [ + "Unique incrementing index for this payment." + ] + }, + "amount_received_msat": { + "type": "msat", + "description": [ + "The amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)." + ] + }, + "paid_at": { + "type": "u64", + "description": [ + "UNIX timestamp of when it was paid." + ] + }, + "paid_outpoint": { + "type": "object", + "description": [ + "Outpoint this invoice was paid with." + ], + "added": "v23.11", + "additionalProperties": false, + "required": [ + "txid", + "outnum" + ], + "properties": { + "txid": { + "added": "v23.11", + "type": "txid", + "description": [ + "ID of the transaction that paid the invoice." + ] + }, + "outnum": { + "added": "v23.11", + "type": "u32", + "description": [ + "The 0-based output number of the transaction that paid the invoice." + ] + } + } + }, + "payment_preimage": { + "type": "secret", + "description": [ + "Proof of payment." + ] } } + }, + "else": { + "additionalProperties": false, + "properties": { + "label": {}, + "description": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "bolt11": {}, + "bolt12": {}, + "created_index": {}, + "updated_index": {}, + "expires_at": {} + } } } - } - } - }, - "reserveinputs.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" + ] + }, + "errors": [ + "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.", + "- -1: If the invoice is deleted while unpaid, or the invoice does not exist.", + "- 903: If the invoice expires before being paid, or is already expired." ], - "properties": { - "psbt": { - "type": "string", - "description": "the PSBT to reserve inputs from" + "example_json_request": [ + { + "id": "example:waitinvoice#1", + "method": "waitinvoice", + "params": { + "label": "inv2" + } }, - "exclusive": { - "type": "boolean", - "description": "If set to *False*, existing reservations are simply extended, rather than causing failure" + { + "id": "example:waitinvoice#2", + "method": "waitinvoice", + "params": { + "label": "inv1" + } }, - "reserve": { - "type": "u32", - "description": "the number of blocks to reserve. By default, reservations are for the next 72 blocks (approximately 6 hours)" - } - } - }, - "reserveinputs.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "reservations" - ], - "properties": { - "reservations": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "properties": { - "txid": { - "type": "txid", - "description": "the transaction id" - }, - "vout": { - "type": "u32", - "description": "the output number which was reserved" - }, - "was_reserved": { - "type": "boolean", - "description": "whether the input was already reserved" - }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": "whether the input is now reserved" - }, - "reserved_to_block": { - "type": "u32", - "description": "what blockheight the reservation will expire" - } - } + { + "id": "example:waitinvoice#3", + "method": "waitinvoice", + "params": { + "label": "inv2" } - } - } - }, - "sendcustommsg.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "node_id", - "msg" - ], - "added": "v0.10.1", - "additionalProperties": false, - "properties": { - "node_id": { - "type": "pubkey", - "description": "the node specified by `node_id` must be a peer, i.e., it must have a direct connection with the node receiving the RPC call, and the connection must be established. For a method to send arbitrary messages over multiple hops, including hops that do not understand the custom message, see the `createonion` and `sendonion` RPC methods. Messages can only be injected if the connection is handled by `openingd` or `channeld`. Messages cannot be injected when the peer is handled by `onchaind` or `closingd` since these do not have a connection, or are synchronous daemons that do not handle spontaneous messages" }, - "msg": { - "type": "hex", - "description": "must be a hex encoded well-formed message, including the 2-byte type prefix, but excluding the length prefix which will be added by the RPC method. The message types may not be one of the internally handled types, since that may cause issues with the internal state tracking of Core Lightning. We do (as of *v23.11*) allow sending of even types, but note that peers (as per the spec) will disconnect on receiving unknown even types" - } - } - }, - "sendcustommsg.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "description": "Information about where message was queued" + { + "id": "example:waitinvoice#4", + "method": "waitinvoice", + "params": { + "label": "inv1" + } + }, + { + "id": "example:waitinvoice#5", + "method": "waitinvoice", + "params": { + "label": "inv1" + } } - } - }, - "sendinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "invreq", - "label" ], - "properties": { - "invreq": { - "type": "string", - "description": "the bolt12 invoice_request string beginning with `lnr1`" + "example_json_response": [ + { + "label": "inv2", + "bolt11": "lnbcrt10n1pjmxtwjsp5mzvdu6v8hqsf2tlj0nlyks23afqp7ejs444syjxf74p60ztmld8qpp5q4ayz5pys3t0yj0dmkmh7ctarkv9z434paz4u9rdwnj4f43thhaqdq8d9h8vvsxqyjw5qcqp99qxpqysgqn0055ttns6pafsxh6xuqce6e4vz8gtxlzqx0l9d9f5crmqx4jymh4zy9jdaszm0dj89sq39fvhpwcs626dt0n3gw8kassfdehp5sy3sq7fzy3w", + "payment_hash": "057a4150248456f249edddb77f617d1d985156350f455e146d74e554d62bbdfa", + "amount_msat": 1000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000, + "paid_at": 1706241494, + "payment_preimage": "34ccd37cc85e067cb376f9ea8c70d70469f58bf296f2566ed9ad4dfb70971a26", + "description": [ + "Inv2." + ], + "expires_at": 1706846290, + "created_index": 2, + "updated_index": 1 }, - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } + { + "label": "inv1", + "bolt11": "lnbcrt10n1pjmxtwjsp56suahdtp442a0l2ttnfy0kttxkudj0g0mmfw477ecedkh3pj7tyspp5d8g0xjsvhl4gdmuf786hwlg4aet6h2jf9gd557fdgf3xpc2tmmqqdq8d9h8vvgxqyjw5qcqp99qxpqysgqzv0v8pcp9d0mkqa7gawlmgr9naxnw9qc39hvzvvg2xvpssze0sc3xufsjaerq75k7glndgp8zls4qsjwa9yhg6h0a5jjuuvs3rqdgjspcjvsw0", + "payment_hash": "69d0f34a0cbfea86ef89f1f5777d15ee57abaa492a1b4a792d426260e14bdec0", + "amount_msat": 1000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 1000, + "paid_at": 1706241496, + "payment_preimage": "e0095372955119b83fa58f05127f91f0a189f6870f7b90a6edc395bc7dda7688", + "description": [ + "Inv1." ], - "description": "the unique label to use for this invoice" + "expires_at": 1706846290, + "created_index": 1, + "updated_index": 2 }, - "amount_msat": { - "type": "msat", - "description": "required if the *offer* does not specify an amount at all, or specifies it in a different currency. Otherwise you may set it (e.g. to provide a tip), and if not it defaults to the amount contained in the offer (multiplied by *quantity* if any)" + { + "label": "inv2", + "bolt11": "lnbcrt10n1pja0tkdsp5yyrvg28heqvmfzx7c3trhs8j3jx5xy2625py48tjk7h7rucjcd7qpp5ytjvqx798590dztdtzpla4up38d2u8uusrqgxc6p7y9kxlyt9gcqdq8d9h8vvsxqyjw5qcqp99qxpqysgqyxgmqw8xjr4shfxp0dal70sv88afez2zr0se7slgustqvd4dx849fgudw9mjydewuaew0c7fmjlqx4m6fxfha87z6wzlqnpjznegaccqfr6z6c", + "payment_hash": "22e4c01bc53d0af6896d5883fed78189daae1f9c80c0836341f10b637c8b2a30", + "amount_msat": 1000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000, + "paid_at": 1708633807, + "payment_preimage": "a6e370df3258139d674abc9a5043be9ee1fd18d56abab4c966d0fb1bb5a2c9ea", + "description": "inv2", + "expires_at": 1709238605, + "created_index": 2, + "updated_index": 1 }, - "timeout": { - "type": "u32", - "description": "seconds to wait for the offering node to pay the invoice or return an error, default 90 seconds. This will also be the timeout on the invoice that is sent" + { + "label": "inv1", + "bolt11": "lnbcrt10n1pja0tkdsp53wlxfumfwm2yg7hgq0ps26zuhw3rqg736h9mka8ccrtqlrvfk9dspp5eapa2mxem8rg6yjvu5qyl6296svc7py59xrn4xjd7hdkcjn0sxuqdq8d9h8vvgxqyjw5qcqp99qxpqysgq9wap5vznuhhaandtvez3x6leq8p5al0elff4v8furthw067u8l5sjr6wdpkkssyckdx8xvwq8wyan795xdtx4w8qtc6a6855n9fpn7gqzrp4nt", + "payment_hash": "cf43d56cd9d9c68d124ce5004fe945d4198f049429873a9a4df5db6c4a6f81b8", + "amount_msat": 1000, + "status": "paid", + "pay_index": 2, + "amount_received_msat": 1000, + "paid_at": 1708633809, + "payment_preimage": "4fb08c6f6efd79eecf6941a7f01e9a418f8ff96397a3bf167725333f186f70e6", + "description": "inv1", + "expires_at": 1709238605, + "created_index": 1, + "updated_index": 2 }, - "quantity": { - "type": "u64", - "description": "quantity is is required if the offer specifies quantity_max, otherwise it is not allowed" + { + "label": "inv1", + "bolt11": "lnbcrt10u1pja0t6jsp5jvhgz7qlz0xq5m7craeghudca4gfeuxv300fmzn3nhx3yry8vd0qpp5uwss52lj4ggruyns7x2kdd2uf0p0qez0cwcwy7kxqkk0fxg8an6qdpzw3jhxazlw4hxjenfv4j976twwehkjcm9wvxqyjw5qcqp9fp4p0qmr2h7u32pdcn9spfmjc425z5wsvwz2fht9arfldzkqs4ntsjlq9qxpqysgqzp4lgnalq3nw2ah4najlg6vxegye7a2m5arxlj9cp7v5s37xm0ly8g6s56yucw9u69a6p2kmss0rzd8atzac3pwdvumqnmra4l09fksqd067c3", + "payment_hash": "e3a10a2bf2aa103e1270f19566b55c4bc2f0644fc3b0e27ac605acf49907ecf4", + "amount_msat": 1000000, + "status": "paid", + "pay_index": 1, + "amount_received_msat": 1000000, + "paid_at": 1708633938, + "paid_outpoint": { + "txid": "de19e293b29a336d180c2b5856d2161e1c8e95801a5224d738b6394174fed8d1", + "outnum": 1 + }, + "payment_preimage": "6e2d775d8d18e13fb7ae6b74dca8557ed1e881a1e2f1fcd555080677e453402c", + "description": "test_unified_invoices", + "expires_at": 1709238738, + "created_index": 1, + "updated_index": 1 } - } + ], + "author": [ + "Christian Decker <> is mainly responsible." + ], + "see_also": [ + "lightning-waitanyinvoice(7)", + "lightning-listinvoice(7)", + "lightning-delinvoice(7)", + "lightning-invoice(7)" + ], + "resources": [ + "Main web site: " + ] }, - "sendinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-waitsendpay.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", - "additionalProperties": true, - "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" + "additionalProperties": false, + "rpc": "waitsendpay", + "title": "Command for sending a payment via a route", + "description": [ + "The **waitsendpay** RPC command polls or waits for the status of an outgoing payment that was initiated by a previous **sendpay** invocation.", + "", + "If the payment completed with success, this command returns with success. Otherwise, if the payment completed with failure, this command returns an error." ], - "properties": { - "label": { - "type": "string", - "description": "unique label supplied at invoice creation" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": "Whether it's paid, unpaid or unpayable" - }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when it will become / became unpayable" - }, - "amount_msat": { - "type": "msat", - "description": "the amount required to pay this invoice" - }, - "bolt12": { - "type": "string", - "description": "the BOLT12 string" - }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" + "request": { + "required": [ + "payment_hash" + ], + "properties": { + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage*." + ] + }, + "timeout": { + "type": "u32", + "description": [ + "A timeout in seconds, for this RPC command to return. If the *timeout* is provided and the given amount of time passes without the payment definitely succeeding or definitely failing, this command returns with a 200 error code (payment still in progress). If *timeout* is not provided this call will wait indefinitely. Indicating a *timeout* of 0 effectively makes this call a pollable query of the status of the payment." + ] + }, + "partid": { + "type": "u64", + "description": [ + "Unique ID within this (multi-part) payment. It must match that of the **sendpay** command." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay the same payment_hash." + ] + } }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)" - } + "pairedWith": [ + [ + "partid", + "groupid" + ] + ] }, - "allOf": [ - { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] + "response": { + "required": [ + "id", + "created_index", + "payment_hash", + "status", + "created_at", + "amount_sent_msat" + ], + "properties": { + "created_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was created in." + ] + }, + "id": { + "type": "u64", + "description": [ + "Old synonym for created_index." + ] + }, + "groupid": { + "type": "u64", + "description": [ + "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash." + ] + }, + "payment_hash": { + "type": "hash", + "description": [ + "The hash of the *payment_preimage* which will prove payment." + ] + }, + "status": { + "type": "string", + "enum": [ + "complete" + ], + "description": [ + "Status of the payment." + ] + }, + "amount_msat": { + "type": "msat", + "description": [ + "The amount delivered to destination (if known)." + ] + }, + "destination": { + "type": "pubkey", + "description": [ + "The final destination of the payment if known." + ] + }, + "created_at": { + "type": "u64", + "description": [ + "The UNIX timestamp showing when this payment was initiated." + ] + }, + "updated_index": { + "added": "v23.11", + "type": "u64", + "description": [ + "1-based index indicating order this payment was changed (only present if it has changed since creation)." + ] + }, + "completed_at": { + "type": "number", + "description": [ + "The UNIX timestamp showing when this payment was completed." + ] + }, + "amount_sent_msat": { + "type": "msat", + "description": [ + "The amount sent." + ] + }, + "label": { + "type": "string", + "description": [ + "The label, if given to sendpay." + ] + }, + "partid": { + "type": "u64", + "description": [ + "The *partid*, if given to sendpay." + ] + }, + "bolt11": { + "type": "string", + "description": [ + "The bolt11 string (if pay supplied one)." + ] + }, + "bolt12": { + "type": "string", + "description": [ + "The bolt12 string (if supplied for pay: **experimental-offers** only)." + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "status": { + "type": "string", + "enum": [ + "complete" + ] + } } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": "Unique incrementing index for this payment" - }, - "amount_received_msat": { - "type": "msat", - "description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when it was paid" - }, - "payment_preimage": { - "type": "secret", - "description": "proof of payment" + }, + "then": { + "additionalProperties": false, + "required": [ + "payment_preimage" + ], + "properties": { + "id": {}, + "created_index": {}, + "updated_index": {}, + "groupid": {}, + "payment_hash": {}, + "status": {}, + "msatoshi": {}, + "amount_msat": {}, + "destination": {}, + "created_at": {}, + "completed_at": {}, + "msatoshi_sent": {}, + "amount_sent_msat": {}, + "label": {}, + "partid": {}, + "bolt11": {}, + "bolt12": {}, + "payment_preimage": { + "type": "secret", + "description": [ + "The proof of payment: SHA256 of this **payment_hash**." + ] + } } } } - } - ] - }, - "sendonion.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "onion", - "first_hop", - "payment_hash" + ] + }, + "errors": [ + "On error, and even if the error occurred from a node other than the final destination, the route table will no longer be updated. Use the *exclude* parameter of the `getroute` command to ignore the failing route.", + "", + "- -1: Catchall nonspecific error.", + "- 200: Timed out before the payment could complete.", + "- 202: Unparseable onion reply. The *data* field of the error will have an *onionreply* field, a hex string representation of the raw onion reply.", + "- 203: Permanent failure at destination. The *data* field of the error will be routing failure object.", + "- 204: Failure along route; retry a different route. The *data* field of the error will be routing failure object.", + "- 208: A payment for *payment_hash* was never made and there is nothing to wait for.", + "- 209: The payment already failed, but the reason for failure was not stored. This should only occur when querying failed payments on very old databases.", + "", + "A routing failure object has the fields below:", + "", + "*erring_index*: The index of the node along the route that reported the error. 0 for the local node, 1 for the first hop, and so on.", + "*erring_node*: The hex string of the pubkey id of the node that reported the error.", + "*erring_channel*: The short channel ID of the channel that has the error (or the final channel if the destination raised the error).", + "*erring_direction*: The direction of traversing the *erring_channel*:", + "*failcode*: The failure code, as per BOLT #4.", + "*failcodename*: The human-readable name corresponding to *failcode*, if known." ], - "properties": { - "onion": { - "type": "hex", - "description": "hex-encoded 1366 bytes long blob that was returned by either of the tools that can generate onions. It contains the payloads destined for each hop and some metadata. Please refer to [BOLT 04][bolt04] for further details. If is specific to the route that is being used and the *payment_hash* used to construct, and therefore cannot be reused for other payments or to attempt a separate route. The custom onion can generally be created using the `devtools/onion` CLI tool, or the **createonion** RPC command" - }, - "first_hop": { - "type": "object", - "description": "instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute*", - "required": [ - "id", - "amount_msat", - "delay" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "node id for the peer. Use any available channel available to this peer" - }, - "amount_msat": { - "type": "msat", - "description": "the amount to add an HTLC for millisatoshis" - }, - "delay": { - "type": "u16", - "description": "the number of blocks delay of blocks on top of the current blockheight" - } + "example_json_request": [ + { + "id": "example:waitsendpay#1", + "method": "waitsendpay", + "params": { + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "timeout": null, + "partid": null, + "groupid": null } }, - "payment_hash": { - "type": "hash", - "description": "specifies the 32 byte hex-encoded hash to use as a challenge to the HTLC that we are sending. It is specific to the onion and has to match the one the onion was created with" - }, - "label": { - "type": "string", - "description": "can be used to provide a human readable reference to retrieve the payment at a later time" - }, - "shared_secrets": { - "type": "array", - "description": "a JSON list of 32 byte hex-encoded secrets that were used when creating the onion. Core Lightning can send a payment with a custom onion without the knowledge of these secrets, however it will not be able to parse an eventual error message since that is encrypted with the shared secrets used in the onion. If *shared_secrets* is provided Core Lightning will decrypt the error, act accordingly, e.g., add a `channel_update` included in the error to its network view, and set the details in *listsendpays* correctly. If it is not provided Core Lightning will store the encrypted onion, and expose it in *listsendpays* allowing the caller to decrypt it externally. If it is not provided the Core Lightning node does not know how long the route is, which channels or nodes are involved, and what an eventual error could have been. It can therefore be used for oblivious payments", - "items": { - "type": "secret" + { + "id": "example:waitsendpay#2", + "method": "waitsendpay", + "params": { + "payment_hash": "fc6aeb988a4134996fcfdcf45a0b5e9a44cf31b12136696a1d8745488bf54c26", + "timeout": null, + "partid": null, + "groupid": null } }, - "partid": { - "type": "u16", - "description": "if provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*" - }, - "bolt11": { - "type": "string", - "description": "if provided, it will be returned in *waitsendpay* and *listsendpays* results" - }, - "amount_msat": { - "type": "msat", - "description": "used to annotate the payment, and is returned by *waitsendpay* and *listsendpays*" - }, - "destination": { - "type": "pubkey", - "description": "if provided, it will be returned in **listpays** result" - }, - "localinvreqid": { - "type": "hash", - "description": "`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7)" - }, - "groupid": { - "type": "u64", - "description": "grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "description": { - "added": "v0.11.0", - "type": "string", - "description": "if provided, it will be returned in *waitsendpay* and *listsendpays* results" - } - } - }, - "sendonion.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "created_index", - "id", - "payment_hash", - "status", - "created_at", - "amount_sent_msat" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was created in" - }, - "id": { - "type": "u64", - "description": "old synonym for created_index" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "complete" - ], - "description": "status of the payment (could be complete if already sent previously)" - }, - "amount_msat": { - "type": "msat", - "description": "The amount delivered to destination (if known)" - }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" + { + "id": "example:waitsendpay#3", + "method": "waitsendpay", + "params": { + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "timeout": null, + "partid": null, + "groupid": null + } }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" + { + "id": "example:waitsendpay#4", + "method": "waitsendpay", + "params": { + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "timeout": null, + "partid": null, + "groupid": null + } }, - "amount_sent_msat": { - "type": "msat", - "description": "The amount sent" + { + "id": "example:waitsendpay#5", + "method": "waitsendpay", + "params": { + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "timeout": null, + "partid": null, + "groupid": null + } }, - "label": { - "type": "string", - "description": "the label, if given to sendpay" + { + "id": "example:waitsendpay#6", + "method": "waitsendpay", + "params": { + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "timeout": null, + "partid": null, + "groupid": null + } }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if supplied)" + { + "id": "example:waitsendpay#7", + "method": "waitsendpay", + "params": { + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "timeout": null, + "partid": null, + "groupid": null + } }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied: **experimental-offers** only)." + { + "id": "example:waitsendpay#8", + "method": "waitsendpay", + "params": { + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "timeout": null, + "partid": null, + "groupid": null + } }, - "partid": { - "type": "u64", - "description": "the partid (if supplied) to sendonion/sendpay" - } - }, - "allOf": [ { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "created_index": {}, - "id": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "groupid": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "bolt12": {}, - "partid": {}, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was changed" - }, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - } - } + "id": "example:waitsendpay#9", + "method": "waitsendpay", + "params": { + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "timeout": null, + "partid": null, + "groupid": null } }, { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "pending" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [], - "properties": { - "created_index": {}, - "id": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "groupid": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "bolt11": {}, - "bolt12": {}, - "partid": {}, - "message": { - "type": "string", - "description": "Monitor status with listpays or waitsendpay" - } - } + "id": "example:waitsendpay#10", + "method": "waitsendpay", + "params": { + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "timeout": null, + "partid": null, + "groupid": null } - } - ] - }, - "sendonionmessage.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "first_id", - "blinding", - "hops" - ], - "properties": { - "first_id": { - "type": "pubkey", - "description": "the (presumably well-known) public key of the start of the path" }, - "blinding": { - "type": "pubkey", - "description": "blinding factor for this path" + { + "id": "example:waitsendpay#11", + "method": "waitsendpay", + "params": { + "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", + "timeout": 60, + "partid": null, + "groupid": null + } }, - "hops": { - "type": "array", - "description": "", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "node", - "tlv" - ], - "properties": { - "node": { - "type": "pubkey", - "description": "public key of the node" - }, - "tlv": { - "type": "u8", - "description": "contains a hexadecimal TLV to include" - } - } + { + "id": "example:waitsendpay#12", + "method": "waitsendpay", + "params": { + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "timeout": null, + "partid": null, + "groupid": null } - } - } - }, - "sendonionmessage.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": {} - }, - "sendpay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "route", - "payment_hash" - ], - "properties": { - "route": { - "type": "array", - "items": { - "type": "object", - "required": [ - "amount_msat", - "id", - "delay", - "channel" - ], - "properties": { - "id": { - "type": "pubkey", - "description": "The node at the end of this hop" - }, - "channel": { - "type": "short_channel_id", - "description": "The channel joining these nodes" - }, - "delay": { - "type": "u32", - "description": "The total CLTV expected by the node at the end of this hop" - }, - "amount_msat": { - "type": "msat", - "description": "The amount expected by the node at the end of this hop" - } - } + }, + { + "id": "example:waitsendpay#13", + "method": "waitsendpay", + "params": { + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "timeout": null, + "partid": null, + "groupid": null } }, - "payment_hash": { - "type": "hash", - "description": "the hash of the payment_preimage" + { + "id": "example:waitsendpay#14", + "method": "waitsendpay", + "params": { + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "timeout": null, + "partid": null, + "groupid": null + } }, - "label": { - "type": "string", - "description": "the label provided when creating the invoice_request" + { + "id": "example:waitsendpay#15", + "method": "waitsendpay", + "params": { + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "timeout": null, + "partid": null, + "groupid": null + } }, - "amount_msat": { - "type": "msat", - "description": "amount must be provided if *partid* is non-zero, or the payment is to-self, otherwise it must be equal to the final amount to the destination. By default it is in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*" + { + "id": "example:waitsendpay#16", + "method": "waitsendpay", + "params": { + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "timeout": null, + "partid": null, + "groupid": null + } }, - "bolt11": { - "type": "string", - "description": "bolt11 invoice to pay. If provided, will be returned in *waitsendpay* and *listsendpays* results" + { + "id": "example:waitsendpay#17", + "method": "waitsendpay", + "params": { + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "timeout": null, + "partid": null, + "groupid": null + } }, - "payment_secret": { - "type": "secret", - "description": "value that the final recipient requires to accept the payment, as defined by the `payment_data` field in BOLT 4 and the `s` field in the BOLT 11 invoice format. It is required if *partid* is non-zero" + { + "id": "example:waitsendpay#18", + "method": "waitsendpay", + "params": { + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "timeout": null, + "partid": null, + "groupid": null + } }, - "partid": { - "type": "u64", - "description": "must not be provided for self-payments. If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*. The *amount_msat* amount (which must be provided) for each **sendpay** with matching *payment_hash* must be equal, and **sendpay** will fail if there are differing values given" + { + "id": "example:waitsendpay#19", + "method": "waitsendpay", + "params": { + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "timeout": null, + "partid": null, + "groupid": null + } }, - "localinvreqid": { - "type": "hex", - "description": "indicates that this payment is being made for a local invoice_request. This ensures that we only send a payment for a single-use invoice_request once" + { + "id": "example:waitsendpay#20", + "method": "waitsendpay", + "params": { + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "timeout": null, + "partid": null, + "groupid": null + } }, - "groupid": { - "type": "u64", - "description": "allows you to attach a number which appears in **listsendpays** so payments can be identified as part of a logical group. The *pay* plugin uses this to identify one attempt at a MPP payment, for example" + { + "id": "example:waitsendpay#21", + "method": "waitsendpay", + "params": { + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "timeout": null, + "partid": null, + "groupid": null + } }, - "payment_metadata": { - "added": "v0.11.0", - "type": "hex", - "description": "placed in the final onion hop TLV" + { + "id": "example:waitsendpay#22", + "method": "waitsendpay", + "params": { + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "timeout": null, + "partid": null, + "groupid": null + } }, - "description": { - "added": "v0.11.0", - "type": "string", - "description": "description used in the invoice" + { + "id": "example:waitsendpay#23", + "method": "waitsendpay", + "params": { + "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", + "timeout": null, + "partid": null, + "groupid": null + } } - } - }, - "sendpay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "created_index", - "payment_hash", - "status", - "created_at", - "amount_sent_msat" ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was created in" - }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was changed (only present if it has changed since creation)" - }, - "id": { - "type": "u64", - "description": "old synonym for created_index" - }, - "groupid": { - "type": "u64", - "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "pending", - "complete" - ], - "description": "status of the payment (could be complete if already sent previously)" + "example_json_response": [ + { + "created_index": 1, + "id": 1, + "payment_hash": "072b1d20f4a7c757a56d5fb10eaed40b58b68849da41fe396cdbd2d81692875a", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1706152930, + "completed_at": 1706152933, + "status": "complete", + "payment_preimage": "af7ba559629f719c04c43a82767fe3622790a539164d6270db07f765203e574b", + "bolt11": "lnbcrt110u1pjmr5lzsp5sfjyj3xn7ux592k36hmmt4ax98n6lgct22wvj54yck0upcmep63qpp5qu436g855lr40ftdt7csatk5pdvtdzzfmfqluwtvm0fds95jsadqdpq0pzk7s6j8y69xjt6xe25j5j4g44hsatdxqyjw5qcqp99qxpqysgquwma3zrw4cd8e8j4u9uh4gxukaacckse64kx2l9dqv8rvrysdq5r5dt38t9snqj9u5ar07h2exr4fg56wpudkhkk7gtxlyt72ku5fpqqd4fnlk" }, - "amount_msat": { - "type": "msat", - "description": "The amount delivered to destination (if known)" + { + "created_index": 1, + "id": 1, + "payment_hash": "fc6aeb988a4134996fcfdcf45a0b5e9a44cf31b12136696a1d8745488bf54c26", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 111, + "amount_sent_msat": 111, + "created_at": 1706152992, + "completed_at": 1706152994, + "status": "complete", + "payment_preimage": "a4e364ef4cd4ec4e48ab38a7f2384faa41a74be2bbea5e84e28f52409883118e", + "bolt11": "lnbcrt1110p1pjmr4qlsp5sclyc65aumrn9xdq88xa4lqugc5ywecp9zg03zdmdpjk7cp0hdvqpp5l34whxy2gy6fjm70mn695z67nfzv7vd3yymxj6sasaz53zl4fsnqdpqwdgrs3n2d9my63e3g4nyykrd2eyrvvekxqyjw5qcqp99qxpqysgqe29manw7ut0chc9g0l5p8jked0vzhpvz6y8vzc6ztw92gmvx6xsjaegqwkr5lnqthmm7ngu7t04x5zx8q55qh8n82x79wfr0gswnjdgpw7llnd" }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" + { + "created_index": 1, + "id": 1, + "payment_hash": "cb6e6b3fb7a3eca27310783fd30d70a865cc7022f591afcbdc25d3651d534d89", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624137, + "completed_at": 1708624138, + "status": "complete", + "payment_preimage": "76f46478c3f110736ae0adaafe561bf11b1240ac2ec821451c69fe242b7d4515", + "bolt11": "lnbcrt110u1pja0zgfsp592w6samysw5e8gwtnwthp4u5vmcze9c3tsnha3vwlh7lw60srrwspp5edhxk0ah50k2yucs0qlaxrts4pjucupz7kg6lj7uyhfk282nfkysdpq2um4q6jcfaeygv2k89gh5utvtpjx2djnxqyjw5qcqp99qxpqysgqhcvy676q5qmpdvec85eyglh5dedsz7vk7x086k284f5277y50dt8syd8zprketp8pc4s2mt2gv4fe3cntsesa3rp25cnhkcvkxnnj3qpptfp24" }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" + { + "created_index": 1, + "id": 1, + "payment_hash": "50132351e0d5eb9bc0cfce3b0c28d2b283fc64f40890030a1c177b04549cf4dc", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 111, + "amount_sent_msat": 111, + "created_at": 1708624150, + "completed_at": 1708624151, + "status": "complete", + "payment_preimage": "953ac0ba5115f0a90bbad0a759e46d0e7be07cf0845e2bdd0dd485b29b4656a1", + "bolt11": "lnbcrt1110p1pja0zgksp5qg3llk7uj8zzm9nmlw2y20z7u9nmt907rzrk5amv3fnmysam6tgqpp52qfjx50q6h4ehsx0ecasc2xjk2plce85pzgqxzsuzaasg4yu7nwqdpqdec9vstkxd54wcj3gfp5s6nng39nzk2nxqyjw5qcqp99qxpqysgq0lpde92w326lga6er0ea4z06f7k2c28wqh8kjh2nz0nx64y3fkxxxptgez0mxaj8wu5lt93hk5ptx2gjr5hsq3hjs7ra28mettmavaspjhs0n6" }, - "completed_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was completed" + { + "created_index": 2, + "id": 2, + "payment_hash": "a57aa4cddb1aa6ba8ca47c280cc503c6dbc480afba2316b2fe01cc5881951e64", + "groupid": 1, + "updated_index": 2, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 222, + "amount_sent_msat": 222, + "created_at": 1708624152, + "completed_at": 1708624153, + "status": "complete", + "payment_preimage": "3f9403b12c25bb266dacbdb7f6fc712729efdbacb0edce2daa24ffdd726b9322", + "bolt11": "lnbcrt2220p1pja0zgcsp5p8k06kec0a75pqrasr5jhrjavduz0wjkkf0tj5mzwp3p5v34zmhqpp554a2fnwmr2nt4r9y0s5qe3grcmdufq90hg33dvh7q8x93qv4rejqdpqva49s73jxfj55mr9f564xnjzv9e52n6kxqyjw5qcqp99qxpqysgqx0ha5z565qarpcvnmhw734sjurp6y54xwxyf02ezkqpy7sx29s4hytqg0y09jdm045cdg09zez9e0g77hpvuttzday6ykfsxmqp90zgqy0lg4l" }, - "amount_sent_msat": { - "type": "msat", - "description": "The amount sent" + { + "created_index": 3, + "id": 3, + "payment_hash": "3529dc58cda726971ea453bcbc2a965753d448ed248e2df855b5bbc2892a661b", + "groupid": 1, + "updated_index": 3, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 4000000, + "amount_sent_msat": 4000000, + "created_at": 1708624153, + "completed_at": 1708624154, + "status": "complete", + "payment_preimage": "71564f2f49104fe72bde5a22c733e9b29602974c7846c04e33cd34645d338546", + "bolt11": "lnbcrt40u1pja0zgesp5hmr0fa2vtrlqr5z99l7d0g5m6zc3j56lxqplgnyjawnl2qmaem7spp5x55ackxd5unfw84y2w7tc25k2afagj8dyj8zm7z4kkau9zf2vcdsdpq2adxxnm5verr2d35fe5425f4wek8w5j4xqyjw5qcqp99qxpqysgqmzcxcedllx0lqf8a7xdsq6zxzm0pn67nlm527kn3wh3hcevy6tgk8ld6xq7j8srnw74aa5p4426dapwmdnxyl2grg075798m0xw05dqqf2zn76" }, - "label": { - "type": "string", - "description": "the *label*, if given to sendpay" + { + "created_index": 1, + "id": 1, + "payment_hash": "c732730d00d40b7bda92c17564db24d2bc6df5184c9b59b284734cc327857b02", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624189, + "completed_at": 1708624190, + "status": "complete", + "payment_preimage": "b219514dc1aece9452472a8a1c725615bcaa13d7b2e705911726cfc5df9a40a2", + "bolt11": "lnbcrt110u1pja0zfasp5t88h3lqr8s2ztsvwfmdg4h2dqlpwyp273k76tlp0qmd9evek5rkqpp5cue8xrgq6s9hhk5jc96kfkey627xmagcfjd4nv5ywdxvxfu90vpqdpqxak5xjn0fef5varv0fxyzwtgg4yh5kp3xqyjw5qcqp99qxpqysgqcc747229gd79pvc52auwpr37ppy0x56n89ju5wv20mx2rz2v9f0k2jz9qqqdwq50auc3gwwlzh4nwthnj5knkpyf38jweqh8usyqkhgqe849hy" }, - "partid": { - "type": "u64", - "description": "the *partid*, if given to sendpay" + { + "created_index": 1, + "id": 1, + "payment_hash": "13adc40990d678bcfac3f550ef367383329910741493536348b3033c67ee4e6b", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624212, + "completed_at": 1708624213, + "status": "complete", + "payment_preimage": "867d05edfc52fb931835abd7c1736fafad6d1dd48a311e4ce776ebc28a95e262", + "bolt11": "lnbcrt110u1pja0z25sp562ta6gxd79k2mdgzyqnxls4netftngncxvutldztrves9unp2leqpp5zwkugzvs6eute7kr74gw7dnnsvefjyr5zjf4xc6gkvpncelwfe4sdpqwd9n2dztg9xrxu2cxqchjnn5xum8jvzzxqyjw5qcqp99qxpqysgqy2xqc6ldj4dujraa2wktrlw84fj30dasjl9alfrercu2uqv6h8cpgpzaq88v7ad22usjaqqc6cy4h0n94aflhm0mme9dv4va3haghwgq23c2sq" }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if supplied)" + { + "created_index": 1, + "id": 1, + "payment_hash": "b926af58f95d722c5f8076e98715a8a72aa15daea203c17db053fffa4ceb264e", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624223, + "completed_at": 1708624224, + "status": "complete", + "payment_preimage": "ade7707a2f75a3b3b6d60947b606df17d6cf85fdf1b4d03b76b757193f808112", + "bolt11": "lnbcrt110u1pja0z2lsp5ys64cll6ayl4qrx72uvhpmphtcsglqz2sau73z8tfntwm9d7mkxspp5hyn27k8et4ezchuqwm5cw9dg5u42zhdw5gpuzlds20ll5n8tye8qdpqdcek57peffxhzeeexvmyknth2et4y7jdxqyjw5qcqp99qxpqysgqjzkjd2jwunssd2kw24ky28kaq99q34e58xz6nq0y0trl4kayl9sqzmjjvs8qjcqhuc560sn0y0ugvswcc93grpz7yhgkzqluqqkvlnspy32anl" }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied: **experimental-offers** only)." - } - }, - "allOf": [ { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - } - } - } + "created_index": 1, + "id": 1, + "payment_hash": "eba99a5aa27c2ddab8a35a1cb87280dd7bfb263fd9600a7e9ad96c66b795e52c", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 11000000, + "amount_sent_msat": 11000000, + "created_at": 1708624242, + "completed_at": 1708624243, + "status": "complete", + "payment_preimage": "2a8cd9e14d08b59b189b6a0b914a362d9f05f434182b93e679b497db55cf02be", + "bolt11": "lnbcrt110u1pja0zt3sp5kt96l03tyfu9a9yatsz6jprc9jx7gtw94tpepjhz20uhywqsfrxspp5aw5e5k4z0ska4w9rtgwtsu5qm4alkf3lm9sq5l56m9kxddu4u5kqdpcw3jhxapqyf3x7mr5xycjygryv4ekxunfwp6xjmmw9ss0p8a9krcfl24zxqyjw5qcqp99qxpqysgqk58kn4t0cvasmv3wjn0qnz29lngudfc52dzguekzc3x9ycrakklqn4xegnnh2kuhfcpl4lcr24kwsj8weglxtqxxhq5qmudxwg7zpwsqu93474" }, { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "pending" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "message" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "message": { - "type": "string", - "description": "Monitor status with listpays or waitsendpay" - } - } - } - } - ] - }, - "sendpsbt.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": "the fully signed psbt to be sent" + "created_index": 1, + "id": 1, + "payment_hash": "bc747053329402620a26bdc187cd134cdb699130d85be499ecd24160aff04c5c", + "groupid": 1, + "updated_index": 1, + "destination": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518", + "amount_msat": 3210, + "amount_sent_msat": 4211, + "created_at": 1708624260, + "completed_at": 1708624263, + "status": "complete", + "payment_preimage": "3b81415d1d917e0bb84092c7d9a4c5326b886472e4e28eef402e0b022bce6bfe" }, - "reserve": { - "type": "u32", - "description": "number of blocks to increase reservation of any of our inputs by. Default is 72" - } - } - }, - "sendpsbt.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", - "description": "The raw transaction which was sent" + { + "created_index": 1, + "id": 1, + "payment_hash": "5ab2d84a80f6e5f32f3391ef1c080dd5d43a935958c435a50ab45ed621ecba13", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624682, + "completed_at": 1708624683, + "status": "complete", + "payment_preimage": "20a950e8ac0964c65a2494e873b33e7e36ea30d2e19913abb543fcebafca498e", + "bolt11": "lnbcrt2m1pja0ze2sp5p5zd5rj4zp9fq638c5f672a3kmguptp7gzy8ha5x89dlxzatpwhqpp5t2edsj5q7mjlxtenj8h3czqd6h2r4y6etrzrtfg2k30dvg0vhgfsdpqg9kyjjnyd5u8sdr5gevhv6mrwfy4ssttxqyjw5qcqp99qxpqysgqapf5g2gu5npfr0tpzgvqkjxseq9l6h0ls564nu2gdtkxe9fx8kt80tgj3v2lasfpmnk2zs3dq2nps9x8vtkmal46y2ph9n2cazepj4cq80gavn" }, - "txid": { - "type": "txid", - "description": "The txid of the **tx**" - } - } - }, - "setchannel.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "description": "should contain a scid (short channel ID), channel id or peerid (pubkey) of the channel to be modified. If *id* is set to `all`, the updates are applied to all channels in states CHANNELD_NORMAL CHANNELD_AWAITING_LOCKIN or DUALOPEND_AWAITING_LOCKIN. If *id* is a peerid, all channels with the +peer in those states are changed" - }, - "feebase": { - "type": "msat", - "description": "value in millisatoshi that is added as base fee to any routed payment: if omitted, it is unchanged. It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*" - }, - "feeppm": { - "type": "u32", - "description": "value that is added proportionally per-millionths to any routed payment volume in satoshi. For example, if ppm is 1,000 and 1,000,000 satoshi is being routed through the channel, an proportional fee of 1,000 satoshi is added, resulting in a 0.1% fee" - }, - "htlcmin": { - "type": "msat", - "description": "value that limits how small an HTLC we will forward: if omitted, it is unchanged (the default is no lower limit). It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that the peer also enforces a minimum for the channel: setting it below that will simply set it to that value with a warning. Also note that *htlcmin* only applies to forwarded HTLCs: we can still send smaller payments ourselves" - }, - "htlcmax": { - "type": "msat", - "description": "value that limits how large an HTLC we will forward: if omitted, it is unchanged (the default is no effective limit). It can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*. Note that *htlcmax* only applies to forwarded HTLCs: we can still send larger payments ourselves" - }, - "enforcedelay": { - "type": "u32", - "description": "number of seconds to delay before enforcing the new fees/htlc max (default 600, which is ten minutes). This gives the network a chance to catch up with the new rates and avoids rejecting HTLCs before they do. This only has an effect if rates are increased (we always allow users to overpay fees) or *htlcmax* is decreased, and only applied to a single rate increase per channel (we don't remember an arbitrary number of prior feerates) and if the node is restarted the updated configuration is enforced immediately" - }, - "ignorefeelimits": { - "added": "v23.08", - "type": "boolean", - "description": "if set to True means to allow the peer to set the commitment transaction fees (or closing transaction fees) to any value they want. This is dangerous: they could set an exorbitant fee (so HTLCs are unenforcable), or a tiny fee (so that commitment transactions cannot be relayed), but avoids channel breakage in case of feerate disagreements. (Note: the global `ignore_fee_limits` setting overrides this)" - } - } - }, - "setchannel.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channels" - ], - "properties": { - "channels": { - "type": "array", - "description": "channel(s) set, and their resulting configuration", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "peer_id", - "channel_id", - "fee_base_msat", - "fee_proportional_millionths", - "minimum_htlc_out_msat", - "maximum_htlc_out_msat", - "ignore_fee_limits" - ], - "properties": { - "peer_id": { - "type": "pubkey", - "description": "The node_id of the peer" - }, - "channel_id": { - "type": "hex", - "description": "The channel_id of the channel", - "minLength": 64, - "maxLength": 64 - }, - "short_channel_id": { - "type": "short_channel_id", - "description": "the short_channel_id (if locked in)" - }, - "fee_base_msat": { - "type": "msat", - "description": "The resulting feebase (this is the BOLT #7 name)" - }, - "fee_proportional_millionths": { - "type": "u32", - "description": "The resulting feeppm (this is the BOLT #7 name)" - }, - "ignore_fee_limits": { - "type": "boolean", - "added": "v23.08", - "description": "If we are now allowing peer to set feerate on commitment transaction without restriction" - }, - "minimum_htlc_out_msat": { - "type": "msat", - "description": "The resulting htlcmin we will advertize (the BOLT #7 name is htlc_minimum_msat)" - }, - "warning_htlcmin_too_low": { - "type": "string", - "description": "The requested htlcmin was too low for this peer, so we set it to the minimum they will allow" - }, - "maximum_htlc_out_msat": { - "type": "msat", - "description": "The resulting htlcmax we will advertize (the BOLT #7 name is htlc_maximum_msat)" - }, - "warning_htlcmax_too_high": { - "type": "string", - "description": "The requested htlcmax was greater than the channel capacity, so we set it to the channel capacity" - } - } - } - } - } - }, - "setconfig.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "config" - ], - "added": "v23.08", - "properties": { - "config": { - "type": "string", - "description": "name of the config variable which should be set to the value of the variable" + { + "created_index": 1, + "id": 1, + "payment_hash": "0dace479a0cf10306bfc66f59f9d967fbc6e23b75a2f3995afa8826a934dc303", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624696, + "completed_at": 1708624697, + "status": "complete", + "payment_preimage": "287cc90597b5d686f5e9512f3f89f1135e0e4dc703dfda5d0aa7a1b9dd2b1ab2", + "bolt11": "lnbcrt2m1pja0zecsp5epx2sj26yj4khf80y8yfrc7apknxac57zxes4wk75w0kk04q3wyspp5pkkwg7dqeugrq6luvm6el8vk077xugahtghnn9d04zpx4y6dcvpsdpqdar5xnjkvf85yjnkvfnxvm23w9u4vcmgxqyjw5qcqp99qxpqysgq7dlc3vfc6e0c5dhuphrp8ur6tuzpfsl9lq7ww52m4ymaxuruzryjjcr3ahpamgg7qd8x6v8exym76u2v6zjefc3p078fnaa9dp7uaecplsc0mx" }, - "val": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - } - ], - "description": "value of the config variable to be set or updated" - } - } - }, - "setconfig.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.08", - "required": [ - "config" - ], - "properties": { - "config": { - "type": "object", - "description": "config settings after completion", - "additionalProperties": false, - "required": [ - "config", - "source", - "dynamic" - ], - "properties": { - "config": { - "type": "string", - "description": "name of the config variable which was set" - }, - "source": { - "type": "string", - "description": "source of configuration setting (`file`:`linenum`)" - }, - "plugin": { - "type": "string", - "description": "the plugin this configuration setting is for" - }, - "dynamic": { - "type": "boolean", - "enum": [ - true - ], - "description": "whether this option is settable via setconfig" - }, - "set": { - "type": "boolean", - "description": "for simple flag options" - }, - "value_str": { - "type": "string", - "description": "for string options" - }, - "value_msat": { - "type": "msat", - "description": "for msat options" - }, - "value_int": { - "type": "integer", - "description": "for integer options" - }, - "value_bool": { - "type": "boolean", - "description": "for boolean options" - } - } - } - } - }, - "setpsbtversion.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt", - "version" - ], - "properties": { - "psbt": { - "type": "string", - "description": "the PSBT to change versions" + { + "created_index": 1, + "id": 1, + "payment_hash": "e2742cbe0653fb43781672e3b4656a57d833ed535f3c04837e9a5cdfea032dd7", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624705, + "completed_at": 1708624706, + "status": "complete", + "payment_preimage": "a7db3a7890314ecff3f7c1ff32a0a040213cb324997415cbf119e73bfb86797e", + "bolt11": "lnbcrt2m1pja0z6psp5g2yg3lwv8a3fx05xmcpfzgmnnj2wuxg3uf28kkvq2t85x5l7rg9spp5uf6ze0sx20a5x7qkwt3mget22lvr8m2ntu7qfqm7nfwdl6sr9htsdpqx9uh2dncvdk4ykrt89z8vvecdfr82mzjxqyjw5qcqp99qxpqysgqtp7ngq64fpr82f8mcqdzltam55sqqe4qh3uu7cmawms93wthm00rt6n2vnjuhde5y3u4aa4sx2slw93ex5vmlvz22ll3qxltghvgawsqxr90lg" }, - "version": { - "type": "u32", - "description": "the version to set" - } - } - }, - "setpsbtversion.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": "a converted PSBT of the requested version" - } - } - }, - "showrunes.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "added": "v23.08", - "properties": { - "rune": { - "type": "string", - "description": "if specified, only details of that rune will be returned" - } - } - }, - "showrunes.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "runes" - ], - "properties": { - "runes": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "rune", - "unique_id", - "restrictions", - "restrictions_as_english" - ], - "properties": { - "rune": { - "type": "string", - "description": "Base64 encoded rune" - }, - "unique_id": { - "type": "string", - "description": "Unique id assigned when the rune was generated; this is always a u64 for commando runes" - }, - "restrictions": { - "type": "array", - "description": "The restrictions on what commands this rune can authorize", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "alternatives", - "english" - ], - "properties": { - "alternatives": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "fieldname", - "value", - "condition", - "english" - ], - "properties": { - "fieldname": { - "type": "string", - "description": "The field this restriction applies to; see commando-rune(7)" - }, - "value": { - "type": "string", - "description": "The value accepted for this field" - }, - "condition": { - "type": "string", - "description": "The way to compare fieldname and value" - }, - "english": { - "type": "string", - "description": "English readable description of this alternative" - } - } - } - }, - "english": { - "type": "string", - "description": "English readable summary of alternatives above" - } - } - } - }, - "restrictions_as_english": { - "type": "string", - "description": "English readable description of the restrictions array above" - }, - "stored": { - "type": "boolean", - "enum": [ - false - ], - "description": "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)" - }, - "blacklisted": { - "type": "boolean", - "enum": [ - true - ], - "description": "The rune has been blacklisted; see commando-blacklist(7)" - }, - "last_used": { - "type": "number", - "description": "The last time this rune was successfully used", - "added": "23.11" - }, - "our_rune": { - "type": "boolean", - "enum": [ - false - ], - "description": "This is not a rune for this node (only possible when `rune` is specified)" - } - } - } - } - } - }, - "signinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "added": "v23.02", - "required": [ - "invstring" - ], - "properties": { - "invstring": { - "type": "string", - "description": "bolt11 form, but the final signature is ignored. Minimal sanity checks are done" - } - } - }, - "signinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "bolt11" - ], - "properties": { - "bolt11": { - "type": "string", - "description": "the bolt11 string" - } - } - }, - "signmessage.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "message" - ], - "additionalProperties": false, - "properties": { - "message": { - "type": "string", - "description": "less that 65536 characters long message to be signed by the node" - } - } - }, - "signmessage.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "signature", - "recid", - "zbase" - ], - "properties": { - "signature": { - "type": "hex", - "description": "The signature", - "minLength": 128, - "maxLength": 128 - }, - "recid": { - "type": "hex", - "description": "The recovery id (0, 1, 2 or 3)", - "minLength": 2, - "maxLength": 2 - }, - "zbase": { - "type": "string", - "description": "*signature* and *recid* encoded in a style compatible with **lnd**'s [SignMessageRequest](https://api.lightning.community/#grpc-request-signmessagerequest)" - } - } - }, - "signpsbt.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": "the psbt to be signed" + { + "created_index": 1, + "id": 1, + "payment_hash": "8dd827ad8be70c86e251dd30f1df34497ab1dea4a86e6431263a0c7aa8659551", + "groupid": 1, + "updated_index": 1, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624732, + "completed_at": 1708624733, + "status": "complete", + "payment_preimage": "4acca302cb898413a7cc47dc4e9f2a590713ed1886ff88f6bee96d91f89c4946", + "bolt11": "lnbcrt1m1pja0z6usp54s06ykg0av2jm6qegedrp45x9dcna7hvmhf2jw8uy5zdlxfpfztqpp53hvz0tvtuuxgdcj3m5c0rhe5f9atrh4y4phxgvfx8gx842r9j4gsdpq2prnzs6609gkus2w0g6hwjr4d325c6fkxqyjw5qcqp99qxpqysgqrku9kfylycerkjzen8fspmzt4x3zl7qan85r2a5v6w9hsvdjm9h3yvedaymqzxn8f3h7j5fml086u4q09h558l420g5mjpu998qkk5cp90enaw" }, - "signonly": { - "type": "array", - "description": "input numbers to sign", - "items": { - "type": "u32" - } - } - } - }, - "signpsbt.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "signed_psbt" - ], - "properties": { - "signed_psbt": { - "type": "string", - "description": "The fully signed PSBT" - } - } - }, - "splice_init.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "relative_amount" - ], - "added": "v23.08", - "properties": { - "channel_id": { - "type": "string", - "description": "the channel id of the channel to be spliced" + { + "created_index": 2, + "id": 2, + "payment_hash": "27d364b77f9d54ad741ae42905f59c9cd8b771b92169f707f3bd8685e71be9c7", + "groupid": 1, + "updated_index": 2, + "destination": "032cf15d1ad9c4a08d26eab1918f732d8ef8fdc6abb9640bf3db174372c491304e", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624733, + "completed_at": 1708624734, + "status": "complete", + "payment_preimage": "9d30ff4ab48c2716fd2eee362fc094e6251596fbd9f6898d1e0fe85af1d0e1df", + "bolt11": "lnbcrt1m1pja0z6asp5qrpt0xacndmymaxr52p6gdgmmxu345j57f6djta9velgq4dj3y6qpp5ylfkfdmln4226aq6us5stavunnvtwudey95lwplnhkrgtecma8rsdpq2d34vmtkga6y2smn2d3ngwzw2eskj3m6xqyjw5qcqp9rzjqfnwgkvdr57yzh6h92zg3qctvrm7w38djg67kzcm4yeg8vc4cq63sqqqvuqqqpqqqqqqqqqpqqqqqzsqqc9qxpqysgqmytcspacg5my7pk7ntae8pw6472xh34xz6p7f5vxzx8nve6njswj7qqgchqe8fju2gh4tc3m0fg9j90305708z6qmq4mry8qx4kvy6cpmxkg7a" }, - "relative_amount": { - "type": "integer", - "description": "a positive or negative amount of satoshis to add or subtract from the channel" + { + "created_index": 1, + "id": 1, + "payment_hash": "ae1fb38f3b2704cf437f5a0250943d4db28f82b175aa9c8cdc59652cf26574a7", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624742, + "completed_at": 1708624743, + "status": "complete", + "payment_preimage": "848bde3e01d2f0390699891c0f0e184fc48563a12e17aebc9b3a00998e0e825d", + "bolt11": "lnbcrt2m1pja0zmxsp5twwh6thj8vlfsxrp2pwdn7y4vqng7wm59qpnj09n8uej40zxjh0qpp54c0m8remyuzv7smltgp9p9pafkeglq43wk4ferxut9jjeun9wjnsdpqv4uyxkt68p8xw4zvvfukw6m8wa5hqcm0xqyjw5qcqp99qxpqysgqz92qxnnlkuxekew473cc9tzgnvelf24gqnq4q2m55c9q0hku4z5y4gfpgm2gypusrlra3frlytn6l997pj8gaq5pfvkj3080t4v6agcp74an2w" }, - "initialpsbt": { - "type": "string", - "description": "the (optional) base 64 encoded PSBT to begin with. If not specified, one will be generated automatically" + { + "created_index": 1, + "id": 1, + "payment_hash": "86dd6b73fe81bdaf3354d1aa0db67bb876077d5a52e36f90da3e1b46ae1dfc95", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624761, + "completed_at": 1708624762, + "status": "complete", + "payment_preimage": "3d29577bc26276e784fbea9cfb1014806823ff932a272e79d82a99d5785f8e0e", + "bolt11": "lnbcrt1m1pja0zmesp53jhupl5w4n29dpkzga044cudztxzt04revuhujdmwr7ukjkpergqpp5smwkkul7sx767v656x4qmdnmhpmqwl262t3klyx68cd5dtsalj2sdpq2ahkwumrv569x4zww9gy742dw4p8wvz5xqyjw5qcqp99qxpqysgq77kaek6kje9llxmn8zqc58jpqqv5neekkcss2slmahsstwg5k5rxyngl933xfsyut5j74z5xdl94pjlp4pxd0qcfw228spxzwndynpcpwl6rua" }, - "feerate_per_kw": { - "type": "u32", - "description": "the miner fee we promise our peer to pay for our side of the splice transaction. It is calculated by `feerate_per_kw` * our_bytes_in_splice_tx / 1000" + { + "created_index": 2, + "id": 2, + "payment_hash": "fe39cad11671ee0d176a83a5ce2c9a91a5d9ceb00d323616de738d21a70c9eee", + "groupid": 1, + "updated_index": 2, + "destination": "035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624763, + "completed_at": 1708624763, + "status": "complete", + "payment_preimage": "84100a41901d072312d709e64b4934cc11b573a12425bf54077ba1d7ffa2a01a", + "bolt11": "lnbcrt1m1pja0zmmsp5mv72x2kmvs8hem3d24pgx2sxz0k7mpxdcl5n36y5f59uanfl2w8qpp5lcuu45gkw8hq69m2swjuuty6jxjann4sp5erv9k7wwxjrfcvnmhqdpqfar9qsjyd3v4gj2p89nr2cfsxfy56kjxxqyjw5qcqp99qxpqysgqsh9vdv7lfk6chvy5hl27uuap75769wsc3uawyyuz72qtvv76kd9xz4et68f3cludr2xw67hpq34d7h600mqmycw9cf0tj9mfv3nr9gsqah7v28" }, - "force_feerate": { - "type": "boolean", - "description": "by default splices will fail if the fee provided looks too high. This is to protect against accidentally setting your fee higher than intended. Set `force_feerate` to true to skip this saftey check" - } - } - }, - "splice_init.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" - ], - "added": "v23.08", - "properties": { - "psbt": { - "type": "string", - "description": "the (incomplete) PSBT of the splice transaction" - } - } - }, - "splice_signed.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "psbt" - ], - "added": "v23.08", - "properties": { - "channel_id": { - "type": "string", - "description": "the channel id of the channel to be spliced" + { + "created_index": 3, + "id": 3, + "payment_hash": "94fe111dd3f3da4c06c396dae3b9c2b02b64aac3a656c949dbbf1a89b4a09f5a", + "groupid": 1, + "updated_index": 3, + "destination": "0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624763, + "completed_at": 1708624764, + "status": "complete", + "payment_preimage": "e69d61518343b58266365337c90d77a942237af98733f57770bc18f6805b6b26", + "bolt11": "lnbcrt1m1pja0zmmsp5nf0ysexhmalr3338ey62h20gq4pn87j7a32z5d5prxhq4dhp9x7qpp5jnlpz8wn70dycpkrjmdw8wwzkq4kf2kr5etvjjwmhudgnd9qnadqdpqwgexvmfjfefnymzndp88w53cf4r5samexqyjw5qcqp99qxpqysgq37ap6xvj9hv5hwz4ugl3n4x3qrx6l8pmgcl7dfnlx69s5l35yl5surz6fmkejswk8c6pxzrpt60gk509auhqw5kgpxx62ttd3fptzscqy7wlkr" }, - "psbt": { - "type": "string", - "description": "the final version of the psbt to complete the splice with" + { + "created_index": 1, + "id": 1, + "payment_hash": "f7992232b0a41641ddfcf50972d38114949338c3129435b1a893c1e463bc3d9b", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624827, + "completed_at": 1708624828, + "status": "complete", + "payment_preimage": "361887fdacf312a3a54dd03b3267efdf0bcaed9b555650ac636aeced496d3eab", + "bolt11": "lnbcrt1m1pja0zamsp5g4fp9xv05dual6pjzyt4tmyeu0xdw36hk4nqpgucq3xc2h8wjgpqpp577vjyv4s5styrh0u75yh95upzj2fxwxrz22rtvdgj0q7gcau8kdsdpqt9frqd63ddyxx6t924xkk568gsu9v3nkxqyjw5qcqp99qxpqysgqerq0p3xyrztyagkk40yfj7kx870vy3s38fndqs7jyc228kh8ys8h3xklkffplcdckt6l35rplpl05gg38062a82kl04ank4wpxejg9cp7t79vx" }, - "sign_first": { - "type": "boolean", - "description": "a flag that makes our node offer the final splice signature first (defaults to false). When false, the node will calculate who should sign first based off who is adding inputting the least sats to the splice as per spec" - } - } - }, - "splice_signed.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "tx", - "txid" - ], - "added": "v23.08", - "properties": { - "tx": { - "type": "hex", - "description": "The hex representation of the final transaction that is published" + { + "created_index": 1, + "id": 1, + "payment_hash": "2ca6f416fae1d23656445e8ba0327683f08726143179462751a5c76bc6605f73", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 100000000, + "amount_sent_msat": 100000000, + "created_at": 1708624839, + "completed_at": 1708624840, + "status": "complete", + "payment_preimage": "48316b1156677a2cfccef0c34926b2ef0908dec259a547de0f721eb8bb5fda73", + "bolt11": "lnbcrt1m1pja0z78sp5f36m3cfjzyktkevm4v9uvxucmvrgt79hnm9lak7w5mr0g3sj03pspp59jn0g9h6u8frv4jyt696qvnks0cgwfs5x9u5vf635hrkh3nqtaesdpqdef8gdfe8pjkw6z2ga4hss26xap52nj2xqyjw5qcqp99qxpqysgqrk52jxyt403c7q2d076z0y8a59f857jlga0p5a3cr5wfdxnu5jvhyqs4zgc43v2wrxsxflecadkqwlhmlhy0vyxgnyj8597l6fvv7ucqn8f5nm" }, - "txid": { - "type": "txid", - "description": "The txid is of the final transaction" + { + "created_index": 1, + "id": 1, + "payment_hash": "15cec1fdbc68cd203d543a87493c796f2e20aa00a6e17186de58500b6cd220cd", + "groupid": 1, + "updated_index": 1, + "destination": "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59", + "amount_msat": 200000000, + "amount_sent_msat": 200000000, + "created_at": 1708624851, + "completed_at": 1708624852, + "status": "complete", + "payment_preimage": "b2fecb8f717e9b0c56a7644a64400aca65f78b3090f16664dfda2591d8b08012", + "bolt11": "lnbcrt2m1pja0z7nsp5sldf3furhfuq35mz6v477lmw6ruc0p8klv5rjemy9s5ez3gejkaspp5zh8vrldudrxjq02582r5j0reduhzp2sq5mshrpk7tpgqkmxjyrxsdpqfarxu32tg9v4jen6xetxw3jhvdv9xkjrxqyjw5qcqp99qxpqysgql7ktvl9sawgsxjme60ahme6psknp2vrwvfvkgkdcske5tva0suj9t0uwaxfp8geatlquxs9jlmjgg02h5r0yhspg2n24yepkvrd37dgql8wj3m" } - } - }, - "splice_update.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "channel_id", - "psbt" ], - "added": "v23.08", - "properties": { - "channel_id": { - "type": "string", - "description": "the channel id of the channel to be spliced" - }, - "psbt": { - "type": "string", - "description": "the base 64 encoded PSBT returned from `splice_init` with any changes added by the user" - } - } - }, - "splice_update.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt", - "commitments_secured" + "author": [ + "ZmnSCPxj <> is mainly responsible." ], - "added": "v23.08", - "properties": { - "psbt": { - "type": "string", - "description": "the (incomplete) PSBT of the splice transaction" - }, - "commitments_secured": { - "type": "boolean", - "description": "whether or not the commitments were secured" - } - } - }, - "sql.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "query" + "see_also": [ + "lightning-sendpay(7)", + "lightning-pay(7)" ], - "added": "v23.02", - "properties": { - "query": { - "type": "string" - } - } + "resources": [ + "Main web site: " + ] }, - "sql.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", + "lightning-withdraw.json": { + "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, - "required": [ - "rows" + "rpc": "withdraw", + "title": "Command for withdrawing funds from the internal wallet", + "description": [ + "The **withdraw** RPC command sends funds from Core Lightning's internal wallet to the address specified in *destination*." ], - "properties": { - "rows": { - "type": "array", - "items": { - "type": "array" + "request": { + "required": [ + "destination", + "satoshi" + ], + "properties": { + "destination": { + "type": "string", + "description": [ + "Any Bitcoin accepted type, including bech32." + ] + }, + "satoshi": { + "type": "msat_or_all", + "description": [ + "The amount to be withdrawn from the internal wallet (expressed, as name suggests, in satoshi). The string *all* can be used to specify withdrawal of all available funds (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*." + ] + }, + "feerate": { + "type": "feerate", + "description": [ + "Used for the withdrawal as initial feerate." + ], + "default": "*normal*" + }, + "minconf": { + "type": "u16", + "description": [ + "Minimum number of confirmations that used outputs should have." + ], + "default": 1 + }, + "utxos": { + "type": "array", + "description": [ + "Specifies the utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set." + ], + "items": { + "type": "outpoint" + } } - }, - "warning_db_failure": { - "type": "string", - "description": "A message if the database encounters an error partway through" } - } - }, - "staticbackup.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": {} - }, - "staticbackup.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "scb" - ], - "properties": { - "scb": { - "type": "array", - "items": { + }, + "response": { + "required": [ + "psbt", + "tx", + "txid" + ], + "properties": { + "tx": { "type": "hex", - "description": "SCB of a channel in TLV format" + "description": [ + "The fully signed bitcoin transaction." + ] + }, + "txid": { + "type": "txid", + "description": [ + "The transaction id of *tx*." + ] + }, + "psbt": { + "type": "string", + "description": [ + "The PSBT representing the unsigned transaction." + ] } } - } - }, - "stop.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": {} - }, - "stop.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "result" - ], - "properties": { - "result": { - "type": "string", - "added": "v24.05", - "enum": [ - "Shutdown complete" - ] - } - } - }, - "txdiscard.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "txid" - ], - "properties": { - "txid": { - "type": "txid", - "description": "the transaction id, inputs should be unreseverd from" - } - } - }, - "txdiscard.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "unsigned_tx", - "txid" - ], - "properties": { - "unsigned_tx": { - "type": "hex", - "description": "the unsigned transaction" - }, - "txid": { - "type": "txid", - "description": "the transaction id of *unsigned_tx*" - } - } - }, - "txprepare.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "outputs" + }, + "errors": [ + "On failure, an error is reported and the withdrawal transaction is not created.", + "", + "- -1: Catchall nonspecific error.", + "- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.", + "- 302: The dust limit is not met.", + "- 313: The `min-emergency-msat` reserve not be preserved (and we have anchor channels)." ], - "properties": { - "outputs": { - "type": "array", - "description": "format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs", - "items": { - "type": "outputdesc" + "example_json_request": [ + { + "id": "example:withdraw#1", + "method": "withdraw", + "params": { + "destination": "bcrt1qjc7j2l5es4haw35c9jzm8dfm763ng5djp8f0s0", + "satoshi": 555555, + "feerate": null, + "minconf": null, + "utxos": null } }, - "feerate": { - "type": "feerate", - "description": "used for the transaction as initial feerate. The default is *normal*" - }, - "minconf": { - "type": "u32", - "description": "the minimum number of confirmations that used outputs should have. Default is 1" - }, - "utxos": { - "type": "array", - "description": "to be used to fund the transaction, as an array of `txid:vout`. These must be drawn from the node's available UTXO set", - "items": { - "type": "outpoint" + { + "id": "example:withdraw#2", + "method": "withdraw", + "params": { + "destination": "bcrt1q3vhgq40le39keck9ffeaj8lak0p2dvqph48u8m", + "satoshi": 555555, + "feerate": null, + "minconf": null, + "utxos": null } - } - } - }, - "txprepare.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "psbt", - "unsigned_tx", - "txid" - ], - "properties": { - "psbt": { - "type": "string", - "description": "the PSBT representing the unsigned transaction" - }, - "unsigned_tx": { - "type": "hex", - "description": "the unsigned transaction" - }, - "txid": { - "type": "txid", - "description": "the transaction id of *unsigned_tx*; you hand this to lightning-txsend(7) or lightning-txdiscard(7), as the inputs of this transaction are reserved." - } - } - }, - "txsend.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "txid" - ], - "properties": { - "txid": { - "type": "txid", - "description": "The transaction id of the transaction created by **txprepare**" - } - } - }, - "txsend.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "psbt", - "tx", - "txid" - ], - "properties": { - "psbt": { - "type": "string", - "description": "the completed PSBT representing the signed transaction" - }, - "tx": { - "type": "hex", - "description": "the fully signed transaction" - }, - "txid": { - "type": "txid", - "description": "the transaction id of *tx*" - } - } - }, - "unreserveinputs.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt" - ], - "properties": { - "psbt": { - "type": "string", - "description": "inputs to unreserve are the inputs specified in the passed-in *psbt*" }, - "reserve": { - "type": "u32", - "description": "the number of blocks to decrease reservation by; default is 72" - } - } - }, - "unreserveinputs.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "reservations" - ], - "properties": { - "reservations": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": true, - "required": [ - "txid", - "vout", - "was_reserved", - "reserved" - ], - "properties": { - "txid": { - "type": "txid", - "description": "the transaction id" - }, - "vout": { - "type": "u32", - "description": "the output number which was reserved" - }, - "was_reserved": { - "type": "boolean", - "description": "whether the input was already reserved (usually `true`)" - }, - "reserved": { - "type": "boolean", - "description": "whether the input is now reserved (may still be `true` if it was reserved for a long time)" - } - }, - "allOf": [ - { - "if": { - "additionalProperties": true, - "properties": { - "reserved": { - "enum": [ - true - ] - } - } - }, - "then": { - "required": [ - "reserved_to_block" - ], - "properties": { - "txid": {}, - "vout": {}, - "was_reserved": {}, - "reserved": {}, - "reserved_to_block": { - "type": "u32", - "description": "what blockheight the reservation will expire" - } - } - } - } - ] + { + "id": "example:withdraw#3", + "method": "withdraw", + "params": { + "destination": "bcrt1q3nxnaq03lrckj58lefcam7ppx84jdr46m55vfx", + "satoshi": 555555, + "feerate": null, + "minconf": null, + "utxos": null } - } - } - }, - "upgradewallet.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "additionalProperties": false, - "properties": { - "feerate": { - "type": "feerate", - "description": "Feerate for the upgrade transaction", - "added": "v23.02" - }, - "reservedok": { - "type": "boolean", - "description": "Include already reserved funds or not", - "added": "v23.02" - } - } - }, - "upgradewallet.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "upgraded_outs" - ], - "properties": { - "upgraded_outs": { - "type": "u64", - "description": "Count of spent/upgraded UTXOs", - "added": "v23.02" - }, - "psbt": { - "type": "string", - "description": "The PSBT that was finalized and sent", - "added": "v23.02" - }, - "tx": { - "type": "hex", - "description": "The raw transaction which was sent", - "added": "v23.02" - }, - "txid": { - "type": "txid", - "description": "The txid of the **tx**", - "added": "v23.02" - } - } - }, - "utxopsbt.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "satoshi", - "feerate", - "startweight", - "utxos" - ], - "properties": { - "satoshi": { - "type": "msat_or_all", - "description": "the minimum satoshi value of the output(s) needed (or the string `all` meaning use all unreserved inputs). If a value, it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" - }, - "feerate": { - "type": "feerate", - "description": "used for the transaction as initial feerate. The default is *normal*" }, - "startweight": { - "type": "u32", - "description": "the weight of the transaction before *fundpsbt* has added any inputs" - }, - "utxos": { - "type": "array", - "description": "an array of `txid:vout`, each of which must be reserved or available", - "items": { - "type": "outpoint" + { + "id": "example:withdraw#4", + "method": "withdraw", + "params": { + "destination": "bcrt1q0v5zgjg6nfz2ael4r4adq7d8z7vs4dmd84g6cr", + "satoshi": 555555, + "feerate": null, + "minconf": null, + "utxos": null } }, - "reserve": { - "type": "u32", - "description": "if not zero, then *reserveinputs* is called (successfully, with *exclusive* true) on the returned PSBT for this number of blocks. Defaults to 72 blocks if unspecified" - }, - "reservedok": { - "type": "boolean", - "description": "if set to true, it will also fail if any of the *utxos* are already reserved. Default is false" - }, - "locktime": { - "type": "u32", - "description": "if not set, it is set to a recent block height" - }, - "min_witness_weight": { - "type": "u32", - "description": "minimum weight to use for a UTXO's witness. If the actual witness weight is greater than the provided minimum, the actual witness weight will be used" - }, - "excess_as_change": { - "type": "boolean", - "description": "flag to add a change output for the excess sats" - }, - "opening_anchor_channel": { - "added": "v23.08", - "type": "boolean", - "description": "to signel that it needs emergency reserve for anchors so that we can lowball our commitment tx fees, and min-emergency-msat for reserving some sats for closing anchor channels" - } - } - }, - "utxopsbt.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "psbt", - "feerate_per_kw", - "estimated_final_weight", - "excess_msat" - ], - "properties": { - "psbt": { - "type": "string", - "description": "Unsigned PSBT which fulfills the parameters given" + { + "id": "example:withdraw#5", + "method": "withdraw", + "params": { + "destination": "bcrt1qau4e4s6lmn7nek30rfv4zq5vn6pvxw7l9p0krk", + "satoshi": 555555, + "feerate": "253perkw", + "minconf": null, + "utxos": null + } }, - "feerate_per_kw": { - "type": "u32", - "description": "The feerate used to create the PSBT, in satoshis-per-kiloweight" + { + "id": "example:withdraw#6", + "method": "withdraw", + "params": { + "destination": "bcrt1qau4e4s6lmn7nek30rfv4zq5vn6pvxw7l9p0krk", + "satoshi": 555555, + "feerate": "1000perkw", + "minconf": null, + "utxos": null + } }, - "estimated_final_weight": { - "type": "u32", - "description": "The estimated weight of the transaction once fully signed" + { + "id": "example:withdraw#7", + "method": "withdraw", + "params": { + "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "excess_msat": { - "type": "msat", - "description": "The amount above *satoshi* which is available. This could be zero, or dust; it will be zero if *change_outnum* is also returned" + { + "id": "example:withdraw#8", + "method": "withdraw", + "params": { + "destination": "bcrt1qvcwz8dusm56fzde67zca30kssa74eh3zh04cfc", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "change_outnum": { - "type": "u32", - "description": "The 0-based output number where change was placed (only if parameter *excess_as_change* was true and there was sufficient funds)" + { + "id": "example:withdraw#9", + "method": "withdraw", + "params": { + "destination": "bcrt1qcysw6s3x8v74hstnhscw0f3mmxppqa3en8evqt", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "reservations": { - "type": "array", - "description": "If *reserve* was true or a non-zero number, just as per lightning-reserveinputs(7)", - "items": { - "type": "object", - "required": [ - "txid", - "vout", - "was_reserved", - "reserved", - "reserved_to_block" - ], - "additionalProperties": false, - "properties": { - "txid": { - "type": "txid", - "description": "The txid of the transaction" - }, - "vout": { - "type": "u32", - "description": "The 0-based output number" - }, - "was_reserved": { - "type": "boolean", - "description": "Whether this output was previously reserved" - }, - "reserved": { - "type": "boolean", - "enum": [ - true - ], - "description": "Whether this output is now reserved" - }, - "reserved_to_block": { - "type": "u32", - "description": "The blockheight the reservation will expire" - } - } + { + "id": "example:withdraw#10", + "method": "withdraw", + "params": { + "destination": "bcrt1q84payf4ucfcpnt0994arm3f20tqmu29cna738w", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null } - } - } - }, - "wait.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "added": "v23.08", - "additionalProperties": false, - "required": [ - "subsystem", - "indexname", - "nextvalue" - ], - "properties": { - "subsystem": { - "type": "string", - "description": "the subsystem to get the next index value from", - "enum": [ - "invoices", - "forwards", - "sendpays" - ] - }, - "indexname": { - "type": "string", - "description": "the name of the index to get the next value for", - "enum": [ - "created", - "updated", - "deleted" - ] - }, - "nextvalue": { - "type": "u64", - "description": "the next value of the index" - } - } - }, - "wait.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "subsystem" - ], - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "invoices", - "forwards", - "sendpays" - ] }, - "created": { - "type": "u64", - "description": "1-based index indicating order entry was created" + { + "id": "example:withdraw#11", + "method": "withdraw", + "params": { + "destination": "bcrt1q7mlmgjxy4gscgek6w2g885qkf4sunhasjq7ys0", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "updated": { - "type": "u64", - "description": "1-based index indicating order entry was updated" + { + "id": "example:withdraw#12", + "method": "withdraw", + "params": { + "destination": "bcrt1q5sacyx5hjrugpcgn5w2mw9aq7d2tnkwxmmjp06", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "deleted": { - "type": "u64", - "description": "1-based index indicating order entry was deleted" + { + "id": "example:withdraw#13", + "method": "withdraw", + "params": { + "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", + "satoshi": "all", + "feerate": null, + "minconf": 0, + "utxos": null + } }, - "details": {} - }, - "allOf": [ { - "if": { - "additionalProperties": true, - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "invoices" - ] - } - } - }, - "then": { - "additionalProperties": false, - "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "unpaid", - "paid", - "expired" - ], - "description": "Whether it's paid, unpaid or unpayable" - }, - "label": { - "type": "string", - "description": "unique label supplied at invoice creation" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "bolt11": { - "type": "string", - "description": "the BOLT11 string" - }, - "bolt12": { - "type": "string", - "description": "the BOLT12 string" - } - } - } - } + "id": "example:withdraw#14", + "method": "withdraw", + "params": { + "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", + "satoshi": "all", + "feerate": null, + "minconf": 0, + "utxos": null } }, { - "if": { - "additionalProperties": true, - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "forwards" - ] - } - } - }, - "then": { - "additionalProperties": false, - "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "offered", - "settled", - "failed", - "local_failed" - ], - "description": "still ongoing, completed, failed locally, or failed after forwarding" - }, - "in_channel": { - "type": "short_channel_id", - "description": "unique label supplied at invoice creation" - }, - "in_htlc_id": { - "type": "u64", - "description": "the unique HTLC id the sender gave this (not present if incoming channel was closed before ugprade to v22.11)" - }, - "in_msat": { - "type": "msat", - "description": "the value of the incoming HTLC" - }, - "out_channel": { - "type": "short_channel_id", - "description": "the channel that the HTLC (trying to) forward to" - } - } - } - } + "id": "example:withdraw#15", + "method": "withdraw", + "params": { + "destination": "bcrt1qdcsuk0zg34n7e4gtklc958vuyfmkpm5cdwe6jl", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null } }, { - "if": { - "additionalProperties": true, - "properties": { - "subsystem": { - "type": "string", - "enum": [ - "sendpays" - ] - } - } - }, - "then": { - "additionalProperties": false, - "properties": { - "subsystem": {}, - "created": {}, - "updated": {}, - "deleted": {}, - "details": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "pending", - "failed", - "complete" - ], - "description": "status of the payment" - }, - "partid": { - "type": "u64", - "description": "Part number (for multiple parts to a single payment)" - }, - "groupid": { - "type": "u64", - "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - } - } - } - } + "id": "example:withdraw#16", + "method": "withdraw", + "params": { + "destination": "bcrt1q66ukn5mdllddnp53j0mx8mjgph7uwdygn0uy45", + "satoshi": "all", + "feerate": "20000perkb", + "minconf": 0, + "utxos": [ + "218390859cf94d869e33f69161f4187a98f691afe868c20811528f589e90a61f:1" + ] } - } - ] - }, - "waitanyinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "lastpay_index": { - "type": "u64", - "description": "ignores any invoices paid prior to or including this index. 0 is equivalent to not specifying and negative value is invalid" }, - "timeout": { - "type": "u64", - "description": "if specified, wait at most that number of seconds, which must be an integer. If the specified *timeout* is reached, this command will return with an error. You can specify this to 0 so that **waitanyinvoice** will return immediately with an error if no pending invoice is available yet. If unspecified, this command will wait indefinitely" - } - } - }, - "waitanyinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": "unique label supplied at invoice creation" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired" - ], - "description": "Whether it's paid or expired" + { + "id": "example:withdraw#17", + "method": "withdraw", + "params": { + "destination": "bcrt1q9tc6q49l6wrrtp8ul45rj92hsleehwwxty32zu", + "satoshi": "all", + "feerate": "20000perkb", + "minconf": 0, + "utxos": [ + "218390859cf94d869e33f69161f4187a98f691afe868c20811528f589e90a61f:0" + ] + } }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when it will become / became unpayable" + { + "id": "example:withdraw#18", + "method": "withdraw", + "params": { + "destination": "bcrt1q05ydn97l48x788uxsca27ruzuvkvxryr86ht74", + "satoshi": "all", + "feerate": null, + "minconf": null, + "utxos": null + } }, - "amount_msat": { - "type": "msat", - "description": "the amount required to pay this invoice" + { + "id": "example:withdraw#19", + "method": "withdraw", + "params": { + "destination": "bcrt1q48x4ppa58xgc6eaq8ykf50kuyesa5gd5rrqw6g", + "satoshi": 10000, + "feerate": "1500perkb", + "minconf": null, + "utxos": null + } }, - "bolt11": { - "type": "string", - "description": "the BOLT11 string (always present unless *bolt12* is)" + { + "id": "example:withdraw#20", + "method": "withdraw", + "params": { + "destination": "bcrt1qwx6am26cuw38y4863pd6swrce2g8mzhaxr9xp8", + "satoshi": "all", + "feerate": "urgent", + "minconf": 0, + "utxos": null + } }, - "bolt12": { - "type": "string", - "description": "the BOLT12 string (always present unless *bolt11* is)" + { + "id": "example:withdraw#21", + "method": "withdraw", + "params": { + "destination": "bcrt1qmt4t5wdvq03enc7mceqzsjn8z5chsu7tc7qkrq", + "satoshi": 2000000, + "feerate": null, + "minconf": null, + "utxos": null + } }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" + { + "id": "example:withdraw#22", + "method": "withdraw", + "params": { + "destination": "bcrt1qul38q8783fylpc8cckllfguhtpf2epwrc64gcq", + "satoshi": 2000000, + "feerate": null, + "minconf": null, + "utxos": null + } }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)" - } - }, - "allOf": [ { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": "Unique incrementing index for this payment" - }, - "amount_received_msat": { - "type": "msat", - "description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when it was paid" - }, - "paid_outpoint": { - "type": "object", - "description": "Outpoint this invoice was paid with", - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": "ID of the transaction that paid the invoice" - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": "The 0-based output number of the transaction that paid the invoice" - } - } - }, - "payment_preimage": { - "type": "secret", - "description": "proof of payment" - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } + "id": "example:withdraw#23", + "method": "withdraw", + "params": { + "destination": "bcrt1qw508d6qejxtdg4y5r3zarvary0c5xw7kygt080", + "satoshi": 2000000, + "feerate": null, + "minconf": null, + "utxos": null } } - ] - }, - "waitblockheight.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "blockheight" ], - "properties": { - "blockheight": { - "type": "u32", - "description": "current blockheight of the blockchain if the value is greater than this number. If it is a present or past block height, then the command returns immediately" + "example_json_response": [ + { + "tx": "0200000001ef28647baa13cc4c03b8a58c8bd08b69de434c22ff591eb68171ae992e3d816d0000000000fdffffff02237a080000000000160014963d257e99856fd746982c85b3b53bf6a33451b24d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "ccb97d7dc695cabb78b217c0b27d7d00d2941966199480e6443e0680d24d69eb", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAWPCRda9hy4QKqUEmtb7gK7SAqzh1xBP8nZ7PCj+7+JDAAAAAAD9////Akf0EAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WUs/fQpAQAAABYAFOIj6yaI/g85utJBtkPPdK1X59cfAkcwRAIgH7J57HuUTpnCbDrDqE8W7ryuCXk+i/TszQ/NF55lWncCIDeN4y+EzIDP3l2XO5/wjk98krYqnzvEhrStk+0+fTowASEC6Ng5r5KTNIXBRRvjivsd8SKnHF59r/ViDj2+CLJVb75lAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBY0urYSHLnnXaAJH7yaGfvGmm+VuNCNIBhQaJU6iDNEgIgA7EASW+V00Su+lRQAE3Qbe4wavLq7l6Jn2vR+6Snyd0BIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDvKGR7qhPMTAO4pYyL0Itp3kNMIv9ZHraBca6ZLj2BbQEPBAAAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSWPSV+mYVv10aYLIWztTv2ozRRsgz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "timeout": { - "type": "u32", - "description": "only wait up to specified seconds. Defaults to 60 seconds" - } - } - }, - "waitblockheight.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "blockheight" - ], - "properties": { - "blockheight": { - "type": "u32", - "description": "The current block height (>= *blockheight* parameter)" - } - } - }, - "waitinvoice.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "label" - ], - "properties": { - "label": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "unique label of the invoice waiting to be paid" - } - } - }, - "waitinvoice.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "label", - "description", - "payment_hash", - "status", - "created_index", - "expires_at" - ], - "properties": { - "label": { - "type": "string", - "description": "unique label supplied at invoice creation" - }, - "description": { - "type": "string", - "description": "description used in the invoice" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "paid", - "expired" - ], - "description": "Whether it's paid or expired" + { + "tx": "0200000001c49aafa9ecfaf4b8e7cfda3af3a9605b0b0b690374424040f8cb8b7748f7bf850100000000fdffffff02237a0800000000001600148b2e8055ffcc4b6ce2c54a73d91ffdb3c2a6b0014d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a1d000000", + "txid": "d759b68521f314ad2d69b7dd95b2e140a651224294342b24321a82b8923756d2", + "psbt": "cHNidP8BAgQCAAAAAQMEHQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAY1sF6XyLXliNeAZHC2uzr6lRSxdqUJre3W2zK1fXH8nAAAAAAD9////Aiz99CkBAAAAFgAU17KmXaCsgm2Fl+sphjcHUulycw1H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgHyQTjlB5bIxMPMKPooqnGSwg3dV2/7huv1TB5XFeU+0CIFbpKBqQz1feLQCvsWRfUq50UvaO8AuOzOyomrENH/9DASEDaCkPlZc5+DDqWi4eHvyWFCfYeunLhiT+CvQKFqPBQX9lAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBFKU+iebPbFItL/kXhjSE7q93Iy8/gvHa9LZeDoFGmzQIgSlyximzqtgVBlPHs3MgpgtdIoYC3+/zeL8watC5ktWwBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDEmq+p7Pr0uOfP2jrzqWBbCwtpA3RCQED4y4t3SPe/hQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSLLoBV/8xLbOLFSnPZH/2zwqawAQz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "expires_at": { - "type": "u64", - "description": "UNIX timestamp of when it will become / became unpayable" + { + "tx": "0200000001bcd18d85922c6a41487e86978f76559d8a9466a29f44f37a77bf6915104b180f0100000000fdffffff02237a0800000000001600148ccd3e81f1f8f16950ffca71ddf82131eb268eba4d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "17dc33c96c50d9bc466ae96e58591af388007b083a5c81c4426fecb6f4639a8c", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAeHF504P2tRcm3Z74ZXfDoGJLG5nQWSuuxSjvu6tNKrqAAAAAAD9////Aiz99CkBAAAAFgAUz9p3rVbCX1KRJbDbeVBD9ZMU9KVH9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgQwdjWVsEYqYPxQEOWTa2v23GHwDM9zbNGXM4IAu36okCIFx0ScFHrIiR85Er54ZMvgo8HEGm5pRM/+tO5RcQBZNuASEDa1qJyt83YyNfzvzOUhBE087B4eCvjTW6VXKpukieKWJlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBRGFoPEQY49kKUITKEhkOB3aVkfwW8CT2Oo3QsnDKmJQIgHATA6DXGVmE3nd9+NaTbAFO5F9A2FgUX998eMcghCmsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiC80Y2FkixqQUh+hpePdlWdipRmop9E83p3v2kVEEsYDwEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABSMzT6B8fjxaVD/ynHd+CEx6yaOugz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "amount_msat": { - "type": "msat", - "description": "the amount required to pay this invoice" + { + "tx": "02000000011c668fd55dda08273fab0edac7479aebe078a2a60d6da1cc798ef394d7554f970100000000fdffffff02237a0800000000001600147b2824491a9a44aee7f51d7ad079a717990ab76d4d6808000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "51a7cdc312a57a0de0b7bf7c0968da7c003bbdef39cae078ef89ca8393b00542", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAb5DnCpuZc4vd7cV4JGiON4lwWVvoEK8yuTcvh9KqJQ+AAAAAAD9////Aiz99CkBAAAAFgAUczpZi30kmfUCe7kQb5JkGSsoONxH9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgRc/M1UBCkaImlTTpFO6maJ1xitwtcQW9I0Ypzms6/g0CIGfx7E2ACkpQiZgvE+L9enllTVfqa02ExXD1JiSvgXCYASED9kPdHssPLNZVt0iV3kfMlpO+uhUUpo52h/INUwlGqqtlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiATD6vbRRT9DRhqPib1aHeFboY7B4v3I1idoTPlMkxWTwIgWI543mQ1PlL0Mq/5EHblsIVbH7vCzQ3HufZORjNDy/sBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAcZo/VXdoIJz+rDtrHR5rr4Hiipg1tocx5jvOU11VPlwEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABR7KCRJGppEruf1HXrQeacXmQq3bQz8CWxpZ2h0bmluZwQCAAEAAQMITWgIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "bolt11": { - "type": "string", - "description": "the BOLT11 string (always present unless *bolt12* is)" + { + "tx": "02000000014309285f988d0954dec1a42d6a4d02c6b2844d3b882896c9244d54d4aa5e5b890100000000fdffffff02237a080000000000160014ef2b9ac35fdcfd3cda2f1a5951028c9e82c33bdf8a7908000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a19000000", + "txid": "cd8db2ed7b97f8e0dae38477585f7f16436f2f171ccb476733435d9842e585b5", + "psbt": "cHNidP8BAgQCAAAAAQMEGQAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiAvnQ1D05X5V7fK9Ypl3PGNGC+SPFQA1egU/xGlMIv2jAIgHUC7f/WwrDyHKiJD/eRQWr45NqpHEsvrAuNy41GlPBsBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIinkIAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "bolt12": { - "type": "string", - "description": "the BOLT12 string (always present unless *bolt11* is)" + { + "tx": "02000000014309285f988d0954dec1a42d6a4d02c6b2844d3b882896c9244d54d4aa5e5b890100000000fdffffff02237a080000000000160014ef2b9ac35fdcfd3cda2f1a5951028c9e82c33bdfc377080000000000225120eed745804da9784cc203f563efa99ffa54fdf01b137bc964e63c3124070ffbe666000000", + "txid": "d28a2cba55da10700ddd7f1f23618160dafb3134650055654551d9b0382dcd71", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAcqiXMC3oOjim2vyD5XkoaGZIPd8Kjo1FtmxPPuJLiwiAAAAAAD9////Aiz99CkBAAAAFgAUY/b7WYn/A9K6g2BCrgC6B1sjCw5H9BAAAAAAABYAFAH62Qq81maX4lkhZHIt5KlevuFlAkcwRAIgbUPj92pq6iuAhIxRmEmJ4ZDhzNVW0gVExRCYHt6aqqQCIBTeHT4jvaAHOLyGYdZCV8pZwSuu3COFplNS1DxGL8SvASECLv8tndWnnRGoqwk9J6DcIcZV5AMJcoNX7jrvAgXIkAVlAAAAAQEfR/QQAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiB0rZuRaUvFS6TqJUlxxTlZf9tGRfgO690uG/aEZaRwRwIgLN5YqNgAaIIImRwaj3QeU5xt3o9HL7ue6dDMteyXQbgBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiBDCShfmI0JVN7BpC1qTQLGsoRNO4golskkTVTUql5biQEPBAEAAAABEAT9////AAEDCCN6CAAAAAAAAQQWABTvK5rDX9z9PNovGllRAoyegsM73wz8CWxpZ2h0bmluZwQCAAEAAQMIw3cIAAAAAAABBCJRIO7XRYBNqXhMwgP1Y++pn/pU/fAbE3vJZOY8MSQHD/vmIQddNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wkABxxJygMAAAAA" }, - "created_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was created in" + { + "tx": "0200000002bd0a881b9888bfd9ac8e7151c624c046406e686d81f549947132f6a46869ddd10000000000fdffffffd851b373ac45080e8b84a11bb1e7b4fc81d01f89b5fc496ee35d1b4a73a20f000000000000fdffffff0278801a0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488a8610000000000002251206c27e1956acfa61e68292c80908880e813450f754132e8a2ac471a86bf1326b56d000000", + "txid": "96cc9b7c8e3f15be1900dd120d652a067f36d27f3c8bfca5b2e26c58d9c18f32", + "psbt": "cHNidP8BAgQCAAAAAQMEbQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9MQECAAAAAAEC5UOEwzSI0Zfihb3dooWK5JnfsJfrchPgnfeDzbzFKJkBAAAAAP3///9Y4pYG252MnrSjf+hB2B4BYcaBCkrEHRSgTxu1Aj5I2wEAAAAA/f///wFx2g4AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAUCKYxPyP5MpIK4mEMsSO4PQBEo9Us+eoUlnaFP48Lw1S11ISGjcXnjERzk1dW+/q5N+oMgtCrMcudr62LOmsOQPAkcwRAIgcynJhimGMom13EZvmouOO33z1eIaUo2kDMm+LH8rtz4CIBB6Q1grzLlhiznR3Yzp+8s4xc8Bd0z60EvVjDBv0IFLASghAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLrHNkYLJoZwAAAAEBH3HaDgAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgP1Y8I5Eze25V9tEKiVtUHj4499+4Z6N06933wVmiWcMCIGaEcWX0XgiT5EgfNvtS9jWTLZnYJNrCUKBUKU5fHUZLASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEBDwQAAAAAARAE/f///wABAOoCAAAAAAEBWOKWBtudjJ60o3/oQdgeAWHGgQpKxB0UoE8btQI+SNsDAAAAAAUAAAABdyEMAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUANHMEQCIEbXNNKRwzG2QgY9ac9lyUZElAN6xihzNTjgFbZJBgTzAiB14NRVW01I81IwmQdSXWT0aARoxbxmTcU3ToLC7Lbs6gEAS2MhA4vxnDPMUZSfkvATF+kAGpuQVvmNdLPBreK3ArC1dG47Z1WydSEDyVUzCcfxDP7qAPl+ex+JV6L60/13qBT2WqqHa2NkdW1orAAAAAABAR93IQwAAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQIgICXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9HMEQCIAo0HQLQxfTIR1rPhOfJQuN9l5AQ1/RaWiF8jL8PpiDAAiA1J+orGh0WEDQHEqFqJxybPo6W1ELuFgcecnAmUzxWBgEiBgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/wgHHEnKAAAAAAEOINhRs3OsRQgOi4ShG7HntPyB0B+JtfxJbuNdG0pzog8AAQ8EAAAAAAEQBP3///8AIgICucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wQAAAABAwh4gBoAAAAAAAEEFgAU1rlp023/2tmGkZP2Y+5IDf3HNIgM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtSEHWnm7u0BtS8KN8F+mqHMoz7AqfhN0O+zc0d/P4HHC4BAJAH0I2ZcFAAAAAA==" }, - "updated_index": { - "type": "u64", - "added": "v23.08", - "description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)" - } - }, - "allOf": [ { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "paid" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "pay_index", - "amount_received_msat", - "paid_at", - "payment_preimage" - ], - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "expires_at": {}, - "created_index": {}, - "updated_index": {}, - "pay_index": { - "type": "u64", - "description": "Unique incrementing index for this payment" - }, - "amount_received_msat": { - "type": "msat", - "description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)" - }, - "paid_at": { - "type": "u64", - "description": "UNIX timestamp of when it was paid" - }, - "paid_outpoint": { - "type": "object", - "description": "Outpoint this invoice was paid with", - "added": "v23.11", - "additionalProperties": false, - "required": [ - "txid", - "outnum" - ], - "properties": { - "txid": { - "added": "v23.11", - "type": "txid", - "description": "ID of the transaction that paid the invoice" - }, - "outnum": { - "added": "v23.11", - "type": "u32", - "description": "The 0-based output number of the transaction that paid the invoice" - } - } - }, - "payment_preimage": { - "type": "secret", - "description": "proof of payment" - } - } - }, - "else": { - "additionalProperties": false, - "properties": { - "label": {}, - "description": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "bolt11": {}, - "bolt12": {}, - "created_index": {}, - "updated_index": {}, - "expires_at": {} - } - } - } - ] - }, - "waitsendpay.request.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "payment_hash" - ], - "properties": { - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage*" + "tx": "0200000002328fc1d9586ce2b2a5fc8b3c7fd2367f062a650d12dd0019be153f8e7c9bcc960100000000fdffffff328fc1d9586ce2b2a5fc8b3c7fd2367f062a650d12dd0019be153f8e7c9bcc960000000000fdffffff02b0661a0000000000160014661c23b790dd3491373af0b1d8bed0877d5cde22a861000000000000225120888ab14b6e1655d1d00039b836d70b66e3351543ab6cd2f94166255f3d5e6cb56e000000", + "txid": "edcb9a43e7190da3c09e042be56322c1bb4ae9285aa4fb59647c7942b4d40231", + "psbt": "cHNidP8BAgQCAAAAAQMEbgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9fgECAAAAAAECvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEAAAAAAP3////YUbNzrEUIDouEoRux57T8gdAfibX8SW7jXRtKc6IPAAAAAAAA/f///wJ4gBoAAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQJHMEQCID9WPCORM3tuVfbRColbVB4+OPffuGejdOvd98FZolnDAiBmhHFl9F4Ik+RIHzb7UvY1ky2Z2CTawlCgVClOXx1GSwEhAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/AkcwRAIgCjQdAtDF9MhHWs+E58lC432XkBDX9FpaIXyMvw+mIMACIDUn6isaHRYQNAcSoWonHJs+jpbUQu4WBx5ycCZTPFYGASECXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9tAAAAAQErqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQEOIDKPwdlYbOKypfyLPH/SNn8GKmUNEt0AGb4VP458m8yWAQ8EAQAAAAEQBP3///8BE0Am0Xi54QwhHaY2t88wPKbf5fHStFYfIJd7ArfPJX4hkajO7ZJYb234Oc32QZK8up66uJGzmfQMYabB1wC8S1mmIRZaebu7QG1Lwo3wX6aocyjPsCp+E3Q77NzR38/gccLgEAkAfQjZlwAAAAAAAQD9fgECAAAAAAECvQqIG5iIv9msjnFRxiTARkBuaG2B9UmUcTL2pGhp3dEAAAAAAP3////YUbNzrEUIDouEoRux57T8gdAfibX8SW7jXRtKc6IPAAAAAAAA/f///wJ4gBoAAAAAABYAFNa5adNt/9rZhpGT9mPuSA39xzSIqGEAAAAAAAAiUSBsJ+GVas+mHmgpLICQiIDoE0UPdUEy6KKsRxqGvxMmtQJHMEQCID9WPCORM3tuVfbRColbVB4+OPffuGejdOvd98FZolnDAiBmhHFl9F4Ik+RIHzb7UvY1ky2Z2CTawlCgVClOXx1GSwEhAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/AkcwRAIgCjQdAtDF9MhHWs+E58lC432XkBDX9FpaIXyMvw+mIMACIDUn6isaHRYQNAcSoWonHJs+jpbUQu4WBx5ycCZTPFYGASECXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f9tAAAAAQEfeIAaAAAAAAAWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iCICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXRzBEAiAB+1jf1D/5GhPOyAsCcqnSDj8RgH4p8rjN50pF0SmOUgIga9tvN+EJPiHVd3CqmRUccj7v2tkiawnbONNjbPMMk+EBIgYCucDGhE4SpTHJaOVcVQeOwW2b92vpKQ/YfRzKcrSDmhcI1rlp0wAAAAABDiAyj8HZWGzisqX8izx/0jZ/BiplDRLdABm+FT+OfJvMlgEPBAAAAAABEAT9////ACICA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCGYcI7cGAAAAAQMIsGYaAAAAAAABBBYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iDPwJbGlnaHRuaW5nBAIAAQABAwioYQAAAAAAAAEEIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUhByjMj8l44gnxaV+ltWVQYdsaqyMRtSQXaUW/EBXvLUuJCQCftnv8BwAAAAA=" }, - "timeout": { - "type": "u32", - "description": "a timeout in seconds, for this RPC command to return. If the *timeout* is provided and the given amount of time passes without the payment definitely succeeding or definitely failing, this command returns with a 200 error code (payment still in progress). If *timeout* is not provided this call will wait indefinitely. Indicating a *timeout* of 0 effectively makes this call a pollable query of the status of the payment" + { + "tx": "02000000023102d4b442797c6459fba45a28e94abbc12263e52b049ec0a30d19e7439acbed0100000000fdffffff3102d4b442797c6459fba45a28e94abbc12263e52b049ec0a30d19e7439acbed0000000000fdffffff02e84c1a0000000000160014c120ed42263b3d5bc173bc30e7a63bd982107639a8610000000000002251203e1f6e576130235ac47081f3a1c9ddd896c61c8666ccbcafbfa35f3d32251fdc6f000000", + "txid": "4bfa9555e5f975a1f541a9bc4bb63e6a3e23d9c058b5abefa3857c720d1da720", + "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECMo/B2Vhs4rKl/Is8f9I2fwYqZQ0S3QAZvhU/jnybzJYBAAAAAP3///8yj8HZWGzisqX8izx/0jZ/BiplDRLdABm+FT+OfJvMlgAAAAAA/f///wKwZhoAAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iqGEAAAAAAAAiUSCIirFLbhZV0dAAObg21wtm4zUVQ6ts0vlBZiVfPV5stQFAJtF4ueEMIR2mNrfPMDym3+Xx0rRWHyCXewK3zyV+IZGozu2SWG9t+DnN9kGSvLqeuriRs5n0DGGmwdcAvEtZpgJHMEQCIAH7WN/UP/kaE87ICwJyqdIOPxGAfinyuM3nSkXRKY5SAiBr22834Qk+IdV3cKqZFRxyPu/a2SJrCds402Ns8wyT4QEhArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXbgAAAAEBK6hhAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUBDiAxAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QEPBAEAAAABEAT9////ARNAE2N9ns8Up5vd5SzGQf3p93wCTkOnVaj3xfG6qFfiXbduwrTZ8bMyAdMyMMnw0V9aU6doFYoQIzOkBCCd7CmqgCEWKMyPyXjiCfFpX6W1ZVBh2xqrIxG1JBdpRb8QFe8tS4kJAJ+2e/wAAAAAAAEA/VUBAgAAAAABAjKPwdlYbOKypfyLPH/SNn8GKmUNEt0AGb4VP458m8yWAQAAAAD9////Mo/B2Vhs4rKl/Is8f9I2fwYqZQ0S3QAZvhU/jnybzJYAAAAAAP3///8CsGYaAAAAAAAWABRmHCO3kN00kTc68LHYvtCHfVzeIqhhAAAAAAAAIlEgiIqxS24WVdHQADm4NtcLZuM1FUOrbNL5QWYlXz1ebLUBQCbReLnhDCEdpja3zzA8pt/l8dK0Vh8gl3sCt88lfiGRqM7tklhvbfg5zfZBkry6nrq4kbOZ9AxhpsHXALxLWaYCRzBEAiAB+1jf1D/5GhPOyAsCcqnSDj8RgH4p8rjN50pF0SmOUgIga9tvN+EJPiHVd3CqmRUccj7v2tkiawnbONNjbPMMk+EBIQK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaF24AAAABAR+wZhoAAAAAABYAFGYcI7eQ3TSRNzrwsdi+0Id9XN4iIgID+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5HMEQCIA+GFWFvLzTPeVe6YGA1hFWZ5IB3CiRJ00VjGNGUBEgWAiA/wmGu4h9MCpvBVVGV8LxpgGSIWTV+TG2VkwSYHMvNogEiBgP6nJUIXkKx5QA80fQYF4wwyW5K53lUyg/EjFiCb/TrDghmHCO3AAAAAAEOIDEC1LRCeXxkWfukWijpSrvBImPlKwSewKMNGedDmsvtAQ8EAAAAAAEQBP3///8AIgICn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYIwSDtQggAAAABAwjoTBoAAAAAAAEEFgAUwSDtQiY7PVvBc7ww56Y72YIQdjkM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3CEHXG2GGW9KyjHaw7kzoxHi88sYrirjOWnfvG0Eu+m3B2wJAKmLhhcJAAAAAA==" }, - "partid": { - "type": "u64", - "description": "unique ID within this (multi-part) payment. It must match that of the **sendpay** command" + { + "tx": "020000000220a71d0d727c85a3efabb558c0d9233e6a3eb64bbca941f5a175f9e55595fa4b0000000000fdffffff20a71d0d727c85a3efabb558c0d9233e6a3eb64bbca941f5a175f9e55595fa4b0100000000fdffffff0220331a00000000001600143d43d226bcc27019ade52d7a3dc52a7ac1be28b8a861000000000000225120754a77b503fcba0fd80f0a1a8226ed6764ff9a9d9bb61b485d40d4c9f4be245970000000", + "txid": "9ead882110a4542ee922936e720ad318a36503d812bcdc7c4aac18de80fe78bf", + "psbt": "cHNidP8BAgQCAAAAAQMEcAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECMQLUtEJ5fGRZ+6RaKOlKu8EiY+UrBJ7Aow0Z50Oay+0BAAAAAP3///8xAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QAAAAAA/f///wLoTBoAAAAAABYAFMEg7UImOz1bwXO8MOemO9mCEHY5qGEAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AFAE2N9ns8Up5vd5SzGQf3p93wCTkOnVaj3xfG6qFfiXbduwrTZ8bMyAdMyMMnw0V9aU6doFYoQIzOkBCCd7CmqgAJHMEQCIA+GFWFvLzTPeVe6YGA1hFWZ5IB3CiRJ00VjGNGUBEgWAiA/wmGu4h9MCpvBVVGV8LxpgGSIWTV+TG2VkwSYHMvNogEhA/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsObwAAAAEBH+hMGgAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjkiAgKfwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9kcwRAIgRcw5AWYqH2m8bH6aJHLdrcrpBFaSNraGdY1ykgCRhuICIAyjdF34DhKqX3hbnauC3bnMhtTm6bzmr1fnHEnP7qWyASIGAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2CMEg7UIAAAAAAQ4gIKcdDXJ8haPvq7VYwNkjPmo+tku8qUH1oXX55VWV+ksBDwQAAAAAARAE/f///wABAP1VAQIAAAAAAQIxAtS0Qnl8ZFn7pFoo6Uq7wSJj5SsEnsCjDRnnQ5rL7QEAAAAA/f///zEC1LRCeXxkWfukWijpSrvBImPlKwSewKMNGedDmsvtAAAAAAD9////AuhMGgAAAAAAFgAUwSDtQiY7PVvBc7ww56Y72YIQdjmoYQAAAAAAACJRID4fbldhMCNaxHCB86HJ3diWxhyGZsy8r7+jXz0yJR/cAUATY32ezxSnm93lLMZB/en3fAJOQ6dVqPfF8bqoV+Jdt27CtNnxszIB0zIwyfDRX1pTp2gVihAjM6QEIJ3sKaqAAkcwRAIgD4YVYW8vNM95V7pgYDWEVZnkgHcKJEnTRWMY0ZQESBYCID/CYa7iH0wKm8FVUZXwvGmAZIhZNX5MbZWTBJgcy82iASED+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w5vAAAAAQErqGEAAAAAAAAiUSA+H25XYTAjWsRwgfOhyd3YlsYchmbMvK+/o189MiUf3AEOICCnHQ1yfIWj76u1WMDZIz5qPrZLvKlB9aF1+eVVlfpLAQ8EAQAAAAEQBP3///8BE0CSD5oeEb/MUV8lEgib3Bf4cfJH0MSNy73y/hHm4LAOk/h6wCf+oy94glJ1K8r37Z2mcHO9Z0CFvTjYDJhKXPJ+IRZcbYYZb0rKMdrDuTOjEeLzyxiuKuM5ad+8bQS76bcHbAkAqYuGFwAAAAAAIgICilmRaNPJfevHG8ZuYnDs8FTzANiIMJugVHGkghdd2TAIPUPSJgoAAAABAwggMxoAAAAAAAEEFgAUPUPSJrzCcBmt5S16PcUqesG+KLgM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWSEHJyqaJfH/7VL6sEosyIrqsTW1NyOFao8UgcJkF/iKki4JANVcSTkLAAAAAA==" }, - "groupid": { - "type": "u64", - "description": "grouping key to disambiguate multiple attempts to pay the same payment_hash" - } - } - }, - "waitsendpay.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "id", - "created_index", - "payment_hash", - "status", - "created_at", - "amount_sent_msat" - ], - "properties": { - "created_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was created in" - }, - "id": { - "type": "u64", - "description": "old synonym for created_index" - }, - "groupid": { - "type": "u64", - "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash" - }, - "payment_hash": { - "type": "hash", - "description": "the hash of the *payment_preimage* which will prove payment" - }, - "status": { - "type": "string", - "enum": [ - "complete" - ], - "description": "status of the payment" + { + "tx": "0200000002bf78fe80de18ac4a7cdcbc12d80365a318d30a726e9322e92e54a4102188ad9e0000000000fdffffffbf78fe80de18ac4a7cdcbc12d80365a318d30a726e9322e92e54a4102188ad9e0100000000fdffffff0258191a0000000000160014f6ffb448c4aa218466da729073d0164d61c9dfb0a8610000000000002251206eb79aa39ef0fccf71c1d78b7bc6460b6d450ca95af49e7d762ef9ef98d58c6171000000", + "txid": "cc29c744b45f71817e3d436054b2a2b708665c65fafa24c7b29f907b83f0b0a2", + "psbt": "cHNidP8BAgQCAAAAAQMEcQAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECIKcdDXJ8haPvq7VYwNkjPmo+tku8qUH1oXX55VWV+ksAAAAAAP3///8gpx0NcnyFo++rtVjA2SM+aj62S7ypQfWhdfnlVZX6SwEAAAAA/f///wIgMxoAAAAAABYAFD1D0ia8wnAZreUtej3FKnrBvii4qGEAAAAAAAAiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQJHMEQCIEXMOQFmKh9pvGx+miRy3a3K6QRWkja2hnWNcpIAkYbiAiAMo3Rd+A4Sql94W52rgt25zIbU5um85q9X5xxJz+6lsgEhAp/BzQHy0ncLgoHiurwaTCRe3Te7ctEuIHI6ad9PXwH2AUCSD5oeEb/MUV8lEgib3Bf4cfJH0MSNy73y/hHm4LAOk/h6wCf+oy94glJ1K8r37Z2mcHO9Z0CFvTjYDJhKXPJ+cAAAAAEBHyAzGgAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLgiAgKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMEcwRAIgPFJ4hmVOYQwUtP5NhWl0Ix2pQ2mmpbLYCnzku5GL7xMCIHMuOhF4Vr1EwCuvFAuk6CGgwEdEk+4d0JBJMMyWaFHYASIGAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwCD1D0iYAAAAAAQ4gv3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4BDwQAAAAAARAE/f///wABAP1VAQIAAAAAAQIgpx0NcnyFo++rtVjA2SM+aj62S7ypQfWhdfnlVZX6SwAAAAAA/f///yCnHQ1yfIWj76u1WMDZIz5qPrZLvKlB9aF1+eVVlfpLAQAAAAD9////AiAzGgAAAAAAFgAUPUPSJrzCcBmt5S16PcUqesG+KLioYQAAAAAAACJRIHVKd7UD/LoP2A8KGoIm7Wdk/5qdm7YbSF1A1Mn0viRZAkcwRAIgRcw5AWYqH2m8bH6aJHLdrcrpBFaSNraGdY1ykgCRhuICIAyjdF34DhKqX3hbnauC3bnMhtTm6bzmr1fnHEnP7qWyASECn8HNAfLSdwuCgeK6vBpMJF7dN7ty0S4gcjpp309fAfYBQJIPmh4Rv8xRXyUSCJvcF/hx8kfQxI3LvfL+EebgsA6T+HrAJ/6jL3iCUnUryvftnaZwc71nQIW9ONgMmEpc8n5wAAAAAQErqGEAAAAAAAAiUSB1Sne1A/y6D9gPChqCJu1nZP+anZu2G0hdQNTJ9L4kWQEOIL94/oDeGKxKfNy8EtgDZaMY0wpybpMi6S5UpBAhiK2eAQ8EAQAAAAEQBP3///8BE0C9NF+kJ4Se1SCFnJekbnrAC9Gpwld1R2nshgxqk5ZYUVeeqBLMqWaOIvGSWdkwg5/D/cJXmsW+jL6T8F32UwpLIRYnKpol8f/tUvqwSizIiuqxNbU3I4VqjxSBwmQX+IqSLgkA1VxJOQAAAAAAIgID82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAwAAAABAwhYGRoAAAAAAAEEFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AM/AlsaWdodG5pbmcEAgABAAEDCKhhAAAAAAAAAQQiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYSEH0DT3iPQQwuwtidFh3zw3FfllJIqlPqzkY9EOykQ+sfIJAN+tquENAAAAAA==" }, - "amount_msat": { - "type": "msat", - "description": "The amount delivered to destination (if known)" + { + "tx": "0200000002a2b0f0837b909fb2c724fafa655c6608b7a2b25460433d7e81715fb444c729cc0000000000fdffffffa2b0f0837b909fb2c724fafa655c6608b7a2b25460433d7e81715fb444c729cc0100000000fdffffff0290ff190000000000160014a43b821a9790f880e113a395b717a0f354b9d9c6a861000000000000225120eef2c37cc851b95151c76108b4a3745c49b181eedacd18dbd6d3d1b18019d71b72000000", + "txid": "857aeb96e3c6275a360e3b8fe0c4598efe1c9d4299362ce12cc28c392d121579", + "psbt": "cHNidP8BAgQCAAAAAQMEcgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQD9VQECAAAAAAECv3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4AAAAAAP3///+/eP6A3hisSnzcvBLYA2WjGNMKcm6TIukuVKQQIYitngEAAAAA/f///wJYGRoAAAAAABYAFPb/tEjEqiGEZtpykHPQFk1hyd+wqGEAAAAAAAAiUSBut5qjnvD8z3HB14t7xkYLbUUMqVr0nn12LvnvmNWMYQJHMEQCIDxSeIZlTmEMFLT+TYVpdCMdqUNppqWy2Ap85LuRi+8TAiBzLjoReFa9RMArrxQLpOghoMBHRJPuHdCQSTDMlmhR2AEhAopZkWjTyX3rxxvGbmJw7PBU8wDYiDCboFRxpIIXXdkwAUC9NF+kJ4Se1SCFnJekbnrAC9Gpwld1R2nshgxqk5ZYUVeeqBLMqWaOIvGSWdkwg5/D/cJXmsW+jL6T8F32UwpLcQAAAAEBH1gZGgAAAAAAFgAU9v+0SMSqIYRm2nKQc9AWTWHJ37AiAgPzbPnPchR72YAE3/3Lw4/kX1QKar7w60mohVoF3bb02kYwQwIgD7xkeNpipx4FvQki8ujC5nVh6ofvzLOfosUkxL9due4CHy7iIKOlB3ape2pqQwpQb9kqujU+/v37oySkCfizSEMBIgYD82z5z3IUe9mABN/9y8OP5F9UCmq+8OtJqIVaBd229NoI9v+0SAAAAAABDiCisPCDe5Cfssck+vplXGYIt6KyVGBDPX6BcV+0RMcpzAEPBAAAAAABEAT9////AAEA/VUBAgAAAAABAr94/oDeGKxKfNy8EtgDZaMY0wpybpMi6S5UpBAhiK2eAAAAAAD9////v3j+gN4YrEp83LwS2ANloxjTCnJukyLpLlSkECGIrZ4BAAAAAP3///8CWBkaAAAAAAAWABT2/7RIxKohhGbacpBz0BZNYcnfsKhhAAAAAAAAIlEgbreao57w/M9xwdeLe8ZGC21FDKla9J59di7575jVjGECRzBEAiA8UniGZU5hDBS0/k2FaXQjHalDaaalstgKfOS7kYvvEwIgcy46EXhWvUTAK68UC6ToIaDAR0ST7h3QkEkwzJZoUdgBIQKKWZFo08l968cbxm5icOzwVPMA2Igwm6BUcaSCF13ZMAFAvTRfpCeEntUghZyXpG56wAvRqcJXdUdp7IYMapOWWFFXnqgSzKlmjiLxklnZMIOfw/3CV5rFvoy+k/Bd9lMKS3EAAAABASuoYQAAAAAAACJRIG63mqOe8PzPccHXi3vGRgttRQypWvSefXYu+e+Y1YxhAQ4gorDwg3uQn7LHJPr6ZVxmCLeislRgQz1+gXFftETHKcwBDwQBAAAAARAE/f///wETQPbH79WGnvnH36GNs/KUoaOZBMVjtUPezAFvaN9lKrgxWRZ9dIq6ykg/kM10TztWT3envmnYx6Cppp95rb0zcrUhFtA094j0EMLsLYnRYd88NxX5ZSSKpT6s5GPRDspEPrHyCQDfrarhAAAAAAAiAgJn9EaP+v5vkZrocfV/CWkEZ/SU6D4DWNxk0QRy+QcvTAikO4IaDgAAAAEDCJD/GQAAAAAAAQQWABSkO4Ial5D4gOETo5W3F6DzVLnZxgz8CWxpZ2h0bmluZwQCAAEAAQMIqGEAAAAAAAABBCJRIO7yw3zIUblRUcdhCLSjdFxJsYHu2s0Y29bT0bGAGdcbIQf1OO+Vq3hf7fiQgdrr0IVQqROxUwTTbFy71e8TzLvo3wkAgIZywg8AAAAA" }, - "destination": { - "type": "pubkey", - "description": "the final destination of the payment if known" + { + "tx": "0200000003035d8929ad4e3c40272dc7124a482777e2081edee4fa2da317467090b8ca15fd0000000000fdffffffcd67693079743b762781ef649f56190f0c27cdc088f981d619a263ead47c2c950100000000fdffffff8f70a4f8af7f11fadc4fe9670333a1b63051c3f61c200b550c9eb66618082ed00100000000fdffffff012f0e1e0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488d5000000", + "txid": "c68f7dcd9b649c5630d163bb7abe01f20b06af998cf216f86b0f210b582b8e09", + "psbt": "cHNidP8BAgQCAAAAAQME1QAAAAEEAQMBBQEBAQYBAwH7BAIAAAAAAQD9KAECAAAAAAEBj3Ck+K9/EfrcT+lnAzOhtjBRw/YcIAtVDJ62ZhgILtAAAAAAAAAAAAABwGYBAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUANHMEQCIGbRPAPZo7h6hzmyJULhqobFjFx9FCp6jsr5s6muQsAQAiBA9ZT7DtaopB5dEazCwHaQbfac94+3l0DEoJ5REdFaMwEAiXapFIUXt4Tb6Z641DKi95gahR574se3h2OsZyEDC2UmIbiLqgtbIhMh3Sl+Or7mY+EntljuJkIfIxyOC+d8ggEgh2OpFJgEW2YbY2uHQtS9L8U9ha026guJiFJ8IQPyxjegXhb08lJKAwmDo+xwQoHHgL1x+MzN06MXKgm/NFKuZ3UBcbF1rGhocQAAAAEBH8BmAQAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgdTXBQL5WjsvEJH+bKfxLrRovGDATZ0xEvRizFySXxW4CIE1I1Xzzd04Y5gsCs0tnTF5l2bmyiX4giGvuojEOjH1VASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gA12JKa1OPEAnLccSSkgnd+IIHt7k+i2jF0ZwkLjKFf0BDwQAAAAAARAE/f///wABAPYCAAAAAAEBYnAgy5sX9Opwb9V2/VCVWt9zZLE77ng4FDIOvi/5jnoAAAAAAP3///8CQEIPAAAAAAAiACBbjNO5FM9nzdj6YnPJMDU902R2c0+9liECwt9TuQiAzQEvDwAAAAAAIlEgY//uTqfVHmyt+QhuKGolJ5IqqiW4xTrr8y+jKgpif1oCRzBEAiB91Hiju3dhTQtnD1F7jLT1Ci2Njo3dPHQN4N2jtAonCwIgRgnrZp13aJnMYFQLN935zEdorxJoEQD/ce3zRur66WEBIQPXRURck2JmXyLg2W6edm8nPzJg3qOcina/oF3SaE3cz2YAAAABASsBLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAQ4gzWdpMHl0O3Ynge9kn1YZDwwnzcCI+YHWGaJj6tR8LJUBDwQBAAAAARAE/f///wETQHfQSwqdfNtZCWCC0gaa0rz7xjtUuBYqU7AES8r+kBlx2uVR0aBLWhc7EQDSrqiS93vu4lPquN9xoClu2sFu8AUhFpFFMoEqRApNdmxxzTkZNpSjQK4R4BLluhrZ77pudspTCQDCzKsXAAAAAAABAP1ZAQIAAAAAAQHNZ2kweXQ7dieB72SfVhkPDCfNwIj5gdYZomPq1HwslQAAAAAAnbDigAKghgEAAAAAACIAIHNlfYfj8PLFdeWjLSNfw6JlKIfNHq0gYl6ikinzvpwsHJUNAAAAAAAWABTomVT6yPei3OUeCV1761Jxw/faVgQARzBEAiA9kzjQ3BEP21y3er+SifRD1y+Ehr3cYOWEA5rOag4dnwIgJQRPp2Yfj32E2wjTLlKI+s/5OkSGVW41fKgqLkdpk/UBRzBEAiAQjrynTW5we0H+O4pSOVlG80LKi1dRByziQ/cqwHJ2CwIgdCs1Fa19wvc62ImdoKFDAazmPnpCL3QT4syI3ZHr32QBR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1Kumz7WIAEBHxyVDQAAAAAAFgAU6JlU+sj3otzlHglde+tSccP32lYiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgCxB4DWz68n/SiuCHXo/32wuX3ZMYL/sazut2KCKjGjoCIF8FOU+GcU7dtlm5HLvYWNUU6bOlFnJMNMs5WuLTIja+ASIGAi28AFPdbzMQ2E5V7rqs+tU/4+PsPCzssc/+vdlfqAY/COiZVPoAAAAAAQ4gj3Ck+K9/EfrcT+lnAzOhtjBRw/YcIAtVDJ62ZhgILtABDwQBAAAAARAE/f///wAiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaFwjWuWnTBAAAAAEDCC8OHgAAAAAAAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iAz8CWxpZ2h0bmluZwQCAAEA" }, - "created_at": { - "type": "u64", - "description": "the UNIX timestamp showing when this payment was initiated" + { + "tx": "0200000003ffd55f50f5bc89da6bf1fe5c7f3ed183e80e249fbc9d8ab16e7251db2afe6864030000000001000000000554386fe4e603667acf6c6f7fc9faf7038d374dcaeb57c8e567e99d98fe750000000000fdffffff5e4afb102b424a25108adc2f6d102609d1a72ff98bc2000acef2fd2d52b31ce80000000000fdffffff01e9df1d0000000000160014d6b969d36dffdad9869193f663ee480dfdc73488cc000000", + "txid": "5b885bece0f3cfa652145876313e03a3a55575eaadd0a18fb0386e15d5969671", + "psbt": "cHNidP8BAgQCAAAAAQMEzAAAAAEEAQMBBQEBAQYBAwH7BAIAAAAAAQD9uwECAAAAAAEB2fvyePcFq9vMP8TAyhgLyE29sie2CKLUeG8Fll5OaT8AAAAAAJ2w4oAESgEAAAAAAAAiACAOGgiz2jvqanp3MV+Vr81Yn+eZr0bPm/uJUjFygUBQ5EoBAAAAAAAAIgAgvnk1p3ypq3CkuLGQaCVjd2f+08AIJKqQyYiYNYfWhIighgEAAAAAACIAIET1ySztNEnmx9Sz4W4TGGrqkyvrNnhAujZ96BohWchyCqYNAAAAAAAiACBHAhaEEp+KocC1uX3Jlgf18IULVIgTpdo0b9oiURKEdQQARzBEAiANqSWkiA4czv/RMLtqSt9Pv7QvxsE5Tn6Ux1Aiwelq5AIgPe6l61soheQ7YuuStmZR4FNKkb4xM16BrECMzF+lPeABRzBEAiAKG3uz0jyUdT8XY+SEJXrWvg4g2y5WLiKpZy9TGbTFvgIgVgzWO6nFBymNUg9uaOluRxIb0Jbj0tYV2PoscPGFCbgBR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1Kumz7WIAEBKwqmDQAAAAAAIgAgRwIWhBKfiqHAtbl9yZYH9fCFC1SIE6XaNG/aIlEShHUiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgbBt56xkPGytI58eV1htTbwPtjMfoLPH5Yhrz2XsCKr0CIGyvBbVmeeqXnZMAw+S1+QuIlxv9PqcTYGbZxeUUJ2RYAQEFJSECLbwAU91vMxDYTlXuuqz61T/j4+w8LOyxz/692V+oBj+tUbIiBgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGPwjomVT6AAAAAAEOIP/VX1D1vInaa/H+XH8+0YPoDiSfvJ2KsW5yUdsq/mhkAQ8EAwAAAAEQBAEAAAAAAQD9MQECAAAAAAEC2fvyePcFq9vMP8TAyhgLyE29sie2CKLUeG8Fll5OaT8BAAAAAP3/////1V9Q9byJ2mvx/lx/PtGD6A4kn7ydirFuclHbKv5oZAEAAAAA/f///wH67w4AAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQAUDcXjJouu/Ge2n02d9LDQPWd1PAMmXc4FQqTGxP5C8u8KwAfb0N6LNEQNoqrUmkWQKDqQTRSkrQZFgHXpAS/JQCAkcwRAIgV2CmaHqObkmwVzMUz9eBar/BADHHkAwnUjL14wqeFckCIGM1zpWMB0pBJrd1a3mCa69l/gb55JXPtt96omg7FeCBASghAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLrHNkYLJoaAAAAAEBH/rvDgAAAAAAFgAUBxxJytL0IPPIBfn2uYpXJpyxQVAiAgJdNygIKfGGy5lc3MvyOKtFZAE5OXNROWMko2V13zTd/0cwRAIgWO5sDTeMIuQBakZH9PlbVesV4ROvRwdQ5oE1tSgV0L4CIFO7lvUABb73MAaWGTi44k41D+Z8niWIo+jS6Se/QEudASIGAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CAccScoAAAAAAQ4gAAVUOG/k5gNmes9sb3/J+vcDjTdNyutXyOVn6Z2Y/nUBDwQAAAAAARAE/f///wABAP0rAQIAAAAAAQH/1V9Q9byJ2mvx/lx/PtGD6A4kn7ydirFuclHbKv5oZAIAAAAAAQAAAAGTZgEAAAAAABYAFAccScrS9CDzyAX59rmKVyacsUFQA0cwRAIgGwOoX8PVTWL1tpJTKrAyoXNMYmaNJVfK2LzOxS++s7MCIFHSakRcSNiOQET0TJXqeYpyq3Olly0xZf0SrLpTE8pJgwCMdqkUhRe3hNvpnrjUMqL3mBqFHnvix7eHY6xnIQMLZSYhuIuqC1siEyHdKX46vuZj4Se2WO4mQh8jHI4L53yCASCHY6kUmARbZhtja4dC1L0vxT2FrTbqC4mIUnwhA/LGN6BeFvTyUkoDCYOj7HBCgceAvXH4zM3ToxcqCb80Uq5ndQFxsXWsaFGydWhxAAAAAQEfk2YBAAAAAAAWABQHHEnK0vQg88gF+fa5ilcmnLFBUCICAl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/RzBEAiAX/dUafrMQ8Yvy99oJNAGuo2IygOHz0ygjmcqp7eutagIgelVpcNamNjztlbauqil32aBTt8VA7fAy+Y4pEGXtCAgBIgYCXTcoCCnxhsuZXNzL8jirRWQBOTlzUTljJKNldd803f8IBxxJygAAAAABDiBeSvsQK0JKJRCK3C9tECYJ0acv+YvCAArO8v0tUrMc6AEPBAAAAAABEAT9////ACICArnAxoROEqUxyWjlXFUHjsFtm/dr6SkP2H0cynK0g5oXCNa5adMEAAAAAQMI6d8dAAAAAAABBBYAFNa5adNt/9rZhpGT9mPuSA39xzSIDPwJbGlnaHRuaW5nBAIAAQA=" }, - "updated_index": { - "added": "v23.11", - "type": "u64", - "description": "1-based index indicating order this payment was changed (only present if it has changed since creation)" + { + "tx": "0200000002192552c979fd632fb3c46df9d5a7f6f971d8555d9ecf13b5593e85148aba7e4903000000000100000037033533bff966a88940231d2c8c6769b64bd9ff400e0ee462c17160fa3779950100000000fdffffff01333c1b00000000001600146e21cb3c488d67ecd50bb7f05a1d9c227760ee98cb000000", + "txid": "3ba6d3c090c9db218f77d8542dcf88db2ff31e47e2a6f6cb4f06d1f4150fbb6b", + "psbt": "cHNidP8BAgQCAAAAAQMEywAAAAEEAQIBBQEBAQYBAwH7BAIAAAAAAQD9uwECAAAAAAEBNwM1M7/5ZqiJQCMdLIxnabZL2f9ADg7kYsFxYPo3eZUAAAAAAJ2w4oAESgEAAAAAAAAiACAOGgiz2jvqanp3MV+Vr81Yn+eZr0bPm/uJUjFygUBQ5EoBAAAAAAAAIgAgvnk1p3ypq3CkuLGQaCVjd2f+08AIJKqQyYiYNYfWhIhADQMAAAAAACIAIPLho8naksqgnjv26HsBeo3n+B89EIzUXgv2nYsLYVIZ8CEMAAAAAAAiACBHAhaEEp+KocC1uX3Jlgf18IULVIgTpdo0b9oiURKEdQQARzBEAiA/3qEC8zd2fVQKJZtVRXmx25OPznDEENCj8uJMvu9jaQIgFAJYoFZku1ki9gO6G7RahYdKhdsU/x/tqi2RCz2OjAQBRzBEAiBt+qYvDojpBvN2RMX2l0PHCDgp6INfWiG60qnTu8eGWAIgB8gJe0thTybrB9dFr8ntLT4UbPVmNulLk+rIUjvOGXABR1IhAjJCZt6EA7OrFXoJ8feE1YevYYMcmYwVG8whu3TCsjFLIQLjvTgAmGbJ2o7EqpnMTqnGwN1G3xXGHvDOHycSkXFOV1KumD7WIAEBK/AhDAAAAAAAIgAgRwIWhBKfiqHAtbl9yZYH9fCFC1SIE6XaNG/aIlEShHUiAgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGP0cwRAIgaHwndIrN539+Lf6DKoaXC4vPDyVPsqkyY9TY5QY1pa4CIBtKcDagBDGBJiFlSNTX8Qxi5mlHs8/6fQgDKBPoHaTKAQEFJSECLbwAU91vMxDYTlXuuqz61T/j4+w8LOyxz/692V+oBj+tUbIiBgItvABT3W8zENhOVe66rPrVP+Pj7Dws7LHP/r3ZX6gGPwjomVT6AAAAAAEOIBklUsl5/WMvs8Rt+dWn9vlx2FVdns8TtVk+hRSKun5JAQ8EAwAAAAEQBAEAAAAAAQD2AgAAAAABAS2QE7MlCRrDSZyKjX0WvC3dRd96LxZr2kS7HK2wgyujAQAAAAD9////AkBCDwAAAAAAIgAgW4zTuRTPZ83Y+mJzyTA1PdNkdnNPvZYhAsLfU7kIgM0BLw8AAAAAACJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aAkcwRAIgX5Cr9FzZYU5kEml+A7KBBdMnwEzS0mrSDt47QRt0QLMCIC79yOsL0ngGKNkrOM5KoJ/w4RAoLxhnaYGbMKAy8mEzASED10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M9mAAAAAQErAS8PAAAAAAAiUSBj/+5Op9UebK35CG4oaiUnkiqqJbjFOuvzL6MqCmJ/WgEOIDcDNTO/+WaoiUAjHSyMZ2m2S9n/QA4O5GLBcWD6N3mVAQ8EAQAAAAEQBP3///8BE0Ce8/CtIMHj34WyAWfSWfx61AlDDw7Hsok1yfdj2gvsNaSe41UGnfA+7PAbmUUZt2Wx918NFgYGa6MOpXUIAhExIRaRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwAAAAAAAQMIMzwbAAAAAAABBBYAFG4hyzxIjWfs1Qu38FodnCJ3YO6YDPwJbGlnaHRuaW5nBAIAAQA=" }, - "completed_at": { - "type": "number", - "description": "the UNIX timestamp showing when this payment was completed" + { + "tx": "02000000011fa6909e588f521108c268e8af91f6987a18f46191f6339e864df99c859083210100000000fdffffff0158070f0000000000160014d6b969d36dffdad9869193f663ee480dfdc7348867000000", + "txid": "ad9a712a201214c68c39ca5be68c9d153d1cac91e540d88aa3207b241e23acf8", + "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQEBAQYBAwH7BAIAAAAAAQD9ZQECAAAAAAEBVa+m1d1amChv4Dwq1rVoS4KSm0BUUnVa3fUYcB3dH9oAAAAAAP////8CECcAAAAAAAAiUSBXeaBg8gDUDo+HGkDrkWFMxb+m0KX4UuBTQAp/7/hhUOEPDwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YEAEcwRAIgPsWO/4IxeW6OclDdXVnwL99X7B18sRlxgFqyvUAzN7gCIGOQOq0wZ6bV+wdYQP+9sH8IkfmqWZbQRRDkZEgfcprMAUcwRAIgb5/dI4+uVhluQjSA2q/3oAGxZd4vYzQWexfmcRQML7ECIFfgRwCaHYdyu5/H5moOPlfQlLc2gPgB6bgtfNSfRA6jAUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgAAAAABASvhDw8AAAAAACJRIO7XRYBNqXhMwgP1Y++pn/pU/fAbE3vJZOY8MSQHD/vmAQ4gH6aQnliPUhEIwmjor5H2mHoY9GGR9jOehk35nIWQgyEBDwQBAAAAARAE/f///wETQL0MqyYsx9Z9q14BhByMgWLW4oJHOqED5qcZ3wyJ4eDuLYfNGq6Ck30dAqFzJL4VhZLSuv87zN/1AEDNMl2DmTohFl03KAgp8YbLmVzcy/I4q0VkATk5c1E5YySjZXXfNN3/CQAHHEnKAAAAAAAiAgK5wMaEThKlMclo5VxVB47BbZv3a+kpD9h9HMpytIOaFwjWuWnTBAAAAAEDCFgHDwAAAAAAAQQWABTWuWnTbf/a2YaRk/Zj7kgN/cc0iAz8CWxpZ2h0bmluZwQCAAEA" }, - "amount_sent_msat": { - "type": "msat", - "description": "The amount sent" + { + "tx": "02000000011fa6909e588f521108c268e8af91f6987a18f46191f6339e864df99c859083210000000000fdffffff0267110000000000001600142af1a054bfd3863584fcfd6839155787f39bb9c6c4090000000000002251208a16c01895ce90fb7b33bede1ceb6e390d13e453836b33413b5d6c608037616a67000000", + "txid": "ef557913b9068eab505d8c090c062e100df24a82c5bf759e8fea721484cc8faa", + "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD9ZQECAAAAAAEBVa+m1d1amChv4Dwq1rVoS4KSm0BUUnVa3fUYcB3dH9oAAAAAAP////8CECcAAAAAAAAiUSBXeaBg8gDUDo+HGkDrkWFMxb+m0KX4UuBTQAp/7/hhUOEPDwAAAAAAIlEg7tdFgE2peEzCA/Vj76mf+lT98BsTe8lk5jwxJAcP++YEAEcwRAIgPsWO/4IxeW6OclDdXVnwL99X7B18sRlxgFqyvUAzN7gCIGOQOq0wZ6bV+wdYQP+9sH8IkfmqWZbQRRDkZEgfcprMAUcwRAIgb5/dI4+uVhluQjSA2q/3oAGxZd4vYzQWexfmcRQML7ECIFfgRwCaHYdyu5/H5moOPlfQlLc2gPgB6bgtfNSfRA6jAUdSIQIyQmbehAOzqxV6CfH3hNWHr2GDHJmMFRvMIbt0wrIxSyEC4704AJhmydqOxKqZzE6pxsDdRt8Vxh7wzh8nEpFxTldSrgAAAAABASsQJwAAAAAAACJRIFd5oGDyANQOj4caQOuRYUzFv6bQpfhS4FNACn/v+GFQAQ4gH6aQnliPUhEIwmjor5H2mHoY9GGR9jOehk35nIWQgyEBDwQAAAAAARAE/f///wETQOK6HA4oGD8rHHXLhYYxoaHbwtb9ivu7wIeJZPvh/DHql78S3Ld2tM46AfcvPYqBpzp5AfC75iMvqMGtE7fCRVIhFgfsKzVTRxLYauAw3Zv67Aji3eoewc7P+5cl7XrLEqtmCQAnIT4iAAAAAAAiAgKv8NfCnGLPlGp5DZolEOblC+6iHqDuS5wwE7yMdh8N2ggq8aBUAgAAAAEDCGcRAAAAAAAAAQQWABQq8aBUv9OGNYT8/Wg5FVeH85u5xgz8CWxpZ2h0bmluZwQCAAEAAQMIxAkAAAAAAAABBCJRIIoWwBiVzpD7ezO+3hzrbjkNE+RTg2szQTtdbGCAN2FqIQfBB4gjpPZJefBRIMuNVT6sYPBHqgjl6widcQvb1+dIUAkAYe0GwAMAAAAA" }, - "label": { - "type": "string", - "description": "the label, if given to sendpay" + { + "tx": "0200000001e935dd9712222fe8301e28ab574e3c228bf09b7a2de284979f7578cfab29b3d60000000000fdffffff0279570f00000000001600147d08d997dfa9cde39f86863aaf0f82e32cc30c83a8610000000000002251200074d77f5dd03ef95c484b0ca005ad182f148869ebebcd025c3cc5dcf0c0f7aa0f000000", + "txid": "9bce338147c166ba63e8fa6b420b39850e6942fd7b1bd0d7a13b02ac26127304", + "psbt": "cHNidP8BAgQCAAAAAQMEDwAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAdpKryw62sFH7NQCvk5k+eltne2pgj54TdCNreUbXdcaAAAAAAD9////AvjKDwAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WV7JvYpAQAAABYAFCte1k2QSKdtx8ryIU8sKO2pV8hgAkcwRAIgG7tjw3x2G8QLFlXar4GJgNfc7Oyl87vWPS3y6NL/2+8CIAaT4ktam/9As7UNc1KYR6DNvAuOdEllfj+5tYKVcU/nASEDxMjzkON0jtavdgPEOtjK9nshymcqcWOtFEZyMmK5iIBlAAAAAQEf+MoPAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiB3oWvYq71Qb+1qJB/h+42LrH/hJ+m9PvrNFCWjEjJ4sgIgfeaJ0Zs4f8/Y9gSg14bUL4hb7quNigUjvOIJ3Le3iewBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiDpNd2XEiIv6DAeKKtXTjwii/Cbei3ihJefdXjPqymz1gEPBAAAAAABEAT9////ACICA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQCH0I2ZcFAAAAAQMIeVcPAAAAAAABBBYAFH0I2Zffqc3jn4aGOq8PguMswwyDDPwJbGlnaHRuaW5nBAIAAQABAwioYQAAAAAAAAEEIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96ohB/qclQheQrHlADzR9BgXjDDJbkrneVTKD8SMWIJv9OsOCQBmHCO3BgAAAAA=" }, - "partid": { - "type": "u64", - "description": "the *partid*, if given to sendpay" + { + "tx": "020000000108bf2824cfb29d7f854ac32bf3e26e49cd725851c1da928d84c38f8f9798b3060000000000fdffffff021027000000000000160014a9cd5087b439918d67a0392c9a3edc2661da21b48c6e98000000000022512063ffee4ea7d51e6cadf9086e286a2527922aaa25b8c53aebf32fa32a0a627f5a66000000", + "txid": "565101f3ed6750b770515ea2ed08356e5c06ff7cbf3aae88306547e5868c1663", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAW6nIt7yXUjjC7iUOByKhNa+orTL+gdtep3imA9dBLt9AAAAAAD9////AoCWmAAAAAAAFgAUAfrZCrzWZpfiWSFkci3kqV6+4WXzWm0pAQAAABYAFJ+u2nva4D4lYsLhC1k3jnmV7iRFAkcwRAIgdU+npeaMkwZ85hJOpvNWRBuhwx4VfQkJyFTMd4IG3jcCICdrF+pkEKs2eBqlLqde48jQtGBiruqZS61Vf1er2YlvASECNDZR31NGyO9A2W7hAKs1pS1L1Sb+E+PbGwPYVzFYI0BJAAAAAQEfgJaYAAAAAAAWABQB+tkKvNZml+JZIWRyLeSpXr7hZSICA9dFRFyTYmZfIuDZbp52byc/MmDeo5yKdr+gXdJoTdzPRzBEAiBYpvPWIfTKZJHa/fHCjV2SFTW+hLL0QvI6qvfn1cnnnAIgQ+sJFijCAUoM/R5R7YuTTJ9qMCSIaHooJdOXkVsYwioBIgYD10VEXJNiZl8i4NlunnZvJz8yYN6jnIp2v6Bd0mhN3M8IAfrZCgAAAAABDiAIvygkz7Kdf4VKwyvz4m5JzXJYUcHako2Ew4+Pl5izBgEPBAAAAAABEAT9////AAEDCBAnAAAAAAAAAQQWABSpzVCHtDmRjWegOSyaPtwmYdohtAz8CWxpZ2h0bmluZwQCAAEAAQMIjG6YAAAAAAABBCJRIGP/7k6n1R5srfkIbihqJSeSKqoluMU66/MvoyoKYn9aIQeRRTKBKkQKTXZscc05GTaUo0CuEeAS5boa2e+6bnbKUwkAwsyrFwIAAAAA" }, - "bolt11": { - "type": "string", - "description": "the bolt11 string (if pay supplied one)" + { + "tx": "020000000105367d955e1535cc2411e3d8dd5039c9481b6aff5986486e971e822c2f7491290100000000fdffffff02884390000000000016001471b5ddab58e3a27254fa885ba83878ca907d8afda86100000000000022512035f1184f6b470c9df347da62c4b28e7ec9ee10b220bac3accd22209def0036ea37010000", + "txid": "4c6daff959187daa5c44c94269b0e1080e7cc81f2cd4ca47322d57c759d54f81", + "psbt": "cHNidP8BAgQCAAAAAQMENwEAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQD9YQECAAAAAAECXIx5ZAW+ix/NriSjhCRCd8OKNwUp60kLvVNRkLhAKbAAAAAAAP3///9jFoyG5UdlMIiuOr98/wZcbjUI7aJeUXC3UGft8wFRVgEAAAAA/f///wJAQg8AAAAAACIAID8XMMJ9R75YUQFr5o9JjhNlNi3qWI8fPk4ejTjDaBDfW7+QAAAAAAAiUSAAdNd/XdA++VxISwygBa0YLxSIaevrzQJcPMXc8MD3qgJHMEQCID5faIHN5XRIs0KpNN4ikDbauJJ3UUGM8pxU+os6j8zhAiA+rruVi6Uk+NVwQR4VVwP+Vslal69xrh2W58BySWm8XgEhA1p5u7tAbUvCjfBfpqhzKM+wKn4TdDvs3NHfz+BxwuAQAUBEPjSXl5RjF1Dcikj+KJUWgQDIELsuMoKhWydqbGu5scAyoGm4tQkHWxKiM3YoopVruT3M+k90kG4DkoNIqjrPNwEAAAEBK1u/kAAAAAAAIlEgAHTXf13QPvlcSEsMoAWtGC8UiGnr680CXDzF3PDA96oBDiAFNn2VXhU1zCQR49jdUDnJSBtq/1mGSG6XHoIsL3SRKQEPBAEAAAABEAT9////ARNAl53BOtm3jGDGiTydPF8xd6AkmA6R/O4xtYLeZp7MoI6RV6p/lavNIuK9TLSp5CcSu6Dk+RdB4PoateB9J4fM0iEW+pyVCF5CseUAPNH0GBeMMMluSud5VMoPxIxYgm/06w4JAGYcI7cAAAAAAAEDCIhDkAAAAAAAAQQWABRxtd2rWOOiclT6iFuoOHjKkH2K/Qz8CWxpZ2h0bmluZwQCAAEAAQMIqGEAAAAAAAABBCJRIDXxGE9rRwyd80faYsSyjn7J7hCyILrDrM0iIJ3vADbqIQefwc0B8tJ3C4KB4rq8GkwkXt03u3LRLiByOmnfT18B9gkAwSDtQggAAAAA" }, - "bolt12": { - "type": "string", - "description": "the bolt12 string (if supplied for pay: **experimental-offers** only)." - } - }, - "allOf": [ { - "if": { - "properties": { - "status": { - "type": "string", - "enum": [ - "complete" - ] - } - } - }, - "then": { - "additionalProperties": false, - "required": [ - "payment_preimage" - ], - "properties": { - "id": {}, - "created_index": {}, - "updated_index": {}, - "groupid": {}, - "payment_hash": {}, - "status": {}, - "msatoshi": {}, - "amount_msat": {}, - "destination": {}, - "created_at": {}, - "completed_at": {}, - "msatoshi_sent": {}, - "amount_sent_msat": {}, - "label": {}, - "partid": {}, - "bolt11": {}, - "bolt12": {}, - "payment_preimage": { - "type": "secret", - "description": "the proof of payment: SHA256 of this **payment_hash**" - } - } - } + "tx": "02000000024aa3f86800531a70e9e34bdde43a2cac6fcb9ac4d89a0e04821ec6b5fde47f160100000000fdffffff05748f065bc16ffb6893385a00dab1d7231ba98528be3a47c07ab7cfa9ce64c80000000000fdffffff0280841e0000000000160014daeaba39ac03e399e3dbc640284a6715317873cbb86a1e0000000000225120e5e06ee61cb1ca619c0631b77869197db45245763f2c7a43d6f69382643dd66b66000000", + "txid": "31a7bfa4adf0c83696d3d2a69b4c8c058648d3d03fc0f0b5a67b4e22d8c0c14e", + "psbt": "cHNidP8BAgQCAAAAAQMEZgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAR1dwZcbh5pEYG5gYXuOfxjGQbyeggM5lusQk8gbBQ5xAQAAAAD9////AszdiykBAAAAFgAU5uWMLe2zKW9P83kgYXBxYZsNiHCAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukTAkcwRAIgBpUyhKQQv1TO+tvhKWMLJ/5tCJI31hzwyMQp4lW7qvcCIAzXJmTEteNJTKMbT8NLTCzS0t9CRqIxgVsx61O2n+P0ASEDwh4StRgYSzG1fABhnSVlqrI1BrT9J/tacm3g126ez89lAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiBOAEcAa3gzjPbfPAZiufXAILfh/1KhJJ4S0oMTrv+ZlgIgRGtqBX/a0Orte1MC1u5qAmcq9nX0/qX1E4ajsmGujnIBIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiBKo/hoAFMacOnjS93kOiysb8uaxNiaDgSCHsa1/eR/FgEPBAEAAAABEAT9////AAEA3gIAAAAAAQGd7xn1sdxO/5DSsDVef3xQXVvPFSPs2hImdTYII/CwEwAAAAAA/f///wKAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukT82znKQEAAAAWABTjY/Z0R8rhvcWk7bq8gbxFTmWHNAJHMEQCIHT0bmdP7bh6lRUoY5uKoGjGNZ+V7ab1eu/0Kv9HDsSyAiA7fvGrOaVk5QD5C3hxV+b/hbwclwjiHlwMcx27LAuACwEhA+3qtOG6uckDPfj3OszXur71IDad0ynBs9LfUaHbZ33rZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgOBFgbLruguo2h8Ge4FnLQj4C9S3hItE2OmRyszsyu8wCIC8V4uPgkYFfExuKcH2C95MGPHAkhgsl7yN9SzHCFp04ASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4gBXSPBlvBb/tokzhaANqx1yMbqYUovjpHwHq3z6nOZMgBDwQAAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAU2uq6OawD45nj28ZAKEpnFTF4c8sM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSDl4G7mHLHKYZwGMbd4aRl9tFJFdj8sekPW9pOCZD3WayEHORL7lcC5s41ff5BsdX43iTQZeDJru1CtENbtyhAh3+EJABRUaCYCAAAAAA==" + }, + { + "tx": "020000000225dcab677aa7c1ee90ee97874f6f0cfc7d85eb4d07deda79e8a9e3e7ed9525fe0100000000fdffffff967418907d8547ae19cd26088786cedb43a336923e208df094841e4d778d27aa0100000000fdffffff0280841e0000000000160014e7e2701fc78a49f0e0f8c5bff4a3975852ac85c3b86a1e00000000002251205b4972a47a6043ece413cd0e21ed9b840c18cf2077fa5cd04e9a0aa2764ceb1067000000", + "txid": "4ec8f34860db4762ba13710039a1eb94e06779b958a5e6fbb73c710fef1e4da1", + "psbt": "cHNidP8BAgQCAAAAAQMEZwAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAQV0jwZbwW/7aJM4WgDasdcjG6mFKL46R8B6t8+pzmTIAQAAAAD9////AubnyCkBAAAAFgAUV0y8eSUL/50Np0KJiIi7gK6+xe+AhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukTAkcwRAIgPm/Ne5QXCM2EYaJ+Cp1sTCSkQ7Pb89AlrMhVSlh5uYUCIDVfGdTYBQtUeoRPOEeVBI9wgPT17LRrpJzkSGJPtvrdASED1LHwKSR5NYtSgBW2Ljv+xQz5/1N3ANNUHEbsnu7SLvplAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiBb79hSbgX4s60u08PuNZlJejoJ0k/C7/URpmbUqtp3egIgE9CyAhOBp7hQRsVGtntCQBzKJFttUOypF8icyQbclHcBIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiAl3KtneqfB7pDul4dPbwz8fYXrTQfe2nnoqePn7ZUl/gEPBAEAAAABEAT9////AAEA3gIAAAAAAQFw1W3/Gh6ha9XkUhae1rUQjshd6FQtSYtuMaKL9sF/xAEAAAAA/f///wKLRPMoAQAAABYAFHvtoLAlHl0Fi6c+265GqKRKbSTDgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEwJHMEQCIF5frdfzP1HhkAwCckDq5eRJNJc6zY6PbeFhEEdOi2etAiASHXEV9OsbZ0TMVBqSaPNjPH0fdtV6fsG55DXVaojOKAEhA47GoaxQ+yp9IjtjJ9t4+vpJQigYfkngySf5FDSTFAp3ZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgJZ+ukW48IAMnXonqC6lUo3G2l/d9v1MsQyjWIFofabICIDfFlyhb5zKUXWGtct/hdTgx9xtM2NyIy6lfwlxonXd9ASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4glnQYkH2FR64ZzSYIh4bO20OjNpI+II3wlIQeTXeNJ6oBDwQBAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAU5+JwH8eKSfDg+MW/9KOXWFKshcMM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSBbSXKkemBD7OQTzQ4h7ZuEDBjPIHf6XNBOmgqidkzrECEHbz7HZQkyGVrEK4k+nivM/v8MjExkjGNMNsvv7UY2yyUJAOCJqkwDAAAAAA==" + }, + { + "tx": "020000000270d56dff1a1ea16bd5e452169ed6b5108ec85de8542d498b6e31a28bf6c17fc40000000000fdffffff1d5dc1971b879a44606e60617b8e7f18c641bc9e82033996eb1093c81b050e710000000000fdffffff0280841e0000000000160014751e76e8199196d454941c45d1b3a323f1433bd6b86a1e0000000000225120843666153026bcae10d8110313b9cb3dcf753780ba9f6f9f0c8f7abbaa4327cd68000000", + "txid": "52abe1f921cba93bc9b946995c7eca1fee5c71af0455582fbd87fd0331ee34a9", + "psbt": "cHNidP8BAgQCAAAAAQMEaAAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQDeAgAAAAABAbpxKde7v/tbBPG6iVvbhq9/Aj5dfz3mpCTwVbyJ1tmnAQAAAAD9////AoCEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6ROYyREpAQAAABYAFI5sli6uk0SAlJMTEtwMgMah4NzSAkcwRAIga+9CmjMnJkWcnJwRoEwlJ2u/f4lnjIhJouQkDigS+ekCIEvhDjQnH6Qtn12fXG9Y32xpYvDmhcQgCigYDCKGGEVJASEDrAIsPWuwLckI+ZvgYuf4dz35YPqD4Vfw/QiCgSoM0nplAAAAAQEfgIQeAAAAAAAWABSa/FFQh+GLdZXel6/FOsh2hz7pEyICAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6RzBEAiB7Y58YzfLSwiWsuShrhsi47t73FPm+SN+f3tpabRSOdAIgEHy24uHVHH3G1NYyKa2naafKANiewxJ6xOPorKNtytABIgYCPH1AKGUO+aenCEURnxErNQTHDbwG66c79avrN22HefoImvxRUAAAAAABDiBw1W3/Gh6ha9XkUhae1rUQjshd6FQtSYtuMaKL9sF/xAEPBAAAAAABEAT9////AAEA3gIAAAAAAQEl3KtneqfB7pDul4dPbwz8fYXrTQfe2nnoqePn7ZUl/gAAAAAA/f///wKAhB4AAAAAABYAFJr8UVCH4Yt1ld6Xr8U6yHaHPukT2WKqKQEAAAAWABSXP+P1u79PWnIfRbf9dJjnhVggawJHMEQCIDqTLjJYMTWnPOAnqqtuNGl8h9SZMa0HpFbl22i3ybSYAiBhZgMwOQrusYAiLtiWtyIbHTXqow6I4aK3L41HZoWrmwEhArp6DeNqWj3NirvkmhJhzHgdPKekpEl3eFYAdu3bI8l2ZQAAAAEBH4CEHgAAAAAAFgAUmvxRUIfhi3WV3pevxTrIdoc+6RMiAgI8fUAoZQ75p6cIRRGfESs1BMcNvAbrpzv1q+s3bYd5+kcwRAIgQZKEKA9kr8MJ7qHejYwaMaDkLqA/f1pI6SSqsUKVPFQCICfBmEa4TjsVqbRDMQ9XdEJK7MZU8jl05c6wfuYbp9HNASIGAjx9QChlDvmnpwhFEZ8RKzUExw28BuunO/Wr6zdth3n6CJr8UVAAAAAAAQ4gHV3BlxuHmkRgbmBhe45/GMZBvJ6CAzmW6xCTyBsFDnEBDwQAAAAAARAE/f///wABAwiAhB4AAAAAAAEEFgAUdR526BmRltRUlBxF0bOjI/FDO9YM/AlsaWdodG5pbmcEAgABAAEDCLhqHgAAAAAAAQQiUSCENmYVMCa8rhDYEQMTucs9z3U3gLqfb58Mj3q7qkMnzSEHjAoKOTe8xw97be+3aahNZ0Be0N46Qg/NsxHnCvi75EAJALPxeM4EAAAAAA==" } + ], + "author": [ + "Felix <> is mainly responsible." + ], + "see_also": [ + "lightning-listfunds(7)", + "lightning-fundchannel(7)", + "lightning-newaddr(7)", + "lightning-txprepare(7)", + "lightning-feerates(7)" + ], + "resources": [ + "Main web site: " ] }, - "withdraw.request.json": { + "sendonionmessage.request.json": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "required": [ - "destination", - "satoshi" + "first_id", + "blinding", + "hops" ], "properties": { - "destination": { - "type": "string", - "description": "any Bitcoin accepted type, including bech32" - }, - "satoshi": { - "type": "msat_or_all", - "description": "the amount to be withdrawn from the internal wallet (expressed, as name suggests, in satoshi). The string *all* can be used to specify withdrawal of all available funds (but if we have any anchor channels, this will always leave at least `min-emergency-msat` as change). Otherwise, it is in satoshi precision; it can be a whole number, a whole number ending in *sat*, a whole number ending in *000msat*, or a number with 1 to 8 decimal places ending in *btc*" - }, - "feerate": { - "type": "feerate", - "description": "used for the withdrawal as initial feerate. The default is *normal*" + "first_id": { + "type": "pubkey", + "description": "the (presumably well-known) public key of the start of the path" }, - "minconf": { - "type": "u16", - "description": "minimum number of confirmations that used outputs should have. Default is 1" + "blinding": { + "type": "pubkey", + "description": "blinding factor for this path" }, - "utxos": { + "hops": { "type": "array", - "description": "specifies the utxos to be used to be withdrawn from, as an array of `txid:vout`. These must be drawn from the node's available UTXO set", + "description": "", "items": { - "type": "outpoint" + "type": "object", + "additionalProperties": false, + "required": [ + "node", + "tlv" + ], + "properties": { + "node": { + "type": "pubkey", + "description": "public key of the node" + }, + "tlv": { + "type": "u8", + "description": "contains a hexadecimal TLV to include" + } + } } } } - }, - "withdraw.schema.json": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "psbt", - "tx", - "txid" - ], - "properties": { - "tx": { - "type": "hex", - "description": "the fully signed bitcoin transaction" - }, - "txid": { - "type": "txid", - "description": "the transaction id of *tx*" - }, - "psbt": { - "type": "string", - "description": "the PSBT representing the unsigned transaction" - } - } } } \ No newline at end of file diff --git a/doc/Makefile b/doc/Makefile index d4bf397c1ceb..be24cf943c09 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -126,6 +126,11 @@ GENERATE_MARKDOWN := doc/lightning-addgossip.7 \ doc/lightning-waitsendpay.7 \ doc/lightning-withdraw.7 +ifeq ($(HAVE_SQLITE3),1) +GENERATE_MARKDOWN += doc/lightning-listsqlschemas.7 \ + doc/lightning-sql.7 +endif + MANPAGES := $(GENERATE_MARKDOWN) \ doc/lightning-cli.1 \ doc/lightningd.8 \ @@ -134,17 +139,20 @@ MANPAGES := $(GENERATE_MARKDOWN) \ doc/lightning-hsmtool.8 \ doc/reckless.7 -ifeq ($(HAVE_SQLITE3),1) -GENERATE_MARKDOWN += doc/lightning-listsqlschemas.7 -MANPAGES += doc/lightning-listsqlschemas.7 \ - doc/lightning-sql.7 -endif - MARKDOWN_WITH_SCHEMA := $(GENERATE_MARKDOWN:=.md) +doc/schemas/lightning-sql.json: plugins/sql + @plugins/sql --print-docs | jq --arg sqldata "$$(awk '{printf "%s\n", $$0}')" '.tables += [$$sqldata]' "$@" > "$@.tmp" && mv "$@.tmp" "$@" + doc-all: $(MANPAGES) doc/index.rst SCHEMAS := $(wildcard doc/schemas/lightning-*.json) + +# Don't try to build lightning-sql.json tables with plugins/sql if we don't have sqlite3 +ifeq ($(HAVE_SQLITE3),0) +SCHEMAS := $(filter-out doc/schemas/lightning-sql.json, $(SCHEMAS)) +endif + check-fmt-schemas: $(SCHEMAS:%=check-fmt-schema/%) fmt-schemas: $(SCHEMAS:%=fmt-schema/%) @@ -180,14 +188,6 @@ $(MANPAGES): doc/%: doc/%.md tools/md2man.sh version_gen.h $(MANPAGES): $(FORCE) $(MARKDOWN_WITH_SCHEMA): $(FORCE) -# Use awk for preamble, then again for post, with the new docs in the middle. -# We can't put plugins/sql in deps directly, since they all get sha256! -doc/.sqlgen: plugins/sql - @plugins/sql --print-docs > $@ - -doc/lightning-sql.7.md: doc/.sqlgen $(FORCE) - @if $(call SHA256STAMP_CHANGED); then $(call VERBOSE, "sql-print-docs $@", awk "/GENERATE-DOC-START/ { print \$$0; exit } { print \$$0 }" < $@ > $@.tmp && cat doc/.sqlgen >> $@.tmp && (awk "/GENERATE-DOC-END/ { PRINT=1 } { if (PRINT) { print \$$0 } }" | grep -v SHA256STAMP) < $@ >> $@.tmp && mv $@.tmp $@ && $(call SHA256STAMP,[comment]: # $(LBRACKET),$(RBRACKET))); else touch $@; fi - doc/protocol-%.svg: test/test_protocol test/test_protocol --svg < test/commits/$*.script > $@ diff --git a/doc/lightning-sql.7.md b/doc/lightning-sql.7.md index 1e7093f6b315..709ea0a94c1f 100644 --- a/doc/lightning-sql.7.md +++ b/doc/lightning-sql.7.md @@ -4,31 +4,48 @@ lightning-sql -- Command to do complex queries on list commands SYNOPSIS -------- -**sql** *query* +**sql** *query* DESCRIPTION ----------- -The **sql** RPC command runs the given query across a sqlite3 database -created from various list commands. +Command *added* in v23.02. -When tables are accessed, it calls the above commands, so it's no -faster than any other local access (though it goes to great length to -cache `listnodes` and `listchannels`) which then processes the results. +The **sql** RPC command runs the given query across a sqlite3 database created from various list commands. -It is, however faster for remote access if the result of the query is -much smaller than the list commands would be. +When tables are accessed, it calls the below commands, so it's no faster than any other local access (though it goes to great length to cache `listnodes` and `listchannels`) which then processes the results. -Note that queries like "SELECT *" are fragile, as columns will -change across releases; see lightning-listsqlschemas(7). +It is, however faster for remote access if the result of the query is much smaller than the list commands would be. + +- **query** (string): The standard sqlite3 query to run. + Note that queries like "SELECT *" are fragile, as columns will change across releases; see lightning-listsqlschemas(7). + +PERMITTED SQLITE3 FUNCTIONS +--------------------------- + +Writing to the database is not permitted, and limits are placed on various other query parameters. + +Additionally, only the following functions are allowed: + +* abs +* avg +* coalesce +* count +* hex +* quote +* length +* like +* lower +* upper +* min +* max +* sum +* total TREATMENT OF TYPES ------------------ -The following types are supported in schemas, and this shows how they -are presented in the database. This matters: a JSON boolean is -represented as an integer in the database, so a query will return 0 or -1, not true or false. +The following types are supported in schemas, and this shows how they are presented in the database. This matters: a JSON boolean is represented as an integer in the database, so a query will return 0 or 1, not true or false. * *hex*. A hex string. * JSON: a string @@ -56,344 +73,19 @@ represented as an integer in the database, so a query will return 0 or * JSON: string * sqlite3: TEXT -PERMITTED SQLITE3 FUNCTIONS ---------------------------- - -Writing to the database is not permitted, and limits are placed -on various other query parameters. - -Additionally, only the following functions are allowed: - -* abs -* avg -* coalesce -* count -* hex -* quote -* length -* like -* lower -* upper -* min -* max -* sum -* total - TABLES ------ -Note that the first column of every table is a unique integer called -`rowid`: this is used for related tables to refer to specific rows in -their parent. sqlite3 usually has this as an implicit column, but we -make it explicit as the implicit version is not allowed to be used as -a foreign key. - -[comment]: # (GENERATE-DOC-START) -The following tables are currently supported: -- `bkpr_accountevents` (see lightning-bkpr-listaccountevents(7)) - - `account` (type `string`, sqltype `TEXT`) - - `type` (type `string`, sqltype `TEXT`) - - `tag` (type `string`, sqltype `TEXT`) - - `credit_msat` (type `msat`, sqltype `INTEGER`) - - `debit_msat` (type `msat`, sqltype `INTEGER`) - - `currency` (type `string`, sqltype `TEXT`) - - `timestamp` (type `u32`, sqltype `INTEGER`) - -- `bkpr_income` (see lightning-bkpr-listincome(7)) - - `account` (type `string`, sqltype `TEXT`) - - `tag` (type `string`, sqltype `TEXT`) - - `credit_msat` (type `msat`, sqltype `INTEGER`) - - `debit_msat` (type `msat`, sqltype `INTEGER`) - - `currency` (type `string`, sqltype `TEXT`) - - `timestamp` (type `u32`, sqltype `INTEGER`) - - `description` (type `string`, sqltype `TEXT`) - - `outpoint` (type `string`, sqltype `TEXT`) - - `txid` (type `txid`, sqltype `BLOB`) - - `payment_id` (type `hex`, sqltype `BLOB`) - -- `channels` indexed by `short_channel_id` (see lightning-listchannels(7)) - - `source` (type `pubkey`, sqltype `BLOB`) - - `destination` (type `pubkey`, sqltype `BLOB`) - - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`) - - `direction` (type `u32`, sqltype `INTEGER`) - - `public` (type `boolean`, sqltype `INTEGER`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `message_flags` (type `u8`, sqltype `INTEGER`) - - `channel_flags` (type `u8`, sqltype `INTEGER`) - - `active` (type `boolean`, sqltype `INTEGER`) - - `last_update` (type `u32`, sqltype `INTEGER`) - - `base_fee_millisatoshi` (type `u32`, sqltype `INTEGER`) - - `fee_per_millionth` (type `u32`, sqltype `INTEGER`) - - `delay` (type `u32`, sqltype `INTEGER`) - - `htlc_minimum_msat` (type `msat`, sqltype `INTEGER`) - - `htlc_maximum_msat` (type `msat`, sqltype `INTEGER`) - - `features` (type `hex`, sqltype `BLOB`) - -- `closedchannels` (see lightning-listclosedchannels(7)) - - `peer_id` (type `pubkey`, sqltype `BLOB`) - - `channel_id` (type `hash`, sqltype `BLOB`) - - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`) - - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`) - - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`) - - `opener` (type `string`, sqltype `TEXT`) - - `closer` (type `string`, sqltype `TEXT`) - - `private` (type `boolean`, sqltype `INTEGER`) - - related table `closedchannels_channel_type_bits`, from JSON object `channel_type` - - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `bits` (type `u32`, sqltype `INTEGER`) - - related table `closedchannels_channel_type_names`, from JSON object `channel_type` - - `row` (reference to `closedchannels_channel_type.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `names` (type `string`, sqltype `TEXT`) - - `total_local_commitments` (type `u64`, sqltype `INTEGER`) - - `total_remote_commitments` (type `u64`, sqltype `INTEGER`) - - `total_htlcs_sent` (type `u64`, sqltype `INTEGER`) - - `funding_txid` (type `txid`, sqltype `BLOB`) - - `funding_outnum` (type `u32`, sqltype `INTEGER`) - - `leased` (type `boolean`, sqltype `INTEGER`) - - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`) - - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`) - - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`) - - `total_msat` (type `msat`, sqltype `INTEGER`) - - `final_to_us_msat` (type `msat`, sqltype `INTEGER`) - - `min_to_us_msat` (type `msat`, sqltype `INTEGER`) - - `max_to_us_msat` (type `msat`, sqltype `INTEGER`) - - `last_commitment_txid` (type `hash`, sqltype `BLOB`) - - `last_commitment_fee_msat` (type `msat`, sqltype `INTEGER`) - - `close_cause` (type `string`, sqltype `TEXT`) - -- `forwards` indexed by `in_channel and in_htlc_id` (see lightning-listforwards(7)) - - `created_index` (type `u64`, sqltype `INTEGER`) - - `in_channel` (type `short_channel_id`, sqltype `TEXT`) - - `in_htlc_id` (type `u64`, sqltype `INTEGER`) - - `in_msat` (type `msat`, sqltype `INTEGER`) - - `status` (type `string`, sqltype `TEXT`) - - `received_time` (type `number`, sqltype `REAL`) - - `out_channel` (type `short_channel_id`, sqltype `TEXT`) - - `out_htlc_id` (type `u64`, sqltype `INTEGER`) - - `updated_index` (type `u64`, sqltype `INTEGER`) - - `style` (type `string`, sqltype `TEXT`) - -- `htlcs` indexed by `short_channel_id and id` (see lightning-listhtlcs(7)) - - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`) - - `id` (type `u64`, sqltype `INTEGER`) - - `expiry` (type `u32`, sqltype `INTEGER`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `direction` (type `string`, sqltype `TEXT`) - - `payment_hash` (type `hash`, sqltype `BLOB`) - - `state` (type `string`, sqltype `TEXT`) - -- `invoices` indexed by `payment_hash` (see lightning-listinvoices(7)) - - `label` (type `string`, sqltype `TEXT`) - - `description` (type `string`, sqltype `TEXT`) - - `payment_hash` (type `hash`, sqltype `BLOB`) - - `status` (type `string`, sqltype `TEXT`) - - `expires_at` (type `u64`, sqltype `INTEGER`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `bolt11` (type `string`, sqltype `TEXT`) - - `bolt12` (type `string`, sqltype `TEXT`) - - `local_offer_id` (type `hash`, sqltype `BLOB`) - - `invreq_payer_note` (type `string`, sqltype `TEXT`) - - `created_index` (type `u64`, sqltype `INTEGER`) - - `updated_index` (type `u64`, sqltype `INTEGER`) - -- `nodes` indexed by `nodeid` (see lightning-listnodes(7)) - - `nodeid` (type `pubkey`, sqltype `BLOB`) - - `last_timestamp` (type `u32`, sqltype `INTEGER`) - -- `offers` indexed by `offer_id` (see lightning-listoffers(7)) - - `offer_id` (type `hash`, sqltype `BLOB`) - - `active` (type `boolean`, sqltype `INTEGER`) - - `single_use` (type `boolean`, sqltype `INTEGER`) - - `bolt12` (type `string`, sqltype `TEXT`) - - `used` (type `boolean`, sqltype `INTEGER`) - - `label` (type `string`, sqltype `TEXT`) - -- `peerchannels` indexed by `peer_id` (see lightning-listpeerchannels(7)) - - `peer_id` (type `pubkey`, sqltype `BLOB`) - - `peer_connected` (type `boolean`, sqltype `INTEGER`) - - `reestablished` (type `boolean`, sqltype `INTEGER`) - - `state` (type `string`, sqltype `TEXT`) - - `scratch_txid` (type `txid`, sqltype `BLOB`) - - related table `peerchannels_channel_type_bits`, from JSON object `channel_type` - - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `bits` (type `u32`, sqltype `INTEGER`) - - related table `peerchannels_channel_type_names`, from JSON object `channel_type` - - `row` (reference to `peerchannels_channel_type.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `names` (type `string`, sqltype `TEXT`) - - `local_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`) - - `local_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`) - - `local_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `local`) - - `local_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `local`) - - `local_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `local`) - - `remote_htlc_minimum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`) - - `remote_htlc_maximum_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`) - - `remote_cltv_expiry_delta` (type `u32`, sqltype `INTEGER`, from JSON object `remote`) - - `remote_fee_base_msat` (type `msat`, sqltype `INTEGER`, from JSON object `remote`) - - `remote_fee_proportional_millionths` (type `u32`, sqltype `INTEGER`, from JSON object `remote`) - - `ignore_fee_limits` (type `boolean`, sqltype `INTEGER`) - - `lost_state` (type `boolean`, sqltype `INTEGER`) - - `feerate_perkw` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`) - - `feerate_perkb` (type `u32`, sqltype `INTEGER`, from JSON object `feerate`) - - `owner` (type `string`, sqltype `TEXT`) - - `short_channel_id` (type `short_channel_id`, sqltype `TEXT`) - - `channel_id` (type `hash`, sqltype `BLOB`) - - `funding_txid` (type `txid`, sqltype `BLOB`) - - `funding_outnum` (type `u32`, sqltype `INTEGER`) - - `initial_feerate` (type `string`, sqltype `TEXT`) - - `last_feerate` (type `string`, sqltype `TEXT`) - - `next_feerate` (type `string`, sqltype `TEXT`) - - `next_fee_step` (type `u32`, sqltype `INTEGER`) - - related table `peerchannels_inflight` - - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `funding_txid` (type `txid`, sqltype `BLOB`) - - `funding_outnum` (type `u32`, sqltype `INTEGER`) - - `feerate` (type `string`, sqltype `TEXT`) - - `total_funding_msat` (type `msat`, sqltype `INTEGER`) - - `splice_amount` (type `integer`, sqltype `INTEGER`) - - `our_funding_msat` (type `msat`, sqltype `INTEGER`) - - `scratch_txid` (type `txid`, sqltype `BLOB`) - - `close_to` (type `hex`, sqltype `BLOB`) - - `private` (type `boolean`, sqltype `INTEGER`) - - `opener` (type `string`, sqltype `TEXT`) - - `closer` (type `string`, sqltype `TEXT`) - - related table `peerchannels_features` - - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `features` (type `string`, sqltype `TEXT`) - - `funding_pushed_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`) - - `funding_local_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`) - - `funding_remote_funds_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`) - - `funding_fee_paid_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`) - - `funding_fee_rcvd_msat` (type `msat`, sqltype `INTEGER`, from JSON object `funding`) - - `to_us_msat` (type `msat`, sqltype `INTEGER`) - - `min_to_us_msat` (type `msat`, sqltype `INTEGER`) - - `max_to_us_msat` (type `msat`, sqltype `INTEGER`) - - `total_msat` (type `msat`, sqltype `INTEGER`) - - `fee_base_msat` (type `msat`, sqltype `INTEGER`) - - `fee_proportional_millionths` (type `u32`, sqltype `INTEGER`) - - `dust_limit_msat` (type `msat`, sqltype `INTEGER`) - - `max_total_htlc_in_msat` (type `msat`, sqltype `INTEGER`) - - `their_reserve_msat` (type `msat`, sqltype `INTEGER`) - - `our_reserve_msat` (type `msat`, sqltype `INTEGER`) - - `spendable_msat` (type `msat`, sqltype `INTEGER`) - - `receivable_msat` (type `msat`, sqltype `INTEGER`) - - `minimum_htlc_in_msat` (type `msat`, sqltype `INTEGER`) - - `minimum_htlc_out_msat` (type `msat`, sqltype `INTEGER`) - - `maximum_htlc_out_msat` (type `msat`, sqltype `INTEGER`) - - `their_to_self_delay` (type `u32`, sqltype `INTEGER`) - - `our_to_self_delay` (type `u32`, sqltype `INTEGER`) - - `max_accepted_htlcs` (type `u32`, sqltype `INTEGER`) - - `alias_local` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`) - - `alias_remote` (type `short_channel_id`, sqltype `TEXT`, from JSON object `alias`) - - related table `peerchannels_state_changes` - - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `timestamp` (type `string`, sqltype `TEXT`) - - `old_state` (type `string`, sqltype `TEXT`) - - `new_state` (type `string`, sqltype `TEXT`) - - `cause` (type `string`, sqltype `TEXT`) - - `message` (type `string`, sqltype `TEXT`) - - related table `peerchannels_status` - - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `status` (type `string`, sqltype `TEXT`) - - `in_payments_offered` (type `u64`, sqltype `INTEGER`) - - `in_offered_msat` (type `msat`, sqltype `INTEGER`) - - `in_payments_fulfilled` (type `u64`, sqltype `INTEGER`) - - `in_fulfilled_msat` (type `msat`, sqltype `INTEGER`) - - `out_payments_offered` (type `u64`, sqltype `INTEGER`) - - `out_offered_msat` (type `msat`, sqltype `INTEGER`) - - `out_payments_fulfilled` (type `u64`, sqltype `INTEGER`) - - `out_fulfilled_msat` (type `msat`, sqltype `INTEGER`) - - `last_stable_connection` (type `u64`, sqltype `INTEGER`) - - related table `peerchannels_htlcs` - - `row` (reference to `peerchannels.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `direction` (type `string`, sqltype `TEXT`) - - `id` (type `u64`, sqltype `INTEGER`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `expiry` (type `u32`, sqltype `INTEGER`) - - `payment_hash` (type `hash`, sqltype `BLOB`) - - `local_trimmed` (type `boolean`, sqltype `INTEGER`) - - `status` (type `string`, sqltype `TEXT`) - -- `peers` indexed by `id` (see lightning-listpeers(7)) - - `id` (type `pubkey`, sqltype `BLOB`) - - `connected` (type `boolean`, sqltype `INTEGER`) - - related table `peers_netaddr` - - `row` (reference to `peers.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `netaddr` (type `string`, sqltype `TEXT`) - - `features` (type `string`, sqltype `TEXT`) - - `num_channels` (type `u32`, sqltype `INTEGER`) - -- `sendpays` indexed by `payment_hash` (see lightning-listsendpays(7)) - - `created_index` (type `u64`, sqltype `INTEGER`) - - `id` (type `u64`, sqltype `INTEGER`) - - `groupid` (type `u64`, sqltype `INTEGER`) - - `partid` (type `u64`, sqltype `INTEGER`) - - `payment_hash` (type `hash`, sqltype `BLOB`) - - `updated_index` (type `u64`, sqltype `INTEGER`) - - `status` (type `string`, sqltype `TEXT`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `destination` (type `pubkey`, sqltype `BLOB`) - - `created_at` (type `u64`, sqltype `INTEGER`) - - `amount_sent_msat` (type `msat`, sqltype `INTEGER`) - - `label` (type `string`, sqltype `TEXT`) - - `bolt11` (type `string`, sqltype `TEXT`) - - `description` (type `string`, sqltype `TEXT`) - - `bolt12` (type `string`, sqltype `TEXT`) - -- `transactions` indexed by `hash` (see lightning-listtransactions(7)) - - `hash` (type `txid`, sqltype `BLOB`) - - `rawtx` (type `hex`, sqltype `BLOB`) - - `blockheight` (type `u32`, sqltype `INTEGER`) - - `txindex` (type `u32`, sqltype `INTEGER`) - - `locktime` (type `u32`, sqltype `INTEGER`) - - `version` (type `u32`, sqltype `INTEGER`) - - related table `transactions_inputs` - - `row` (reference to `transactions.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `txid` (type `txid`, sqltype `BLOB`) - - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`) - - `sequence` (type `u32`, sqltype `INTEGER`) - - related table `transactions_outputs` - - `row` (reference to `transactions.rowid`, sqltype `INTEGER`) - - `arrindex` (index within array, sqltype `INTEGER`) - - `idx` (type `u32`, sqltype `INTEGER`, from JSON field `index`) - - `amount_msat` (type `msat`, sqltype `INTEGER`) - - `scriptPubKey` (type `hex`, sqltype `BLOB`) - -[comment]: # (GENERATE-DOC-END) - -RETURN VALUE ------------- - -[comment]: # (FIXME: we don't handle this schema in fromschema.py) -On success, an object containing **rows** is returned. It is an array. Each array entry contains an array of values, each an integer, real number, string or *null*, depending on the sqlite3 type. - -The object may contain **warning\_db\_failure** if the database fails partway through its operation. - -ERRORS ------- - -On failure, an error is returned. +Note that the first column of every table is a unique integer called `rowid`: this is used for related tables to refer to specific rows in their parent. sqlite3 usually has this as an implicit column, but we make it explicit as the implicit version is not allowed to be used as a foreign key. EXAMPLE USAGE ------------- -Here are some example using lightning-cli. Note that you may need to -use `-o` if you use queries which contain `=` (which make -lightning-cli(1) default to keyword style): +Here are some example using lightning-cli. Note that you may need to use `-o` if you use queries which contain `=` (which make lightning-cli(1) default to keyword style): A simple peer selection query: -``` +```shell $ lightning-cli sql "SELECT id FROM peers" { "rows": [ @@ -406,7 +98,7 @@ $ lightning-cli sql "SELECT id FROM peers" A statement containing using `=` needs `-o`: -``` +```shell $ lightning-cli sql -o "SELECT node_id,last_timestamp FROM nodes WHERE last_timestamp>=1669578892" { "rows": [ @@ -420,7 +112,7 @@ $ lightning-cli sql -o "SELECT node_id,last_timestamp FROM nodes WHERE last_time If you want to compare a BLOB column, `x'hex'` or `X'hex'` are needed: -``` +```shell $ lightning-cli sql -o "SELECT nodeid FROM nodes WHERE nodeid != x'03c9d25b6c0ce4bde5ad97d7ab83f00ae8bd3800a98ccbee36f3c3205315147de1';" { "rows": [ @@ -447,7 +139,7 @@ $ lightning-cli sql -o "SELECT nodeid FROM nodes WHERE nodeid IN (x'03c9d25b6c0c Related tables are usually referenced by JOIN: -``` +```shell $ lightning-cli sql -o "SELECT nodeid, alias, nodes_addresses.type, nodes_addresses.port, nodes_addresses.address FROM nodes INNER JOIN nodes_addresses ON nodes_addresses.row = nodes.rowid" { "rows": [ @@ -469,10 +161,9 @@ $ lightning-cli sql -o "SELECT nodeid, alias, nodes_addresses.type, nodes_addres } ``` -Simple function usage, in this case COUNT. Strings inside arrays need -", and ' to protect them from the shell: +Simple function usage, in this case COUNT. Strings inside arrays need ", and ' to protect them from the shell: -``` +```shell $ lightning-cli sql 'SELECT COUNT(*) FROM nodes" { "rows": [ @@ -483,6 +174,198 @@ $ lightning-cli sql 'SELECT COUNT(*) FROM nodes" } ``` +EXAMPLE JSON REQUEST +-------------------- + +```json +{ + "id": "example:sql#1", + "method": "sql", + "params": [ + "SELECT * FROM forwards;" + ] +} +{ + "id": "example:sql#2", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] +} +{ + "id": "example:sql#3", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] +} +{ + "id": "example:sql#4", + "method": "sql", + "params": [ + "SELECT * FROM forwards;" + ] +} +{ + "id": "example:sql#5", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] +} +{ + "id": "example:sql#6", + "method": "sql", + "params": [ + "SELECT * from peerchannels_features" + ] +} +``` + +RETURN VALUE +------------ + +On success, an object containing **rows** is returned. It is an array. Each array entry contains an array of values, each an integer, real number, string or *null*, depending on the sqlite3 type. + +The object may contain **warning\_db\_failure** if the database fails partway through its operation. +On success, an object is returned, containing: + +- **rows** (array of arrays): + - (array) + +The following warnings may also be returned: + +- **warning\_db\_failure**: A message if the database encounters an error partway through. + +EXAMPLE JSON RESPONSE +--------------------- + +```json +{ + "rows": [] +} +{ + "rows": [ + [ + 6, + 1, + 0, + "option_static_remotekey" + ], + [ + 7, + 1, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 16, + 11, + 0, + "option_static_remotekey" + ], + [ + 17, + 11, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] +} +{ + "rows": [ + [ + 26, + 21, + 0, + "option_static_remotekey" + ], + [ + 27, + 21, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 36, + 31, + 0, + "option_static_remotekey" + ], + [ + 37, + 31, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] +} +{ + "rows": [] +} +{ + "rows": [ + [ + 6, + 1, + 0, + "option_static_remotekey" + ], + [ + 7, + 1, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 16, + 11, + 0, + "option_static_remotekey" + ], + [ + 17, + 11, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] +} +{ + "rows": [ + [ + 26, + 21, + 0, + "option_static_remotekey" + ], + [ + 27, + 21, + 1, + "option_anchors_zero_fee_htlc_tx" + ], + [ + 36, + 31, + 0, + "option_static_remotekey" + ], + [ + 37, + 31, + 1, + "option_anchors_zero_fee_htlc_tx" + ] + ] +} +``` + +ERRORS +------ + +On failure, an error is returned. + AUTHOR ------ @@ -491,10 +374,9 @@ Rusty Russell <> is mainly responsible. SEE ALSO -------- -lightning-listtransactions(7), lightning-listchannels(7), lightning-listpeers(7), lightning-listnodes(7), lightning-listforwards(7). +lightning-listtransactions(7), lightning-listchannels(7), lightning-listpeers(7), lightning-listnodes(7), lightning-listforwards(7) RESOURCES --------- Main web site: -[comment]: # ( SHA256STAMP:f932e5de330278584ee69410619a3d019bde22d5bff6506ad98251f0e436caae) diff --git a/tools/fromschema.py b/tools/fromschema.py index 097010a48392..44e65be1d4f0 100755 --- a/tools/fromschema.py +++ b/tools/fromschema.py @@ -7,7 +7,7 @@ import re # To maintain the sequence of the before return value (body) and after return value (footer) sections in the markdown file -BODY_KEY_SEQUENCE = ['reliability', 'usage', 'restriction_format', 'example_usage', 'example_json_request', 'notes', 'notifications', 'sharing_runes', 'riskfactor_effect_on_routing', 'recommended_riskfactor_values', 'optimality', 'randomization'] +BODY_KEY_SEQUENCE = ['reliability', 'usage', 'restriction_format', 'permitted_sqlite3_functions', 'treatment_of_types', 'tables', 'example_usage', 'example_json_request', 'notes', 'notifications', 'sharing_runes', 'riskfactor_effect_on_routing', 'recommended_riskfactor_values', 'optimality', 'randomization'] FOOTER_KEY_SEQUENCE = ['example_json_response', 'errors', 'example_json_notifications', 'trivia', 'author', 'see_also', 'resources']