docs: fix htlc states description regarding direction

Changelog-None
This commit is contained in:
daywalker90
2025-11-13 10:36:36 +10:30
committed by Rusty Russell
parent 5733046617
commit e9f3aaf8af
8 changed files with 496 additions and 545 deletions

View File

@@ -2947,35 +2947,12 @@ message WaitSendpays {
}
message WaitHtlcs {
// Wait.htlcs.state
enum WaitHtlcsState {
SENT_ADD_HTLC = 0;
SENT_ADD_COMMIT = 1;
RCVD_ADD_REVOCATION = 2;
RCVD_ADD_ACK_COMMIT = 3;
SENT_ADD_ACK_REVOCATION = 4;
RCVD_REMOVE_HTLC = 5;
RCVD_REMOVE_COMMIT = 6;
SENT_REMOVE_REVOCATION = 7;
SENT_REMOVE_ACK_COMMIT = 8;
RCVD_REMOVE_ACK_REVOCATION = 9;
RCVD_ADD_HTLC = 10;
RCVD_ADD_COMMIT = 11;
SENT_ADD_REVOCATION = 12;
SENT_ADD_ACK_COMMIT = 13;
RCVD_ADD_ACK_REVOCATION = 14;
SENT_REMOVE_HTLC = 15;
SENT_REMOVE_COMMIT = 16;
RCVD_REMOVE_REVOCATION = 17;
RCVD_REMOVE_ACK_COMMIT = 18;
SENT_REMOVE_ACK_REVOCATION = 19;
}
// Wait.htlcs.direction
enum WaitHtlcsDirection {
OUT = 0;
IN = 1;
}
optional WaitHtlcsState state = 1;
optional HtlcState state = 1;
optional uint64 htlc_id = 2;
optional string short_channel_id = 3;
optional uint32 cltv_expiry = 4;

104
cln-rpc/src/model.rs generated
View File

@@ -9841,108 +9841,6 @@ pub mod responses {
}
}
/// ['The first 10 states are for `in`, the next 10 are for `out`.']
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum WaitHtlcsState {
#[serde(rename = "SENT_ADD_HTLC")]
SENT_ADD_HTLC = 0,
#[serde(rename = "SENT_ADD_COMMIT")]
SENT_ADD_COMMIT = 1,
#[serde(rename = "RCVD_ADD_REVOCATION")]
RCVD_ADD_REVOCATION = 2,
#[serde(rename = "RCVD_ADD_ACK_COMMIT")]
RCVD_ADD_ACK_COMMIT = 3,
#[serde(rename = "SENT_ADD_ACK_REVOCATION")]
SENT_ADD_ACK_REVOCATION = 4,
#[serde(rename = "RCVD_REMOVE_HTLC")]
RCVD_REMOVE_HTLC = 5,
#[serde(rename = "RCVD_REMOVE_COMMIT")]
RCVD_REMOVE_COMMIT = 6,
#[serde(rename = "SENT_REMOVE_REVOCATION")]
SENT_REMOVE_REVOCATION = 7,
#[serde(rename = "SENT_REMOVE_ACK_COMMIT")]
SENT_REMOVE_ACK_COMMIT = 8,
#[serde(rename = "RCVD_REMOVE_ACK_REVOCATION")]
RCVD_REMOVE_ACK_REVOCATION = 9,
#[serde(rename = "RCVD_ADD_HTLC")]
RCVD_ADD_HTLC = 10,
#[serde(rename = "RCVD_ADD_COMMIT")]
RCVD_ADD_COMMIT = 11,
#[serde(rename = "SENT_ADD_REVOCATION")]
SENT_ADD_REVOCATION = 12,
#[serde(rename = "SENT_ADD_ACK_COMMIT")]
SENT_ADD_ACK_COMMIT = 13,
#[serde(rename = "RCVD_ADD_ACK_REVOCATION")]
RCVD_ADD_ACK_REVOCATION = 14,
#[serde(rename = "SENT_REMOVE_HTLC")]
SENT_REMOVE_HTLC = 15,
#[serde(rename = "SENT_REMOVE_COMMIT")]
SENT_REMOVE_COMMIT = 16,
#[serde(rename = "RCVD_REMOVE_REVOCATION")]
RCVD_REMOVE_REVOCATION = 17,
#[serde(rename = "RCVD_REMOVE_ACK_COMMIT")]
RCVD_REMOVE_ACK_COMMIT = 18,
#[serde(rename = "SENT_REMOVE_ACK_REVOCATION")]
SENT_REMOVE_ACK_REVOCATION = 19,
}
impl TryFrom<i32> for WaitHtlcsState {
type Error = anyhow::Error;
fn try_from(c: i32) -> Result<WaitHtlcsState, anyhow::Error> {
match c {
0 => Ok(WaitHtlcsState::SENT_ADD_HTLC),
1 => Ok(WaitHtlcsState::SENT_ADD_COMMIT),
2 => Ok(WaitHtlcsState::RCVD_ADD_REVOCATION),
3 => Ok(WaitHtlcsState::RCVD_ADD_ACK_COMMIT),
4 => Ok(WaitHtlcsState::SENT_ADD_ACK_REVOCATION),
5 => Ok(WaitHtlcsState::RCVD_REMOVE_HTLC),
6 => Ok(WaitHtlcsState::RCVD_REMOVE_COMMIT),
7 => Ok(WaitHtlcsState::SENT_REMOVE_REVOCATION),
8 => Ok(WaitHtlcsState::SENT_REMOVE_ACK_COMMIT),
9 => Ok(WaitHtlcsState::RCVD_REMOVE_ACK_REVOCATION),
10 => Ok(WaitHtlcsState::RCVD_ADD_HTLC),
11 => Ok(WaitHtlcsState::RCVD_ADD_COMMIT),
12 => Ok(WaitHtlcsState::SENT_ADD_REVOCATION),
13 => Ok(WaitHtlcsState::SENT_ADD_ACK_COMMIT),
14 => Ok(WaitHtlcsState::RCVD_ADD_ACK_REVOCATION),
15 => Ok(WaitHtlcsState::SENT_REMOVE_HTLC),
16 => Ok(WaitHtlcsState::SENT_REMOVE_COMMIT),
17 => Ok(WaitHtlcsState::RCVD_REMOVE_REVOCATION),
18 => Ok(WaitHtlcsState::RCVD_REMOVE_ACK_COMMIT),
19 => Ok(WaitHtlcsState::SENT_REMOVE_ACK_REVOCATION),
o => Err(anyhow::anyhow!("Unknown variant {} for enum WaitHtlcsState", o)),
}
}
}
impl ToString for WaitHtlcsState {
fn to_string(&self) -> String {
match self {
WaitHtlcsState::SENT_ADD_HTLC => "SENT_ADD_HTLC",
WaitHtlcsState::SENT_ADD_COMMIT => "SENT_ADD_COMMIT",
WaitHtlcsState::RCVD_ADD_REVOCATION => "RCVD_ADD_REVOCATION",
WaitHtlcsState::RCVD_ADD_ACK_COMMIT => "RCVD_ADD_ACK_COMMIT",
WaitHtlcsState::SENT_ADD_ACK_REVOCATION => "SENT_ADD_ACK_REVOCATION",
WaitHtlcsState::RCVD_REMOVE_HTLC => "RCVD_REMOVE_HTLC",
WaitHtlcsState::RCVD_REMOVE_COMMIT => "RCVD_REMOVE_COMMIT",
WaitHtlcsState::SENT_REMOVE_REVOCATION => "SENT_REMOVE_REVOCATION",
WaitHtlcsState::SENT_REMOVE_ACK_COMMIT => "SENT_REMOVE_ACK_COMMIT",
WaitHtlcsState::RCVD_REMOVE_ACK_REVOCATION => "RCVD_REMOVE_ACK_REVOCATION",
WaitHtlcsState::RCVD_ADD_HTLC => "RCVD_ADD_HTLC",
WaitHtlcsState::RCVD_ADD_COMMIT => "RCVD_ADD_COMMIT",
WaitHtlcsState::SENT_ADD_REVOCATION => "SENT_ADD_REVOCATION",
WaitHtlcsState::SENT_ADD_ACK_COMMIT => "SENT_ADD_ACK_COMMIT",
WaitHtlcsState::RCVD_ADD_ACK_REVOCATION => "RCVD_ADD_ACK_REVOCATION",
WaitHtlcsState::SENT_REMOVE_HTLC => "SENT_REMOVE_HTLC",
WaitHtlcsState::SENT_REMOVE_COMMIT => "SENT_REMOVE_COMMIT",
WaitHtlcsState::RCVD_REMOVE_REVOCATION => "RCVD_REMOVE_REVOCATION",
WaitHtlcsState::RCVD_REMOVE_ACK_COMMIT => "RCVD_REMOVE_ACK_COMMIT",
WaitHtlcsState::SENT_REMOVE_ACK_REVOCATION => "SENT_REMOVE_ACK_REVOCATION",
}.to_string()
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct WaitHtlcs {
#[serde(skip_serializing_if = "Option::is_none")]
@@ -9958,7 +9856,7 @@ pub mod responses {
#[serde(skip_serializing_if = "Option::is_none")]
pub short_channel_id: Option<ShortChannelId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<WaitHtlcsState>,
pub state: Option<HtlcState>,
}
/// ["Whether it's paid, unpaid or unpayable."]

View File

@@ -31,6 +31,7 @@ pub enum ChannelState {
DUALOPEND_OPEN_COMMIT_READY = 13,
}
/// ['The first 10 states are for `out`, the next 10 are for `in`.']
#[derive(Copy, Clone, Serialize, Deserialize, Debug, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum HtlcState {
@@ -106,6 +107,19 @@ impl TryFrom<i32> for AutocleanSubsystem {
}
}
impl Display for AutocleanSubsystem {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self {
AutocleanSubsystem::SUCCEEDEDFORWARDS => write!(f, "SUCCEEDEDFORWARDS"),
AutocleanSubsystem::FAILEDFORWARDS => write!(f, "FAILEDFORWARDS"),
AutocleanSubsystem::SUCCEEDEDPAYS => write!(f, "SUCCEEDEDPAYS"),
AutocleanSubsystem::FAILEDPAYS => write!(f, "FAILEDPAYS"),
AutocleanSubsystem::PAIDINVOICES => write!(f, "PAIDINVOICES"),
AutocleanSubsystem::EXPIREDINVOICES => write!(f, "EXPIREDINVOICES"),
}
}
}
#[derive(Copy, Clone, Serialize, Deserialize, Debug)]
#[allow(non_camel_case_types)]
pub enum PluginSubcommand {
@@ -452,6 +466,27 @@ impl TryFrom<i32> for ChannelState {
}
}
impl Display for ChannelState {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self {
ChannelState::OPENINGD => write!(f, "OPENINGD"),
ChannelState::CHANNELD_AWAITING_LOCKIN => write!(f, "CHANNELD_AWAITING_LOCKIN"),
ChannelState::CHANNELD_NORMAL => write!(f, "CHANNELD_NORMAL"),
ChannelState::CHANNELD_SHUTTING_DOWN => write!(f, "CHANNELD_SHUTTING_DOWN"),
ChannelState::CLOSINGD_SIGEXCHANGE => write!(f, "CLOSINGD_SIGEXCHANGE"),
ChannelState::CLOSINGD_COMPLETE => write!(f, "CLOSINGD_COMPLETE"),
ChannelState::AWAITING_UNILATERAL => write!(f, "AWAITING_UNILATERAL"),
ChannelState::FUNDING_SPEND_SEEN => write!(f, "FUNDING_SPEND_SEEN"),
ChannelState::ONCHAIN => write!(f, "ONCHAIN"),
ChannelState::DUALOPEND_OPEN_INIT => write!(f, "DUALOPEND_OPEN_INIT"),
ChannelState::DUALOPEND_AWAITING_LOCKIN => write!(f, "DUALOPEND_AWAITING_LOCKIN"),
ChannelState::CHANNELD_AWAITING_SPLICE => write!(f, "CHANNELD_AWAITING_SPLICE"),
ChannelState::DUALOPEND_OPEN_COMMITTED => write!(f, "DUALOPEND_OPEN_COMMITTED"),
ChannelState::DUALOPEND_OPEN_COMMIT_READY => write!(f, "DUALOPEND_OPEN_COMMIT_READY"),
}
}
}
impl From<i32> for ChannelTypeName {
fn from(value: i32) -> Self {
match value {
@@ -479,6 +514,21 @@ impl From<ChannelTypeName> for i32 {
}
}
impl Display for ChannelTypeName {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self {
ChannelTypeName::STATIC_REMOTEKEY_EVEN => write!(f, "STATIC_REMOTEKEY_EVEN"),
ChannelTypeName::ANCHOR_OUTPUTS_EVEN => write!(f, "ANCHOR_OUTPUTS_EVEN"),
ChannelTypeName::ANCHORS_ZERO_FEE_HTLC_TX_EVEN => {
write!(f, "ANCHORS_ZERO_FEE_HTLC_TX_EVEN")
}
ChannelTypeName::SCID_ALIAS_EVEN => write!(f, "SCID_ALIAS_EVEN"),
ChannelTypeName::ZEROCONF_EVEN => write!(f, "ZEROCONF_EVEN"),
ChannelTypeName::ANCHORS_EVEN => write!(f, "ANCHORS_EVEN"),
}
}
}
impl From<i32> for HtlcState {
fn from(value: i32) -> Self {
match value {
@@ -508,6 +558,33 @@ impl From<i32> for HtlcState {
}
}
impl Display for HtlcState {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self {
HtlcState::SENT_ADD_HTLC => write!(f, "SENT_ADD_HTLC"),
HtlcState::SENT_ADD_COMMIT => write!(f, "SENT_ADD_COMMIT"),
HtlcState::RCVD_ADD_REVOCATION => write!(f, "RCVD_ADD_REVOCATION"),
HtlcState::RCVD_ADD_ACK_COMMIT => write!(f, "RCVD_ADD_ACK_COMMIT"),
HtlcState::SENT_ADD_ACK_REVOCATION => write!(f, "SENT_ADD_ACK_REVOCATION"),
HtlcState::RCVD_ADD_ACK_REVOCATION => write!(f, "RCVD_ADD_ACK_REVOCATION"),
HtlcState::RCVD_REMOVE_HTLC => write!(f, "RCVD_REMOVE_HTLC"),
HtlcState::RCVD_REMOVE_COMMIT => write!(f, "RCVD_REMOVE_COMMIT"),
HtlcState::SENT_REMOVE_REVOCATION => write!(f, "SENT_REMOVE_REVOCATION"),
HtlcState::SENT_REMOVE_ACK_COMMIT => write!(f, "SENT_REMOVE_ACK_COMMIT"),
HtlcState::RCVD_REMOVE_ACK_REVOCATION => write!(f, "RCVD_REMOVE_ACK_REVOCATION"),
HtlcState::RCVD_ADD_HTLC => write!(f, "RCVD_ADD_HTLC"),
HtlcState::RCVD_ADD_COMMIT => write!(f, "RCVD_ADD_COMMIT"),
HtlcState::SENT_ADD_REVOCATION => write!(f, "SENT_ADD_REVOCATION"),
HtlcState::SENT_ADD_ACK_COMMIT => write!(f, "SENT_ADD_ACK_COMMIT"),
HtlcState::SENT_REMOVE_HTLC => write!(f, "SENT_REMOVE_HTLC"),
HtlcState::SENT_REMOVE_COMMIT => write!(f, "SENT_REMOVE_COMMIT"),
HtlcState::RCVD_REMOVE_REVOCATION => write!(f, "RCVD_REMOVE_REVOCATION"),
HtlcState::RCVD_REMOVE_ACK_COMMIT => write!(f, "RCVD_REMOVE_ACK_COMMIT"),
HtlcState::SENT_REMOVE_ACK_REVOCATION => write!(f, "SENT_REMOVE_ACK_REVOCATION"),
}
}
}
impl<'de> Deserialize<'de> for Amount {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where

View File

@@ -216,6 +216,7 @@ class OverridePatch(Patch):
"channel_state_changed.old_state": "ChannelState",
"channel_state_changed.new_state": "ChannelState",
"ListPeerChannels.channels[].state": "ChannelState",
"Wait.htlcs.state": "HtlcState",
}
def visit(self, f: model.Field, parent: Optional[model.Field] = None) -> None:

View File

@@ -21868,7 +21868,7 @@
"SENT_REMOVE_ACK_REVOCATION"
],
"description": [
"The first 10 states are for `in`, the next 10 are for `out`."
"The first 10 states are for `out`, the next 10 are for `in`."
]
}
}
@@ -35635,7 +35635,7 @@
],
"added": "v25.05",
"description": [
"The first 10 states are for `in`, the next 10 are for `out`."
"The first 10 states are for `out`, the next 10 are for `in`."
]
},
"htlc_id": {

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,7 @@
"SENT_REMOVE_ACK_REVOCATION"
],
"description": [
"The first 10 states are for `in`, the next 10 are for `out`."
"The first 10 states are for `out`, the next 10 are for `in`."
]
}
}

View File

@@ -486,7 +486,7 @@
],
"added": "v25.05",
"description": [
"The first 10 states are for `in`, the next 10 are for `out`."
"The first 10 states are for `out`, the next 10 are for `in`."
]
},
"htlc_id": {