fix(primitives): Handle map-indef variant for aux data (#70)

This commit is contained in:
Santiago Carmuega 2022-03-08 22:49:26 -03:00 committed by GitHub
parent b1e847c5dd
commit a546fe368f
2 changed files with 6 additions and 1 deletions

View file

@ -1318,7 +1318,9 @@ pub enum AuxiliaryData {
impl<'b> minicbor::Decode<'b> for AuxiliaryData { impl<'b> minicbor::Decode<'b> for AuxiliaryData {
fn decode(d: &mut minicbor::Decoder<'b>) -> Result<Self, minicbor::decode::Error> { fn decode(d: &mut minicbor::Decoder<'b>) -> Result<Self, minicbor::decode::Error> {
match d.datatype()? { match d.datatype()? {
minicbor::data::Type::Map => Ok(AuxiliaryData::Shelley(d.decode()?)), minicbor::data::Type::Map | minicbor::data::Type::MapIndef => {
Ok(AuxiliaryData::Shelley(d.decode()?))
}
minicbor::data::Type::Array => { minicbor::data::Type::Array => {
d.array()?; d.array()?;
let transaction_metadata = d.decode()?; let transaction_metadata = d.decode()?;
@ -1426,6 +1428,8 @@ mod tests {
include_str!("test_data/test16.block"), include_str!("test_data/test16.block"),
// peculiar block with missing nonce hash // peculiar block with missing nonce hash
include_str!("test_data/test17.block"), include_str!("test_data/test17.block"),
// peculiar block with strange AuxiliaryData variant
include_str!("test_data/test18.block"),
]; ];
for (idx, block_str) in test_blocks.iter().enumerate() { for (idx, block_str) in test_blocks.iter().enumerate() {

File diff suppressed because one or more lines are too long