diff --git a/db/src/keys/gva_utxo_id.rs b/db/src/keys/gva_utxo_id.rs index 1f624a872a284fc84f87581a30af18aed9decfc4..fe3bba0f8b0864ed2568c3ec4cd43044a8ff6064 100644 --- a/db/src/keys/gva_utxo_id.rs +++ b/db/src/keys/gva_utxo_id.rs @@ -123,17 +123,11 @@ impl FromBytes for GvaUtxoIdDbV1 { type Err = CorruptedBytes; fn from_bytes(bytes: &[u8]) -> std::result::Result<Self, Self::Err> { - if bytes.len() == 69 { - // TODO uncomment when feature const_generics became stable ! - /*let mut buffer = uninit_array![u8; 69]; - buffer.as_out().copy_from_slice(bytes); - Ok(Self(unsafe { std::mem::transmute(buffer) }))*/ - let mut buffer = [0u8; 69]; - buffer.copy_from_slice(bytes); - Ok(Self(buffer)) - } else { - Err(CorruptedBytes("db corrupted".to_owned())) - } + Ok(Self( + bytes + .try_into() + .map_err(|_| CorruptedBytes("db corrupted".to_owned()))?, + )) } }