Back-merge v0.13 hotfix

This commit is contained in:
Santiago Carmuega 2022-10-13 16:14:20 -03:00
commit 62f7c84df0
9 changed files with 21 additions and 25 deletions

View file

@ -947,7 +947,9 @@ impl<'b, C> minicbor::decode::Decode<'b, C> for PlutusData {
| minicbor::data::Type::I16
| minicbor::data::Type::I32
| minicbor::data::Type::I64 => Ok(Self::BigInt(d.decode_with(ctx)?)),
minicbor::data::Type::Map => Ok(Self::Map(d.decode_with(ctx)?)),
minicbor::data::Type::Map | minicbor::data::Type::MapIndef => {
Ok(Self::Map(d.decode_with(ctx)?))
}
minicbor::data::Type::Bytes => Ok(Self::BoundedBytes(d.decode_with(ctx)?)),
minicbor::data::Type::BytesIndef => {
let mut full = Vec::new();
@ -1253,8 +1255,12 @@ impl<'b, C> minicbor::Decode<'b, C> for Metadatum {
}
minicbor::data::Type::Bytes => Ok(Metadatum::Bytes(d.decode_with(ctx)?)),
minicbor::data::Type::String => Ok(Metadatum::Text(d.decode_with(ctx)?)),
minicbor::data::Type::Array => Ok(Metadatum::Array(d.decode_with(ctx)?)),
minicbor::data::Type::Map => Ok(Metadatum::Map(d.decode_with(ctx)?)),
minicbor::data::Type::Array | minicbor::data::Type::ArrayIndef => {
Ok(Metadatum::Array(d.decode_with(ctx)?))
}
minicbor::data::Type::Map | minicbor::data::Type::MapIndef => {
Ok(Metadatum::Map(d.decode_with(ctx)?))
}
_ => Err(minicbor::decode::Error::message(
"Can't turn data type into metadatum",
)),

View file

@ -680,6 +680,8 @@ mod tests {
include_str!("../../../test_data/babbage4.block"),
// peculiar block with i32 overlfow
include_str!("../../../test_data/babbage5.block"),
// peculiar block with map undef in plutus data
include_str!("../../../test_data/babbage6.block"),
];
for (idx, block_str) in test_blocks.iter().enumerate() {