Skip to content

Commit b7f374d

Browse files
committed
fix: serialize PlutusList as indefinite length array
1 parent 86dd1df commit b7f374d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

rust/src/plutus.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -932,10 +932,14 @@ impl Deserialize for PlutusData {
932932

933933
impl cbor_event::se::Serialize for PlutusList {
934934
fn serialize<'se, W: Write>(&self, serializer: &'se mut Serializer<W>) -> cbor_event::Result<&'se mut Serializer<W>> {
935-
serializer.write_array(cbor_event::Len::Len(self.0.len() as u64))?;
935+
if self.0.len() == 0 {
936+
return Ok(serializer.write_array(cbor_event::Len::Len(0))?);
937+
}
938+
serializer.write_array(cbor_event::Len::Indefinite)?;
936939
for element in &self.0 {
937940
element.serialize(serializer)?;
938941
}
942+
serializer.write_special(cbor_event::Special::Break)?;
939943
Ok(serializer)
940944
}
941945
}

0 commit comments

Comments
 (0)