fix: allow extra bytes when decoding base address (#420)

This commit is contained in:
Harper 2024-03-08 23:27:09 +00:00 committed by GitHub
parent 54997daf66
commit 00086aa6ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -337,7 +337,7 @@ macro_rules! parse_shelley_fn {
};
($name:tt, $payment:tt, $delegation:tt) => {
fn $name(header: u8, payload: &[u8]) -> Result<Address, Error> {
if payload.len() != 56 {
if payload.len() < 56 {
return Err(Error::InvalidAddressLength(payload.len()));
}
@ -917,4 +917,10 @@ mod tests {
_ => panic!(),
}
}
#[test]
fn test_minted_extra_bytes_base_address() {
let addr = Address::from_hex("015bad085057ac10ecc7060f7ac41edd6f63068d8963ef7d86ca58669e5ecf2d283418a60be5a848a2380eb721000da1e0bbf39733134beca4cb57afb0b35fc89c63061c9914e055001a518c7516");
assert!(matches!(addr, Ok(Address::Shelley(_))));
}
}