* Added flag to disable rewards/penatlty logging
* Added flag disable log info validator function
* Added flag to disable rewards/penatlty logging
* Changed value to not have it log when it is on and have it logged when it's off
* Added flag to disable rewards/penatlty logging
* Built for cli & types
* fixing flag issue
* Added ctxCli to the validator struct
* Accepted change
* Fixing conditionals and merge conflicts
* Added bracket
* fixed the return statement to its proper place
* Added validator conditional for logging penalties & rewards
* Added conditional for logging penality/reward info
* Making conditional command line log refactorable
* also part of the last commit
* Changed value variable to lowercase
* Fixed if conditional for penalty reward validation
* Synced with master
* Fixed bazel build
* Syncing with master
* Sync with master
* Added true values to logValidator Balances
* Changed values from true to false
* FIX WIP
* Added variables to the validators
* Added negation for logValidatorBalances variable
The name of the flag is DisablePenaltyRewardLogFlag. Since the name of the var is logValidatorBalances. We are assuming that the variable will have a positive. It makes more sense to negate the disable flag as a value rather than keep it positive.
Co-Authored-By: frederickalcantara <frederickaalcantara@gmail.com>
* fixed password
* Remove prevBalance line
* 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
* support multiple pubkeys
* a bit of refactoring to avoid calling db.state multiple times
* Add test for supporting multiple keys
* rename proto field
* Revert "disable state root computation"
This reverts commit ba7368ac57f3ecd3cb710049e677ba60a820dd82.
* Revert "tests fixed"
This reverts commit 1141af27c253ca000de0a63f0e1c91d983078ebc.
* Fix build, skip test until https://github.com/prysmaticlabs/prysm/issues/2167
* headRoot is a better name
* yay merged with master
* fixed attester server returning incorrect attestation field values
* revert stupid mock changes
* fixed and updated all the tests
* uncomment
* head start should handle skip blocks
* Raul's feedback
* keystore and account support for multi key
* fix service issues
* fix Potential file inclusion
* fix Potential file inclusion try2
* Update shared/keystore/keystore.go
remove security detection for file read
Co-Authored-By: shayzluf <thezluf@gmail.com>
* getkeys uses map to pt multiple copies of the same key
* use 12 char of public key to differentiate file names
* use map in test
* fix changes from 2069 into here
* add // #nosec G304
* plug forkchoice to blockchain service's block processing
* fixed tests
* more fixes...
* clean ups
* fixed test
* Update beacon-chain/blockchain/block_processing.go
* merged with 2006 and started fixing tests
* remove prints
* fixed tests
* lint
* include ops service
* if there's a skip slot, slot--
* fixed typo
* started working on test
* no fork choice in propose
* bleh, need to fix state generator first
* state gen takes input slot
* feedback
* fixed tests
* preston's feedback
* fmt
* removed extra logging
* add more logs
* fixed validator attest
* builds
* fixed save block
* children fix
* removed verbose logs
* fix fork choice
* right logs
* Add Prometheus Counter for Reorg (#2051)
* fetch every slot (#2052)
* test Fixes
* lint
* only regenerate state if there was a reorg
* better logging
* fixed seed
* better logging
* process skip slots in assignment requests
* fix lint
* disable state root computation
* filter attestations in regular sync
* log important items
* better info logs
* added spans to stategen
* span in stategen
* set validator deadline
* randao stuff
* disable sig verify
* lint
* lint
* save only using historical states
* use new goroutine for handling sync messages
* change default buffer sizes
* better p2p
* rem some useless logs
* lint
* sync tests complete
* complete tests
* tests fixed
* lint
* fix flakey att service
* PR feedback
* undo k8s changes
* Update beacon-chain/blockchain/block_processing.go
* Update beacon-chain/sync/regular_sync.go
* Add feature flag to enable compute state root
* add comment
* gazelle lint fix
* Create a feature flagging system
* Refactor how featureflags works and improve docs
* Gazelle and final touches
* Refactor, new flags in the package
* Remove old flags since they have been moved
* Fix bazel
* Update to comments
* Full coverage
* Fix formatting
* Align code with numbers
* Run bazel and fix docs
* Fix test for flag
* implemented all the merkle func signatures
* branch indices complete
* check for index out of range in generating merkle proof
* completed full tests for sparse merkle trie impl
* lint
* formatting
* gazelle
* commentary
* ivan comments
* fmt
* get rid of the deposit trie
* recalculate trie when eth1 data changes
* default data response recalculates tree
* update merkle trie to use raw bytes
* use the new verify merkle root func
* builds
* if default data response historical deposits are empty, return the deposit root at the contract at the time
* work on trie
* trying again with more logging
* keep track of merkle trie indices, use correct big int ops
* use uint for merkle idx
* add todo
* update ticker correctly
* fix config and remove unnecessary logs
* readd plus one fix
* clarify some details
* weird imports spacing
* gazelle, lint
* fix tests using the new deposit trie
* builds but tests still fail
* rpc tests
* lint
* tests pass
* bazel lint
* rem commented block
* revert att slot fix
* preston comments
* comments
* fix build
* address last comment
* use counter
* imports
* add recovery for initial sync
* add recovery for rpc
* adding to other services
* remaining services and tests
* fix test
* remove changes to rpc
* handle powchain
* handle in powchain
* abstract to shared package
* gazelle
* lint
* remove for operations
* add in more for operations
* travis
* fix lint
* Verify signatures of attestations
* Implement BLS Signing for attestations
* Remove custody bit 0 from the attestation for now
* Fixes tests for attestations
* Fix tests to ensure they use proper attester indice
* Run gazelle
* Goimports
* Test attestation sigs in block operations
* Change formatting and make sure signatures are actually verified
* Fix duplicate import
* Fix duplicate import from merge
* Organize attestation sig to be conssitent with codebase
* Update to comments
* Change signatures to use aggregation
* Run gazelle
* Change function to return err instead of bool
Also gofmt
* Fix for comments
* Move createAggregationSignature to a function in attestations.go
* create wait for activation stream
* wait for activation server stream open
* complete server side logic
* formatting
* first test passing
* context closed test
* lint
* fix build failure
* imports
* implemented wait for activation on client side
* all tests pass for validator client
* weird spacing
* create wait for activation stream
* wait for activation server stream open
* complete server side logic
* formatting
* first test passing
* context closed test
* lint
* fix build failure
* imports
* eliminate unused cancel var
* Implemented the flag grouping logic
* Added a usage file to the validator binary and fixed style issues
* Ran gazelle fix to fix the CI tests that failed
* fatal if impossible to receive chainstart
* fix tests
* fix
* custom delay
* completed custom delay
* errors
* better logs, nothing at genesis
* use demo in val
* add gazelle
* log
* starting to log stuff
* pass in ops
* avoid printing the large #s for debug, still working on tests..
* all around better logging
* fixed build error in epoch process
* fixed state transiton tests
* fixed block tests
* lint
* verify sigs in randao
* ready for inclusion falg
* only print waiting when slot is not valid
* fix build
* mod config
* fixed last justified slot issue
* fix inclusion
* fixed attestation issue
* using zero hash from params instead
* fix tests
* update balance
* removed swp
* more `- genesis_slot` for logs
* rem unused log
* fix broken tests
* account for skip slots in state root computation
* fixes done
* validator guide bug fixes - 671
* epoch boundary at the last slot of the epoch
* fix epoch issue
* more balance cal logs for debugging
* greater balance
* attestaton fixes
* fixes
* addressed testrun
* fixed ejection balance
* fix tests with far future epoch
* revert sync change
* revert initial sync change
* fix changes
* off by one att fix
* revert the att fix
* address comments
* format
* fix build
* rem file
* clean up test
* adding test setup
* add chainstart check to sync querier
* goimports
* goimports
* backend cleanup
* adding getters
* lint
* moving to db
* gazelle
* adding more services setup
* adding more changes
* adding different test setups
* other merge issues
* imports
* fixing keys
* get intial sync able to be set up
* new changes and gazelle
* use simulated p2p
* everything finally works
* unexport fields
* revert changes from merge
* remove mock server
* add documentation
* gazelle
* add another node
* review comments
* fix tests
* move deposit input to keystore pkg, add proof of possession and withdrawal addr
* Add spec details for deposit input
* Use ssz
* actually use withdrawal key
* remove a few references that tie the validator binary to the go-ethereum crypto library
* fixes
* remove unused vars
* gazelle
* nosec on this crypto library
* correct attester view of chain head and prioritize proposer
* fix attempt not working
* revise with correct logic
* attester fixess to root fetching, spec did not make sense
* comments to match code
* fix attester responsibility
* comments
* begin using tree hash instead of hash for state and blocks
* replace with ssz
* rem references to vote cache
* replace all instances of state/block hash with root
* goimports
* almost every test in the world fails
* goimports
* all tests pass, tree hash across repo
* provide validator with real keystore public key
* fmt
* build errors buildkite
* readd imports removed by goimport
* gazelle
* address broken tests
* make reference to filename a param
* fmt
* imports
* gazelle
* os remove all
* Use better Temp storage for tests
* testmain approach to avoid repeating expensive operation for each test
* travis lint
* fix test
* nokeystore in status test
* passing
* fix goimports
* initial validator attesthead rewrite based on proposer rewrite
* proceed with fetching committees and tree hashing the canonical head at assigned attester slot
* complete filling the properties of attestation data and all associated root hashes
* add when to attest todo
* finish entire attester client logic
* tests with mocks checked in
* tests passing in client
* stubbed out server implementation
* fixed build due to old property
* regen mocks with new mockgen version
* fixed broken tests
* complete bazel build fix
* address some review comments
* deep proto test
* server implementation logic
* attestation info tests
* completed passing tests, tree hash still blocked by error with nil fields unfortunately
* fix todo failure
* gazelle rerun and master merge
* testing full behavior of attestation info server
* finished all required server tests and implementation
* break loop
* fix tests due to genesis slot updates
* initial validator attesthead rewrite based on proposer rewrite
* proceed with fetching committees and tree hashing the canonical head at assigned attester slot
* complete filling the properties of attestation data and all associated root hashes
* add when to attest todo
* finish entire attester client logic
* tests with mocks checked in
* tests passing in client
* stubbed out server implementation
* fixed build due to old property
* regen mocks with new mockgen version
* fixed broken tests
* complete bazel build fix
* address some review comments
* deep proto test
* tests passing after checking for empty committee and crosslink root
* address nishant comments
* WIP - with TODOs
* interface w/ test
* basic test for broadcast
* Add computeStateRoot funciton
* remove custody challenge
* resolve TODO lint issues
* more TODOs
* revert new line in types.proto
* broadcaster comment
* one of several failure condition tests
* Add test cases
* handle compute state error test case
* fix config in validator helpers
* fix tests too
* fix conflict
* partial PR feedback
* remove p2p
* gazelle
* package comment
* Better godoc
* tests passing once again in db package
* fixed all tests
* revert some weird p2p changes made accidentally
* fix repeated code
* build fixed
* fix p2p
* fix all tests
* Fix missing import
* force building of manual targets
* Revert "force building of manual targets"
This reverts commit ada170ffa9c3f3592122e6e48372c330e355ac3a.
* begin reorder
* move into beacon server
* add proposer server
* fix
* add proposer server
* wrap up rpc reorder
* eliminated deprecated RPC endpoints
* formatted nicely
* RPC protos
* fix lint
* integrate hash proto
* autoclean
* deprecate all old code
* include the rest of methods mocks
* bazel run
* lint fixes
* Add version linking to binaries via --workspace_status_command=./scripts/workspace_status.sh
* dont export some things
* lint and better date
* even better date
* /healthz part1
* lint, fix
* lints and todos
* add p2p status test
* Add test for service registry Statuses
* fix my fake errors for the linter
* Test healthz handler
* Run gazelle
* first commit, remote att types
* no more agg attestation proto
* regen mock
* only attestations
* proto
* att process
* fix att references
* more tests passing
* use att protos
* complete
* change visibility
* use gogoprotobu
* first commit, remote att types
* no more agg attestation proto
* regen mock
* only attestations
* proto
* att process
* fix att references
* more tests passing
* use att protos
* complete
* Update dependency com_github_deckarep_golang_set to v1 (#1159)
* Update dependency com_github_edsrzf_mmap_go to v1 (#1160)
* Update dependency com_github_go_stack_stack to v1 (#1161)
* Update dependency com_github_rs_cors to v1 (#1162)
* Update dependency in_gopkg_urfave_cli_v1 to v1 (#1163)
* change visibility
* Preliminary support for relay nodes
* lint
* Add comment, remove TODO
* work on relay address factory
* dial relay node, if available
* forgot new files
* fix service registry breakage
* added logging
* Added a peer count with prometheus
* always start mDNS
* fix lint
* Standardize params for BeaconChain and Validator projects
* gofmt
* various changes to bring up to standards
* lint
* linter 2, not sure why travis complains
* revert service_test.go
* start sequence for node to connect to bootstrap nodes
* lint
* maybe warning is more appropiate?
* fix gazelle
* preston's feedback
* add go-ipfs-addr to workspace
* move flag to shared
* removed routed host
* implementing basic proposer functionality
* checked in gomocks
* fix typo
* refactor using feeds
* use event feeds for assignment
* sending the latest beacon block over announcement chan
* 100 coverage, using feeds
* gazelle
* include parent hash from prev canonical block and slot number + 1
* including all other prop fields
* fix build
* proposer rpc method tests, implemented in beacon chain side
* godoc