lighthouse/validator_client/slashing_protection/src
Michael Sproul 6583ce325b Minify slashing protection interchange data (#2380)
## Issue Addressed

Closes #2354

## Proposed Changes

Add a `minify` method to `slashing_protection::Interchange` that keeps only the maximum-epoch attestation and maximum-slot block for each validator. Specifically, `minify` constructs "synthetic" attestations (with no `signing_root`) containing the maximum source epoch _and_ the maximum target epoch from the input. This is equivalent to the `minify_synth` algorithm that I've formally verified in this repository:

https://github.com/michaelsproul/slashing-proofs

## Additional Info

Includes the JSON loading optimisation from #2347
2021-06-21 05:46:36 +00:00
..
bin Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
attestation_tests.rs Fix clippy errors on tests (#2160) 2021-01-28 23:31:06 +00:00
block_tests.rs Fix clippy errors on tests (#2160) 2021-01-28 23:31:06 +00:00
interchange_test.rs Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
interchange.rs Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
lib.rs Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
parallel_tests.rs Optimize validator duties (#2243) 2021-03-17 05:09:57 +00:00
registration_tests.rs Implement slashing protection interchange format (#1544) 2020-10-02 01:42:27 +00:00
signed_attestation.rs Refine and test slashing protection semantics (#1885) 2020-11-24 07:21:14 +00:00
signed_block.rs Refine and test slashing protection semantics (#1885) 2020-11-24 07:21:14 +00:00
slashing_database.rs Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
test_utils.rs Optimize validator duties (#2243) 2021-03-17 05:09:57 +00:00