From 5dfc32edfc03b63cbc9764c0b771e7ba6e2bba6a Mon Sep 17 00:00:00 2001 From: vantuz-subhuman Date: Tue, 15 Feb 2022 17:00:30 +0300 Subject: [PATCH] Reverted the previous changes and updated the witness-set field-4 serialization --- package-lock.json | 2 +- package.json | 2 +- rust/Cargo.lock | 2 +- rust/Cargo.toml | 2 +- rust/src/plutus.rs | 11 ++--------- rust/src/serialization.rs | 5 +---- rust/src/utils.rs | 6 +++--- 7 files changed, 10 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index ec2d75ad..e3e8135b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cardano-serialization-lib", - "version": "10.0.4-beta.3", + "version": "10.0.4-beta.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7738ba76..beff8960 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cardano-serialization-lib", - "version": "10.0.4-beta.3", + "version": "10.0.4-beta.4", "description": "(De)serialization functions for the Cardano blockchain along with related utility functions", "scripts": { "rust:build-nodejs": "(rimraf ./rust/pkg && cd rust; wasm-pack build --target=nodejs; wasm-pack pack) && npm run js:flowgen", diff --git a/rust/Cargo.lock b/rust/Cargo.lock index f765a0be..e247c91e 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -52,7 +52,7 @@ checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820" [[package]] name = "cardano-serialization-lib" -version = "10.0.4-beta.3" +version = "10.0.4-beta.4" dependencies = [ "bech32", "cbor_event", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 57a7f8eb..88243ba1 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cardano-serialization-lib" -version = "10.0.4-beta.3" +version = "10.0.4-beta.4" edition = "2018" authors = ["EMURGO"] license = "MIT" diff --git a/rust/src/plutus.rs b/rust/src/plutus.rs index 12738a64..242cea76 100644 --- a/rust/src/plutus.rs +++ b/rust/src/plutus.rs @@ -475,13 +475,6 @@ impl PlutusList { } } - pub(crate) fn clone_as_definite(&self) -> Self { - Self { - elems: self.elems.clone(), - definite_encoding: Some(true), - } - } - pub fn len(&self) -> usize { self.elems.len() } @@ -1279,12 +1272,12 @@ mod tests { // witness_set should have fixed length array let mut witness_set = TransactionWitnessSet::new(); witness_set.set_plutus_data(&list); - assert_eq!("a1048101", hex::encode(witness_set.to_bytes())); + assert_eq!("a1049f01ff", hex::encode(witness_set.to_bytes())); list = PlutusList::new(); list.add(&datum); witness_set.set_plutus_data(&list); - assert_eq!(format!("a10481{}", datum_cli), hex::encode(witness_set.to_bytes())); + assert_eq!(format!("a1049f{}ff", datum_cli), hex::encode(witness_set.to_bytes())); } #[test] diff --git a/rust/src/serialization.rs b/rust/src/serialization.rs index 59327403..8cce61b0 100644 --- a/rust/src/serialization.rs +++ b/rust/src/serialization.rs @@ -1806,10 +1806,7 @@ impl cbor_event::se::Serialize for TransactionWitnessSet { } if let Some(field) = &self.plutus_data { serializer.write_unsigned_integer(4)?; - serializer.write_array(cbor_event::Len::Len(field.len() as u64))?; - for i in 0..field.len() { - field.get(i).serialize(serializer)?; - } + field.serialize(serializer)?; } if let Some(field) = &self.redeemers { serializer.write_unsigned_integer(5)?; diff --git a/rust/src/utils.rs b/rust/src/utils.rs index a5ba8a47..b2a397e2 100644 --- a/rust/src/utils.rs +++ b/rust/src/utils.rs @@ -908,7 +908,7 @@ pub fn hash_script_data(redeemers: &Redeemers, cost_models: &Costmdls, datums: O */ buf.push(0x80); if let Some(d) = &datums { - buf.extend(d.clone_as_definite().to_bytes()); + buf.extend(d.to_bytes()); } buf.push(0xA0); } else { @@ -921,7 +921,7 @@ pub fn hash_script_data(redeemers: &Redeemers, cost_models: &Costmdls, datums: O */ buf.extend(redeemers.to_bytes()); if let Some(d) = &datums { - buf.extend(d.clone_as_definite().to_bytes()); + buf.extend(d.to_bytes()); } buf.extend(cost_models.language_views_encoding()); } @@ -2173,7 +2173,7 @@ mod tests { assert_eq!( hex::encode(script_data_hash.to_bytes()), - "57240d358f8ab6128c4a66340271e4fec39b4971232add308f01a5809313adcf" + "4415e6667e6d6bbd992af5092d48e3c2ba9825200d0234d2470068f7f0f178b3" ); }