Currently, we store proofs and signatures in memory and use them for computing fork-choice weights on the fly. We should instead store the proof-less attestations of each validator in an independent field, to avoid the FIFO eviction of proofs to affect the latest vote of each validator.
We want to have, in addition to signatures and payloads:
/// Map from validator index to its latest vote
votes: Vec<AttestationData>
Currently, we store proofs and signatures in memory and use them for computing fork-choice weights on the fly. We should instead store the proof-less attestations of each validator in an independent field, to avoid the FIFO eviction of proofs to affect the latest vote of each validator.
We want to have, in addition to signatures and payloads: