mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-27 21:57:16 +00:00
91fe32a3d1
155 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Ivan Martinez
|
7c59615ae2
|
Remove go-ssz entirely from prysm (#8257)
* Add DepositSigningData * gaz * Add to ssz tests * Rename to DepositMessage * Remove deprecated comment * Remove return * Fixes from review * Fixes * Remove some of gossz * Remove go-ssz entirely * Remove unneeded file * Fix runtime with ssztypes * Add back ssz files * Fix formatting * tidy * Remove go-ssz from static * tidy again * Add tests * Change to sig * Fix test * fx * Fix visiblity * Revert "Remove unneeded file" This reverts commit d66fcda92925133db1a95f8f94ac61bbc6095c69. Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com> Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Victor Farazdagi
|
318f83957a
|
Fix data races in tests accessing beacon config concurrently (#8190)
* add mutex to params/config * split config files into test/prod * add tags checker * add regression test * remove debug info * update bazel config * go fmt * make sure that conditional file is kept by gazelle * update build tag: test -> develop * gazelle * remove redundant import * fix data race in TestService_ReceiveBlock |
||
Victor Farazdagi
|
79d19ea438
|
Enable head sync only during period of non-finality (#7784)
* enable head sync only during long period of non-finality * Terence's suggestion Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Raul Jordan
|
0b0d77dd0c
|
Include Multilock for GetAttPreState With Tests (#7669)
* multilock addition with tests and special clean logic on unlock * bazel changes * multilock key string concat * Update beacon-chain/blockchain/process_attestation_helpers.go Co-authored-by: Victor Farazdagi <simple.square@gmail.com> * presto feedback * revert in prog cache * defer unlock Co-authored-by: Victor Farazdagi <simple.square@gmail.com> |
||
terence tsao
|
ec77196197
|
Remove checkpoint info cache and usages (#7642)
* Remove checkpoint info cache and usages * Gazelle |
||
terence tsao
|
a5ce6db38e
|
Update participation metrics (#7582)
* Update participation metrics * Add unhappy tests |
||
terence tsao
|
68d0c09daf
|
Add, use and test VerifyWeakSubjectivityRoot (#7344)
* Add, use and test `VerifyWeakSubjectivityRoot` * Comments * Make bazel test happy * Merge branch 'master' into verify-ws * Add flag to help * Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws * Merge refs/heads/master into verify-ws * Merge refs/heads/master into verify-ws * Merge refs/heads/master into verify-ws * Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-ws * Update beacon-chain/blockchain/service.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update beacon-chain/blockchain/weak_subjectivity_checks.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws * s/&&/|| for VerifyWeakSubjectivityRoot circuit breaker * Merge refs/heads/master into verify-ws * Merge refs/heads/master into verify-ws |
||
Nishant Das
|
719e99ffd9
|
Replace Roughtime With Timeutils Across Prysm (#7301)
* remove roughtime * change all references * rename Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Preston Van Loon
|
cebb62997d
|
Add beacon state unmarshal fuzzer, afl support (#6625)
* Add AFL third_party libraries * add beacon state fuzzing, add afl fuzz bundle * rm fuzzing engine * fix and lint * Check for array out of bounds when calculating proposer delta * failing test * fix * Checkpoint progress * Add requirement that inclusion distance is not zero, add regression test * No need for HTR since that is covered in process slots * Removing some fuzzit logic, old fuzz tests * Add ssz encoder test and fix * Fuzzing checkpoint, adding fuzzing to the p2p layer * ignore some libfuzzer files * Full testing of p2p processing of blocks, with some mocked stuff * use tmpdir and always process blocks * use checkptr * Update ethereumapis * go mod tidy * benchmarks for ferran's fast ssz hash tree root * Update fastssz * fmt * gaz * goimports * Fix * fix ethereumapis * fix again * kafka * fix gen file * fix compute signing root * gofmt * checkpoint progress * progress * checkpoint * updates * updates * merge fix * WIP * merge * fix build * fix merge related issues * cleanup * revert unrelated * lint * lint * lint * manual tags for fuzz * Commentary on upload script * some import fixes, but not all * fix //fuzz:fuzz_tests * rm unused test * update generated ssz * Set // +build libfuzzer * remove debug code * A bit of refactoring ot explain why there is a committee_disabled file Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Preston Van Loon
|
b7175b3482
|
Update fastssz: Attempt 2 (#7115)
* Revert "Revert "Update fastssz" (#7100)"
This reverts commit
|
||
terence tsao
|
8686a81304
|
Implement checkpt info cache (#7070) | ||
terence tsao
|
ebd05fba01
|
Improve test coverage info.go (#6618)
* Update kv aggregated_test.go * Update block_test.go * Update forkchoice_test.go * Update unaggregated_test.go * Update prepare_forkchoice_test.go * Update prune_expired_test.go * Update atts service_test.go * Update service_attester_test.go * Update service_proposer_test.go * Upate exit service_test.go * Gaz * Merge branch 'master' of github.com:prysmaticlabs/prysm * Move averageBalance from log.go to info.go * Move avg balance from log.go to info.go * Add info test * Remove unused logEpochData in log.go * Gaz * Merge branch 'master' into info-cov * gaz * Merge refs/heads/master into info-cov |
||
Victor Farazdagi
|
deb025f57c
|
Applies assertion funcs to blockchain tests (#6605)
* applies assertion funcs to blockchain tests * Merge branch 'master' into blockchain-apply-testutils-assertions * gofmt * Merge refs/heads/master into blockchain-apply-testutils-assertions * Merge refs/heads/master into blockchain-apply-testutils-assertions * Merge refs/heads/master into blockchain-apply-testutils-assertions * Merge refs/heads/master into blockchain-apply-testutils-assertions * Merge refs/heads/master into blockchain-apply-testutils-assertions |
||
terence tsao
|
ea32af7bf7
|
Update justified point for batch sync (#6594)
* Update justified points * Add the same check to on block init sync * Add comments * Add test * Gaz * Merge branch 'master' into fix-batch-sync * Merge refs/heads/master into fix-batch-sync |
||
terence tsao
|
d53ab16004
|
Move skip-regen-historical-states to deprecated (#6512)
* Remove unused test * Move flag to be deprecated * Remove usages * Update BUILD.bazel * Merge refs/heads/master into rm-skip-stategen-usages |
||
Nishant Das
|
64fa474434
|
Batch Verify Blocks (#6469)
* add everything so far * checkpoint progress * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * fix * checkpoint * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * checkpoint again * checkpoint again * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * commenting * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * bls cleanup * revert this back * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * revert core changes * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * add flag * add test * add one more test * clean up * comment * lint * terence's review * Merge refs/heads/master into fastBLS * Merge refs/heads/master into fastBLS * Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * Merge refs/heads/master into fastBLS * remove additional method * Merge branch 'fastBLS' of https://github.com/prysmaticlabs/geth-sharding into fastBLS * fix * Merge refs/heads/master into fastBLS * copy * Merge branch 'fastBLS' of https://github.com/prysmaticlabs/geth-sharding into fastBLS |
||
Preston Van Loon
|
6b9d9e5d3a
|
Add a few test cases to ReceiveBlockNoPubsub with race detection (#6298)
* Add a few test cases to ReceiveBlockNoPubsub with race detection, fix data race in state * Expose voluntary exits included API. More race condition fixes in state. More tests * add tests to norace as well for coverage * Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block * PR feedback * Fixed can't save head in DB by: 1.) Remove new state mgmt condition in SaveHeadBlockRoot 2.) Reuse state summary cache between db and service * Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block * passing tests * gofmt and goimports * Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block * lint * move import and goimport again * move import and goimport again * Merge refs/heads/master into add-test-coverage-on-receive-block * Merge refs/heads/master into add-test-coverage-on-receive-block * Add bool to selectively record events * Merge refs/heads/master into add-test-coverage-on-receive-block * Merge refs/heads/master into add-test-coverage-on-receive-block * Merge refs/heads/master into add-test-coverage-on-receive-block * Merge refs/heads/master into add-test-coverage-on-receive-block |
||
terence tsao
|
1f93a1f4c3
|
Remove unused prune old states (#6450) | ||
terence tsao
|
d152b48815
|
use stateutil.BlockRoot instead of ssz for forkchoice (#6075)
* Use state util to get block root * Merge refs/heads/master into use-stateutil1 |
||
Preston Van Loon
|
eb2abbdd8b
|
libfuzz based tests (#5095)
* Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * use opt for fuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * use ubuntu as the default build image * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Move fuzz tests * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * making progress on p2p fuzz * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * use a single stream repeatedly * use a single stream repeatedly * use many streams * fixes * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Add basic test for ssz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Use a custom go_library to add libfuzzer * delete old corpus, fix rpc_status_fuzz * move fuzz.bzl * minor fixes * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * add c-shared library (doesnt work) * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * fix build * fixes * Merge refs/heads/master into go-1.14-libfuzz * lint * more lint * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * more lint * allow environment variable * Merge refs/heads/master into go-1.14-libfuzz * Add a fuzzit image with the beacon_states * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * lint * readme * lint * fix lint again i think * gaz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * breakup deps * Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz * don't panic on failure * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * panic if no beacon states to read * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * update rules_foreign_cc * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * remove c_shared target, manually tag tests * Add readme to fuzz package * delete a few comments * delete a few comments * lint * gaz * gaz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz * Merge refs/heads/master into go-1.14-libfuzz |
||
Nishant Das
|
cdac3d61ea
|
Custom Block HTR (#5219)
* add custom htr * fix root * fix everything * Apply suggestions from code review * Update beacon-chain/state/stateutil/blocks.go * Update beacon-chain/blockchain/receive_block.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/blockchain/process_block.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * terence's review Co-authored-by: terence tsao <terence@prysmaticlabs.com> Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Preston Van Loon
|
35d74981a0
|
Correctly return attestation data for late requests (#5183)
* Add functionality to support attestation requests that are older than the head state * lint * gaz * Handle nil state case * handle underflow of first epoch * Remove redundant and possibly wrong genesisTime struct field * fix remaining tests * gofmt * remove debug comment * use stategen.StateByRoot interchangably with beaconDB.State * gofmt * goimports Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Preston Van Loon
|
a0b142a26c
|
Update to go 1.14 (#4947)
* Update to go 1.14 * Update with fix from https://github.com/bazelbuild/rules_go/pull/2388 * Merge branch 'master' into go-1.14 * Merge refs/heads/master into go-1.14 * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14 * Update gRPC * Merge branch 'go-1.14' of github.com:prysmaticlabs/prysm into go-1.14 * Update golang.org/x/crypto * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Merge refs/heads/master into go-1.14 * Committing gc_goopts for issue repro * Fix race and msan builds * Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14 * Merge refs/heads/master into go-1.14 * switch to LRU * Merge branch 'go-1.14' of github.com:prysmaticlabs/prysm into go-1.14 * Fixed, but dont feel good about this * Switch append ordering |
||
terence tsao
|
2fef9d3e5e
|
Move blockchain service metrics package (#4959)
* Moved metrics package |
||
Raul Jordan
|
14b3181e67
|
Plug-In Attester Slashing Detection Into Slasher Runtime (#4937)
* more spanner additions * implement iface * begin implement * wrapped up spanner functions * rem interface * added in necessary comments * comments on enums * begin adding tests * plug in surround vote detection * saved indexed db implementation * finally plugin slashing for historical data * Small fixes * add in all gazelle * save incoming new functions * resolve todo * fix broken test channel item * tests passing when fixing certain arguments and setups * Add comment and change unimplemented * find surround * added in gazelle * gazz * feedback from shay * fixed up naming * Update * Add tests for detectSurroundVotes * Remove logs * Fix slasher test * formatting * Remove unneeded condition * Test indices better * fixing broken build * pass tests * skip tests * imports * Update slasher/detection/attestations/attestations_test.go * Update slasher/beaconclient/historical_data_retrieval_test.go * Address comments * Rename function * Add comment for future optimization * Fix comment Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com> |
||
terence tsao
|
2c1c41d1d6
|
Move stategen package under /state (#4950)
* Move state gen to state * Merge branch 'master' into move-state-gen * Merge refs/heads/master into move-state-gen |
||
Nishant Das
|
83945ca54b
|
Shift Stateutils to State Package (#4921)
* shift over * new changes * imports * Merge branch 'master' into shiftUtils |
||
Nishant Das
|
655f57e3f2
|
Bound Initial Sync Cache Size (#4844)
* bound initial sync
* fix lint
* Revert "Better block attestation inclusion (#4838)"
This reverts commit
|
||
terence tsao
|
456ac5f9a3
|
Better head object coupling for chain service (#4869)
* Done * Fixed lock * Fixed all the tests * Comments * Fixed more tests * Merge branch 'master' into better-head-obj * Fixed more tests * Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj * Prestons feedback & fixed test * Nishant's feedback * Participation edge case * Gaz * Merge branch 'master' into better-head-obj * Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj * Raul's feedback * Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj |
||
terence tsao
|
031b51e294
|
Update head on per attestation and minor refactor clean ups (#4786)
* head.go * Tests * Tests * Merge branch 'master' into call-head * Merge refs/heads/master into call-head * Merge refs/heads/master into call-head * Merge refs/heads/master into call-head * Merge branch 'master' into call-head * Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into call-head * Conflict |
||
terence tsao
|
5b83dffbe4
|
Use proto array forkchoice as default (#4778)
* Starting * Removing feature flag * Minor touchups service.go * Conflict * Started fixing test * Init fork choice store for tests |
||
terence tsao
|
69c3d9dec2
|
Save attestation to DB gated by archival flag (#4776)
* Gated by flag * Gaz * Merge branch 'master' into archival-saves-att |
||
terence tsao
|
8c5c7352b1
|
Update blockchain metrics (#4747)
* Make new metrics the canonical one * Both threads share same metric set * Comments * Fix vis |
||
Nishant Das
|
fb7a75d2c3
|
Release Proposer Index Cache (#4717)
* release cache * gaz * fix all tests Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Raul Jordan
|
cc741ed8af
|
Ensure New State Type Tests Pass in Prysm (#4646)
* begin state service * begin on the state trie idea * created beacon state structure * add in the full clone getter * return by value instead * add all setters * new state setters are being completed * arrays roots exposed * close to finishing all these headerssss * functionality complete * added in proto benchmark test * test for compatibility * add test for compat * comments fixed * add clone * add clone * remove underlying copies * make it immutable * integrate it into chainservice * revert * wrap up comments for package * address all comments and godocs * address all comments * clone the pending attestation properly * properly clone remaining items * tests pass fixed bug * begin using it instead of head state * prevent nil pointer exceptions * begin using new struct in db * integrated new type into db package * add proper nil checks * using new state in archiver * refactored much of core * editing all the precompute functions * done with most core refactor * fixed up some bugs in the clone comparisons * append current epoch atts * add missing setters * add new setters * fix other core methods * fix up transition * main service and forkchoice * fix rpc * integrated to powchain * some more changes * fix build * improve processing of deposits * fix error * prevent panic * comment * fix process att * gaz * fix up att process * resolve existing review comments * resolve another batch of gh comments * resolve broken cpt state * revise testutil to use the new state * begin updating the state transition func to pass in more compartmentalized args * finish editing transition function to return errors * block operations pretty much done with refactor * state transition fully refactored * got epoch processing completed * fix build in fork choice * fixing more of the build * fix up broken sync package * it builds nowww it buildssss * revert registry changes * Recompute on Read (#4627) * compute on read * fix up eth1 data votes * looking into slashings bug introduced in core/ * able to advance more slots * add logging * can now sync with testnet yay * remove the leaves algorithm and other merkle imports * expose initialize unsafe funcs * Update beacon-chain/db/kv/state.go * lint Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * More Optimizations for New State (#4641) * map optimization * more optimizations * use a custom hasher * comment * block operations optimizations * Update beacon-chain/state/types.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * fixed up various operations to use the validator index map access Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * archiver tests pass * fixing cache tests * cache tests passing * edited validator tests * powchain tests passing * halfway thru sync tests * more sync test fixes * add in tests for state/ * working through rpc tests * assignments tests passed * almost done with rpc/beacon tests * resolved painful validator test * fixed up even more tests * resolve tests * fix build * reduce a randao mixes copy * fixes under //beacon-chain/blockchain/... * build //beacon-chain/core/... * fixes * Runtime Optimizations (#4648) * parallelize shuffling * clean up * lint * fix build * use callback to read from registry * fix array roots and size map * new improvements * reduce hash allocs * improved shuffling * terence's review * use different method * raul's comment * new array roots * remove clone in pre-compute * Update beacon-chain/state/types.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * raul's review * lint * fix build issues * fix visibility Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * fix visibility * build works for all * fix blockchain test * fix a few tests * fix more tests * update validator in slashing * archiver passing * fixed rpc/validator * progress on core tests * resolve broken rpc tests * blockchain tests passed * fix up some tests in core * fix message diff * remove unnecessary save * Save validator after slashing * Update validators one by one * another update * fix everything * fix more precompute tests * fix blocks tests * more elegant fix * more helper fixes * change back ? * fix test * fix skip slot * fix test * reset caches * fix testutil * raceoff fixed * passing * Retrieve cached state in the beginning * lint * Fixed tests part 1 * Fixed rest of the tests * Minor changes to avoid copying, small refactor to reduce deplicated code * Handle att req for slot 0 * New beacon state: Only populate merkle layers as needed, copy merkle layers on copy/clone. (#4689) * Only populate merkle layers as needed, copy merkle layers on copy/clone. * use custom copy * Make maps of correct size * slightly fast, doesn't wait for lock Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> * Target root can't be 0x00 * Don't use cache for current slot (may not be the right fix) * fixed up tests * Remove some copy for init sync. Not sure if it is safe enough for runtime though... testing... * Align with prev logic for process slots cachedState.Slot() < slot * Fix Initial Sync Flag (#4692) * fixes * fix up some test failures due to lack of nil checks * fix up some test failures due to lack of nil checks * fix up imports * revert some changes * imports Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * resolving further conflicts * Better skip slot cache (#4694) * Return copy of skip slot cache state, disable skip slot cache on sync * fix * Fix pruning * fix up issues with broken tests Co-authored-by: Nishant Das <nish1993@hotmail.com> Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com> Co-authored-by: shayzluf <thezluf@gmail.com> Co-authored-by: terence tsao <terence@prysmaticlabs.com> Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
shayzluf
|
ade61717a4
|
Slasher data update from archive (#4563)
* first version * cli context * fix service * starting change to ccache * ristretto cache * added test * test on evict * remove evict test * test onevict * comment for exported flag * update all span maps on load * fix setup db * span cache added to help flags * start save cache on exit * save cache to db before close * comment fix * fix flags * setup db new * data update from archive node * gaz * slashing detection on old attestations * un-export * rename * nishant feedback * workspace cr * lint fix * fix calls * start db * fix test * Update slasher/db/db.go Co-Authored-By: Nishant Das <nishdas93@gmail.com> * add flag * fix fail to start beacon client * mock beacon service * fix imports * gaz * goimports * add clear db flag * print finalized epoch * better msg * Update slasher/db/attester_slashings.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * raul feedback * raul feedback * raul feedback * raul feedback * raul feedback * add detection in runtime * fix tests * raul feedbacks * raul feedback * raul feedback * goimports * Update beacon-chain/blockchain/process_attestation_helpers.go * Update beacon-chain/blockchain/receive_block.go * Update beacon-chain/core/blocks/block_operations_test.go * Update beacon-chain/core/blocks/block_operations.go * Update beacon-chain/core/epoch/epoch_processing.go * Update beacon-chain/sync/validate_aggregate_proof_test.go * Update shared/testutil/block.go * Update slasher/service/data_update.go * Update tools/blocktree/main.go * Update slasher/service/service.go * Update beacon-chain/core/epoch/precompute/attestation_test.go * Update beacon-chain/core/helpers/committee_test.go * Update beacon-chain/core/state/transition_test.go * Update beacon-chain/rpc/aggregator/server_test.go * Update beacon-chain/sync/validate_aggregate_proof.go * Update beacon-chain/rpc/validator/proposer_test.go * Update beacon-chain/blockchain/forkchoice/process_attestation.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update slasher/db/indexed_attestations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update slasher/service/data_update.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * terence feedback * terence feedback * goimports Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> Co-authored-by: Nishant Das <nish1993@hotmail.com> Co-authored-by: terence tsao <terence@prysmaticlabs.com> |
||
terence tsao
|
e2be2a21d0
|
Part 2 of block chain service refactor - move process attestation (#4672) | ||
terence tsao
|
eaf7ae3774
|
Part 1 of block chain service refactor - move process block (#4670) | ||
terence tsao
|
d4bea51482
|
Proto array fork choice tree handler (#4658) | ||
terence tsao
|
5eece9a507 |
Integrate proto array forkchoice to run time (#4649)
* Run time * Fixed pruning * Fixed test * Fixed test * Process attestations during init sync * Raul's feedback Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> |
||
Preston Van Loon
|
4aa7ebc2b7 |
Wire voluntary exits pool (#4613)
* Hookup voluntary exits pool * Merge refs/heads/master into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * fix tests * Merge branch 'wire-voluntary-exits' of github.com:prysmaticlabs/prysm into wire-voluntary-exits * Merge refs/heads/master into wire-voluntary-exits * gofmt * Merge branch 'wire-voluntary-exits' of github.com:prysmaticlabs/prysm into wire-voluntary-exits * gofmt * gaz * Merge refs/heads/master into wire-voluntary-exits |
||
Nishant Das
|
2e5429c94e |
Fix Stuck Beacon Node (#4454)
* Revert "Revert #4392 (#4449)"
This reverts commit
|
||
terence tsao
|
89eedd2123 |
Efficient computation of epoch participation (#4430)
* Remove custody (#3986)
* Update proto fields
* Updated block operations
* Fixed all block operation tests
* Fixed tests part 1
* Fixed tests part 1
* All tests pass
* Clean up
* Skip spec test
* Fixed ssz test
* Skip ssz test
* Skip mainnet tests
* Update beacon-chain/operations/attestation.go
* Update beacon-chain/operations/attestation.go
* Decoy flip flop check (#3987)
* Bounce attack check (#3989)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Update beacon-chain/blockchain/forkchoice/process_block.go
* Conflict
* Unskip mainnet spec tests (#3998)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update beacon-chain/core/blocks/block_operations.go
* Unskip minimal spec tests (#3999)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update workspace
* Unskip all minimal spec tests
* Update workspace for general test
* Unskip test (#4001)
* Update minimal seconds per slot to 6 (#3978)
* Bounce attack tests (#3993)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Slots since epoch starts tests
* Update justified checkpt tests
* Conflict
* Fixed logic
* Update process_block.go
* Use helper
* Conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.1
* Conflict
* Fixed failed tests
* Lower MinGenesisActiveValidatorCount to 16384 (#4100)
* Fork choice beacon block checks (#4107)
* Prevent future blocks check and test
* Removed old code
* Update aggregation proto (#4121)
* Update def
* Update spec test
* Conflict
* Update workspace
* patch
* Resolve conflict
* Patch
* Change workspace
* Update ethereumapis to a forked branch at commit
|
||
terence tsao
|
6d2a2ebadf |
Update run time to v0.9.3 (#4154)
* Remove custody (#3986)
* Update proto fields
* Updated block operations
* Fixed all block operation tests
* Fixed tests part 1
* Fixed tests part 1
* All tests pass
* Clean up
* Skip spec test
* Fixed ssz test
* Skip ssz test
* Skip mainnet tests
* Update beacon-chain/operations/attestation.go
* Update beacon-chain/operations/attestation.go
* Decoy flip flop check (#3987)
* Bounce attack check (#3989)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Update beacon-chain/blockchain/forkchoice/process_block.go
* Conflict
* Unskip mainnet spec tests (#3998)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update beacon-chain/core/blocks/block_operations.go
* Unskip minimal spec tests (#3999)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update workspace
* Unskip all minimal spec tests
* Update workspace for general test
* Unskip test (#4001)
* Update minimal seconds per slot to 6 (#3978)
* Bounce attack tests (#3993)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Slots since epoch starts tests
* Update justified checkpt tests
* Conflict
* Fixed logic
* Update process_block.go
* Use helper
* Conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.1
* Conflict
* Fixed failed tests
* Lower MinGenesisActiveValidatorCount to 16384 (#4100)
* Fork choice beacon block checks (#4107)
* Prevent future blocks check and test
* Removed old code
* Update aggregation proto (#4121)
* Update def
* Update spec test
* Conflict
* Update workspace
* patch
* Resolve conflict
* Patch
* Change workspace
* Update ethereumapis to a forked branch at commit
|
||
Jim McDonald
|
89e1200b73 | Add ticker shared helper (#4285) | ||
terence tsao
|
3e15e2fc1e |
Add operation feed (#4215)
* Events * Notifiers * Refactor * Gaz * Fixed rest * Lint * Lint * Visibility * Typo * Typo * Apply suggestions from code review Co-Authored-By: Nishant Das <nishdas93@gmail.com> |
||
Raul Jordan
|
9e5cc81340 |
Implement Prysm-Specific HashTreeRootState (#4077)
* new ssz hash tree root * Merge branch 'master' into new-ssz-state * better comments on func * add errors instead of panic in state * utilize errors wrap everywhere * include bench * added bench info * equality test * dup * gaz * use new hash tree root in state transition * fix build * separate test package * three targets failign * single target fails * please test targets...pass for me * revert * Merge branch 'master' into new-ssz-state * rev * Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state * broken build * Merge branch 'master' into new-ssz-state * gaz * Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state * ssz workspace * master ssz * Merge branch 'master' into new-ssz-state * resolve conf * resolve some conflicts and fix up broken file * fix up build file issues and sync * eth1 data votes included * further abstractions, simplifications * Merge branch 'master' into new-ssz-state * gaz * Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state * feature flag gating * add field count test * Merge branch 'master' into new-ssz-state * resolving ivan feedback * Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state * gaz * Merge branch 'master' into new-ssz-state * addressed * Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state |
||
terence tsao
|
e90358cd8e |
Removed unused mocks (#4135)
* Removed unused mocks * Lint * Gaz |
||
Raul Jordan
|
0326be86b5 |
Apply Patch Rules to Use EthereumAPIs Generated Protos in Prysm (#4112)
* starting on patch * finish determining all required patches * properly redefine the patch rules * new patch * rem double semicolon * fix patch file * Merge branch 'master' of github.com:prysmaticlabs/prysm into deprecate-eth-protos * building the deps * test target passes using ethereumapis * compile gateway * attempting to build everything * e2e use ethereumapis * more fixes for slasher * other item * getting closer to compiling slasher * build slasher package * Merge branch 'master' into deprecate-eth-protos * Merge branch 'master' into deprecate-eth-protos * fix benches * lint gazelle * Merge branch 'deprecate-eth-protos' of github.com:prysmaticlabs/prysm into deprecate-eth-protos * proper gateway * lint * Merge branch 'master' into deprecate-eth-protos * fix build * Merge branch 'deprecate-eth-protos' of github.com:prysmaticlabs/prysm into deprecate-eth-protos * use swag * resolve * ignore change * include new patch changes * fix test * builds * fix e2e * gaz |
||
Jim McDonald
|
9e45cffabc |
Move StateInitialized and ChainStarted to state feed (#4084)
* Migrate ChainStarted and StateInitialized to state notifier * Provide state notifier to powchain service * Merge remote-tracking branch 'upstream/master' * Merge remote-tracking branch 'upstream/master' * Remove commented line * Merge branch 'master' into master * Merge branch 'master' into master * Merge remote-tracking branch 'upstream/master' * Merge branch 'master' of github.com:mcdee/prysm * Accept err from HeadState() as non-fatal * Merge branch 'master' into master * Merge branch 'master' into master * Merge branch 'master' into master |