mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 04:47:18 +00:00
Add Withdrawal Credentials to Validator Record (#2216)
* add fix and unit test * Update beacon-chain/core/validators/validator_test.go Co-Authored-By: nisdas <nish1993@hotmail.com>
This commit is contained in:
parent
24dd4cc1e0
commit
f2b9269650
@ -122,12 +122,13 @@ func ProcessDeposit(
|
||||
// If public key does not exist in the registry, we add a new validator
|
||||
// to the beacon state.
|
||||
newValidator := &pb.Validator{
|
||||
Pubkey: pubkey,
|
||||
ActivationEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
ExitEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
WithdrawalEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
SlashedEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
StatusFlags: 0,
|
||||
Pubkey: pubkey,
|
||||
ActivationEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
ExitEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
WithdrawalEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
SlashedEpoch: params.BeaconConfig().FarFutureEpoch,
|
||||
StatusFlags: 0,
|
||||
WithdrawalCredentialsHash32: withdrawalCredentials,
|
||||
}
|
||||
state.ValidatorRegistry = append(state.ValidatorRegistry, newValidator)
|
||||
state.ValidatorBalances = append(state.ValidatorBalances, amount)
|
||||
|
@ -224,6 +224,42 @@ func TestProcessDeposit_GoodWithdrawalCredentials(t *testing.T) {
|
||||
ValidatorBalances: balances,
|
||||
ValidatorRegistry: registry,
|
||||
}
|
||||
pubkey := []byte{7, 8, 9}
|
||||
deposit := uint64(1000)
|
||||
proofOfPossession := []byte{}
|
||||
withdrawalCredentials := []byte{2}
|
||||
|
||||
newState, err := ProcessDeposit(
|
||||
beaconState,
|
||||
stateutils.ValidatorIndexMap(beaconState),
|
||||
pubkey,
|
||||
deposit,
|
||||
proofOfPossession,
|
||||
withdrawalCredentials,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("Process deposit failed: %v", err)
|
||||
}
|
||||
if newState.ValidatorBalances[2] != 1000 {
|
||||
t.Errorf("Expected balance at index 1 to be 1000, received %d", newState.ValidatorBalances[2])
|
||||
}
|
||||
}
|
||||
|
||||
func TestProcessDeposit_RepeatedDeposit(t *testing.T) {
|
||||
registry := []*pb.Validator{
|
||||
{
|
||||
Pubkey: []byte{1, 2, 3},
|
||||
},
|
||||
{
|
||||
Pubkey: []byte{4, 5, 6},
|
||||
WithdrawalCredentialsHash32: []byte{1},
|
||||
},
|
||||
}
|
||||
balances := []uint64{0, 50}
|
||||
beaconState := &pb.BeaconState{
|
||||
ValidatorBalances: balances,
|
||||
ValidatorRegistry: registry,
|
||||
}
|
||||
pubkey := []byte{4, 5, 6}
|
||||
deposit := uint64(1000)
|
||||
proofOfPossession := []byte{}
|
||||
@ -240,8 +276,8 @@ func TestProcessDeposit_GoodWithdrawalCredentials(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Process deposit failed: %v", err)
|
||||
}
|
||||
if newState.ValidatorBalances[1] != 1000 {
|
||||
t.Errorf("Expected balance at index 1 to be 1000, received %d", newState.ValidatorBalances[1])
|
||||
if newState.ValidatorBalances[1] != 1050 {
|
||||
t.Errorf("Expected balance at index 1 to be 1050, received %d", newState.ValidatorBalances[1])
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user