1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use bincode::Options;
use serde::{de::DeserializeOwned, Serialize};
pub mod asstr;
pub mod hex;
pub mod hex32;
pub fn deserialize<T: DeserializeOwned>(bts: &[u8]) -> bincode::Result<T> {
bincode::DefaultOptions::new()
.with_varint_encoding()
.reject_trailing_bytes()
.with_limit(bts.len() as u64)
.deserialize(bts)
}
pub fn serialize<T: Serialize>(v: &T) -> bincode::Result<Vec<u8>> {
bincode::DefaultOptions::new()
.with_varint_encoding()
.reject_trailing_bytes()
.serialize(v)
}