feat: to_cbor and to_hex for Program
This commit is contained in:
parent
beaeeb26fc
commit
8e8f1270b5
|
@ -213,6 +213,26 @@ dependencies = [
|
||||||
"cfg-if",
|
"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]]
|
[[package]]
|
||||||
name = "num-traits"
|
name = "num-traits"
|
||||||
version = "0.2.15"
|
version = "0.2.15"
|
||||||
|
@ -512,6 +532,7 @@ version = "0.0.6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"flat-rs",
|
"flat-rs",
|
||||||
"hex",
|
"hex",
|
||||||
|
"minicbor",
|
||||||
"peg",
|
"peg",
|
||||||
"pretty",
|
"pretty",
|
||||||
"proptest",
|
"proptest",
|
||||||
|
|
|
@ -15,6 +15,7 @@ exclude = ["test_data/*"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
flat-rs = { path = "../flat", version = "0.0.6" }
|
flat-rs = { path = "../flat", version = "0.0.6" }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
|
minicbor = { version = "0.18.0", features = ["std"] }
|
||||||
peg = "0.8.0"
|
peg = "0.8.0"
|
||||||
pretty = "0.11.3"
|
pretty = "0.11.3"
|
||||||
thiserror = "1.0.31"
|
thiserror = "1.0.31"
|
||||||
|
|
|
@ -33,8 +33,14 @@ where
|
||||||
self.flat()
|
self.flat()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn flat_hex(&self) -> Result<String, en::Error> {
|
pub fn to_cbor(&self) -> Result<Vec<u8>, en::Error> {
|
||||||
let bytes = self.flat()?;
|
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);
|
let hex = hex::encode(&bytes);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue