MinaProtocol / mina

Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security.
https://minaprotocol.com
Apache License 2.0
1.99k stars 529 forks source link

Create test coverage report for new functionality in `develop` #11769

Closed kantp closed 1 year ago

kantp commented 2 years ago

The outcome of this issue should be twofold:

A brief description of the directories in the codebase where we have substantial new code, and what it does. We are particularly interested in code that relates to the transaction logic, and zkApps, as that is the most crucial thing to get correct.

A report on the test coverage of those directories. Ideally, there should be a quick and straightforward way of regenerating this report as we make progress.

ylecornec commented 2 years ago

Some first results after running the tests from src/lib and src/app/zkapp_test_transaction/ locally (using dune runtest). The first table contains files/libraries named transaction and zkapp, and the second one contains all of them.

Lines added in develop Filename Coverage (%)
4142 src/lib/transaction_snark/transaction_snark.ml 78
2417 src/lib/transaction_logic/mina_transaction_logic.ml 83
1638 src/lib/transaction_logic/parties_logic.ml 93
1530 src/lib/network_pool/transaction_pool.ml 76
695 src/lib/fields_derivers_zkapps/fields_derivers_zkapps.ml 76
692 src/lib/zkapps_examples/zkapps_examples.ml 68
355 src/lib/mina_base/zkapp_account.ml 88
318 src/lib/mina_base/transaction_status.ml 56
195 src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml 70
167 src/lib/fields_derivers_zkapps/fields_derivers_js.ml 96
152 src/lib/mina_base/zkapp_call_forest.ml 64
138 src/lib/mina_base/transaction_union_payload.ml 44
135 src/lib/transaction_snark/transaction_validator.ml 75
82 src/lib/zkapps_examples/initialize_state/zkapps_initialize_state.ml 73
82 src/lib/mina_base/zkapp_statement.ml 75
51 src/lib/transaction_witness/transaction_witness.ml 11
28 src/lib/mina_base/transaction_union_tag.ml 79
27 src/lib/rosetta_lib/transaction.ml 1
27 src/lib/transaction_inclusion_status/transaction_inclusion_status.ml 86
27 src/lib/zkapps_examples/empty_update/zkapps_empty_update.ml 75
11 src/lib/transaction_snark_work/transaction_snark_work.ml 39
7 src/lib/transaction_protocol_state/transaction_protocol_state.ml 70
All files |Lines added in develop | Filename| Coverage (%)| |-----|----|---| |16479| src/lib/crypto/kimchi_backend/pasta/precomputed.ml| 99| |4293| src/lib/pickles/plonk_checks/scalars.ml| 67| |4142| src/lib/transaction_snark/transaction_snark.ml| 78| |3774| src/lib/pickles/pickles.ml| 92| |3163| src/lib/snarky_js_bindings/lib/snarky_js_bindings_lib.ml| NA| |2417| src/lib/transaction_logic/mina_transaction_logic.ml| 83| |1638| src/lib/transaction_logic/parties_logic.ml| 93| |1569| src/lib/ppx_version/versioned_module.ml| NA| |1565| src/lib/mina_base/parties.ml| 70| |1530| src/lib/network_pool/transaction_pool.ml| 76| |1503| src/lib/mina_block/sample_precomputed_block.ml| 100| |1463| src/lib/mina_generators/parties_generators.ml| 66| |1429| src/lib/mina_base/party.ml| 66| |1281| src/lib/network_pool/indexed_pool.ml| 79| |1216| src/lib/pickles/step_verifier.ml| 83| |1183| src/lib/crypto/kimchi_backend/common/plonk_constraint_system.ml| 61| |1049| src/lib/currency/currency.ml| 77| |993| src/lib/pickles/wrap_verifier.ml| 80| |985| src/lib/mina_graphql/mina_graphql.ml| 23| |839| src/lib/fields_derivers_graphql/fields_derivers_graphql.ml| 87| |758| src/lib/pickles_types/plonk_types.ml| 54| |695| src/lib/fields_derivers_zkapps/fields_derivers_zkapps.ml| 76| |692| src/lib/zkapps_examples/zkapps_examples.ml| 68| |662| src/lib/pickles/step.ml| 98| |640| src/lib/staged_ledger/staged_ledger.ml| 80| |591| src/lib/ppx_version/versioned_type.ml| NA| |585| src/lib/pickles/composition_types/composition_types.ml|37| |569| src/lib/ppx_version/lint_version_syntax.ml| NA| |538| src/lib/crypto/kimchi_bindings/stubs/kimchi_bindings.ml|100| |531| src/lib/random_oracle_input/random_oracle_input.ml| 83| |514| src/lib/pickles/wrap.ml| 94| |468| src/lib/pickles/pickles_intf.ml| 100| |439| src/lib/staged_ledger_diff/diff.ml| 43| |422| src/lib/pickles/plonk_checks/gen_scalars/gen_scalars.ml|NA| |413| src/lib/pickles/step_main.ml| 91| |408| src/lib/pickles/plonk_checks/plonk_checks.ml| 89| |391| src/lib/signature_lib/find_address/find_address.ml| NA| |384| src/lib/mina_base/account.ml| 76| |355| src/lib/mina_base/zkapp_account.ml| 88| |350| src/lib/mina_base/signed_command.ml| 83| |349| src/lib/pickles/plonk_curve_ops.ml| 74| |335| src/lib/pickles/wrap_main.ml| 91| |332| src/lib/ledger_catchup/super_catchup.ml| 69| |330| src/lib/currency/intf.ml| 100| |318| src/lib/mina_base/transaction_status.ml| 56| |318| src/lib/pickles_types/hlist.ml| 27| |307| src/lib/fields_derivers_json/fields_derivers_json.ml| 93| |301| src/lib/transition_frontier/full_frontier/full_frontier.ml|70| |297| src/lib/mina_caqti/mina_caqti.ml| 10| |263| src/lib/mina_base/signed_command_memo.ml| 68| |261| src/lib/crypto/kimchi_bindings/stubs/pasta_bindings.ml|100| |244| src/lib/block_time/intf.ml| 100| |236| src/lib/consensus/proof_of_stake.ml| 63| |232| src/lib/pickles/scalar_challenge.ml| 96| |230| src/lib/block_time/block_time.ml| 61| |225| src/lib/mina_lib/mina_lib.ml| 20| |224| src/lib/mina_state/local_state.ml| 70| |223| src/lib/block_storage/block_storage.ml| 68| |210| src/lib/network_pool/batcher.ml| 58| |209| src/lib/mina_base/permissions.ml| 82| |208| src/lib/signature_lib/schnorr.ml| 89| |204| src/lib/mina_base/account_id.ml| 80| |200| src/lib/mina_base/sparse_ledger_base.ml| 73| |195|src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml|70| |192| src/lib/fields_derivers/fields_derivers.ml| 81| |189| src/lib/pickles/common.ml| 79| |181| src/lib/crypto/kimchi_bindings/stubs/kimchi_types.ml| 100| |178| src/lib/mina_generators/user_command_generators.ml| 85| |177| src/lib/pickles/wrap_hack.ml| 100| |176| src/lib/pickles/composition_types/spec.ml| 89| |174| src/lib/transition_frontier/transition_frontier.ml| 69| |173| src/lib/pickles/side_loaded_verification_key.ml| 66| |172| src/lib/snark_worker/prod.ml| 4| |169| src/lib/pickles/proof.ml| 51| |167| src/lib/fields_derivers_zkapps/fields_derivers_js.ml| 96| |165| src/lib/transition_frontier/frontier_base/breadcrumb.ml|58| |164| src/lib/network_pool/writer_result.ml| 32| |157| src/lib/mina_base/signed_command_memo_intf.ml| 100| |156| src/lib/mina_wire_types/pickles/pickles.ml| 100| |156|src/lib/mina_wire_types/pickles/pickles_composition_types.ml|100| |153| src/lib/pickles_types/shifted_value.ml| 86| |153| src/lib/node_error_service/node_error_service.ml| 2| |152| src/lib/pickles_types/vector.ml| 69| |152| src/lib/mina_base/zkapp_call_forest.ml| 64| |151| src/lib/mina_base/coinbase.ml| 58| |150| src/lib/pickles/per_proof_witness.ml| 100| |149|src/lib/genesis_ledger_helper/lib/genesis_ledger_helper_lib.ml|41| |148| src/lib/mina_base/user_command.ml| 63| |146| src/lib/parties_builder/parties_builder.ml| 83| |143| src/lib/pickles/verify.ml| 96| |139| src/lib/mina_numbers/nat.ml| 85| |139| src/lib/pickles/composition_types/branch_data.ml| 66| |138| src/lib/mina_base/transaction_union_payload.ml| 44| |137| src/lib/block_producer/block_producer.ml| 0| |136| src/lib/crypto/kimchi_backend/common/poly_comm.ml| 42| |135| src/lib/blockchain_snark/blockchain_snark_state.ml| 76| |135| src/lib/transaction_snark/transaction_validator.ml| 75| |131| src/lib/random_oracle/random_oracle.ml| 84| |130| src/lib/transition_router/transition_router.ml| 10| |130| src/lib/pickles/verification_key.ml| 7| |130| src/lib/pickles/impls.ml| 88| |126| src/lib/pickles_base/proofs_verified.ml| 69| |123| src/lib/base58_check/base58_check.ml| 83| |121| src/lib/pickles/inductive_rule.ml| 100| |120| src/lib/runtime_config/runtime_config.ml| 13| |119| src/lib/transition_frontier/frontier_base/diff.ml| 64| |118| src/lib/mina_base/account_id_intf.ml| 100| |117| src/lib/mina_base/signed_command_payload.ml| 69| |115| src/lib/ppx_version/bin_io_unversioned.ml| NA| |115| src/lib/mina_ledger/sparse_ledger.ml| 83| |115| src/lib/mina_base/stack_frame.ml| 84| |114| src/lib/pickles/types_map.ml| 73| |114| src/lib/ppx_annot/ppx_annot.ml| NA| |113| src/lib/mina_base/fee_transfer.ml| 39| |113| src/lib/snark_worker/functor.ml| 7| |109| src/lib/bootstrap_controller/bootstrap_controller.ml| 84| |107|src/lib/transition_frontier/persistent_frontier/persistent_frontier.ml|70| |106| src/lib/mina_block/precomputed_block.ml| 52| |106| src/lib/mina_wire_types/mina_base/mina_base_parties.ml|100| |105| src/lib/ppx_version/tools/print_binable_functors.ml| NA| |105| src/lib/mina_base/fee_transfer_intf.ml| 100| |103| src/lib/mina_base/receipt.ml| 95| |102| src/lib/mina_base/control.ml| 89| |100|src/lib/pickles/reduced_messages_for_next_proof_over_same_field.ml|60| |100| src/lib/mina_wire_types/mina_base/mina_base_party.ml| 100| |96| src/lib/mina_net2/libp2p_helper.ml| 76| |95| src/lib/verifier/common.ml| 57| |95| src/lib/mina_state/blockchain_state.ml| 58| |91| src/lib/mina_commands/mina_commands.ml| 22| |91|src/lib/filtered_external_transition/filtered_external_transition.ml|13| |89| src/lib/mina_base/digest_intf.ml| 100| |88| src/lib/pickles/step_main_inputs.ml| 60| |88| src/lib/allocation_functor/intf.ml| 100| |86| src/lib/transition_frontier/full_catchup_tree.ml| 45| |83| src/lib/transition_frontier/extensions/best_tip_diff.ml|88| |83|src/lib/mina_wire_types/mina_base/mina_base_zkapp_precondition.ml|100| |82| src/lib/verifier/prod.ml| 19| |82|src/lib/zkapps_examples/initialize_state/zkapps_initialize_state.ml|73| |82| src/lib/mina_base/zkapp_statement.ml| 75| |79| src/lib/pickles/requests.ml| 100| |79| src/lib/merkle_ledger/database.ml| 72| |78| src/lib/consensus/intf.ml| 100| |76| src/lib/ppx_version/versioned_util.ml| NA| |76|src/lib/mina_wire_types/mina_base/mina_base_signed_command_payload.ml|100| |75| src/lib/staged_ledger_diff/body.ml| 92| |74| src/lib/precomputed_values/gen_values/gen_values.ml| NA| |74| src/lib/fake_network/fake_network.ml| 89| |74| src/lib/mina_state/registers.ml| 39| |74| src/lib/logger/file_system/logger_file_system.ml| 85| |73| src/lib/pickles/step_branch_data.ml| 100| |73| src/lib/consensus/constants.ml| 59| |70| src/lib/mina_networking/mina_networking.ml| 50| |69| src/lib/generated_graphql_queries/gen/gen.ml| NA| |68| src/lib/mina_base/signed_command_intf.ml| 100| |68| src/lib/pickles/pseudo/pseudo.ml| 76| |67| src/lib/mina_base/coinbase_intf.ml| 100| |66| src/lib/mina_base/mina_base.ml| 100| |64| src/lib/mina_wire_types/mina_numbers.ml| 100| |63| src/lib/network_pool/snark_pool.ml| 74| |63| src/lib/mina_wire_types/mina_base/mina_base_account_id.ml|100| |61| src/lib/pickles_types/hlist0.ml| 60| |61| src/lib/mina_wire_types/utils.ml| 100| |59| src/lib/trust_system/peer_trust.ml| 80| |59|src/lib/zkapps_examples/sequence_events/zkapps_sequence_events.ml|100| |58| src/lib/pickles/unfinalized.ml| 100| |58| src/lib/mina_wire_types/mina_base/mina_base_fee_transfer.ml|100| |58|src/lib/crypto/kimchi_backend/common/endoscale_scalar_round.ml|30| |56| src/lib/transition_frontier/frontier_base/root_data.ml| 66| |56| src/lib/zkapps_examples/add_events/zkapps_add_events.ml|100| |56| src/lib/crypto/kimchi_backend/common/endoscale_round.ml|30| |55| src/lib/mina_base/pending_coinbase.ml| 85| |55| src/lib/transition_frontier/persistent_frontier/database.ml|71| |55| src/lib/mina_wire_types/currency.ml| 100| |55| src/lib/consensus/body_reference.ml| 88| |54| src/lib/consensus/vrf/consensus_vrf.ml| 53| |53| src/lib/snark_worker/snark_worker.ml| 96| |52| src/lib/mina_base/coinbase_fee_transfer.ml| 41| |51| src/lib/transaction_witness/transaction_witness.ml| 11| |51| src/lib/pickles/wrap_proof.ml| 94| |51| src/lib/pickles/composition_types/branch_data_intf.ml| 100| |49| src/lib/hash_prefix_states/hash_prefix_states.ml| 97| |48| src/lib/mina_base/fee_excess.ml| 78| |48| src/lib/mina_base/verification_key_wire.ml| 82| |48| src/lib/mina_base/data_as_hash.ml| 94| |47|src/lib/mina_wire_types/mina_base/mina_base_signed_command.ml|100| |46| src/lib/crypto/kimchi_backend/common/scale_round.ml| 25| |45| src/lib/parallel_scan/parallel_scan.ml| 78| |44|src/lib/transition_frontier/persistent_root/persistent_root.ml|61| |44| src/lib/ledger_catchup/normal_catchup.ml| 63| |43| src/lib/mina_base/coinbase_fee_transfer_intf.ml| 100| |42| src/lib/allocation_functor/make.ml| 61| |41| src/lib/verifier/dummy.ml| 64| |41| src/lib/mina_block/validation.ml| 78| |40| src/lib/pickles_types/plonk_verification_key_evals.ml| 57| |40| src/lib/mina_numbers/intf.ml| 100| |40| src/lib/sync_handler/sync_handler.ml| 65| |40| src/lib/promise/js/promise.ml| NA| |40| src/lib/mina_wire_types/mina_base/mina_base_coinbase.ml|100| |39| src/lib/logger/impl.ml| 65| |39| src/lib/mina_base/side_loaded_verification_key.ml| 100| |39| src/lib/transition_handler/processor.ml| 56| |37| src/lib/transition_frontier/catchup_hash_tree.ml| 51| |36| src/lib/transition_handler/block_sink.ml| 14| |36| src/lib/prover/prover.ml| 22| |35| src/lib/pickles_base/side_loaded_verification_key.ml| 54| |35| src/lib/hash_prefixes/hash_prefixes.ml| 100| |35| src/lib/mina_lib/archive_client.ml| 6| |33| src/lib/rosetta_lib/user_command_info.ml| 48| |33| src/lib/mina_base/call_stack_digest.ml| 87| |32| src/lib/merkle_list_verifier/merkle_list_verifier.ml| 88| |32| src/lib/transition_frontier/extensions/root_history.ml| 59| |32| src/lib/pickles/util.ml| 59| |32| src/lib/ppx_version/runtime/shapes.ml| NA| |32| src/lib/mina_base/ledger_intf.ml| 100| |31| src/lib/non_zero_curve_point/non_zero_curve_point.ml| 80| |31| src/lib/mina_wire_types/mina_base/mina_base_zkapp_basic.ml|100| |31|src/lib/mina_wire_types/mina_base/mina_base_coinbase_fee_transfer.ml|100| |30| src/lib/sparse_ledger_lib/sparse_ledger.ml| 66| |30| src/libp2p_ipc/libp2p_ipc.ml| 90| |30| src/nonconsensus/mina_base/mina_base_nonconsensus.ml| NA| |30|src/lib/mina_wire_types/pickles/pickles_reduced_messages_for_next_proof_over_same_field.ml|100| |30| src/lib/mina_wire_types/mina_base/mina_base.ml| 100| |29| src/lib/transition_frontier/extensions/ledger_table.ml| 67| |29|src/lib/random_oracle/permutation/external/random_oracle_permutation.ml|100| |29| src/lib/mina_metrics/prometheus_metrics/mina_metrics.ml|66| |28| src/lib/snark_worker/intf.ml| 100| |28| src/lib/mina_base/transaction_union_tag.ml| 79| |28| src/lib/transition_handler/validator.ml| 31| |28| src/lib/mina_block/block.ml| 38| |27| src/lib/pickles/wrap_domains.ml| 23| |27| src/lib/rosetta_lib/transaction.ml| 1| |27|src/lib/transaction_inclusion_status/transaction_inclusion_status.ml|86| |27| src/lib/zkapps_examples/empty_update/zkapps_empty_update.ml|75| |27| src/lib/mina_wire_types/snark_params.ml| 100| |27| src/lib/mina_wire_types/mina_base/mina_base_permissions.ml|100| |27|src/lib/mina_wire_types/mina_base/mina_base_payment_payload.ml|100| |26| src/lib/staged_ledger/pre_diff_info.ml| 73| |26| src/lib/child_processes/child_processes.ml| 80| |26|src/lib/transition_frontier/extensions/snark_pool_refcount.ml|65| |26| src/lib/blockchain_snark/blockchain.ml| 43| |26|src/lib/transition_frontier_controller/transition_frontier_controller.ml|0| |26| src/lib/network_pool/intf.ml| 100| |25| src/lib/graphql_lib/client.ml| 2| |25| src/lib/mina_base/token_permissions.ml| 64| |25| src/lib/mina_state/protocol_state.ml| 88| |25| src/lib/gossip_net/libp2p.ml| 31| |25| src/lib/genesis_proof/genesis_proof.ml| 19| |24| src/lib/vrf_evaluator/vrf_evaluator.ml| 26| |23| src/lib/consensus/global_sub_window.ml| 83| |23|src/lib/transition_frontier/persistent_frontier/diff_buffer.ml|73| |22| src/lib/snark_worker/rpcs.ml| 100| |22| src/lib/network_pool/network_pool_base.ml| 65| |22| src/lib/mina_metrics/no_metrics/mina_metrics.ml| NA| |21| src/lib/merkle_mask/masking_merkle_tree.ml| 77| |21| src/lib/mina_base/account_timing.ml| 64| |21| src/lib/mina_base/protocol_constants_checked.ml| 98| |21| src/lib/snarky_curves/snarky_curves.ml| 75| |21| src/lib/mina_intf/transition_frontier_components_intf.ml|100| |20| src/lib/genesis_ledger_helper/genesis_ledger_helper.ml| 33| |20| src/lib/ledger_catchup/ledger_catchup.ml| 40| |20| src/lib/mina_block/validated_block.ml| 87| |20| src/lib/mina_numbers/account_nonce.ml| 100| |20| src/lib/snark_bits/bits.ml| 21| |20| src/lib/transition_frontier/extensions/extensions.ml| 89| |20|src/lib/mina_wire_types/mina_base/mina_base_signed_command_memo.ml|100| |20| src/lib/mina_wire_types/block_time.ml| 100| |19| src/lib/pickles/one_hot_vector/one_hot_vector.ml| 76| |19| src/lib/pickles/unix/graphql_scalars.ml| NA| |18| src/lib/mina_numbers/length.ml| 100| |18| src/lib/mina_base/pending_coinbase_intf.ml| 100| |18| src/lib/pickles_types/poly_types.ml| 100| |18| src/lib/pickles_types/nat.ml| 49| |18| src/lib/mina_wire_types/mina_transaction.ml| 100| |18| src/lib/mina_wire_types/mina_base/mina_base_user_command.ml|100| |18| src/lib/crypto/kimchi_backend/common/scalar_challenge.ml|87| |17| src/lib/genesis_constants/genesis_constants.ml| 29| |17| src/lib/transition_frontier/persistent_frontier/worker.ml|55| |17| src/lib/mina_wire_types/pickles_base.ml| 100| |16| src/lib/verifier/verifier_intf.ml| 100| |16| src/lib/mina_net2/mina_net2.ml| 58| |16| src/lib/snark_work_lib/work.ml| 25| |16| src/lib/mina_numbers/global_slot.ml| 100| |16| src/lib/user_command_input/user_command_input.ml| 13| |16| src/lib/pickles/fix_domains.ml| 100| |16| src/lib/blake2/blake2.ml| 92| |16| src/lib/mina_wire_types/mina_base_epoch_data.ml| 100| |15| src/lib/hex/hex.ml| 94| |15| src/lib/mina_base/staged_ledger_hash.ml| 75| |15| src/lib/consensus/global_slot.ml| 79| |15| src/lib/snarky_field_extensions/intf.ml| 100| |15| src/lib/mina_wire_types/public_key.ml| 100| |15| src/lib/mina_base/prover_value.ml| 100| |14| src/lib/pickles/make_sponge.ml| 100| |14| src/lib/mina_base/payment_payload.ml| 74| |14| src/lib/mina_base/unix/graphql_scalars.ml| 100| |14| src/lib/pickles/cache.ml| 75| |14| src/lib/pickles/dummy.ml| 100| |14| src/lib/pickles/evaluation_lengths.ml| 100| |14| src/lib/network_pool/f_sequence.ml| 81| |13| src/lib/consensus/slot.ml| 100| |13| src/lib/promise/native/promise.ml| 42| |13| src/lib/mina_base/with_stack_hash.ml| 85| |12| src/lib/mina_base/sok_message.ml| 47| |12| src/lib/data_hash_lib/data_hash.ml| 66| |12| src/lib/uptime_service/uptime_service.ml| 3| |12| src/lib/transition_frontier/extensions/functor.ml| 91| |12| src/lib/snarky_js_bindings/snarky_js_types.ml| NA| |12| src/lib/mina_compile_config/mina_compile_config.ml| 100| |11| src/lib/pickles/ro.ml| 100| |11| src/lib/snark_params/snark_util.ml| 71| |11| src/lib/transaction_snark_work/transaction_snark_work.ml|39| |11| src/lib/pickles/wrap_main_inputs.ml| 46| |11| src/lib/mina_wire_types/pickles/pickles_limb_vector.ml|100| |10| src/lib/data_hash_lib/data_hash_intf.ml| 100| |10| src/lib/network_pool/pool_sink.ml| 76| |10| src/lib/signature_lib/private_key.ml| 56| |10| src/lib/snark_bits/bits_intf.ml| 100| |10| src/lib/gossip_net/message.ml| 17| |10| src/lib/rosetta_lib/amount_of.ml| 65| |10| src/lib/transaction/unix/graphql_scalars.ml| 100| |9| src/lib/sgn/sgn.ml| 93| |9| src/lib/pickles/commitment_lengths.ml| 100| |9| src/lib/snark_params/snark_params.ml| 65| |9| src/lib/pickles/limb_vector/constant.ml| 73| |9| src/lib/mina_base/epoch_ledger.ml| 93| |8| src/lib/pickles/precomputed/gen_values/gen_values.ml| NA| |8| src/lib/mina_base/ledger_hash_intf.ml| 100| |8| src/lib/mina_block/header.ml| 58| |8| src/lib/syncable_ledger/syncable_ledger.ml| 68| |8|src/lib/mina_wire_types/mina_base/mina_base_new_account_payload.ml|100| |8|src/lib/mina_wire_types/mina_base/mina_base_minting_payload.ml|100| |7| src/lib/vrf_lib/integrated.ml| 100| |7| src/lib/mina_base/ledger_hash.ml| 96| |7| src/lib/gossip_net/fake.ml| 64| |7| src/lib/dummy_values/gen_values/gen_values.ml| NA| |7| src/lib/snarky_log/snarky_log.ml| 33| |7| src/lib/ledger_proof/ledger_proof_intf.ml| 100| |7| src/lib/o1trace/thread.ml| 59| |7| src/lib/mina_base/signature.ml| 96| |7|src/lib/transaction_protocol_state/transaction_protocol_state.ml|70| |7| src/lib/mina_base/epoch_data.ml| 70| |7| src/lib/work_selector/intf.ml| 100| |7|src/lib/mina_wire_types/mina_base/mina_base_stake_delegation.ml|100| |6| src/lib/mina_state/snark_transition.ml| 46| |6| src/lib/trust_system/trust_system.ml| 39| |6| src/lib/snark_worker/standalone/run_snark_worker.ml| NA| |6| src/lib/pickles_types/or_infinity.ml| 50| |6| src/lib/best_tip_prover/best_tip_prover.ml| 87| |6| src/lib/mina_base/token_id.ml| 100| |6|src/lib/mina_wire_types/mina_base/mina_base_verification_key_wire.ml|100| |6| src/lib/mina_wire_types/mina_base/mina_base_epoch_ledger.ml|100| |6| src/lib/mina_wire_types/mina_base/mina_base_control.ml| 100| |5| src/lib/transition_router/initial_validator.ml| 6| |5| src/lib/mina_state/genesis_protocol_state.ml| 88| |5| src/lib/work_selector/inputs.ml| 55| |5| src/lib/vrf_lib/standalone.ml| 23| |5| src/lib/network_pool/snark_pool_diff.ml| 54| |5| src/lib/mina_block/internal_transition.ml| 20| |5| src/lib/mina_base/stake_delegation.ml| 50| |5| src/lib/memory_stats/memory_stats.ml| 75| |5| src/lib/mina_base/epoch_seed.ml| 83| |5| src/lib/mina_base/with_status.ml| 56| |5| src/lib/mina_base/proof.ml| 83| |5| src/lib/non_zero_curve_point/compressed_poly.ml| 100| |5| src/lib/data_hash_lib/state_hash.ml| 87| |5| src/lib/base58_check/version_bytes.ml| 100| |5| src/lib/pickles_types/pcs_batch.ml| 56| |5| src/lib/promise/js_helpers/promise_js_helpers.ml| NA| |5| src/lib/ppx_version/tools/print_versioned_types.ml| NA| |5| src/lib/mina_wire_types/with_hash.ml| 100| |5| src/lib/mina_wire_types/sgn_type.ml| 100| |5| src/lib/mina_wire_types/mina_base/mina_base_zkapp_state.ml|100| |5| src/lib/mina_wire_types/mina_base/mina_base_account.ml| 100| |5| src/lib/mina_wire_types/data_hash_lib.ml| 100| |5| src/lib/mina_numbers/index.ml| 100| |5| src/lib/mina_base/state_hash.ml| 73| |5| src/lib/crypto/kimchi_backend/common/constants.ml| 100| |4| src/lib/pickles/endo.ml| 100| |4| src/lib/pickles/intf.ml| 100| |4| src/lib/pickles/backend/backend.ml| 100| |4| src/lib/staged_ledger_diff/staged_ledger_diff.ml| 100| |4| src/lib/with_hash/with_hash.ml| 70| |4| src/lib/ppx_register_event/register_event.ml| NA| |4| src/lib/pickles/composition_types/bulletproof_challenge.ml|75| |4| src/lib/daemon_rpcs/daemon_rpcs.ml| 98| |4| src/lib/currency/signed_poly.ml| 71| |4| src/lib/secrets/keypair_common.ml| 4| |4| src/lib/ledger_proof/ledger_proof.ml| 87| |4| src/lib/pickles/import.ml| 100| |4|src/lib/mina_wire_types/mina_base/mina_base_new_token_payload.ml|100| |4| src/lib/cli_lib/default.ml| 100| |3| src/lib/secrets/keypair_read_write.ml| 27| |3| src/lib/cache_dir/native/cache_dir.ml| 48| |3| src/lib/mina_block/mina_block.ml| 72| |3| src/lib/work_selector/work_lib.ml| 81| |3| src/lib/transition_frontier/persistent_frontier/sync.ml| 87| |3| src/lib/string_sign/string_sign.ml| 95| |3| src/lib/pickles_base/domains.ml| 75| |3| src/lib/merkle_ledger/intf.ml| 100| |3| src/lib/graphql_lib/serializing.ml| 26| |3| src/lib/consensus/stake_proof.ml| 16| |3| src/lib/consensus/proof_of_stake_fuzzer.ml| NA| |3| src/lib/consensus/epoch.ml| 90| |3| src/lib/staged_ledger/diff_creation_log.ml| 56| |3| src/lib/network_peer/network_peer.ml| 100| |3| src/lib/random_oracle/intf.ml| 100| |3| src/lib/blake2/intf.ml| 100| |3| src/lib/pickles/sponge_inputs.ml| 100| |3| src/lib/merkle_ledger/base_ledger_intf.ml| 100| |3| src/lib/snarky_js_bindings/snarky_js_node.ml| NA| |3|src/lib/random_oracle/permutation/ocaml/random_oracle_permutation.ml|NA| |3| src/lib/mina_wire_types/signed_poly.ml| 100| |3|src/lib/mina_wire_types/pickles/pickles_bulletproof_challenge.ml|100| |3| src/lib/mina_wire_types/one_or_two/one_or_two.ml| 100| |3|src/lib/mina_wire_types/mina_base/mina_base_with_stack_hash.ml|100| |3| src/lib/mina_wire_types/mina_base/mina_base_signature.ml|100| |3| src/lib/mina_wire_types/mina_base/mina_base_ledger_hash.ml|100| |3| src/lib/crypto/kimchi_backend/kimchi_backend.ml| 100| |2| src/lib/pickles/limb_vector/challenge.ml| 100| |2| src/lib/snark_worker/debug.ml| 20| |2| src/nonconsensus/snark_params/tick.ml| NA| |2| src/lib/transition_frontier/frontier_base/root_identifier.ml|88| |2| src/lib/transition_frontier/catchup_tree.ml| 100| |2| src/lib/snarky_blake2/uint32.ml| 86| |2| src/lib/snark_params/snark_intf.ml| 100| |2| src/lib/secrets/hardware_wallets.ml| 2| |2| src/lib/node_status_service/node_status_service.ml| 0| |2| src/lib/mina_base/pending_coinbase_witness.ml| 38| |2| src/lib/gossip_net/gossip_net.ml| 100| |2| src/lib/gossip_net/any.ml| 45| |2| src/lib/cli_lib/commands.ml| 14| |2| src/lib/network_pool/mocks.ml| 61| |2| src/lib/sgn_type/sgn.ml| 71| |2| src/lib/pickles/type.ml| 100| |2| src/lib/genesis_ledger/genesis_ledger.ml| 41| |2| src/lib/consensus/genesis_epoch_data.ml| 100| |2| src/lib/pickles/limb_vector/make.ml| 100| |2| src/lib/trust_system/banned_status.ml| 35| |2| src/lib/proof_carrying_data/proof_carrying_data.ml| 41| |2| src/lib/network_pool/priced_proof.ml| 24| |2| src/lib/mina_numbers/mina_numbers.ml| 100| |2| src/lib/logger/logger.ml| 100| |2| src/lib/graphql_lib/scalars.ml| 100| |1| src/lib/merkle_ledger/null_ledger.ml| 44| |1| src/lib/work_selector/work_selector.ml| 100| |1| src/lib/transition_chain_prover/transition_chain_prover.ml|100| |1| src/lib/snarky_blake2/snarky_blake2.ml| 100| |1| src/lib/snarky_field_extensions/field_extensions.ml| 14| |1| src/lib/trust_system/record.ml| 94| |1|src/lib/transition_frontier/extensions/transition_registry.ml|50| |1| src/lib/transition_frontier/extensions/new_breadcrumbs.ml|100| |1| src/lib/protocol_version/protocol_version.ml| 59| |1| src/lib/pickles/tock_field_sponge.ml| 100| |1| src/lib/pickles/tick_field_sponge.ml| 100| |1| src/lib/pickles/precomputed/precomputed.ml| 100| |1| src/lib/pickles/opt_sponge.ml| 90| |1| src/lib/o1trace/o1trace.ml| 97| |1| src/lib/mina_base/state_body_hash.ml| 85| |1| src/lib/mina_base/ledger_hash0.ml| 83| |1| src/lib/gossip_net/intf.ml| 28| |1| src/lib/genesis_ledger/intf.ml| 0| |1| src/lib/daemon_rpcs/types.ml| 40| |1| src/lib/block_time/unix/graphql_scalars.ml| 0| |1| src/nonconsensus/transaction/transaction_hash.ml| NA| |1| src/nonconsensus/mina_numbers/zkapp_version.ml| NA| |1| src/nonconsensus/mina_base/util/mina_base_util.ml| NA| |1| src/nonconsensus/mina_base/import/mina_base_import.ml| NA| |1|src/nonconsensus/fields_derivers_zkapps/fields_derivers_zkapps.ml|NA| |1| src/lib/snarky_js_bindings/snarky_js_chrome.ml| NA| |1| src/lib/ppx_version/runtime/util.ml| NA| |1| src/lib/mina_wire_types/mina_base/mina_base_token_id.ml|100| |1| src/lib/mina_numbers/zkapp_version.ml| 100|