feat: to_cbor and to_hex for Program
This commit is contained in:
parent
beaeeb26fc
commit
8e8f1270b5
|
@ -213,6 +213,26 @@ dependencies = [
|
|||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "minicbor"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a20020e8e2d1881d8736f64011bb5ff99f1db9947ce3089706945c8915695cb"
|
||||
dependencies = [
|
||||
"minicbor-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "minicbor-derive"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8608fb1c805b5b6b3d5ab7bd95c40c396df622b64d77b2d621a5eae1eed050ee"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.15"
|
||||
|
@ -512,6 +532,7 @@ version = "0.0.6"
|
|||
dependencies = [
|
||||
"flat-rs",
|
||||
"hex",
|
||||
"minicbor",
|
||||
"peg",
|
||||
"pretty",
|
||||
"proptest",
|
||||
|
|
|
@ -15,6 +15,7 @@ exclude = ["test_data/*"]
|
|||
[dependencies]
|
||||
flat-rs = { path = "../flat", version = "0.0.6" }
|
||||
hex = "0.4.3"
|
||||
minicbor = { version = "0.18.0", features = ["std"] }
|
||||
peg = "0.8.0"
|
||||
pretty = "0.11.3"
|
||||
thiserror = "1.0.31"
|
||||
|
|
|
@ -33,8 +33,14 @@ where
|
|||
self.flat()
|
||||
}
|
||||
|
||||
pub fn flat_hex(&self) -> Result<String, en::Error> {
|
||||
let bytes = self.flat()?;
|
||||
pub fn to_cbor(&self) -> Result<Vec<u8>, en::Error> {
|
||||
let flat_bytes = self.flat()?;
|
||||
|
||||
minicbor::to_vec(&flat_bytes).map_err(|err| en::Error::Message(err.to_string()))
|
||||
}
|
||||
|
||||
pub fn to_hex(&self) -> Result<String, en::Error> {
|
||||
let bytes = self.to_cbor()?;
|
||||
|
||||
let hex = hex::encode(&bytes);
|
||||
|
||||
|
|
Loading…
Reference in New Issue