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 ListValidatorAssignments to use new state service #5365

Merged
merged 497 commits into from
Apr 15, 2020
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
497 commits
Select commit Hold shift + click to select a range
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
0f87842
STarting
terencechain 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
c3f4a0a
Update assignments
terencechain Apr 9, 2020
e02db8e
Genesis short circuit
terencechain Apr 9, 2020
dde7fe2
Fixed tests
terencechain 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
c709b5d
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 9, 2020
97df02f
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 9, 2020
19070da
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 9, 2020
4256321
Make Mainnet Config Default, No More Demo Config (#5367)
rauljordan Apr 10, 2020
201bf2a
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
31b6fc7
Use FastSSZ Marshal/Unmarshal for DB Encodings in v0.11.1 (#5351)
rauljordan Apr 10, 2020
7cad4f7
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
45ebbb6
Reconnect slasher streams on beacon node shutdown (#5376)
shayzluf Apr 10, 2020
6cd24bf
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
50c8dd5
Merge branch 'master' into v0.11
rauljordan Apr 10, 2020
b848836
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
8744680
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 10, 2020
a414646
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
4203c9f
Amend Faucet to Offer 32.5 ETH for v0.11 (#5378)
rauljordan Apr 10, 2020
b211abc
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
9f9c679
unskip exec transition test
rauljordan Apr 10, 2020
c023f39
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
2aa8f4c
Revert "Enable NOISE Handshake by Default v0.11 (#5272)" (#5381)
prestonvanloon Apr 10, 2020
79cd3a5
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
ffa21c0
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 10, 2020
b23926c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
07cfbba
use string for deposit flag
prestonvanloon Apr 10, 2020
9014d8f
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 10, 2020
87e684a
Update Bootnode to v0.11 (#5387)
nisdas Apr 11, 2020
2e00a0c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 11, 2020
7c094b7
Fixed conflict
terencechain Apr 11, 2020
54e22f3
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 11, 2020
4de55e6
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 11, 2020
b749086
build fix
prestonvanloon Apr 11, 2020
c552bcd
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 11, 2020
7334c19
fix flaky test
prestonvanloon Apr 11, 2020
d2c0515
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 11, 2020
d2bb481
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 11, 2020
1b5d766
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 11, 2020
c3da4c5
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into fix-list-…
terencechain Apr 12, 2020
202be26
Fixed more conflicts
terencechain Apr 12, 2020
6350e69
Merge branch 'fix-list-validator-assignments' of github.com:prysmatic…
terencechain Apr 12, 2020
5bc8756
Unskip E2E for V0.11 (#5386)
0xKiwi Apr 12, 2020
29dd409
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 12, 2020
c2a83cc
Merge branch 'master' of https://github.com/prysmaticlabs/prysm into …
0xKiwi Apr 12, 2020
48b588b
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 12, 2020
1e1a3c4
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 12, 2020
d0b217c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 12, 2020
99e0dfa
Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
prestonvanloon Apr 13, 2020
b66d1de
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
7a5284e
Update beacon-chain/p2p/broadcaster_test.go
rauljordan Apr 13, 2020
d99d78b
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
382cb68
Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into fix-list-…
terencechain Apr 13, 2020
7f632a4
Fixed test
terencechain Apr 13, 2020
b7daa6f
Merge branch 'fix-list-validator-assignments' of github.com:prysmatic…
terencechain Apr 13, 2020
6016053
Merge refs/heads/master into v0.11
prylabs-bulldozer[bot] Apr 13, 2020
93149e1
Merge branch 'v0.11' into fix-list-validator-assignments
terencechain Apr 13, 2020
31facab
Pass E2E Tests for v0.11 and Enable Attestation Subnets By Default (#…
rauljordan Apr 13, 2020
5c171d8
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
338034b
Update README.md
terencechain Apr 13, 2020
25cacb4
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
0157379
Apply suggestions from code review
terencechain Apr 13, 2020
4dac82e
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
d5b1e84
Update beacon-chain/p2p/config.go
terencechain Apr 13, 2020
3acf23e
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
5ea1c43
Update shared/keystore/deposit_input.go
terencechain Apr 13, 2020
f9209f0
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
c24535f
Update tools/faucet/server.go
terencechain Apr 13, 2020
2d5d44b
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
fcc5f71
Update beacon-chain/p2p/service.go
terencechain Apr 13, 2020
026cbbd
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
f4b369a
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
dd2ca0c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
fb7941b
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
0115d0c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
7b83fd6
Update proto/beacon/p2p/v1/BUILD.bazel
terencechain Apr 13, 2020
1ca2c57
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
4644568
Update shared/benchutil/pregen_test.go
terencechain Apr 13, 2020
2addb8d
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
335ee20
Update shared/bls/spectest/aggregate_verify_test.go
rauljordan Apr 13, 2020
10f2ab2
Merge refs/heads/v0.11 into fix-list-validator-assignments
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
9751d16
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 13, 2020
1e19c7f
Update beacon-chain/core/blocks/block_operations_fuzz_test.go
terencechain Apr 14, 2020
0c4e902
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
f695932
Update beacon-chain/core/blocks/block_operations_test.go
terencechain Apr 14, 2020
1a93001
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
b435a4a
Update shared/testutil/helpers.go
terencechain Apr 14, 2020
c99ca81
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
de7195c
Update beacon-chain/core/helpers/signing_root.go
terencechain Apr 14, 2020
dc107ec
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
0a64620
Resolve Misc v0.11 Items (Raul) (#5414)
rauljordan Apr 14, 2020
8067d84
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
0ea2bbb
Revert keymanager changes (#5416)
prestonvanloon Apr 14, 2020
c774325
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
3f882af
Update BLS and limit visibility (#5415)
prestonvanloon Apr 14, 2020
f32c434
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
95e44ba
Fix eth1data test and fix order of ops (#5413)
0xKiwi Apr 14, 2020
0350c0c
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
a4f47b9
use multiaddr builder (#5419)
nisdas Apr 14, 2020
d179aa6
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
da28c1f
Unskip benchutil and minor v0.11 fixes (#5417)
0xKiwi Apr 14, 2020
c979731
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
2e1ebc9
Networking Fixes (#5421)
nisdas Apr 14, 2020
011aadb
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
f7a2aa5
Update ethereum APIs with latest master
prestonvanloon Apr 14, 2020
5d528f1
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
6722667
Error handling for v0.11 tests (#5428)
terencechain Apr 14, 2020
26c0c1a
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
3500f91
Sync with master
terencechain Apr 14, 2020
d6985d0
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
7d132ea
Rm old aggregate_test.go
terencechain Apr 14, 2020
8191008
Merge refs/heads/v0.11 into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 14, 2020
5ee7b61
Merge branch 'master' into fix-list-validator-assignments
terencechain Apr 15, 2020
597e4fc
Fixed conflicts
terencechain Apr 15, 2020
6305661
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
e53505f
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
99a6fee
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
a59e38d
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
c954e7a
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
199fc80
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
add4144
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
f13175c
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
f874b93
Merge refs/heads/master into fix-list-validator-assignments
prylabs-bulldozer[bot] Apr 15, 2020
526f98a
Merge refs/heads/master into fix-list-validator-assignments
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
2 changes: 0 additions & 2 deletions beacon-chain/rpc/beacon/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,11 @@ go_library(
"//shared/bytesutil:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/hashutil:go_default_library",
"//shared/pagination:go_default_library",
"//shared/params:go_default_library",
"//shared/sliceutil:go_default_library",
"@com_github_gogo_protobuf//types:go_default_library",
"@com_github_patrickmn_go_cache//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prometheus_client_golang//prometheus:go_default_library",
"@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
Expand Down
161 changes: 18 additions & 143 deletions beacon-chain/rpc/beacon/assignments.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,11 @@ import (
"context"
"strconv"

"github.com/pkg/errors"
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
"github.com/prysmaticlabs/prysm/beacon-chain/flags"
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/pagination"
"github.com/prysmaticlabs/prysm/shared/params"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
Expand All @@ -32,14 +28,9 @@ func (bs *Server) ListValidatorAssignments(
}

var res []*ethpb.ValidatorAssignments_CommitteeAssignment
headState, err := bs.HeadFetcher.HeadState(ctx)
if err != nil {
return nil, status.Error(codes.Internal, "Could not get head state")
}
filtered := map[uint64]bool{} // track filtered validators to prevent duplication in the response.
filteredIndices := make([]uint64, 0)
requestedEpoch := helpers.CurrentEpoch(headState)

var requestedEpoch uint64
switch q := req.QueryFilter.(type) {
case *ethpb.ListValidatorAssignmentsRequest_Genesis:
if q.Genesis {
Expand All @@ -49,18 +40,24 @@ func (bs *Server) ListValidatorAssignments(
requestedEpoch = q.Epoch
}

if requestedEpoch > helpers.CurrentEpoch(headState) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using time to detect what epoch is current instead of the head?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, that's what I updated to. See below 👇

	currentEpoch := helpers.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())

currentEpoch := helpers.SlotToEpoch(bs.GenesisTimeFetcher.CurrentSlot())
if requestedEpoch > currentEpoch {
return nil, status.Errorf(
codes.InvalidArgument,
"Cannot retrieve information about an epoch in the future, current epoch %d, requesting %d",
helpers.CurrentEpoch(headState),
currentEpoch,
requestedEpoch,
)
}

requestedState, err := bs.StateGen.StateBySlot(ctx, helpers.StartSlot(requestedEpoch))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not just use this over here ?

bs.GenesisTimeFetcher.CurrentSlot()

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User has option to choose to request an arbitrary slot that's less than current slot. See L39

case *ethpb.ListValidatorAssignmentsRequest_Epoch:
		requestedEpoch = q.Epoch
	}

if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve archived state for epoch %d: %v", requestedEpoch, err)
}

// Filter out assignments by public keys.
for _, pubKey := range req.PublicKeys {
index, ok := headState.ValidatorIndexByPubkey(bytesutil.ToBytes48(pubKey))
index, ok := requestedState.ValidatorIndexByPubkey(bytesutil.ToBytes48(pubKey))
if !ok {
return nil, status.Errorf(codes.NotFound, "Could not find validator index for public key %#x", pubKey)
}
Expand All @@ -75,7 +72,7 @@ func (bs *Server) ListValidatorAssignments(
}
}

activeIndices, err := helpers.ActiveValidatorIndices(headState, requestedEpoch)
activeIndices, err := helpers.ActiveValidatorIndices(requestedState, requestedEpoch)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve active validator indices: %v", err)
}
Expand All @@ -96,53 +93,21 @@ func (bs *Server) ListValidatorAssignments(
return nil, status.Errorf(codes.Internal, "Could not paginate results: %v", err)
}

shouldFetchFromArchive := requestedEpoch < bs.FinalizationFetcher.FinalizedCheckpt().Epoch

// initialize all committee related data.
// Initialize all committee related data.
committeeAssignments := map[uint64]*helpers.CommitteeAssignmentContainer{}
proposerIndexToSlots := make(map[uint64][]uint64)
archivedInfo := &pb.ArchivedCommitteeInfo{}
archivedBalances := make([]uint64, 0)
archivedAssignments := make(map[uint64]*ethpb.ValidatorAssignments_CommitteeAssignment)

if shouldFetchFromArchive {
archivedInfo, archivedBalances, err = bs.archivedCommitteeData(ctx, requestedEpoch)
if err != nil {
return nil, err
}
archivedAssignments, err = archivedValidatorCommittee(
requestedEpoch,
archivedInfo,
activeIndices,
archivedBalances,
)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve archived assignment for epoch %d: %v", requestedEpoch, err)
}
} else {
committeeAssignments, proposerIndexToSlots, err = helpers.CommitteeAssignments(headState, requestedEpoch)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not compute committee assignments: %v", err)
}
committeeAssignments, proposerIndexToSlots, err = helpers.CommitteeAssignments(requestedState, requestedEpoch)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not compute committee assignments: %v", err)
}

for _, index := range filteredIndices[start:end] {
if int(index) >= headState.NumValidators() {
if int(index) >= requestedState.NumValidators() {
return nil, status.Errorf(codes.OutOfRange, "Validator index %d >= validator count %d",
index, headState.NumValidators())
}
if shouldFetchFromArchive {
assignment, ok := archivedAssignments[index]
if !ok {
return nil, status.Errorf(codes.Internal, "Could not get archived committee assignment for index %d", index)
}
pubkey := headState.PubkeyAtIndex(index)
assignment.PublicKey = pubkey[:]
res = append(res, assignment)
continue
index, requestedState.NumValidators())
}
comAssignment := committeeAssignments[index]
pubkey := headState.PubkeyAtIndex(index)
pubkey := requestedState.PubkeyAtIndex(index)
assign := &ethpb.ValidatorAssignments_CommitteeAssignment{
BeaconCommittees: comAssignment.Committee,
CommitteeIndex: comAssignment.CommitteeIndex,
Expand All @@ -160,93 +125,3 @@ func (bs *Server) ListValidatorAssignments(
TotalSize: int32(len(filteredIndices)),
}, nil
}

// Computes validator assignments for an epoch and validator index using archived committee
// information, archived balances, and a set of active validators.
func archivedValidatorCommittee(
epoch uint64,
archivedInfo *pb.ArchivedCommitteeInfo,
activeIndices []uint64,
archivedBalances []uint64,
) (map[uint64]*ethpb.ValidatorAssignments_CommitteeAssignment, error) {
proposerSeed := bytesutil.ToBytes32(archivedInfo.ProposerSeed)
attesterSeed := bytesutil.ToBytes32(archivedInfo.AttesterSeed)

startSlot := helpers.StartSlot(epoch)
proposerIndexToSlots := make(map[uint64][]uint64)
activeVals := make([]*ethpb.Validator, len(archivedBalances))
for i, bal := range archivedBalances {
activeVals[i] = &ethpb.Validator{EffectiveBalance: bal}
}

for slot := startSlot; slot < startSlot+params.BeaconConfig().SlotsPerEpoch; slot++ {
seedWithSlot := append(proposerSeed[:], bytesutil.Bytes8(slot)...)
seedWithSlotHash := hashutil.Hash(seedWithSlot)
i, err := helpers.ComputeProposerIndex(activeVals, activeIndices, seedWithSlotHash)
if err != nil {
return nil, errors.Wrapf(err, "could not check proposer at slot %d", slot)
}
proposerIndexToSlots[i] = append(proposerIndexToSlots[i], slot)
}

assignmentMap := make(map[uint64]*ethpb.ValidatorAssignments_CommitteeAssignment)
for slot := startSlot; slot < startSlot+params.BeaconConfig().SlotsPerEpoch; slot++ {
var countAtSlot = uint64(len(activeIndices)) / params.BeaconConfig().SlotsPerEpoch / params.BeaconConfig().TargetCommitteeSize
if countAtSlot > params.BeaconConfig().MaxCommitteesPerSlot {
countAtSlot = params.BeaconConfig().MaxCommitteesPerSlot
}
if countAtSlot == 0 {
countAtSlot = 1
}
for i := uint64(0); i < countAtSlot; i++ {
committee, err := helpers.BeaconCommittee(activeIndices, attesterSeed, slot, i)
if err != nil {
return nil, errors.Wrap(err, "could not compute committee")
}
for _, index := range committee {
assignmentMap[index] = &ethpb.ValidatorAssignments_CommitteeAssignment{
BeaconCommittees: committee,
CommitteeIndex: i,
AttesterSlot: slot,
ProposerSlots: proposerIndexToSlots[index],
}
}
}
}
return assignmentMap, nil
}

func (bs *Server) archivedCommitteeData(ctx context.Context, requestedEpoch uint64) (*pb.ArchivedCommitteeInfo,
[]uint64, error) {
archivedInfo, err := bs.BeaconDB.ArchivedCommitteeInfo(ctx, requestedEpoch)
if err != nil {
return nil, nil, status.Errorf(
codes.Internal,
"Could not retrieve archived committee info for epoch %d",
requestedEpoch,
)
}
if archivedInfo == nil {
return nil, nil, status.Errorf(
codes.NotFound,
"Could not retrieve data for epoch %d, perhaps --archive in the running beacon node is disabled",
requestedEpoch,
)
}
archivedBalances, err := bs.BeaconDB.ArchivedBalances(ctx, requestedEpoch)
if err != nil {
return nil, nil, status.Errorf(
codes.Internal,
"Could not retrieve archived balances for epoch %d",
requestedEpoch,
)
}
if archivedBalances == nil {
return nil, nil, status.Errorf(
codes.NotFound,
"Could not retrieve data for epoch %d, perhaps --archive in the running beacon node is disabled",
requestedEpoch,
)
}
return archivedInfo, archivedBalances, nil
}
Loading