implement list of transactions proofs and artifacts v2 in client#3083
Merged
turmelclem merged 21 commits intomainfrom Mar 23, 2026
Merged
Conversation
a78538e to
1d81392
Compare
1d81392 to
6219679
Compare
6219679 to
1fd1147
Compare
7f7fcdc to
078a189
Compare
078a189 to
17b9550
Compare
jpraynaud
approved these changes
Mar 23, 2026
Alenar
approved these changes
Mar 23, 2026
…n validation, is signed by the cerfiticate
…ying proof, certificate chain, signed by certificate
…no_block_client has unstable
… and transaction for tests
4f24181 to
0c10df5
Compare
There was a problem hiding this comment.
Pull request overview
Adds support in the Rust client library (behind the unstable feature) for Cardano blocks proofs and Cardano transactions v2 proofs, including snapshot listing/fetching, plus supporting test utilities and aggregator-client queries.
Changes:
- Introduce
CardanoBlockClientandCardanoTransactionV2Clientinmithril-client, wire them intoClient, and addMessageBuilderhelpers for certificate/message matching. - Add new
internal/mithril-aggregator-clientGET queries for v2 proof endpoints and for cardano-blocks-transactions artifact listing/fetching. - Extend test infrastructure (fake aggregator routes + mithril-common test crypto helpers) and update the documentation website.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| mithril-common/src/test/entities_extensions.rs | Refactors block-range grouping helper into a reusable extension trait + adds unit test. |
| mithril-common/src/test/double/dummies.rs | Adds Dummy implementations for new proof-related message parts/messages. |
| mithril-common/src/test/crypto_helper/mod.rs | Exposes new helper modules for MKMap/MKProof test utilities. |
| mithril-common/src/test/crypto_helper/helpers.rs | Adds shared MKMap folding helper used by multiple test extensions. |
| mithril-common/src/test/crypto_helper/mk_extensions.rs | Adds MKProof/MKMap test extension traits for building proofs and proof messages. |
| mithril-common/src/test/crypto_helper/cardano/extensions.rs | Removes MKProof test extension from Cardano-specific extensions (moved to mk_extensions). |
| mithril-client/tests/extensions/routes/proof_v2.rs | Adds fake aggregator routes for v2 transaction proofs and block proofs. |
| mithril-client/tests/extensions/routes/mod.rs | Gating of new proof v2 routes behind unstable. |
| mithril-client/tests/extensions/fake_aggregator/mod.rs | Adds unstable fake aggregator module for v2 proofs. |
| mithril-client/tests/extensions/fake_aggregator/cardano_proof_v2.rs | Builds and serves v2 proofs + certificate wiring for integration tests. |
| mithril-client/tests/cardano_transaction_v2_proof.rs | New integration test for fetching/verifying tx v2 proofs and matching a certificate. |
| mithril-client/tests/cardano_block_proof.rs | New integration test for fetching/verifying block proofs and matching a certificate. |
| mithril-client/src/type_alias.rs | Re-exports v2 proof/snapshot/message types behind unstable. |
| mithril-client/src/message.rs | Adds MessageBuilder helpers for block proofs and tx v2 proofs (unstable). |
| mithril-client/src/lib.rs | Exposes new clients behind unstable. |
| mithril-client/src/client.rs | Wires new clients into Client + ClientBuilder behind unstable. |
| mithril-client/src/cardano_transaction_v2_client.rs | Implements tx v2 proof + snapshot list/get client API and unit tests. |
| mithril-client/src/cardano_block_client.rs | Implements block proof + snapshot list/get client API and unit tests. |
| mithril-client/src/aggregator_client.rs | Adds HTTP implementations for new v2 queries (unstable). |
| mithril-client/Cargo.toml | Registers new unstable-only integration tests. |
| internal/mithril-aggregator-client/src/query/get/mod.rs | Exports new GET queries. |
| internal/mithril-aggregator-client/src/query/get/get_cardano_transaction_proof_v2.rs | Adds query for /proof/v2/cardano-transaction. |
| internal/mithril-aggregator-client/src/query/get/get_cardano_block_proof.rs | Adds query for /proof/v2/cardano-block. |
| internal/mithril-aggregator-client/src/query/get/get_cardano_blocks_transactions.rs | Adds query for fetching a blocks+txs snapshot artifact by hash. |
| internal/mithril-aggregator-client/src/query/get/get_cardano_blocks_transactions_list.rs | Adds query for listing blocks+txs snapshot artifacts. |
| docs/website/root/manual/develop/nodes/mithril-client-library.md | Documents new unstable client capabilities (blocks proofs + tx v2 proofs). |
…ockWithTransactions instead of two seperate list of blocks and transactions
…ctions and imports has unstable
2b8e78c to
f31d3ad
Compare
f31d3ad to
9dba82d
Compare
…ck_number_signed in prints
* mithril-aggregator-client from `0.1.8` to `0.1.9` * mithril-client from `0.13.6` to `0.13.7` * mithril-common from `0.6.59` to `0.6.60`
9dba82d to
c7bf1b4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Content
This PR add
cardano_transaction_v2andcardano_blockto the client library with the ability to retrieve snapshots, retrieves proofs and verify them, validate the certificate chain and validate that the verified blocs/transactions are signed by the certificate.Pre-submit checklist
Closes #3031