Skip to content

Commit

Permalink
Merge pull request input-output-hk#1563 from input-output-hk/jpraynau…
Browse files Browse the repository at this point in the history
…d/1537-fix-cardano-transaction-parsing-immutable

Fix parsing Cardano Conway transactions from immutable files
jpraynaud authored Mar 11, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents 202fa53 + f2a41fd commit ef22aa8
Showing 6 changed files with 27 additions and 21 deletions.
26 changes: 13 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions mithril-common/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-common"
version = "0.3.14"
version = "0.3.15"
description = "Common types, interfaces, and utilities for Mithril nodes."
authors = { workspace = true }
edition = { workspace = true }
@@ -40,11 +40,11 @@ minicbor = { version = "0.20", features = [
"derive",
], optional = true }
nom = "7.1.3"
pallas-addresses = { version = "0.23.0", optional = true }
pallas-codec = { version = "0.23.0", optional = true }
pallas-network = { version = "0.23.0", optional = true }
pallas-primitives = { version = "0.23.0", optional = true }
pallas-traverse = { version = "0.23.0", optional = true }
pallas-addresses = { version = "0.24.0", optional = true }
pallas-codec = { version = "0.24.0", optional = true }
pallas-network = { version = "0.24.0", optional = true }
pallas-primitives = { version = "0.24.0", optional = true }
pallas-traverse = { version = "0.24.0", optional = true }
rand_chacha = "0.3.1"
rand_core = "0.6.4"
rayon = "1.8.1"
@@ -84,7 +84,7 @@ wasm-bindgen = "0.2.90"
[dev-dependencies]
criterion = { version = "0.5.1", features = ["html_reports", "async_tokio"] }
mockall = "0.12.1"
pallas-crypto = "0.23.0"
pallas-crypto = "0.24.0"
rand_core = { version = "0.6.4", features = ["getrandom"] }
reqwest = { version = "0.11.23", features = ["json"] }
slog-async = "2.8.0"
2 changes: 1 addition & 1 deletion mithril-common/src/cardano_transaction_parser.rs
Original file line number Diff line number Diff line change
@@ -222,7 +222,7 @@ mod tests {
#[tokio::test]
async fn test_parse_expected_number_of_transactions() {
// We known the number of transactions in those prebuilt immutables
let immutable_files = [("00000", 20usize), ("00001", 8), ("00002", 0)];
let immutable_files = [("00000", 20usize), ("00001", 9), ("00002", 0)];
let db_path = Path::new("../mithril-test-lab/test_data/immutable/");
assert!(get_number_of_immutable_chunk_in_dir(db_path) >= 3);

5 changes: 5 additions & 0 deletions mithril-test-lab/test_data/README.md
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ These files were generated manually from the blocks in the sibling folder:
| [mary1.block](./blocks/mary1.block) | `14` | `00000.chunk` |
| [allegra1.block](./blocks/allegra1.block) | `3` | `00001.chunk` |
| [alonzo1.block](./blocks/alonzo1.block) | `5` | `00001.chunk` |
| [conway1.block](./blocks/conway1.block) | `1` | `00001.chunk` |

The following code was used to generate the immutable files:
```rust
@@ -51,6 +52,10 @@ let immutable_files = vec![
include_str!("./blocks/alonzo1.block"),
5,
),
(
include_str!("./blocks/conway1.block"),
5,
),
],
),
];
1 change: 1 addition & 0 deletions mithril-test-lab/test_data/blocks/conway1.block
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
820785828a1a0010afaa1a0150d7925820a22f65265e7a71cfc3b637d6aefe8f8241d562f5b1b787ff36697ae4c3886f185820e856c84a3d90c8526891bd58d957afadc522de37b14ae04c395db8a7a1b08c4a582015587d5633be324f8de97168399ab59d7113f0a74bc7412b81f7cc1007491671825840af9ff8cb146880eba1b12beb72d86be46fbc98f6b88110cd009bd6746d255a14bb0637e3a29b7204bff28236c1b9f73e501fed1eb5634bd741be120332d25e5e5850a9f1de24d01ba43b025a3351b25de50cc77f931ed8cdd0be632ad1a437ec9cf327b24eb976f91dbf68526f15bacdf8f0c1ea4a2072df9412796b34836a816760f4909b98c0e76b160d9aec6b2da060071903705820b5858c659096fcc19f2f3baef5fdd6198641a623bd43e792157b5ea3a2ecc85c8458200ca1ec2c1c2af308bd9e7a86eb12d603a26157752f3f71c337781c456e6ed0c90018a558408e554b644a2b25cb5892d07a26c273893829f1650ec33bf6809d953451c519c32cfd48d044cd897a17cdef154d5f5c9b618d9b54f8c49e170082c08c236524098209005901c05a96b747789ef6678b2f4a2a7caca92e270f736e9b621686f95dd1332005102faee21ed50cf6fa6c67e38b33df686c79c91d55f30769f7c964d98aa84cbefe0a808ee6f45faaf9badcc3f746e6a51df1aa979195871fd5ffd91037ea216803be7e7fccbf4c13038c459c7a14906ab57f3306fe155af7877c88866eede7935f642f6a72f1368c33ed5cc7607c995754af787a5af486958edb531c0ae65ce9fdce423ad88925e13ef78700950093ae707bb1100299a66a5bb15137f7ba62132ba1c9b74495aac50e1106bacb5db2bed4592f66b610c2547f485d061c6c149322b0c92bdde644eb672267fdab5533157ff398b9e16dd6a06edfd67151e18a3ac93fc28a51f9a73f8b867f5f432b1d9b5ae454ef63dea7e1a78631cf3fee1ba82db61726701ac5db1c4fee4bb6316768c82c0cdc4ebd58ccc686be882f9608592b3c718e4b5d356982a6b83433fe76d37394eff9f3a8e4773e3bab9a8b93b4ea90fa33bfbcf0dc5a21bfe64be2eefaa82c0494ab729e50596110f60ae9ad64b3eb9ddb54001b03cc264b65634c071d3b24a44322f39a9eae239fd886db8d429969433cb2d0a82d7877f174b0e154262f1af44ce5bc053b62daadd2926f957440ff3981a600d9010281825820af09d312a642fecb47da719156517bec678469c15789bcf002ce2ef563edf54200018182581d6052e63f22c5107ed776b70f7b92248b02552fd08f3e747bc745099441821b00000001373049f4a1581c34250edd1e9836f5378702fbf9416b709bc140e04f668cc355208518a1494154414441636f696e1953a6021a000306b5031a01525e0209a1581c34250edd1e9836f5378702fbf9416b709bc140e04f668cc355208518a1494154414441636f696e010758206cf243cc513691d9edc092b1030c6d1e5f9a8621a4d4383032b3d292d4679d5c81a200d90102828258201287e9ce9e00a603d250b557146aa0581fc4edf277a244ce39d3b2f2ced5072f5840d40fbe736892d8dab09e864a25f2e59fb7bfe445d960bbace30996965dc12a34c59746febf9d32ade65b6a9e1a1a6efc53830a3acaab699972cd4f240c024c0f825820742d8af3543349b5b18f3cba28f23b2d6e465b9c136c42e1fae6b2390f565427584005637b5645784bd998bb8ed837021d520200211fdd958b9a4d4b3af128fa6e695fb86abad7a9ddad6f1db946f8b812113fa16cfb7025e2397277b14e8c9bed0a01d90102818200581c45d70e54f3b5e9c5a2b0cd417028197bd6f5fa5378c2f5eba896678da100d90103a100a11902a2a1636d73678f78264175746f2d4c6f6f702d5472616e73616374696f6e202336323733363820627920415441444160783c4c6976652045706f6368203235352c207765206861766520303131682035396d20323573206c65667420756e74696c20746865206e657874206f6e6578344974277320536f6e6e746167202d20323520466562727561722032303234202d2031333a33303a333520696e20417573747269616060607820412072616e646f6d205a656e2d51756f746520666f7220796f753a20f09f998f78344974206973206e6576657220746f6f206c61746520746f206265207768617420796f75206d696768742068617665206265656e2e6f202d2047656f72676520456c696f746078374e6f64652d5265766973696f6e3a203462623230343864623737643632336565366533363738363138633264386236633436373633333360782953616e63686f4e657420697320617765736f6d652c206861766520736f6d652066756e2120f09f988d7819204265737420726567617264732c204d617274696e203a2d2980
Binary file modified mithril-test-lab/test_data/immutable/00001.chunk
Binary file not shown.

0 comments on commit ef22aa8

Please sign in to comment.