* test block tree req
* tree improvement
* use the right data
* block tree blocked by children func
* rem file
* imports
* add ctx
* imports
* mock
* check expired context
* added block root
* gazelle
* sace
* first attempt at canonical blk list
* lint
* condition 1
* ctx w/ time out
* added canonical block list tests
* revert
* add to BeaconChainFlags
* dont use map, use proto
* attempt to use proto, take 1
* add run
* like canonical better than head
* removed unused
* Update proto/beacon/p2p/v1/messages.proto
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* protos
* support activation status information
* second attempt
* format protos with prototool
* use inner status message
* add one more field
* regen pb.go
* Add position in activation queue
* proto: illegal wireType 7 :(
* set addr to todo for now so somethign gets sent
* push latest progress
* Add feedback from @raulk. Stream never connects
* working handshake handler
* add exclusions for relay/bootstrap node
* fix tests, still need to add new ones
* remove race, fails coverage
* Add test for negotiation
* gazelle
* regen pb
* Update shared/p2p/handshake_handler.go
Co-Authored-By: prestonvanloon <preston@prysmaticlabs.com>
* use att targets
* risky head request
* timing lmd
* fixed ancestor cache hits
* tests pass
* comment on func
* advance state transition
* advance N empty state transitions
* imports
* imports
* use risky head state
* use validator registry
* revert timing
* imports
* 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
* Begin adding Deposit Index to beacon state
* Move deposit index increment to ProcessDeposit
* Fix initial deposits bug
* Fix bug in RPC
* More bug fixes
* Fix RPC bug, ensure deposits are processed in the right order
* Fix tests
* Fix merge
* Attempt to fix pruning deposits on regular sync
* Fix pending deposits on node restart
* Fix test
* Fix tests properly
* Gofmt
* Remove unneeded logs
* Fix build
* update protos
* Revert "Use DB to Fetch Justified Block (#2172)"
This reverts commit 60c254d818.
* use justified root and previous justified root across the repo
* change attester server to use state justified root
* remove commented code
* fix build issues
* fix test
* fix all tests
* fix merge issues
* support multiple pubkeys
* a bit of refactoring to avoid calling db.state multiple times
* Add test for supporting multiple keys
* rename proto field
* 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
* Add initial test
* chkpt
* add failing test
* add span to historical state lookup
* use db.HighestBlockSlot()
* fix comment
* update comment
* i wrote a test like a good programmer.
* add test back
* add assertion and unskip test, something new failing tho
* trying to fix test
* remove -1, not sure if i need it yet
* Revert "remove -1, not sure if i need it yet"
This reverts commit 2cfcbb8108b28bb3d7135a993d9053150d5f1e6e.
* save historical state on every save state
* fix hsitorical states
* set historical state in initialize state
* change to a bool
* fix error with empty retrieval of states
* Add missing import
* fix test
* lock in receive block
* remove state generator
* Revert "lock in receive block"
This reverts commit 151b10829d70b2dad3055a8db36d0e1269a853f2.
* Fix Initial Sync Not Processing Canonical Block to Produce Canonical State (#2152)
* fix init sync
* fatal if highest observed root does not match
* proto fields
* Update beacon-chain/sync/initial-sync/service.go
* confirm canonical state root
* fix most tests
* failing test
* fix PR tests
* lint
* no simbackend changes
* logf revert
* add todo
* fix off by one
* fix test with deleted property
* merge #2157
* passing tests :)
* refactor initial sync to prevent reorg infinite loops
* lint
* fixed build
* passing tests
* tests passing
* terence suggestion
* new attempt
* clean up and refactor sync service
* complete the new initial sync logic
* revert head
* init sync working
* config for blockchain receive block
* all works
* builds
* fix a few more tests
* init sync tests pass
* revert scripts
* revert accounts changes
* lint
* lint2
* travis lint
* fix build
* fix single use argument
* any peer
* imports spacing
* imports
* ready for a rolling restart
* add todo
* fork choice in blocks when exiting sync
* readd finalized state root to requests
* successful build
* revert blockchain config
* old config reversion
* initial sync tests pass
* initial sync full test works
* lint
* use the new block processing api
* new proto defs
* init sync functions again
* remove sync polling
* tests fixed
* fixed catching up with chain
* tests pass
* spacing
* lint
* goimports
* add changes
* add lock and conditional to prevent multiple goroutines
* make reg sync synchronous
* add
* fixed the parent block issue
* fix errors in chain service
* tests pass
* check nil block
* typo
* fix nil state
* merge & conflicts
* revert synchronus reg sync
* add more spans to state db
* fix lint
* lint
* Fix assignments bug where validators don't retry for assignments on failure
* synch only please
* trying to fix state issues
* trying random stuff
* do not explode
* use ctx
* working build, failing tests
* broadcast local addrs as well as relay addrs
* fixed p2p tests, more tests to fix still
* another test fixed, log warning instead of throw error
* Fix last tests
* godoc
* add test for broadcast in apply fork choiec
* remove unneeded code
* remove tracer adapter, not needed
* remove extra stuff
* remove any
* revert addr_factory
* revert addr_factory
* Revert "revert addr_factory"
This reverts commit e93fb706494a1070158b8db31e67146d6b0648ad.
* Revert "revert addr_factory"
This reverts commit dedaa405559cc818698870c4e4570953367f1e3c.
* revert removal of this code
* unused param
* remove hash field for state request
* change to finalized state root
* refactor code for bug
* add in saving of finalized state
* add method to db
* adding finalized state root
* add new changes
* add in new changes
* add in return vars
* goimports
* review comments
* error message
* fix broken build
* fix cache state tests
* lint
* 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
* 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
* 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
* 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
* fix bug in eth1 data vote count increases
* updating attester slashings
* is double vote and attester pseudocode
* attester slashing revamp complete
* exits processing complete
* all block operations aligned to spec
* completed test revamp
* builds properly
* all done FINALLY
* deprecate all instances of old randao logic
* fix all broken tests and cleanup randao references across repo
* builds but tests failing
* fixing broken chaintests
* only chaintests fail now
* randao fully updated
* add bls todo
* lint
* travis
* fix unresolved property in struct
* remove used randao var
* 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
* update proto fileds
* Start writing ProcessETH1Data function
* More progress on tests
* Continue more work on tests
* Fix almost all the tests
* Fix all tests
* Fix everything
* Fix after rebase
* Fix for suggestions and fix per-epoch operation
* Remove method usage
* Fix build
* Fix suggestions
* Fix merge issues and suggestions
* Fix rebase issues
* Remove the error from ProcessETH1Data
* WIP write test
* Update test to reach crosslinks
* Revert "Update test to reach crosslinks"
This reverts commit 5ff9177f96c12c98c54eafffcfb385bd966b0888.
* Revert "WIP write test"
This reverts commit f7e7ed715c4af6b7e3c95643f7ebf85830caf638.
* 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
* Begin renaming
* Missing goimports
* Continue rename
* Fix errors and mismatches
* Run proto script
* Fix proto
* Fix some more issues
* Fix tests
duh
* Fix goimports
* 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
* update beacon-state proto to new spec
* AttestationData
* use bazel's pb.go
* boundry -> boundary
* update beacon block proto msg
* Update attestation record proto
* and crosslink record too
* pendingAttestationRecord is not deprecated
* update beacon-state proto to new spec
* AttestationData
* use bazel's pb.go
* boundry -> boundary
* update beacon block proto msg
* comment and deprecate AggregatedAttestation
* polling interval
* adding proto message
* changing proto messages
* changing naming
* adding slot functionality
* initial sync working
* new changes
* more sync fixes
* its working now
* finally working
* add tests
* fix tests
* tests
* adding tests
* lint
* log checks
* making changes to simulator
* update logs
* fix tests
* get sync to work with crystallized state
* fixing race
* making requested changes
* unexport
* documentation
* gazelle and fix merge conflicts
* adding repeated requests
* fix lint
* adding new clock , db methods, and util func
* revert change to test
* gazelle
* add in test
* gazelle
* finally working
* save slot
* fix lint and constant
* adding proto messages
* adding fields
* adding new service
* new changes
* checking in file from syncFix
* fixing test
* add test
* adding to node
* goimports
* adding query service to sync services
* sync working
* finally works
* fix test
* lint
* fix build
* fix test
* Revert "Add Skip Coverage Condition in Coverage.sh (#416)"
This reverts commit 72a5dd1cf4.
* add coverage.sh back
* save attestations to db
* added tests
* use them in service.go
* process crosslink records
* revert
* revert
* revert
* test
* 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
* Persist Dag
* Add schema
* Add new message
* add mapping
* Adding check to save block
* Removing blocks mapping
* Make changes to block processing
* Change from mapping to a slice of hashes
* Adding tests to core
* adding more tests
* Fixing service test
* Add comments and fix bazel
* fix lint
* fix conflicts
* addressing review comments
* Removing references to active
* fixing tests with active state
* Protytype for #440: Persist blocks and latest state in DB
* simplify code
* removing block registry
* fix test
* adding block removal/iterator
* Addressing review comments
* Addressing comments
* removing extra line
* making vars private and adding canonical key
* fix lint
* splitting methods
* adding more changes
* lint
* improving coverage
* removing decodeslotnumber
* gazelle
* remove todos
* addressing preston's comments
* remove slotnumber
* lint