Skip to content

Commit 562974a

Browse files
joemphilipsrustyrussell
authored andcommitted
Fix miner bug in rust client generator.
This commit fixes a bug in a function `gen_enum`, which is not caught because so far we have no non-required field in enums defined in json schema.
1 parent 34e93a7 commit 562974a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

cln-rpc/src/model.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ pub mod requests {
277277
pub string: Option<String>,
278278
#[serde(alias = "hex", skip_serializing_if = "Option::is_none")]
279279
pub hex: Option<String>,
280+
#[serde(skip_serializing_if = "Option::is_none")]
280281
pub mode: Option<DatastoreMode>,
281282
#[serde(alias = "generation", skip_serializing_if = "Option::is_none")]
282283
pub generation: Option<u64>,
@@ -449,6 +450,7 @@ pub mod requests {
449450
pub bolt11: Option<String>,
450451
#[serde(alias = "payment_hash", skip_serializing_if = "Option::is_none")]
451452
pub payment_hash: Option<Sha256>,
453+
#[serde(skip_serializing_if = "Option::is_none")]
452454
pub status: Option<ListsendpaysStatus>,
453455
}
454456

@@ -539,6 +541,7 @@ pub mod requests {
539541
}
540542
#[derive(Clone, Debug, Deserialize, Serialize)]
541543
pub struct NewaddrRequest {
544+
#[serde(skip_serializing_if = "Option::is_none")]
542545
pub addresstype: Option<NewaddrAddresstype>,
543546
}
544547

@@ -741,6 +744,7 @@ pub mod requests {
741744
}
742745
#[derive(Clone, Debug, Deserialize, Serialize)]
743746
pub struct ListforwardsRequest {
747+
#[serde(skip_serializing_if = "Option::is_none")]
744748
pub status: Option<ListforwardsStatus>,
745749
#[serde(alias = "in_channel", skip_serializing_if = "Option::is_none")]
746750
pub in_channel: Option<ShortChannelId>,
@@ -775,6 +779,7 @@ pub mod requests {
775779
pub bolt11: Option<String>,
776780
#[serde(alias = "payment_hash", skip_serializing_if = "Option::is_none")]
777781
pub payment_hash: Option<Sha256>,
782+
#[serde(skip_serializing_if = "Option::is_none")]
778783
pub status: Option<ListpaysStatus>,
779784
}
780785

@@ -1934,6 +1939,7 @@ pub mod responses {
19341939
pub index: u32,
19351940
#[serde(alias = "sequence")]
19361941
pub sequence: u32,
1942+
#[serde(skip_serializing_if = "Option::is_none")]
19371943
pub item_type: Option<ListtransactionsTransactionsInputsType>,
19381944
#[serde(alias = "channel", skip_serializing_if = "Option::is_none")]
19391945
pub channel: Option<ShortChannelId>,
@@ -1993,6 +1999,7 @@ pub mod responses {
19931999
pub msat: Amount,
19942000
#[serde(alias = "scriptPubKey")]
19952001
pub script_pub_key: String,
2002+
#[serde(skip_serializing_if = "Option::is_none")]
19962003
pub item_type: Option<ListtransactionsTransactionsOutputsType>,
19972004
#[serde(alias = "channel", skip_serializing_if = "Option::is_none")]
19982005
pub channel: Option<ShortChannelId>,
@@ -2599,6 +2606,7 @@ pub mod responses {
25992606
pub out_channel: Option<ShortChannelId>,
26002607
#[serde(alias = "payment_hash", skip_serializing_if = "Option::is_none")]
26012608
pub payment_hash: Option<String>,
2609+
#[serde(skip_serializing_if = "Option::is_none")]
26022610
pub style: Option<ListforwardsForwardsStyle>,
26032611
#[serde(alias = "fee_msat", skip_serializing_if = "Option::is_none")]
26042612
pub fee_msat: Option<Amount>,

contrib/msggen/msggen/rust.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def gen_enum(e):
133133
defi = f" // Path `{e.path}`\n #[serde(rename = \"{e.name}\")]\n pub {e.name.normalized()}: {typename},\n"
134134
else:
135135
defi = f' #[serde(skip_serializing_if = "Option::is_none")]\n'
136-
defi = f" pub {e.name.normalized()}: Option<{typename}>,\n"
136+
defi += f" pub {e.name.normalized()}: Option<{typename}>,\n"
137137

138138
return defi, decl
139139

0 commit comments

Comments
 (0)