Skip to content

Commit 60abfbc

Browse files
committed
fix wire serialization
Signed-off-by: Dave Huseby <[email protected]>
1 parent d5dcf99 commit 60abfbc

File tree

5 files changed

+9
-20
lines changed

5 files changed

+9
-20
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "multicid"
3-
version = "0.1.19"
3+
version = "1.0.0"
44
edition = "2021"
55
authors = ["Dave Grantham <[email protected]>"]
66
description = "Multicodec compatible content identifier implementation"

src/serde/de.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,8 @@ impl<'de> Deserialize<'de> for Vlad {
182182
if deserializer.is_human_readable() {
183183
deserializer.deserialize_struct(vlad::SIGIL.as_str(), FIELDS, VladVisitor)
184184
} else {
185-
let (sigil, nonce, cid): (Codec, Nonce, Cid) = Deserialize::deserialize(deserializer)?;
186-
187-
if sigil != vlad::SIGIL {
188-
return Err(Error::custom("deserialized sigil is not a Vlad sigil"));
189-
}
190-
191-
Ok(Self { nonce, cid })
185+
let b: &'de [u8] = Deserialize::deserialize(deserializer)?;
186+
Ok(Self::try_from(b).map_err(|e| Error::custom(e.to_string()))?)
192187
}
193188
}
194189
}

src/serde/mod.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,8 @@ mod tests {
381381
.unwrap();
382382

383383
let v = serde_cbor::to_vec(&vlad).unwrap();
384-
//println!("{}", hex::encode(&v));
385-
assert_eq!(v, hex::decode("83410782413b582120d15c4fb2911ae1337f102bcaf4c0088d36345b88b243968e834c5ffa179078325844017114405792dad96085b6076b8e4e63b578c90d0336bcaadef4f24704df866149526a1e6d23f89e218ad3f6172a7e26e6e37a3dea728e5f232e41696ad286bcca9201be").unwrap());
384+
//println!("serde_cbor vlad: {}", hex::encode(&v));
385+
assert_eq!(v, hex::decode("5867073b20d15c4fb2911ae1337f102bcaf4c0088d36345b88b243968e834c5ffa17907832017114405792dad96085b6076b8e4e63b578c90d0336bcaadef4f24704df866149526a1e6d23f89e218ad3f6172a7e26e6e37a3dea728e5f232e41696ad286bcca9201be").unwrap());
386386
assert_eq!(vlad, serde_cbor::from_slice(&v).unwrap());
387387
}
388388

@@ -468,14 +468,7 @@ mod tests {
468468
assert_tokens(
469469
&v.compact(),
470470
&[
471-
Token::Tuple { len: 3 },
472-
Token::BorrowedBytes(&[0x7]),
473-
Token::Tuple { len: 2 },
474-
Token::BorrowedBytes(&[0x3b]),
475-
Token::BorrowedBytes(&[0x0]),
476-
Token::TupleEnd,
477-
Token::BorrowedBytes(&[0x1, 0x0, 0x0, 0x0]),
478-
Token::TupleEnd,
471+
Token::BorrowedBytes(&[0x07, 0x3b, 0x00, 0x01, 0x00, 0x00, 0x00]),
479472
]
480473
);
481474
}

src/serde/ser.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ impl ser::Serialize for Vlad {
5353
ss.serialize_field("cid", &self.cid)?;
5454
ss.end()
5555
} else {
56-
(vlad::SIGIL, self.nonce.clone(), self.cid.clone()).serialize(serializer)
56+
let v: Vec<u8> = self.clone().into();
57+
serializer.serialize_bytes(v.as_slice())
5758
}
5859
}
5960
}

src/vlad.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ mod tests {
202202
use super::*;
203203
use crate::cid;
204204
use multihash::mh;
205-
use multikey::{nonce, EncodedMultikey};
205+
use multikey::EncodedMultikey;
206206

207207
#[test]
208208
fn test_default() {

0 commit comments

Comments
 (0)