cslrb 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Cargo.toml +1 -1
- data/Gemfile.lock +1 -1
- data/lib/cslrb/version.rb +1 -1
- data/src/lib.rs +12 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b1655cd2d5b83c19317659d22c731c19cec4b0f059957c5efc0f7246fd765de
|
4
|
+
data.tar.gz: 4273a6fa5011863c027600430c375ac4f01e7de1ec8ffb4ac8d019bdfa99c5e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e838250bf5a0c0d46c222e79318412cb2b1d6b58e0d8218f60a5a2e51b1b7c75360d93b5ed3c962b7f0359bb3331f503335f90b9f614915c307d0178e43682c
|
7
|
+
data.tar.gz: f907a5e5a0def74a5f44a52ac024e165a1ca9b05209d349cedeeb730278e32fad60faa3cf36533ed736e699d92f34dc0503a16ae97262311dd3fc852bb5ee1b6
|
data/Cargo.toml
CHANGED
data/Gemfile.lock
CHANGED
data/lib/cslrb/version.rb
CHANGED
data/src/lib.rs
CHANGED
@@ -20,6 +20,17 @@ methods!(
|
|
20
20
|
Err(err) => return RString::new_utf8(&format!("Error: {}", err)),
|
21
21
|
}
|
22
22
|
}
|
23
|
+
|
24
|
+
fn metadata_from_output_datum(cbor_hex: RString) -> RString {
|
25
|
+
let ruby_string = cbor_hex.map_err(|e| VM::raise_ex(e) ).unwrap();
|
26
|
+
let metadata = PlutusData::from_hex(&ruby_string.to_string()).unwrap();
|
27
|
+
let schema = PlutusDatumSchema::BasicConversions;
|
28
|
+
|
29
|
+
match metadata.to_json(schema) {
|
30
|
+
Ok(json_string) => return RString::new_utf8(&json_string),
|
31
|
+
Err(err) => return RString::new_utf8(&format!("Error: {}", err)),
|
32
|
+
}
|
33
|
+
}
|
23
34
|
);
|
24
35
|
|
25
36
|
#[allow(non_snake_case)]
|
@@ -27,5 +38,6 @@ methods!(
|
|
27
38
|
pub extern "C" fn Init_cslrb() {
|
28
39
|
Module::from_existing("Cslrb").define(|itself| {
|
29
40
|
itself.def_self("tx_body_from_hex", tx_body_from_hex);
|
41
|
+
itself.def_self("metadata_from_output_datum", metadata_from_output_datum);
|
30
42
|
});
|
31
43
|
}
|