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 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