cslrb 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 344b9be282ab85598a08417bca3992db0c48f9b4083061ed05fded47f75b8dcf
4
- data.tar.gz: d3a2430507cbbe95bec475bce6511bbd4357968655e0d93e5be2ee20a6ab3310
3
+ metadata.gz: 5b1655cd2d5b83c19317659d22c731c19cec4b0f059957c5efc0f7246fd765de
4
+ data.tar.gz: 4273a6fa5011863c027600430c375ac4f01e7de1ec8ffb4ac8d019bdfa99c5e8
5
5
  SHA512:
6
- metadata.gz: 01d24abeb48a253c541de806899794e1b73bcba0d5cf5f606c737faacc706785022691b62b097a9870c6d2a82c82030024eec4066c133dc8c11755fe8d2a29ba
7
- data.tar.gz: e06d9cc2e0d919aee01d7bf34d324e8024c30a85e050a16770f36e8493470de87e8748ab06a66a5425e0e882154ae2dbc75d14d7c0b8feb0744946afb1516014
6
+ metadata.gz: 9e838250bf5a0c0d46c222e79318412cb2b1d6b58e0d8218f60a5a2e51b1b7c75360d93b5ed3c962b7f0359bb3331f503335f90b9f614915c307d0178e43682c
7
+ data.tar.gz: f907a5e5a0def74a5f44a52ac024e165a1ca9b05209d349cedeeb730278e32fad60faa3cf36533ed736e699d92f34dc0503a16ae97262311dd3fc852bb5ee1b6
data/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "cslrb"
3
- version = "0.3.3"
3
+ version = "0.4.0"
4
4
  authors = ["Sascha Knobloch <saschaknobloch.dev@gmail.com>"]
5
5
  edition = "2018"
6
6
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cslrb (0.3.3)
4
+ cslrb (0.4.0)
5
5
  rutie (~> 0.0.4)
6
6
  thermite (~> 0.13)
7
7
 
data/lib/cslrb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cslrb
4
- VERSION = '0.3.3'
4
+ VERSION = '0.4.0'
5
5
  end
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
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cslrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sascha Knobloch