Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify GetValidatorParticipation to use new state service #5409

Merged
merged 459 commits into from
Apr 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
459 commits
Select commit Hold shift + click to select a range
cbae82d
Skip 2 more minimal tests
terencechain Mar 17, 2020
870862a
Update readme
terencechain Mar 17, 2020
c36cb9c
gaz
terencechain Mar 17, 2020
9264dcd
Conflict
terencechain Mar 17, 2020
d3e0c71
Fix import and not use
terencechain Mar 18, 2020
cba0f79
Update workspace for new spec test
terencechain Mar 18, 2020
ea371a1
Fix workspace
terencechain Mar 18, 2020
69c7095
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 18, 2020
f2b41b5
Update workspace with new ethapi commit
terencechain Mar 18, 2020
6cc6a7a
Unblock a few tests
terencechain Mar 18, 2020
03cf80e
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 18, 2020
08bcfae
fixed block op test
terencechain Mar 18, 2020
ef2c709
gaz
terencechain Mar 18, 2020
4530527
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 18, 2020
a8c3f7e
Skip gen state test (test setup issue
terencechain Mar 18, 2020
48abad3
Updated hysteresis config
terencechain Mar 18, 2020
d67b222
Updated epoch processing for new hyteresis
terencechain Mar 18, 2020
fc6afb9
Updated tests
terencechain Mar 18, 2020
4d94268
regen proto beacon
terencechain Mar 18, 2020
cd01dbd
update state util for state root
terencechain Mar 18, 2020
24b6e80
update state types
terencechain Mar 18, 2020
1f202da
update getter and setters
terencechain Mar 18, 2020
638868b
update compute domain and get domain and tests
terencechain Mar 18, 2020
3700487
update validators
terencechain Mar 18, 2020
8da3574
Add forkdata proto
terencechain Mar 18, 2020
2784d2b
Updated compute domain api, moved it to helper pkg
terencechain Mar 18, 2020
7cb34ca
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 18, 2020
b1d1ad0
Fixed all core tests
terencechain Mar 18, 2020
a9546d9
Fixed all the sync tests
terencechain Mar 18, 2020
0135a86
Fixed all the rpc tests
terencechain Mar 18, 2020
9a25126
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 18, 2020
1562ebf
Merge refs/heads/master into v0.10.1
prylabs-bulldozer[bot] Mar 19, 2020
4a3c6ed
Fixed conflict
terencechain Mar 19, 2020
89164d4
Fixed conflict
terencechain Mar 19, 2020
ce3d83c
Conflict fix
terencechain Mar 19, 2020
043b8e2
visibility
terencechain Mar 19, 2020
5623d79
Fixed validator tests
terencechain Mar 19, 2020
c949da8
Fixing test util
terencechain Mar 19, 2020
6844df5
Fixed rest of non spec tests
terencechain Mar 19, 2020
e1b66f1
Fixed a bug proposer index wasn't included
terencechain Mar 19, 2020
88f787c
gaz
terencechain Mar 19, 2020
0664b8a
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
rauljordan Mar 19, 2020
ec61457
Updated eth1 data voting period to epoch based
terencechain Mar 19, 2020
6f39dcc
Fixed failed tests
terencechain Mar 19, 2020
4f2f4f0
fix bug
nisdas Mar 20, 2020
4c1f7fe
fix error
nisdas Mar 20, 2020
dc9fd93
Fixed more misc tests
terencechain Mar 20, 2020
2e6d0d4
Add new SignedAggregateAndProof to pass spec test
terencechain Mar 20, 2020
7aee6cc
Update minimalConfig.PersistentCommitteePeriod
terencechain Mar 20, 2020
aec3f80
allow to rebuild trie
nisdas Mar 20, 2020
1dc141c
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
rauljordan Mar 20, 2020
4b378db
Skip e2e tests
terencechain Mar 20, 2020
aff5587
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
terencechain Mar 20, 2020
4f83b45
Align aggregator action with v0.11 (#5146)
terencechain Mar 21, 2020
ecd4b76
Remove Head Root from Beacon Block by Range Request (#5165)
nisdas Mar 22, 2020
7e5ea6c
Merge branch 'master' of https://github.com/prysmaticlabs/geth-shardi…
nisdas Mar 23, 2020
3a5b86b
add back herumi's library
nisdas Mar 23, 2020
fb637d8
Update ethapi in workspace, started fixing test. Hand off to Nishant
terencechain Mar 23, 2020
4a1e814
fix build
nisdas Mar 23, 2020
b5feb9c
All tests passing
terencechain Mar 23, 2020
a528184
Align finalized slot check with v0.11 (#5166)
terencechain Mar 23, 2020
5e5be15
Merge branch 'master' into v0.11
rauljordan Mar 23, 2020
527c15e
Add DoS resistance for v0.11 (#5158)
terencechain Mar 23, 2020
c2f6e95
Add Fork Digest Helper (#5173)
nisdas Mar 23, 2020
2a5b756
Extend DoS prevention to rest of operation objects (#5174)
terencechain Mar 23, 2020
1a2ebfe
Add remote keymanager (#5133)
mcdee Mar 23, 2020
ba30d42
Add Snappy Framing to the Encoder (#5172)
nisdas Mar 23, 2020
b6590ad
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
rauljordan Mar 24, 2020
1223cb0
Move Subnet Functionality to its Own File (#5179)
rauljordan Mar 24, 2020
af95421
Sync with master
terencechain Mar 24, 2020
f9acd78
Verify proposer signature in sync (#5206)
terencechain Mar 25, 2020
a1728c6
Fix Signed Attestation In Sync (#5207)
nisdas Mar 25, 2020
810012d
Add Eth2 Fork ENR Functionality (#5181)
rauljordan Mar 25, 2020
be88b28
Verify aggregator signature in sync (#5208)
terencechain Mar 25, 2020
ec2a100
Add Fork Digest For Gossip Topics (#5191)
nisdas Mar 26, 2020
b2375ae
Fix Incorrect Attester Slashing Method (#5229)
nisdas Mar 27, 2020
fd7b4a5
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
rauljordan Mar 27, 2020
4600877
Remove keystore keymanager from validator (#5236)
mcdee Mar 30, 2020
9cee65a
fix broadcaster
nisdas Mar 31, 2020
e1c3a00
update metrics with fork digest for p2p (#5251)
rauljordan Mar 31, 2020
6821531
Fix incorrect domain type comments (#5250)
mcdee Mar 31, 2020
6163339
resolve conflicts
rauljordan Mar 31, 2020
293901f
fix broken broadcast test
rauljordan Mar 31, 2020
43297a6
fix tests
rauljordan Mar 31, 2020
76cf84d
include protocol suffix
rauljordan Mar 31, 2020
679d44f
fix confs
rauljordan Mar 31, 2020
b0b8574
lint
rauljordan Mar 31, 2020
c55c964
fix test
rauljordan Mar 31, 2020
d2d931f
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
rauljordan Apr 1, 2020
32680a4
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
terencechain Apr 1, 2020
ae1b4aa
resolve broken slasher test'
rauljordan Apr 1, 2020
359035d
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
terencechain Apr 1, 2020
dbb4d02
Merge branch 'master' into v0.11
rauljordan Apr 1, 2020
d9fad84
fix config override
rauljordan Apr 1, 2020
7d17c9a
Remove deprecated parameters (#5249)
mcdee Apr 1, 2020
12d0d25
Avoid div by zero in extreme balance case (#5273)
terencechain Apr 1, 2020
47e5a2c
Revert "Remove deprecated parameters (#5249)" (#5276)
terencechain Apr 1, 2020
9998b97
Verify block proposer index before gossip (#5274)
terencechain Apr 1, 2020
d15c12f
Add in Proposer Index to Custom HTR (#5269)
nisdas Apr 1, 2020
6e84806
Resolve Flakey P2P Tests (#5285)
rauljordan Apr 2, 2020
ca81ef6
Merge branch 'master' into v0.11
prestonvanloon Apr 2, 2020
b47f456
release resources correctly (#5287)
nisdas Apr 2, 2020
16d8114
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 2, 2020
a8d32d5
Enable NOISE Handshake by Default v0.11 (#5272)
rauljordan Apr 2, 2020
2ebc856
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 2, 2020
939179c
new ports
rauljordan Apr 2, 2020
52cefdf
fix broken build
rauljordan Apr 2, 2020
29fc5a5
Make `new-state-mgmt` canonical (#5289)
terencechain Apr 2, 2020
8f3c4d8
Merge branch 'master' into v0.11
rauljordan Apr 2, 2020
b7c7b8a
resolve flakeyness
rauljordan Apr 2, 2020
d6ed9db
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 2, 2020
e75abe8
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 2, 2020
9804bcb
Detect Proposer Slashing Implementation (#5139)
shayzluf Apr 2, 2020
04c17c5
Merge branch 'master' of https://github.com/prysmaticlabs/geth-shardi…
nisdas Apr 2, 2020
15e4696
Add Metadata And Ping RPC methods (#5271)
nisdas Apr 3, 2020
a1bc7be
Merge branch 'master' of https://github.com/prysmaticlabs/geth-shardi…
nisdas Apr 3, 2020
bbcd895
Updates for remote keymanager (#5260)
mcdee Apr 3, 2020
0600b11
Merge branch 'spec-v0.11' of github.com:prysmaticlabs/prysm into v0.11
terencechain Apr 3, 2020
7ce68fd
Merge remote-tracking branch 'origin' into v0.11
terencechain Apr 3, 2020
8d6aed9
Update to slash by slot instead of epoch (#5297)
shayzluf Apr 3, 2020
005bfa7
Sync with master
terencechain Apr 3, 2020
c1946f8
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
terencechain Apr 3, 2020
579a4e1
Update proposer protection to v0.11 (#5292)
0xKiwi Apr 3, 2020
7f0911f
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 3, 2020
a0c62b1
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 4, 2020
1b8db88
Implement `SubscribeCommitteeSubnet` method (#5299)
terencechain Apr 4, 2020
bcc53dc
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 4, 2020
96af0e8
resolve confs
rauljordan Apr 6, 2020
963d11a
Validator subscribe subnet to next epoch (#5312)
terencechain Apr 6, 2020
e5aef16
Revert "Revert "Remove deprecated parameters (#5249)" (#5276)" (#5277)
terencechain Apr 6, 2020
e60ea19
Aggregate on demand for v0.11 (#5302)
terencechain Apr 6, 2020
3d99e69
Refactor Dynamic Subscriptions (#5318)
nisdas Apr 6, 2020
a0cafff
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 6, 2020
35a6df7
Fix listindexed attestations and detect historic attestations (#5321)
shayzluf Apr 6, 2020
91b19b9
Add check for slot == 0 (#5322)
terencechain Apr 6, 2020
894508f
Change attester protection to return default if DB is empty (#5323)
0xKiwi Apr 6, 2020
7e84e42
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 7, 2020
5ec3706
fix it (#5326)
nisdas Apr 7, 2020
899175d
V0.11 run time fixes to use interop config (#5324)
terencechain Apr 7, 2020
0f6e3fb
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 7, 2020
9bb52b1
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 7, 2020
1e4fe6d
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 7, 2020
74cca27
Nil Checks in Process Attestation v0.11 (#5331)
rauljordan Apr 7, 2020
c853805
Validator batch subscribe subnets (#5332)
terencechain Apr 7, 2020
b422889
Validator smarter subscribe (#5334)
terencechain Apr 7, 2020
7456c1c
Fix incorrect proposer index calculation (#5336)
terencechain Apr 7, 2020
9e4612e
enhance error
prestonvanloon Apr 7, 2020
e4e620d
enhance error
prestonvanloon Apr 7, 2020
7b9ecaa
Update P2P Service to Handle Local Metadata (#5319)
nisdas Apr 7, 2020
6f262b5
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 7, 2020
1dfa485
Revert "Revert "Revert "Remove deprecated parameters (#5249)" (#5276)…
prestonvanloon Apr 7, 2020
2ed1dee
Wait for Genesis Event to Start P2P (#5303)
rauljordan Apr 7, 2020
13bb6c0
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 8, 2020
a943cbb
Avoid duplicated aggregation request (#5346)
terencechain Apr 8, 2020
a1d4dd4
Fix Validate For Metadata (#5348)
nisdas Apr 8, 2020
f0bb84e
Multiple Proposer Slots Allowed Per Epoch for Validators (#5344)
rauljordan Apr 8, 2020
0549fa4
Networking Fixes (#5349)
nisdas Apr 8, 2020
54830f1
More efficient aggregation on demand (#5354)
terencechain Apr 8, 2020
e02f4f4
Return Nil Error if Pre-Genesis in P2P Service Healthz Check (#5355)
rauljordan Apr 8, 2020
70ac7b8
Release DiscoveryV5 for Testnet Restart (#5357)
nisdas Apr 9, 2020
57ecba3
Fix Overflow in Status Check (#5361)
nisdas Apr 9, 2020
2d1118f
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 9, 2020
9cf22ac
fix after merge
prestonvanloon Apr 9, 2020
97df02f
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 9, 2020
4256321
Make Mainnet Config Default, No More Demo Config (#5367)
rauljordan Apr 10, 2020
31b6fc7
Use FastSSZ Marshal/Unmarshal for DB Encodings in v0.11.1 (#5351)
rauljordan Apr 10, 2020
45ebbb6
Reconnect slasher streams on beacon node shutdown (#5376)
shayzluf Apr 10, 2020
50c8dd5
Merge branch 'master' into v0.11
rauljordan Apr 10, 2020
8744680
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 10, 2020
4203c9f
Amend Faucet to Offer 32.5 ETH for v0.11 (#5378)
rauljordan Apr 10, 2020
9f9c679
unskip exec transition test
rauljordan Apr 10, 2020
2aa8f4c
Revert "Enable NOISE Handshake by Default v0.11 (#5272)" (#5381)
prestonvanloon Apr 10, 2020
ffa21c0
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 10, 2020
07cfbba
use string for deposit flag
prestonvanloon Apr 10, 2020
87e684a
Update Bootnode to v0.11 (#5387)
nisdas Apr 11, 2020
54e22f3
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 11, 2020
b749086
build fix
prestonvanloon Apr 11, 2020
7334c19
fix flaky test
prestonvanloon Apr 11, 2020
d2bb481
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 11, 2020
5bc8756
Unskip E2E for V0.11 (#5386)
0xKiwi Apr 12, 2020
c2a83cc
Merge branch 'master' of https://github.com/prysmaticlabs/prysm into …
0xKiwi Apr 12, 2020
1e1a3c4
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 12, 2020
99e0dfa
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 13, 2020
7a5284e
Update beacon-chain/p2p/broadcaster_test.go
rauljordan Apr 13, 2020
6016053
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 13, 2020
f6022a3
Update GetValidatorParticipation
terencechain Apr 13, 2020
362f910
Update tests
terencechain Apr 13, 2020
bf372cf
Gaz
terencechain Apr 13, 2020
31facab
Pass E2E Tests for v0.11 and Enable Attestation Subnets By Default (#…
rauljordan Apr 13, 2020
48d9472
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
338034b
Update README.md
terencechain Apr 13, 2020
c2157d1
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
0157379
Apply suggestions from code review
terencechain Apr 13, 2020
13165c5
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
d5b1e84
Update beacon-chain/p2p/config.go
terencechain Apr 13, 2020
e8c30a3
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
5ea1c43
Update shared/keystore/deposit_input.go
terencechain Apr 13, 2020
751976c
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
c24535f
Update tools/faucet/server.go
terencechain Apr 13, 2020
7b37dcb
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
fcc5f71
Update beacon-chain/p2p/service.go
terencechain Apr 13, 2020
d2d427e
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
f4b369a
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
e27c024
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
fb7941b
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
282502f
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
7b83fd6
Update proto/beacon/p2p/v1/BUILD.bazel
terencechain Apr 13, 2020
9307971
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
4644568
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
57776f6
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
335ee20
Update shared/bls/spectest/aggregate_verify_test.go
rauljordan Apr 13, 2020
61b72f2
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
b3c0166
Addressed feedback. All test passing
terencechain Apr 13, 2020
105f15c
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
terencechain Apr 13, 2020
3a8ee67
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 13, 2020
1e19c7f
Update beacon-chain/core/blocks/block_operations_fuzz_test.go
terencechain Apr 14, 2020
e25a6d6
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
f695932
Update beacon-chain/core/blocks/block_operations_test.go
terencechain Apr 14, 2020
a76010b
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
b435a4a
Update shared/testutil/helpers.go
terencechain Apr 14, 2020
82dd85f
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
de7195c
Update beacon-chain/core/helpers/signing_root.go
terencechain Apr 14, 2020
540f3f4
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
0a64620
Resolve Misc v0.11 Items (Raul) (#5414)
rauljordan Apr 14, 2020
c52ebc1
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
0ea2bbb
Revert keymanager changes (#5416)
prestonvanloon Apr 14, 2020
0c2b84d
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
3f882af
Update BLS and limit visibility (#5415)
prestonvanloon Apr 14, 2020
5e3507c
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
95e44ba
Fix eth1data test and fix order of ops (#5413)
0xKiwi Apr 14, 2020
0a12696
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
a4f47b9
use multiaddr builder (#5419)
nisdas Apr 14, 2020
29d1d20
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
da28c1f
Unskip benchutil and minor v0.11 fixes (#5417)
0xKiwi Apr 14, 2020
5f35a89
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
2e1ebc9
Networking Fixes (#5421)
nisdas Apr 14, 2020
3305106
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
f7a2aa5
Update ethereum APIs with latest master
prestonvanloon Apr 14, 2020
53aad94
Merge refs/heads/v0.11 into fix-validator-participation
prylabs-bulldozer[bot] Apr 14, 2020
6722667
Error handling for v0.11 tests (#5428)
terencechain Apr 14, 2020
3500f91
Sync with master
terencechain Apr 14, 2020
7d132ea
Rm old aggregate_test.go
terencechain Apr 14, 2020
3a2063e
Sync with master
terencechain Apr 15, 2020
87744cf
Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-vali…
terencechain Apr 15, 2020
cb091e0
Merge branch 'fix-validator-participation' of github.com:prysmaticlab…
terencechain Apr 15, 2020
4d3a348
Merge refs/heads/master into fix-validator-participation
prylabs-bulldozer[bot] Apr 15, 2020
97e5071
Merge refs/heads/master into fix-validator-participation
prylabs-bulldozer[bot] Apr 15, 2020
348fa8d
Merge refs/heads/master into fix-validator-participation
prylabs-bulldozer[bot] Apr 15, 2020
7938c83
Merge refs/heads/master into fix-validator-participation
prylabs-bulldozer[bot] Apr 15, 2020
99b692a
Merge refs/heads/master into fix-validator-participation
prylabs-bulldozer[bot] Apr 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion beacon-chain/rpc/beacon/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ go_test(
deps = [
"//beacon-chain/blockchain/testing:go_default_library",
"//beacon-chain/cache:go_default_library",
"//beacon-chain/core/epoch/precompute:go_default_library",
"//beacon-chain/core/feed:go_default_library",
"//beacon-chain/core/feed/block:go_default_library",
"//beacon-chain/core/feed/operation:go_default_library",
Expand Down
82 changes: 29 additions & 53 deletions beacon-chain/rpc/beacon/validators.go
Original file line number Diff line number Diff line change
Expand Up @@ -462,81 +462,57 @@ func (bs *Server) GetValidatorActiveSetChanges(
func (bs *Server) GetValidatorParticipation(
ctx context.Context, req *ethpb.GetValidatorParticipationRequest,
) (*ethpb.ValidatorParticipationResponse, error) {
headState, err := bs.HeadFetcher.HeadState(ctx)
if err != nil {
return nil, status.Error(codes.Internal, "Could not get head state")
}

currentEpoch := helpers.CurrentEpoch(headState)
prevEpoch := helpers.PrevEpoch(headState)
currentEpoch := helpers.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())

var requestedEpoch uint64
var requestingGenesis bool
switch q := req.QueryFilter.(type) {
case *ethpb.GetValidatorParticipationRequest_Genesis:
requestingGenesis = q.Genesis
requestedEpoch = 0
case *ethpb.GetValidatorParticipationRequest_Epoch:
requestedEpoch = q.Epoch
default:
requestedEpoch = prevEpoch
// Prevent underflow and ensure participation is always queried for previous epoch.
if currentEpoch > 1 {
requestedEpoch = currentEpoch - 1
}
}

// If the request is from genesis or another past epoch, we look into our archived
// data to find it and return it if it exists.
if requestingGenesis || requestedEpoch < prevEpoch {
participation, err := bs.BeaconDB.ArchivedValidatorParticipation(ctx, requestedEpoch)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not fetch archived participation: %v", err)
}
if participation == nil {
return nil, status.Errorf(
codes.NotFound,
"Could not retrieve data for epoch %d, perhaps --archive in the running beacon node is disabled",
0,
)
}
return &ethpb.ValidatorParticipationResponse{
Epoch: requestedEpoch,
Finalized: requestedEpoch <= headState.FinalizedCheckpointEpoch(),
Participation: participation,
}, nil
} else if requestedEpoch == currentEpoch {
// We cannot retrieve participation for an epoch currently in progress.
if requestedEpoch >= currentEpoch {
return nil, status.Errorf(
codes.InvalidArgument,
"Cannot retrieve information about an epoch currently in progress, current epoch %d, requesting %d",
currentEpoch,
requestedEpoch,
)
} else if requestedEpoch > currentEpoch {
// We are requesting data from the future and we return an error.
return nil, status.Errorf(
codes.InvalidArgument,
"Cannot retrieve information about an epoch in the future, current epoch %d, requesting %d",
"Cannot retrieve information about an epoch until older than current epoch, current epoch %d, requesting %d",
currentEpoch,
requestedEpoch,
)
}

p := bs.ParticipationFetcher.Participation(requestedEpoch)
if p == nil {
p = &precompute.Balance{}
requestedState, err := bs.StateGen.StateBySlot(ctx, helpers.StartSlot(requestedEpoch+1))
if err != nil {
return nil, status.Error(codes.Internal, "Could not get state")
}
participation := &ethpb.ValidatorParticipation{
EligibleEther: p.PrevEpoch,
VotedEther: p.PrevEpochTargetAttesters,

v, b, err := precompute.New(ctx, requestedState)
if err != nil {
return nil, status.Error(codes.Internal, "Could not set up pre compute instance")
}
_, b, err = precompute.ProcessAttestations(ctx, requestedState, v, b)
if err != nil {
return nil, status.Error(codes.Internal, "Could not pre compute attestations")
}
participation.GlobalParticipationRate = float32(0)
// only divide if prevEpoch is non zero
if p.PrevEpoch != 0 {
participation.GlobalParticipationRate = float32(p.PrevEpochTargetAttesters) / float32(p.PrevEpoch)

headState, err := bs.HeadFetcher.HeadState(ctx)
if err != nil {
return nil, status.Error(codes.Internal, "Could not get head state")
}

return &ethpb.ValidatorParticipationResponse{
Epoch: requestedEpoch,
Finalized: requestedEpoch <= headState.FinalizedCheckpointEpoch(),
Participation: participation,
Epoch: requestedEpoch,
Finalized: requestedEpoch <= headState.FinalizedCheckpointEpoch(),
Participation: &ethpb.ValidatorParticipation{
GlobalParticipationRate: float32(b.PrevEpochTargetAttesters) / float32(b.PrevEpoch),
VotedEther: b.PrevEpochTargetAttesters,
EligibleEther: b.PrevEpoch,
},
}, nil
}

Expand Down
Loading