input-output-hk / mithril

Stake-based threshold multi-signatures protocol
https://mithril.network
Apache License 2.0
115 stars 36 forks source link

Block Number beacon in cardano transaction #1727

Closed Alenar closed 1 month ago

Alenar commented 1 month ago

Content

This PR changes the beacon used for the CardanoTransactions signed entity type:

This changes decouples the production of cardano transactions signatures and proofs from the immutable file number and the cardano node database structure. Allowing us to go closer to the tip of the chain since, with a adapted block streamer, we won't have to wait for a immutable to be complete update our stored transactions.

In depth

Pre-submit checklist

Comments

This would have been considered a network breaking change on a stable signed entity type.

Issue(s)

Closes #1697

github-actions[bot] commented 1 month ago

Test Results

    3 files  ±0     43 suites  ±0   8m 34s :stopwatch: ±0s 1 012 tests +9  1 012 :white_check_mark: +9  0 :zzz: ±0  0 :x: ±0  1 110 runs  +9  1 110 :white_check_mark: +9  0 :zzz: ±0  0 :x: ±0 

Results for commit 70a8a616. ± Comparison against base commit 3b542fdc.

This pull request removes 7 and adds 16 tests. Note that renamed tests count towards both. ``` mithril-aggregator ‑ http_server::routes::proof_routes::tests::build_response_message_return_immutable_file_number_from_artifact_beacon mithril-aggregator ‑ services::cardano_transactions_importer::tests::change_parsed_lower_bound_when_rescan_limit_is_set mithril-common ‑ cardano_block_scanner::block_scanner::tests::test_parse_from_lower_bound_until_upper_bound mithril-common ‑ cardano_block_scanner::block_scanner::tests::test_parse_up_to_given_beacon mithril-persistence ‑ database::repository::cardano_transaction_repository::tests::get_transactions_up_to_return_empty_list_when_no_record_found_with_provided_immutable_file_number mithril-persistence ‑ database::repository::cardano_transaction_repository::tests::repository_get_up_to_beacon_transactions mithril-signer ‑ cardano_transactions_importer::tests::change_parsed_lower_bound_when_rescan_limit_is_set ``` ``` mithril-aggregator ‑ configuration::test::can_build_config_with_ctx_signing_config_from_default_configuration mithril-aggregator ‑ http_server::routes::proof_routes::tests::build_response_message_return_latest_block_number_from_artifact_beacon mithril-common ‑ cardano_block_scanner::block_scanner::tests::change_parsed_lower_bound_when_rescan_limit_is_set mithril-common ‑ cardano_block_scanner::block_scanner::tests::test_scan_ignore_given_lower_bound_instead_find_it_using_an_external_service mithril-common ‑ cardano_block_scanner::block_scanner::tests::test_scan_with_lower_bound_ignore_upper_bound mithril-common ‑ cardano_block_scanner::block_scanner::tests::test_scan_without_lower_bound_ignore_upper_bound mithril-common ‑ entities::signed_entity_type::tests::computing_block_number_to_be_signed mithril-common ‑ entities::signed_entity_type::tests::computing_block_number_to_be_signed_round_step_to_a_block_range_start mithril-common ‑ entities::signed_entity_type::tests::serialize_beacon_to_json mithril-common ‑ entities::signed_entity_type::tests::verify_signed_entity_type_properties_are_included_in_computed_hash … ```

:recycle: This comment has been updated with latest results.