[package]
edition = "2024"
name = "dig-slashing"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Validator slashing, attestation participation, inactivity accounting, and fraud-proof appeals for the DIG Network L2 blockchain."
homepage = "https://github.com/DIG-Network/dig-slashing"
documentation = "https://docs.rs/dig-slashing"
readme = "README.md"
keywords = [
"blockchain",
"slashing",
"validator",
"consensus",
"dig-network",
]
categories = ["cryptography::cryptocurrencies"]
license = "Apache-2.0"
repository = "https://github.com/DIG-Network/dig-slashing"
[lib]
name = "dig_slashing"
path = "src/lib.rs"
[[test]]
name = "dsl_001_offense_type_bps_mapping_test"
path = "tests/dsl_001_offense_type_bps_mapping_test.rs"
[[test]]
name = "dsl_002_evidence_hash_determinism_test"
path = "tests/dsl_002_evidence_hash_determinism_test.rs"
[[test]]
name = "dsl_003_checkpoint_roundtrip_test"
path = "tests/dsl_003_checkpoint_roundtrip_test.rs"
[[test]]
name = "dsl_004_attestation_data_signing_root_test"
path = "tests/dsl_004_attestation_data_signing_root_test.rs"
[[test]]
name = "dsl_005_indexed_attestation_validate_structure_test"
path = "tests/dsl_005_indexed_attestation_validate_structure_test.rs"
[[test]]
name = "dsl_006_indexed_attestation_verify_signature_test"
path = "tests/dsl_006_indexed_attestation_verify_signature_test.rs"
[[test]]
name = "dsl_007_attester_slashing_slashable_indices_test"
path = "tests/dsl_007_attester_slashing_slashable_indices_test.rs"
[[test]]
name = "dsl_008_invalid_block_proof_roundtrip_test"
path = "tests/dsl_008_invalid_block_proof_roundtrip_test.rs"
[[test]]
name = "dsl_009_signed_block_header_roundtrip_test"
path = "tests/dsl_009_signed_block_header_roundtrip_test.rs"
[[test]]
name = "dsl_010_slashable_validators_list_test"
path = "tests/dsl_010_slashable_validators_list_test.rs"
[[test]]
name = "dsl_011_verify_evidence_offense_too_old_test"
path = "tests/dsl_011_verify_evidence_offense_too_old_test.rs"
[[test]]
name = "dsl_012_verify_evidence_reporter_is_accused_test"
path = "tests/dsl_012_verify_evidence_reporter_is_accused_test.rs"
[[test]]
name = "dsl_013_verify_proposer_slashing_preconditions_test"
path = "tests/dsl_013_verify_proposer_slashing_preconditions_test.rs"
[[test]]
name = "dsl_014_verify_attester_double_vote_predicate_test"
path = "tests/dsl_014_verify_attester_double_vote_predicate_test.rs"
[[test]]
name = "dsl_015_verify_attester_surround_vote_predicate_test"
path = "tests/dsl_015_verify_attester_surround_vote_predicate_test.rs"
[[test]]
name = "dsl_016_verify_attester_empty_intersection_test"
path = "tests/dsl_016_verify_attester_empty_intersection_test.rs"
[[test]]
name = "dsl_017_verify_attester_not_slashable_test"
path = "tests/dsl_017_verify_attester_not_slashable_test.rs"
[[test]]
name = "dsl_018_verify_invalid_block_signature_over_domain_test"
path = "tests/dsl_018_verify_invalid_block_signature_over_domain_test.rs"
[[test]]
name = "dsl_019_verify_invalid_block_epoch_mismatch_test"
path = "tests/dsl_019_verify_invalid_block_epoch_mismatch_test.rs"
[[test]]
name = "dsl_020_verify_invalid_block_oracle_called_test"
path = "tests/dsl_020_verify_invalid_block_oracle_called_test.rs"
[[test]]
name = "dsl_021_verify_evidence_for_inclusion_parity_test"
path = "tests/dsl_021_verify_evidence_for_inclusion_parity_test.rs"
[[test]]
name = "dsl_022_submit_evidence_base_slash_formula_test"
path = "tests/dsl_022_submit_evidence_base_slash_formula_test.rs"
[[test]]
name = "dsl_023_submit_evidence_escrows_reporter_bond_test"
path = "tests/dsl_023_submit_evidence_escrows_reporter_bond_test.rs"
[[test]]
name = "dsl_024_submit_evidence_creates_pending_accepted_test"
path = "tests/dsl_024_submit_evidence_creates_pending_accepted_test.rs"
[[test]]
name = "dsl_025_submit_evidence_reward_routing_test"
path = "tests/dsl_025_submit_evidence_reward_routing_test.rs"
[[test]]
name = "dsl_026_submit_evidence_already_slashed_test"
path = "tests/dsl_026_submit_evidence_already_slashed_test.rs"
[[test]]
name = "dsl_027_submit_evidence_book_full_test"
path = "tests/dsl_027_submit_evidence_book_full_test.rs"
[[test]]
name = "dsl_028_submit_evidence_bond_lock_failed_test"
path = "tests/dsl_028_submit_evidence_bond_lock_failed_test.rs"
[[test]]
name = "dsl_029_finalise_transitions_to_finalised_test"
path = "tests/dsl_029_finalise_transitions_to_finalised_test.rs"
[[test]]
name = "dsl_030_finalise_applies_correlation_penalty_test"
path = "tests/dsl_030_finalise_applies_correlation_penalty_test.rs"
[[test]]
name = "dsl_031_finalise_returns_reporter_bond_test"
path = "tests/dsl_031_finalise_returns_reporter_bond_test.rs"
[[test]]
name = "dsl_032_finalise_schedules_exit_lock_test"
path = "tests/dsl_032_finalise_schedules_exit_lock_test.rs"
[[test]]
name = "dsl_033_finalise_skips_reverted_test"
path = "tests/dsl_033_finalise_skips_reverted_test.rs"
[[test]]
name = "dsl_034_proposer_appeal_headers_identical_sustained_test"
path = "tests/dsl_034_proposer_appeal_headers_identical_sustained_test.rs"
[[test]]
name = "dsl_035_proposer_appeal_proposer_index_mismatch_test"
path = "tests/dsl_035_proposer_appeal_proposer_index_mismatch_test.rs"
[[test]]
name = "dsl_036_proposer_appeal_signature_a_invalid_test"
path = "tests/dsl_036_proposer_appeal_signature_a_invalid_test.rs"
[[test]]
name = "dsl_037_proposer_appeal_signature_b_invalid_test"
path = "tests/dsl_037_proposer_appeal_signature_b_invalid_test.rs"
[[test]]
name = "dsl_038_proposer_appeal_slot_mismatch_test"
path = "tests/dsl_038_proposer_appeal_slot_mismatch_test.rs"
[[test]]
name = "dsl_039_proposer_appeal_validator_not_active_test"
path = "tests/dsl_039_proposer_appeal_validator_not_active_test.rs"
[[test]]
name = "dsl_040_proposer_appeal_rejected_on_false_claim_test"
path = "tests/dsl_040_proposer_appeal_rejected_on_false_claim_test.rs"
[[test]]
name = "dsl_041_attester_appeal_attestations_identical_test"
path = "tests/dsl_041_attester_appeal_attestations_identical_test.rs"
[[test]]
name = "dsl_042_attester_appeal_not_slashable_predicate_test"
path = "tests/dsl_042_attester_appeal_not_slashable_predicate_test.rs"
[[test]]
name = "dsl_043_attester_appeal_empty_intersection_test"
path = "tests/dsl_043_attester_appeal_empty_intersection_test.rs"
[[test]]
name = "dsl_044_attester_appeal_signature_a_invalid_test"
path = "tests/dsl_044_attester_appeal_signature_a_invalid_test.rs"
[[test]]
name = "dsl_045_attester_appeal_signature_b_invalid_test"
path = "tests/dsl_045_attester_appeal_signature_b_invalid_test.rs"
[[test]]
name = "dsl_046_attester_appeal_invalid_structure_test"
path = "tests/dsl_046_attester_appeal_invalid_structure_test.rs"
[[test]]
name = "dsl_047_attester_appeal_validator_not_in_intersection_test"
path = "tests/dsl_047_attester_appeal_validator_not_in_intersection_test.rs"
[[test]]
name = "dsl_048_attester_appeal_rejected_genuine_test"
path = "tests/dsl_048_attester_appeal_rejected_genuine_test.rs"
[[test]]
name = "dsl_049_invalid_block_appeal_block_valid_test"
path = "tests/dsl_049_invalid_block_appeal_block_valid_test.rs"
[[test]]
name = "dsl_050_invalid_block_appeal_sig_invalid_test"
path = "tests/dsl_050_invalid_block_appeal_sig_invalid_test.rs"
[[test]]
name = "dsl_051_invalid_block_appeal_reason_mismatch_test"
path = "tests/dsl_051_invalid_block_appeal_reason_mismatch_test.rs"
[[test]]
name = "dsl_052_invalid_block_appeal_epoch_mismatch_test"
path = "tests/dsl_052_invalid_block_appeal_epoch_mismatch_test.rs"
[[test]]
name = "dsl_053_invalid_block_appeal_missing_oracle_test"
path = "tests/dsl_053_invalid_block_appeal_missing_oracle_test.rs"
[[test]]
name = "dsl_054_invalid_block_appeal_rejected_test"
path = "tests/dsl_054_invalid_block_appeal_rejected_test.rs"
[[test]]
name = "dsl_055_submit_appeal_unknown_evidence_test"
path = "tests/dsl_055_submit_appeal_unknown_evidence_test.rs"
[[test]]
name = "dsl_056_submit_appeal_window_expired_test"
path = "tests/dsl_056_submit_appeal_window_expired_test.rs"
[[test]]
name = "dsl_057_submit_appeal_variant_mismatch_test"
path = "tests/dsl_057_submit_appeal_variant_mismatch_test.rs"
[[test]]
name = "dsl_058_submit_appeal_duplicate_test"
path = "tests/dsl_058_submit_appeal_duplicate_test.rs"
[[test]]
name = "dsl_059_submit_appeal_too_many_attempts_test"
path = "tests/dsl_059_submit_appeal_too_many_attempts_test.rs"
[[test]]
name = "dsl_060_submit_appeal_already_reverted_test"
path = "tests/dsl_060_submit_appeal_already_reverted_test.rs"
[[test]]
name = "dsl_061_submit_appeal_already_finalised_test"
path = "tests/dsl_061_submit_appeal_already_finalised_test.rs"
[[test]]
name = "dsl_062_submit_appeal_escrows_appellant_bond_test"
path = "tests/dsl_062_submit_appeal_escrows_appellant_bond_test.rs"
[[test]]
name = "dsl_063_submit_appeal_payload_too_large_test"
path = "tests/dsl_063_submit_appeal_payload_too_large_test.rs"
[[test]]
name = "dsl_064_adjudicate_sustained_reverts_base_slash_test"
path = "tests/dsl_064_adjudicate_sustained_reverts_base_slash_test.rs"
[[test]]
name = "dsl_065_adjudicate_sustained_reverts_collateral_test"
path = "tests/dsl_065_adjudicate_sustained_reverts_collateral_test.rs"
[[test]]
name = "dsl_066_adjudicate_sustained_restores_status_test"
path = "tests/dsl_066_adjudicate_sustained_restores_status_test.rs"
[[test]]
name = "dsl_067_adjudicate_sustained_clawback_rewards_test"
path = "tests/dsl_067_adjudicate_sustained_clawback_rewards_test.rs"
[[test]]
name = "dsl_068_adjudicate_sustained_bond_split_test"
path = "tests/dsl_068_adjudicate_sustained_bond_split_test.rs"
[[test]]
name = "dsl_069_adjudicate_sustained_reporter_penalty_test"
path = "tests/dsl_069_adjudicate_sustained_reporter_penalty_test.rs"
[[test]]
name = "dsl_070_adjudicate_sustained_status_reverted_test"
path = "tests/dsl_070_adjudicate_sustained_status_reverted_test.rs"
[[test]]
name = "dsl_071_adjudicate_rejected_bond_split_test"
path = "tests/dsl_071_adjudicate_rejected_bond_split_test.rs"
[[test]]
name = "dsl_072_adjudicate_rejected_challenge_open_test"
path = "tests/dsl_072_adjudicate_rejected_challenge_open_test.rs"
[[test]]
name = "dsl_073_adjudicate_clawback_shortfall_test"
path = "tests/dsl_073_adjudicate_clawback_shortfall_test.rs"
[[test]]
name = "dsl_074_participation_flags_bits_test"
path = "tests/dsl_074_participation_flags_bits_test.rs"
[[test]]
name = "dsl_075_classify_timely_source_test"
path = "tests/dsl_075_classify_timely_source_test.rs"
[[test]]
name = "dsl_076_classify_timely_target_test"
path = "tests/dsl_076_classify_timely_target_test.rs"
[[test]]
name = "dsl_077_classify_timely_head_test"
path = "tests/dsl_077_classify_timely_head_test.rs"
[[test]]
name = "dsl_078_participation_tracker_record_test"
path = "tests/dsl_078_participation_tracker_record_test.rs"
[[test]]
name = "dsl_079_participation_tracker_non_ascending_test"
path = "tests/dsl_079_participation_tracker_non_ascending_test.rs"
[[test]]
name = "dsl_080_participation_tracker_rotate_test"
path = "tests/dsl_080_participation_tracker_rotate_test.rs"
[[test]]
name = "dsl_081_base_reward_formula_test"
path = "tests/dsl_081_base_reward_formula_test.rs"
[[test]]
name = "dsl_082_flag_deltas_reward_on_hit_test"
path = "tests/dsl_082_flag_deltas_reward_on_hit_test.rs"
[[test]]
name = "dsl_083_flag_deltas_penalty_head_exempt_test"
path = "tests/dsl_083_flag_deltas_penalty_head_exempt_test.rs"
[[test]]
name = "dsl_084_flag_deltas_stall_zero_rewards_test"
path = "tests/dsl_084_flag_deltas_stall_zero_rewards_test.rs"
[[test]]
name = "dsl_085_proposer_inclusion_reward_formula_test"
path = "tests/dsl_085_proposer_inclusion_reward_formula_test.rs"
[[test]]
name = "dsl_086_weight_denominator_no_sync_test"
path = "tests/dsl_086_weight_denominator_no_sync_test.rs"
[[test]]
name = "dsl_087_in_finality_stall_threshold_test"
path = "tests/dsl_087_in_finality_stall_threshold_test.rs"
[[test]]
name = "dsl_088_inactivity_score_hit_decrement_test"
path = "tests/dsl_088_inactivity_score_hit_decrement_test.rs"
[[test]]
name = "dsl_089_inactivity_score_miss_in_stall_increment_test"
path = "tests/dsl_089_inactivity_score_miss_in_stall_increment_test.rs"
[[test]]
name = "dsl_090_inactivity_score_out_of_stall_recovery_test"
path = "tests/dsl_090_inactivity_score_out_of_stall_recovery_test.rs"
[[test]]
name = "dsl_091_inactivity_penalty_no_stall_empty_test"
path = "tests/dsl_091_inactivity_penalty_no_stall_empty_test.rs"
[[test]]
name = "dsl_092_inactivity_penalty_formula_test"
path = "tests/dsl_092_inactivity_penalty_formula_test.rs"
[[test]]
name = "dsl_093_inactivity_resize_test"
path = "tests/dsl_093_inactivity_resize_test.rs"
[[test]]
name = "dsl_094_protection_proposal_monotonic_test"
path = "tests/dsl_094_protection_proposal_monotonic_test.rs"
[[test]]
name = "dsl_095_protection_attestation_same_epoch_different_hash_test"
path = "tests/dsl_095_protection_attestation_same_epoch_different_hash_test.rs"
[[test]]
name = "dsl_096_protection_surround_vote_self_check_test"
path = "tests/dsl_096_protection_surround_vote_self_check_test.rs"
[[test]]
name = "dsl_097_protection_record_persist_test"
path = "tests/dsl_097_protection_record_persist_test.rs"
[[test]]
name = "dsl_098_protection_rewind_attestation_clears_hash_test"
path = "tests/dsl_098_protection_rewind_attestation_clears_hash_test.rs"
[[test]]
name = "dsl_099_protection_reconcile_with_tip_test"
path = "tests/dsl_099_protection_reconcile_with_tip_test.rs"
[[test]]
name = "dsl_100_protection_legacy_json_test"
path = "tests/dsl_100_protection_legacy_json_test.rs"
[[test]]
name = "dsl_101_protection_save_load_roundtrip_test"
path = "tests/dsl_101_protection_save_load_roundtrip_test.rs"
[[test]]
name = "dsl_102_evidence_remark_wire_roundtrip_test"
path = "tests/dsl_102_evidence_remark_wire_roundtrip_test.rs"
[[test]]
name = "dsl_103_evidence_puzzle_reveal_emits_one_remark_test"
path = "tests/dsl_103_evidence_puzzle_reveal_emits_one_remark_test.rs"
[[test]]
name = "dsl_104_evidence_admission_matching_coin_test"
path = "tests/dsl_104_evidence_admission_matching_coin_test.rs"
[[test]]
name = "dsl_105_evidence_admission_mismatch_rejected_test"
path = "tests/dsl_105_evidence_admission_mismatch_rejected_test.rs"
[[test]]
name = "dsl_106_evidence_mempool_expired_rejected_test"
path = "tests/dsl_106_evidence_mempool_expired_rejected_test.rs"
[[test]]
name = "dsl_107_evidence_mempool_duplicate_rejected_test"
path = "tests/dsl_107_evidence_mempool_duplicate_rejected_test.rs"
[[test]]
name = "dsl_108_evidence_block_cap_test"
path = "tests/dsl_108_evidence_block_cap_test.rs"
[[test]]
name = "dsl_109_evidence_payload_cap_test"
path = "tests/dsl_109_evidence_payload_cap_test.rs"
[[test]]
name = "dsl_110_appeal_remark_wire_roundtrip_test"
path = "tests/dsl_110_appeal_remark_wire_roundtrip_test.rs"
[[test]]
name = "dsl_111_appeal_puzzle_reveal_emits_one_remark_test"
path = "tests/dsl_111_appeal_puzzle_reveal_emits_one_remark_test.rs"
[[test]]
name = "dsl_112_appeal_admission_matching_coin_test"
path = "tests/dsl_112_appeal_admission_matching_coin_test.rs"
[[test]]
name = "dsl_113_appeal_admission_mismatch_rejected_test"
path = "tests/dsl_113_appeal_admission_mismatch_rejected_test.rs"
[[test]]
name = "dsl_114_appeal_mempool_unknown_slash_test"
path = "tests/dsl_114_appeal_mempool_unknown_slash_test.rs"
[[test]]
name = "dsl_115_appeal_mempool_window_expired_test"
path = "tests/dsl_115_appeal_mempool_window_expired_test.rs"
[[test]]
name = "dsl_116_appeal_mempool_finalised_slash_test"
path = "tests/dsl_116_appeal_mempool_finalised_slash_test.rs"
[[test]]
name = "dsl_117_appeal_mempool_variant_mismatch_test"
path = "tests/dsl_117_appeal_mempool_variant_mismatch_test.rs"
[[test]]
name = "dsl_118_appeal_mempool_duplicate_test"
path = "tests/dsl_118_appeal_mempool_duplicate_test.rs"
[[test]]
name = "dsl_119_appeal_block_cap_test"
path = "tests/dsl_119_appeal_block_cap_test.rs"
[[test]]
name = "dsl_120_appeal_payload_cap_test"
path = "tests/dsl_120_appeal_payload_cap_test.rs"
[[test]]
name = "dsl_121_bond_lock_insufficient_balance_test"
path = "tests/dsl_121_bond_lock_insufficient_balance_test.rs"
[[test]]
name = "dsl_122_bond_forfeit_returns_mojos_test"
path = "tests/dsl_122_bond_forfeit_returns_mojos_test.rs"
[[test]]
name = "dsl_123_bond_release_full_on_finalise_test"
path = "tests/dsl_123_bond_release_full_on_finalise_test.rs"
[[test]]
name = "dsl_124_bond_reporter_size_test"
path = "tests/dsl_124_bond_reporter_size_test.rs"
[[test]]
name = "dsl_125_bond_appellant_size_test"
path = "tests/dsl_125_bond_appellant_size_test.rs"
[[test]]
name = "dsl_126_bond_award_50_50_split_test"
path = "tests/dsl_126_bond_award_50_50_split_test.rs"
[[test]]
name = "dsl_127_epoch_boundary_order_test"
path = "tests/dsl_127_epoch_boundary_order_test.rs"
[[test]]
name = "dsl_128_genesis_initialisation_test"
path = "tests/dsl_128_genesis_initialisation_test.rs"
[[test]]
name = "dsl_129_manager_rewind_on_reorg_test"
path = "tests/dsl_129_manager_rewind_on_reorg_test.rs"
[[test]]
name = "dsl_130_rewind_all_on_reorg_test"
path = "tests/dsl_130_rewind_all_on_reorg_test.rs"
[[test]]
name = "dsl_131_validator_entry_slash_absolute_saturation_test"
path = "tests/dsl_131_validator_entry_slash_absolute_saturation_test.rs"
[[test]]
name = "dsl_132_validator_entry_credit_stake_test"
path = "tests/dsl_132_validator_entry_credit_stake_test.rs"
[[test]]
name = "dsl_133_validator_entry_restore_status_test"
path = "tests/dsl_133_validator_entry_restore_status_test.rs"
[[test]]
name = "dsl_134_validator_entry_is_active_boundary_test"
path = "tests/dsl_134_validator_entry_is_active_boundary_test.rs"
[[test]]
name = "dsl_135_validator_entry_schedule_exit_test"
path = "tests/dsl_135_validator_entry_schedule_exit_test.rs"
[[test]]
name = "dsl_136_validator_view_get_contract_test"
path = "tests/dsl_136_validator_view_get_contract_test.rs"
[[test]]
name = "dsl_137_effective_balance_view_test"
path = "tests/dsl_137_effective_balance_view_test.rs"
[[test]]
name = "dsl_138_public_key_lookup_test"
path = "tests/dsl_138_public_key_lookup_test.rs"
[[test]]
name = "dsl_139_collateral_slasher_symmetry_test"
path = "tests/dsl_139_collateral_slasher_symmetry_test.rs"
[[test]]
name = "dsl_140_bond_escrowed_query_test"
path = "tests/dsl_140_bond_escrowed_query_test.rs"
[[test]]
name = "dsl_141_reward_payout_pay_test"
path = "tests/dsl_141_reward_payout_pay_test.rs"
[[test]]
name = "dsl_142_reward_clawback_partial_test"
path = "tests/dsl_142_reward_clawback_partial_test.rs"
[[test]]
name = "dsl_143_justification_view_contract_test"
path = "tests/dsl_143_justification_view_contract_test.rs"
[[test]]
name = "dsl_144_proposer_view_test"
path = "tests/dsl_144_proposer_view_test.rs"
[[test]]
name = "dsl_145_invalid_block_oracle_determinism_test"
path = "tests/dsl_145_invalid_block_oracle_determinism_test.rs"
[[test]]
name = "dsl_146_pending_slash_book_basic_ops_test"
path = "tests/dsl_146_pending_slash_book_basic_ops_test.rs"
[[test]]
name = "dsl_147_pending_slash_book_expired_by_test"
path = "tests/dsl_147_pending_slash_book_expired_by_test.rs"
[[test]]
name = "dsl_148_slashing_manager_new_set_epoch_test"
path = "tests/dsl_148_slashing_manager_new_set_epoch_test.rs"
[[test]]
name = "dsl_149_slashing_manager_is_slashed_test"
path = "tests/dsl_149_slashing_manager_is_slashed_test.rs"
[[test]]
name = "dsl_150_slashing_manager_is_processed_pending_prune_test"
path = "tests/dsl_150_slashing_manager_is_processed_pending_prune_test.rs"
[[test]]
name = "dsl_151_correlation_penalty_saturation_clamp_test"
path = "tests/dsl_151_correlation_penalty_saturation_clamp_test.rs"
[[test]]
name = "dsl_152_submit_evidence_reporter_is_accused_short_circuit_test"
path = "tests/dsl_152_submit_evidence_reporter_is_accused_short_circuit_test.rs"
[[test]]
name = "dsl_153_participation_tracker_rewind_on_reorg_test"
path = "tests/dsl_153_participation_tracker_rewind_on_reorg_test.rs"
[[test]]
name = "dsl_154_participation_flags_serde_roundtrip_test"
path = "tests/dsl_154_participation_flags_serde_roundtrip_test.rs"
[[test]]
name = "dsl_155_inactivity_tracker_rewind_on_reorg_test"
path = "tests/dsl_155_inactivity_tracker_rewind_on_reorg_test.rs"
[[test]]
name = "dsl_156_protection_rewind_proposal_to_slot_test"
path = "tests/dsl_156_protection_rewind_proposal_to_slot_test.rs"
[[test]]
name = "dsl_157_slashing_evidence_serde_roundtrip_test"
path = "tests/dsl_157_slashing_evidence_serde_roundtrip_test.rs"
[[test]]
name = "dsl_158_indexed_attestation_serde_roundtrip_test"
path = "tests/dsl_158_indexed_attestation_serde_roundtrip_test.rs"
[[test]]
name = "dsl_159_slash_appeal_hash_determinism_test"
path = "tests/dsl_159_slash_appeal_hash_determinism_test.rs"
[[test]]
name = "dsl_160_slash_appeal_serde_roundtrip_test"
path = "tests/dsl_160_slash_appeal_serde_roundtrip_test.rs"
[[test]]
name = "dsl_161_pending_slash_serde_roundtrip_test"
path = "tests/dsl_161_pending_slash_serde_roundtrip_test.rs"
[[test]]
name = "dsl_162_submit_evidence_skips_already_slashed_test"
path = "tests/dsl_162_submit_evidence_skips_already_slashed_test.rs"
[[test]]
name = "dsl_163_slashing_result_serde_roundtrip_test"
path = "tests/dsl_163_slashing_result_serde_roundtrip_test.rs"
[[test]]
name = "dsl_164_appeal_adjudication_result_serde_test"
path = "tests/dsl_164_appeal_adjudication_result_serde_test.rs"
[[test]]
name = "dsl_165_epoch_boundary_reorg_report_serde_test"
path = "tests/dsl_165_epoch_boundary_reorg_report_serde_test.rs"
[[test]]
name = "dsl_166_bond_tag_variants_distinguishable_test"
path = "tests/dsl_166_bond_tag_variants_distinguishable_test.rs"
[[test]]
name = "dsl_167_adjudicate_appeal_dispatcher_test"
path = "tests/dsl_167_adjudicate_appeal_dispatcher_test.rs"
[[test]]
name = "dsl_168_process_block_admissions_test"
path = "tests/dsl_168_process_block_admissions_test.rs"
[[test]]
name = "dsl_169_epoch_boundary_reward_payout_wiring_test"
path = "tests/dsl_169_epoch_boundary_reward_payout_wiring_test.rs"
[[test]]
name = "dsl_170_slashing_system_network_id_test"
path = "tests/dsl_170_slashing_system_network_id_test.rs"
[[test]]
name = "dsl_171_verdict_to_outcome_test"
path = "tests/dsl_171_verdict_to_outcome_test.rs"
[dependencies.bincode]
version = "1.3"
[dependencies.chia-bls]
version = "0.26"
[dependencies.chia-protocol]
version = "0.26"
features = ["serde"]
[dependencies.chia-sha2]
version = "0.26"
[dependencies.clvm-utils]
version = "0.26"
[dependencies.clvmr]
version = "0.14"
[dependencies.dig-block]
version = "0.1"
[dependencies.dig-epoch]
version = "0.1"
[dependencies.dig-protocol]
version = "0.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11"
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dev-dependencies.chia-sdk-types]
version = "0.30"
[dev-dependencies.chia-sha2]
version = "0.26"
[dev-dependencies.clvm-traits]
version = "0.26"
[dev-dependencies.serde_json]
version = "1"