remove extra dependencies and return result for data encode/decode

This commit is contained in:
Kasey White 2022-08-29 14:03:07 -04:00 committed by Kasey White
parent 65b133251a
commit 2d1f147d40
5 changed files with 32 additions and 13 deletions

27
Cargo.lock generated
View File

@ -8,7 +8,6 @@ version = "0.0.10"
dependencies = [
"anyhow",
"clap",
"hex",
"uplc",
]
@ -252,7 +251,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5e575910763b21a0db7df5e142907fe944bff84d1dfc78e2ba92e7f3bdfd36b"
dependencies = [
"half",
"minicbor-derive",
"minicbor-derive 0.11.0",
]
[[package]]
name = "minicbor"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a20020e8e2d1881d8736f64011bb5ff99f1db9947ce3089706945c8915695cb"
dependencies = [
"minicbor-derive 0.12.0",
]
[[package]]
@ -266,6 +274,17 @@ dependencies = [
"syn",
]
[[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"
@ -287,7 +306,7 @@ version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dce0ea17341c1a0e43e2bb4a637740198dcb09826879ce3ac5ae1c6f4398a5d"
dependencies = [
"minicbor",
"minicbor 0.17.1",
]
[[package]]
@ -627,7 +646,7 @@ dependencies = [
"cryptoxide",
"flat-rs",
"hex",
"minicbor",
"minicbor 0.18.0",
"pallas-codec",
"pallas-primitives",
"peg",

View File

@ -13,5 +13,4 @@ authors = ["Lucas Rosa <x@rvcas.dev>", "Kasey White <kwhitemsg@gmail.com>"]
[dependencies]
anyhow = "1.0.57"
clap = { version = "3.1.14", features = ["derive"] }
hex = "0.4.3"
uplc = { path = '../uplc', version = "0.0.10" }

View File

@ -16,7 +16,7 @@ exclude = ["test_data/*"]
cryptoxide = "0.4.2"
flat-rs = { path = "../flat", version = "0.0.10" }
hex = "0.4.3"
minicbor = { version = "0.17.1", features = ["std"] }
minicbor = { version = "0.18.0", features = ["std"] }
pallas-codec = "0.12.0"
pallas-primitives = "0.12.0"
peg = "0.8.0"

View File

@ -8,12 +8,13 @@ mod pretty;
pub mod program_builder;
pub use pallas_primitives::alonzo::PlutusData;
pub type Error = Box<dyn std::error::Error>;
use pallas_primitives::Fragment;
pub fn plutus_data(bytes: &[u8]) -> PlutusData {
PlutusData::decode_fragment(bytes).unwrap()
pub fn plutus_data(bytes: &[u8]) -> Result<PlutusData, Error> {
PlutusData::decode_fragment(bytes)
}
pub fn plutus_data_to_bytes(data: &PlutusData) -> Vec<u8> {
PlutusData::encode_fragment(data).unwrap()
pub fn plutus_data_to_bytes(data: &PlutusData) -> Result<Vec<u8>, Error> {
PlutusData::encode_fragment(data)
}

View File

@ -227,9 +227,9 @@ impl Constant {
.append((*right).to_doc_list())
.append(RcDoc::text(")")),
Constant::Data(data) => {
RcDoc::text("#").append(RcDoc::text(hex::encode(plutus_data_to_bytes(data))))
}
Constant::Data(data) => RcDoc::text("#").append(RcDoc::text(hex::encode(
plutus_data_to_bytes(data).unwrap(),
))),
}
}
}