mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 21:07:18 +00:00
0732012459
* first version - broken * working proto changes * resolve review remarks * fix goimport issues * fix service issues * first logic version-broken * first running version - no new tests * fix validator client test * add wait group to goroutines * remove unused var in function call * fix review remarks and tests * merge master changes and fix conflicts * gazzele fix * fix prestonvanloon requested changes * merge and some of terenc3t remarks addressed * _,pk bug fix in log * fix account file name suffix and filter not active validator out * merge with master and fix missing parameters * run over all public keys in hasvalidators * add test for error when no all the validators has index in the db and hasvalidators is called * fix runner tests fail due to timing issues * goimports * smaller sleep time in proposer tests * fix UpdateAssignments loging * fix goimports * added && false commented TestUpdateAssignments_DoesNothingWhenNotEpochStartAndAlreadyExistingAssignments * hasvalidators without missing publickeys list * fix some of prestone review remarks * fixes for prestone comments * review changes applied * expect context call in TestWaitForActivation_ValidatorOriginallyExists * changed hasvalidators to return true if one validator exists * fix init problem to getkeys * hasvalidators requiers all validators to be in db * validator attest assignments update * fix ap var name * Change name to hasallvalidators * fix tests * update script, fix any vs all validator calls * fix wait for activation * filter validator * reuse the reply block * fix imports * Remove dup * better lookup of active validators * better filter active vlaidators, still need to fix committee assignment tests * lint * use activated keys * fix for postchainstart * fix logging * move state transitions * hasanyvalidator and hasallvalidators * fix tests with updatechainhead missing * add tests * fix TestCommitteeAssignment_OK * fix test * fix validator tests * fix TestCommitteeAssignment_multipleKeys_OK and TestWaitForActivation_ValidatorOriginallyExists * fix goimports * removed unused param from assignment * change string(pk) to hex.EncodeString(pk) fix change requests * add inactive validator status to assignments * fix logging mess due to multi validator setup * set no assignment to debug level * log assignments every epoch * logging fixes * fixed runtime by using the right assignments * correct activation request * fix the validator panic * correct assignment * fix test fail and waitforactivation * performance log issue fix * fix goimports * add log message with truncated pk for attest * add truncated pk to attest and propose logs * Add comment to script, change 9 to 8 * Update assignment log * Add comment, report number of assignments * Use WithError, add validator as field, merge block proposal log * Update validator_propose.go * fix * use entry.String() * fix fmt
92 lines
2.5 KiB
Go
92 lines
2.5 KiB
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
pb "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
|
"github.com/prysmaticlabs/prysm/shared/params"
|
|
)
|
|
|
|
var _ = Validator(&fakeValidator{})
|
|
|
|
type fakeValidator struct {
|
|
DoneCalled bool
|
|
WaitForActivationCalled bool
|
|
WaitForChainStartCalled bool
|
|
NextSlotRet <-chan uint64
|
|
NextSlotCalled bool
|
|
CanonicalHeadSlotCalled bool
|
|
UpdateAssignmentsCalled bool
|
|
UpdateAssignmentsArg1 uint64
|
|
UpdateAssignmentsRet error
|
|
RoleAtCalled bool
|
|
RoleAtArg1 uint64
|
|
RoleAtRet pb.ValidatorRole
|
|
AttestToBlockHeadCalled bool
|
|
AttestToBlockHeadArg1 uint64
|
|
ProposeBlockCalled bool
|
|
ProposeBlockArg1 uint64
|
|
LogValidatorGainsAndLossesCalled bool
|
|
SlotDeadlineCalled bool
|
|
PublicKey string
|
|
}
|
|
|
|
func (fv *fakeValidator) Done() {
|
|
fv.DoneCalled = true
|
|
}
|
|
|
|
func (fv *fakeValidator) WaitForChainStart(_ context.Context) error {
|
|
fv.WaitForChainStartCalled = true
|
|
return nil
|
|
}
|
|
|
|
func (fv *fakeValidator) WaitForActivation(_ context.Context) error {
|
|
fv.WaitForActivationCalled = true
|
|
return nil
|
|
}
|
|
|
|
func (fv *fakeValidator) CanonicalHeadSlot(_ context.Context) (uint64, error) {
|
|
fv.CanonicalHeadSlotCalled = true
|
|
return params.BeaconConfig().GenesisSlot, nil
|
|
}
|
|
|
|
func (fv *fakeValidator) SlotDeadline(_ uint64) time.Time {
|
|
fv.SlotDeadlineCalled = true
|
|
return time.Now()
|
|
}
|
|
|
|
func (fv *fakeValidator) NextSlot() <-chan uint64 {
|
|
fv.NextSlotCalled = true
|
|
return fv.NextSlotRet
|
|
}
|
|
|
|
func (fv *fakeValidator) UpdateAssignments(_ context.Context, slot uint64) error {
|
|
fv.UpdateAssignmentsCalled = true
|
|
fv.UpdateAssignmentsArg1 = slot
|
|
return fv.UpdateAssignmentsRet
|
|
}
|
|
|
|
func (fv *fakeValidator) LogValidatorGainsAndLosses(_ context.Context, slot uint64) error {
|
|
fv.LogValidatorGainsAndLossesCalled = true
|
|
return nil
|
|
}
|
|
|
|
func (fv *fakeValidator) RolesAt(slot uint64) map[string]pb.ValidatorRole {
|
|
fv.RoleAtCalled = true
|
|
fv.RoleAtArg1 = slot
|
|
vr := make(map[string]pb.ValidatorRole)
|
|
vr["a"] = fv.RoleAtRet
|
|
return vr
|
|
}
|
|
|
|
func (fv *fakeValidator) AttestToBlockHead(_ context.Context, slot uint64, idx string) {
|
|
fv.AttestToBlockHeadCalled = true
|
|
fv.AttestToBlockHeadArg1 = slot
|
|
}
|
|
|
|
func (fv *fakeValidator) ProposeBlock(_ context.Context, slot uint64, idx string) {
|
|
fv.ProposeBlockCalled = true
|
|
fv.ProposeBlockArg1 = slot
|
|
}
|