mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
e45bf14300
Since we can CPFP, we don't have to track the feerate as closely. But it still needs to get in the mempool, so we use 10 sat/byte, or the 100 block estimate if that is higher. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `feerates` has new fields `unilateral_anchor_close` to show the feerate used for anchor channels (currently experimental), and `unilateral_close_nonanchor_satoshis`. Changelog-Changed: JSON-RPC: `feerates` `unilateral_close_satoshis` now assumes anchor channels if enabled (currently experimental).
227 lines
8.4 KiB
JSON
227 lines
8.4 KiB
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",
|
|
"description": "Feerate for returning unilateral close funds to our wallet"
|
|
},
|
|
"htlc_resolution": {
|
|
"type": "u32",
|
|
"deprecated": "v23.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",
|
|
"description": "Feerate for returning unilateral close funds to our wallet"
|
|
},
|
|
"htlc_resolution": {
|
|
"type": "u32",
|
|
"deprecated": "v23.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)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|