2021-01-11 23:59:17 +00:00
|
|
|
package slashutil
|
|
|
|
|
2021-06-02 23:49:52 +00:00
|
|
|
import ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
2021-01-11 23:59:17 +00:00
|
|
|
|
|
|
|
// IsSurround checks if an attestation, a, is surrounding
|
2021-06-26 19:00:33 +00:00
|
|
|
// another one, b, based on the Ethereum slashing conditions specified
|
2021-01-11 23:59:17 +00:00
|
|
|
// by @protolambda https://github.com/protolambda/eth2-surround#definition.
|
|
|
|
//
|
|
|
|
// s: source
|
|
|
|
// t: target
|
|
|
|
//
|
|
|
|
// a surrounds b if: s_a < s_b and t_b < t_a
|
|
|
|
//
|
|
|
|
func IsSurround(a, b *ethpb.IndexedAttestation) bool {
|
|
|
|
return a.Data.Source.Epoch < b.Data.Source.Epoch && b.Data.Target.Epoch < a.Data.Target.Epoch
|
|
|
|
}
|