mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-24 12:27:18 +00:00
74 lines
2.5 KiB
Go
74 lines
2.5 KiB
Go
package state_native_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
statenative "github.com/prysmaticlabs/prysm/v4/beacon-chain/state/state-native"
|
|
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
|
|
"github.com/prysmaticlabs/prysm/v4/consensus-types/primitives"
|
|
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
|
"github.com/prysmaticlabs/prysm/v4/testing/assert"
|
|
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
|
)
|
|
|
|
func TestReadOnlyValidator_ReturnsErrorOnNil(t *testing.T) {
|
|
if _, err := statenative.NewValidator(nil); err != statenative.ErrNilWrappedValidator {
|
|
t.Errorf("Wrong error returned. Got %v, wanted %v", err, statenative.ErrNilWrappedValidator)
|
|
}
|
|
}
|
|
|
|
func TestReadOnlyValidator_EffectiveBalance(t *testing.T) {
|
|
bal := uint64(234)
|
|
v, err := statenative.NewValidator(ðpb.Validator{EffectiveBalance: bal})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, bal, v.EffectiveBalance())
|
|
}
|
|
|
|
func TestReadOnlyValidator_ActivationEligibilityEpoch(t *testing.T) {
|
|
epoch := primitives.Epoch(234)
|
|
v, err := statenative.NewValidator(ðpb.Validator{ActivationEligibilityEpoch: epoch})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, epoch, v.ActivationEligibilityEpoch())
|
|
}
|
|
|
|
func TestReadOnlyValidator_ActivationEpoch(t *testing.T) {
|
|
epoch := primitives.Epoch(234)
|
|
v, err := statenative.NewValidator(ðpb.Validator{ActivationEpoch: epoch})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, epoch, v.ActivationEpoch())
|
|
}
|
|
|
|
func TestReadOnlyValidator_WithdrawableEpoch(t *testing.T) {
|
|
epoch := primitives.Epoch(234)
|
|
v, err := statenative.NewValidator(ðpb.Validator{WithdrawableEpoch: epoch})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, epoch, v.WithdrawableEpoch())
|
|
}
|
|
|
|
func TestReadOnlyValidator_ExitEpoch(t *testing.T) {
|
|
epoch := primitives.Epoch(234)
|
|
v, err := statenative.NewValidator(ðpb.Validator{ExitEpoch: epoch})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, epoch, v.ExitEpoch())
|
|
}
|
|
|
|
func TestReadOnlyValidator_PublicKey(t *testing.T) {
|
|
key := [fieldparams.BLSPubkeyLength]byte{0xFA, 0xCC}
|
|
v, err := statenative.NewValidator(ðpb.Validator{PublicKey: key[:]})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, key, v.PublicKey())
|
|
}
|
|
|
|
func TestReadOnlyValidator_WithdrawalCredentials(t *testing.T) {
|
|
creds := []byte{0xFA, 0xCC}
|
|
v, err := statenative.NewValidator(ðpb.Validator{WithdrawalCredentials: creds})
|
|
require.NoError(t, err)
|
|
assert.DeepEqual(t, creds, v.WithdrawalCredentials())
|
|
}
|
|
|
|
func TestReadOnlyValidator_Slashed(t *testing.T) {
|
|
v, err := statenative.NewValidator(ðpb.Validator{Slashed: true})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, true, v.Slashed())
|
|
}
|