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

View File

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

View File

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

View File

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

View File

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