lighthouse-pulse/validator_client/slashing_protection
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
..
src Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
tests Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
.gitignore Implement slashing protection interchange format (#1544) 2020-10-02 01:42:27 +00:00
Cargo.toml Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00
Makefile Minify slashing protection interchange data (#2380) 2021-06-21 05:46:36 +00:00