6583ce325b
## 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
24 lines
606 B
TOML
24 lines
606 B
TOML
[package]
|
|
name = "slashing_protection"
|
|
version = "0.1.0"
|
|
authors = ["Michael Sproul <michael@sigmaprime.io>", "pscott <scottpiriou@gmail.com>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
tempfile = "3.1.0"
|
|
types = { path = "../../consensus/types" }
|
|
tree_hash = "0.1.1"
|
|
rusqlite = { version = "0.24.0", features = ["bundled"] }
|
|
r2d2 = "0.8.9"
|
|
r2d2_sqlite = "0.17.0"
|
|
parking_lot = "0.11.0"
|
|
serde = "1.0.116"
|
|
serde_derive = "1.0.116"
|
|
serde_json = "1.0.58"
|
|
serde_utils = { path = "../../consensus/serde_utils" }
|
|
filesystem = { path = "../../common/filesystem" }
|
|
|
|
[dev-dependencies]
|
|
lazy_static = "1.4.0"
|
|
rayon = "1.4.1"
|