mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 21:38:05 -05:00
110 lines
2.1 KiB
Go
110 lines
2.1 KiB
Go
package helpers
|
|
|
|
import (
|
|
"bytes"
|
|
|
|
ethpb "github.com/OffchainLabs/prysm/v7/proto/prysm/v1alpha1"
|
|
)
|
|
|
|
func ForksEqual(s, t *ethpb.Fork) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
if s.Epoch != t.Epoch {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.PreviousVersion, t.PreviousVersion) {
|
|
return false
|
|
}
|
|
return bytes.Equal(s.CurrentVersion, t.CurrentVersion)
|
|
}
|
|
|
|
func BlockHeadersEqual(s, t *ethpb.BeaconBlockHeader) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
if s.Slot != t.Slot {
|
|
return false
|
|
}
|
|
if s.ProposerIndex != t.ProposerIndex {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.ParentRoot, t.ParentRoot) {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.StateRoot, t.StateRoot) {
|
|
return false
|
|
}
|
|
return bytes.Equal(s.BodyRoot, t.BodyRoot)
|
|
}
|
|
|
|
func Eth1DataEqual(s, t *ethpb.Eth1Data) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.DepositRoot, t.DepositRoot) {
|
|
return false
|
|
}
|
|
if s.DepositCount != t.DepositCount {
|
|
return false
|
|
}
|
|
return bytes.Equal(s.BlockHash, t.BlockHash)
|
|
}
|
|
|
|
func PendingDepositsEqual(s, t *ethpb.PendingDeposit) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.PublicKey, t.PublicKey) {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.WithdrawalCredentials, t.WithdrawalCredentials) {
|
|
return false
|
|
}
|
|
if s.Amount != t.Amount {
|
|
return false
|
|
}
|
|
if !bytes.Equal(s.Signature, t.Signature) {
|
|
return false
|
|
}
|
|
return s.Slot == t.Slot
|
|
}
|
|
|
|
func PendingPartialWithdrawalsEqual(s, t *ethpb.PendingPartialWithdrawal) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
if s.Index != t.Index {
|
|
return false
|
|
}
|
|
if s.Amount != t.Amount {
|
|
return false
|
|
}
|
|
return s.WithdrawableEpoch == t.WithdrawableEpoch
|
|
}
|
|
|
|
func PendingConsolidationsEqual(s, t *ethpb.PendingConsolidation) bool {
|
|
if s == nil && t == nil {
|
|
return true
|
|
}
|
|
if s == nil || t == nil {
|
|
return false
|
|
}
|
|
return s.SourceIndex == t.SourceIndex && s.TargetIndex == t.TargetIndex
|
|
}
|