core-lightning/doc/schemas/lightning-bkpr-dumpincomecsv.json
Rusty Russell b327bd30c3 doc: fix all JSON schemas to enforce no additional properties.
Without this, we have hardly any enforcement.  This is why the schema
mistake fixed in the previous patches weren't spotted immediately.

The hard work was done by:

```
$ for f in lightning-*.json; do grep -v '^  "additionalProperties": false,' $f | bagto $f; done
$ for f in lightning-*.json; do sed 's/"properties": {/"additionalProperties": false, "properties": {/' $f | bagto $f; done
$ make fmt-schemas
```

Then checking where 'additionalProperties: true' had been turned to
false (we deliberately use it in some places where there are if
statements in the schema, or occasionally where there can be arbitrary
fields).

[Including doc/rpc-schema-draft.json update by Shahana]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-10-30 15:39:12 +10:30

106 lines
2.9 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"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"
],
"additionalProperties": false,
"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"
],
"additionalProperties": false,
"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."
]
}
}
},
"author": [
"Lisa Neigut <<niftynei@gmail.com>> is mainly responsible."
],
"see_also": [
"lightning-bkpr-listincome(7)",
"lightning-bkpr-listfunds(7)",
"lightning-bkpr-listaccountevents(7)",
"lightning-bkpr-channelsapy(7)",
"lightning-listpeers(7)"
],
"resources": [
"Main web site: <https://github.com/ElementsProject/lightning>"
],
"examples": [
{
"request": {
"id": "example:bkpr-dumpincomecsv#1",
"method": "bkpr-dumpincomecsv",
"params": [
"koinly",
"koinly.csv"
]
},
"response": {
"csv_file": "koinly.csv",
"csv_format": "koinly"
}
}
]
}