Skip to content

Commit 975c454

Browse files
committed
f tweaks from jeff
1 parent d27d957 commit 975c454

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

lightning/src/chain/channelmonitor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ impl MaybeReadable for OnchainEventEntry {
415415
read_tlv_fields!(reader, {
416416
(0, txid, required),
417417
(2, height, required),
418-
(4, event, maybe_readable),
418+
(4, event, ignorable),
419419
});
420420
if let Some(ev) = event {
421421
Ok(Some(Self { txid, height, event: ev }))

lightning/src/chain/onchaintx.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ impl MaybeReadable for OnchainEventEntry {
9898
read_tlv_fields!(reader, {
9999
(0, txid, required),
100100
(2, height, required),
101-
(4, event, maybe_readable),
101+
(4, event, ignorable),
102102
});
103103
if let Some(ev) = event {
104104
Ok(Some(Self { txid, height, event: ev }))

lightning/src/util/ser_macros.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ macro_rules! check_tlv_order {
115115
($last_seen_type: expr, $typ: expr, $type: expr, $field: ident, vec_type) => {{
116116
// no-op
117117
}};
118-
($last_seen_type: expr, $typ: expr, $type: expr, $field: ident, maybe_readable) => {{
118+
($last_seen_type: expr, $typ: expr, $type: expr, $field: ident, ignorable) => {{
119119
// no-op
120120
}};
121121
}
@@ -141,7 +141,7 @@ macro_rules! check_missing_tlv {
141141
($last_seen_type: expr, $type: expr, $field: ident, option) => {{
142142
// no-op
143143
}};
144-
($last_seen_type: expr, $type: expr, $field: ident, maybe_readable) => {{
144+
($last_seen_type: expr, $type: expr, $field: ident, ignorable) => {{
145145
// no-op
146146
}};
147147
}
@@ -159,7 +159,7 @@ macro_rules! decode_tlv {
159159
($reader: expr, $field: ident, option) => {{
160160
$field = Some(ser::Readable::read(&mut $reader)?);
161161
}};
162-
($reader: expr, $field: ident, maybe_readable) => {{
162+
($reader: expr, $field: ident, ignorable) => {{
163163
$field = ser::MaybeReadable::read(&mut $reader)?;
164164
}};
165165
}
@@ -496,6 +496,11 @@ macro_rules! _impl_writeable_tlv_based_enum_common {
496496

497497
/// Implement MaybeReadable and Writeable for an enum, with struct variants stored as TLVs and
498498
/// tuple variants stored directly.
499+
///
500+
/// This is largely identical to `impl_writeable_tlv_based_enum`, except that odd variants will
501+
/// return `Ok(None)` instead of `Err(UnknownRequiredFeature)`. It should generally be preferred
502+
/// when `MaybeReadable` is practical instead of just `Readable` as it provides an upgrade path for
503+
/// new variants to be added which are simply ignored by existing clients.
499504
macro_rules! impl_writeable_tlv_based_enum_upgradable {
500505
($st: ident, $(($variant_id: expr, $variant_name: ident) =>
501506
{$(($type: expr, $field: ident, $fieldty: tt)),* $(,)*}
@@ -526,7 +531,7 @@ macro_rules! impl_writeable_tlv_based_enum_upgradable {
526531
f()
527532
}),*
528533
_ if id % 2 == 1 => { Ok(None) }
529-
_ => { Err(DecodeError::UnknownRequiredFeature)? },
534+
_ => { return Err(DecodeError::UnknownRequiredFeature); },
530535
}
531536
}
532537
}

0 commit comments

Comments
 (0)