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

Fix(Genesis): Api genesis block now returns properly #4736

Merged
merged 202 commits into from Feb 6, 2020
Merged
Show file tree
Hide file tree
Changes from 187 commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
d4cd5af
begin state service
rauljordan Jan 20, 2020
845a409
begin on the state trie idea
rauljordan Jan 20, 2020
8eae092
created beacon state structure
rauljordan Jan 20, 2020
33d7693
add in the full clone getter
rauljordan Jan 20, 2020
eb5b91f
return by value instead
rauljordan Jan 20, 2020
45980b8
add all setters
rauljordan Jan 20, 2020
5fa1e0a
new state setters are being completed
rauljordan Jan 20, 2020
7a994c5
arrays roots exposed
rauljordan Jan 20, 2020
aeff2e4
close to finishing all these headerssss
rauljordan Jan 21, 2020
a9f4e2a
functionality complete
rauljordan Jan 21, 2020
a8b6fe9
added in proto benchmark test
rauljordan Jan 21, 2020
babd076
test for compatibility
rauljordan Jan 21, 2020
cff2276
add test for compat
rauljordan Jan 21, 2020
5cf40d9
comments fixed
rauljordan Jan 21, 2020
1f62238
Merge branch 'master' into state-service
rauljordan Jan 21, 2020
b7c681f
add clone
nisdas Jan 21, 2020
60bf43a
add clone
nisdas Jan 21, 2020
aafed8f
remove underlying copies
nisdas Jan 21, 2020
86bd353
make it immutable
nisdas Jan 21, 2020
d03429a
integrate it into chainservice
nisdas Jan 21, 2020
0af8955
revert
rauljordan Jan 21, 2020
17a7cfc
wrap up comments for package
rauljordan Jan 21, 2020
372af74
address all comments and godocs
rauljordan Jan 21, 2020
37fdc89
address all comments
rauljordan Jan 21, 2020
9f8c528
Merge branch 'master' into state-service
rauljordan Jan 21, 2020
e23672c
clone the pending attestation properly
rauljordan Jan 21, 2020
0856c04
Merge branch 'state-service' of github.com:prysmaticlabs/prysm into s…
rauljordan Jan 21, 2020
dabe5fb
properly clone remaining items
rauljordan Jan 21, 2020
ae24d8d
tests pass fixed bug
rauljordan Jan 21, 2020
33de1ec
begin using it instead of head state
rauljordan Jan 21, 2020
dd68b33
prevent nil pointer exceptions
rauljordan Jan 21, 2020
8cb1817
Merge branch 'state-service' into use-state-in-runtime
rauljordan Jan 21, 2020
037931d
begin using new struct in db
rauljordan Jan 21, 2020
3a2e2f3
integrated new type into db package
rauljordan Jan 21, 2020
87bec3a
add proper nil checks
rauljordan Jan 21, 2020
8218a42
using new state in archiver
rauljordan Jan 21, 2020
7730c96
refactored much of core
rauljordan Jan 21, 2020
c1aab15
editing all the precompute functions
rauljordan Jan 21, 2020
6c77de0
done with most core refactor
rauljordan Jan 21, 2020
354ed4e
fixed up some bugs in the clone comparisons
rauljordan Jan 21, 2020
ecce2bf
Merge branch 'state-service' into use-state-in-runtime
rauljordan Jan 21, 2020
08570d3
append current epoch atts
rauljordan Jan 21, 2020
b4c8db3
merged master
rauljordan Jan 22, 2020
650aa7d
add missing setters
nisdas Jan 22, 2020
e156575
add new setters
nisdas Jan 22, 2020
c9470c4
fix other core methods
nisdas Jan 22, 2020
cd2c511
fix up transition
nisdas Jan 22, 2020
4c3f233
main service and forkchoice
nisdas Jan 22, 2020
ac84640
fix rpc
nisdas Jan 22, 2020
0e7ade9
integrated to powchain
nisdas Jan 22, 2020
8013ada
some more changes
nisdas Jan 22, 2020
368511c
fix build
nisdas Jan 22, 2020
7f3cbc4
improve processing of deposits
nisdas Jan 22, 2020
7367d14
fix error
nisdas Jan 22, 2020
0b83ab7
prevent panic
rauljordan Jan 22, 2020
d823666
comment
rauljordan Jan 22, 2020
f88012a
fix process att
rauljordan Jan 22, 2020
73d357d
gaz
rauljordan Jan 22, 2020
d7eef1e
fix up att process
rauljordan Jan 22, 2020
46097f0
resolve existing review comments
rauljordan Jan 22, 2020
9a910ff
Merge branch 'master' into use-state-in-runtime
rauljordan Jan 22, 2020
b16aa95
resolve another batch of gh comments
rauljordan Jan 22, 2020
529bbe4
resolve broken cpt state
rauljordan Jan 22, 2020
6ded991
revise testutil to use the new state
rauljordan Jan 22, 2020
5ab917a
begin updating the state transition func to pass in more compartmenta…
rauljordan Jan 22, 2020
4f14d6f
finish editing transition function to return errors
rauljordan Jan 22, 2020
21f9ede
block operations pretty much done with refactor
rauljordan Jan 22, 2020
54d9fda
state transition fully refactored
rauljordan Jan 22, 2020
95f95f8
got epoch processing completed
rauljordan Jan 23, 2020
043933c
fix build in fork choice
rauljordan Jan 23, 2020
c7ffb40
fixing more of the build
rauljordan Jan 23, 2020
a6508e0
fix up broken sync package
rauljordan Jan 23, 2020
56a8fa8
it builds nowww it buildssss
rauljordan Jan 23, 2020
07c58dc
revert registry changes
nisdas Jan 23, 2020
9a117ea
Recompute on Read (#4627)
nisdas Jan 23, 2020
41defe8
include master
rauljordan Jan 24, 2020
a549f0e
More Optimizations for New State (#4641)
nisdas Jan 24, 2020
fea0f6c
archiver tests pass
rauljordan Jan 24, 2020
e9b1a0f
fixing cache tests
rauljordan Jan 24, 2020
558c383
cache tests passing
rauljordan Jan 24, 2020
bfd0d72
edited validator tests
rauljordan Jan 24, 2020
11fd206
powchain tests passing
rauljordan Jan 24, 2020
bcd2dac
halfway thru sync tests
rauljordan Jan 24, 2020
412d15a
more sync test fixes
rauljordan Jan 24, 2020
09618e6
add in tests for state/
rauljordan Jan 24, 2020
59ace74
working through rpc tests
rauljordan Jan 24, 2020
37e515e
assignments tests passed
rauljordan Jan 24, 2020
c312cda
almost done with rpc/beacon tests
rauljordan Jan 24, 2020
2f1e3ad
resolved painful validator test
rauljordan Jan 24, 2020
6d4af94
fixed up even more tests
rauljordan Jan 24, 2020
119ec5b
resolve tests
rauljordan Jan 24, 2020
6644e4e
fix build
rauljordan Jan 24, 2020
4587c5c
reduce a randao mixes copy
prestonvanloon Jan 24, 2020
434e288
fixes under //beacon-chain/blockchain/...
prestonvanloon Jan 27, 2020
ce95d25
build //beacon-chain/core/...
prestonvanloon Jan 28, 2020
e48b85f
fixes
prestonvanloon Jan 28, 2020
c65bfcc
Runtime Optimizations (#4648)
nisdas Jan 28, 2020
58fa28f
Merge branch 'use-state-in-runtime' of https://github.com/prysmaticla…
nisdas Jan 28, 2020
444a80c
fix visibility
nisdas Jan 28, 2020
1c9e594
build works for all
nisdas Jan 28, 2020
705ce3c
fix blockchain test
nisdas Jan 28, 2020
2e9132d
fix a few tests
nisdas Jan 28, 2020
73d7a4d
fix more tests
nisdas Jan 28, 2020
47d34c4
resolve conf
rauljordan Jan 28, 2020
170e0c1
sync
rauljordan Jan 28, 2020
d39ed67
update validator in slashing
prestonvanloon Jan 28, 2020
c4d3ad8
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
prestonvanloon Jan 28, 2020
9458329
archiver passing
rauljordan Jan 28, 2020
8a20f77
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
rauljordan Jan 28, 2020
f395230
fixed rpc/validator
rauljordan Jan 28, 2020
e2f5c98
progress on core tests
prestonvanloon Jan 28, 2020
1f1ed50
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
prestonvanloon Jan 28, 2020
2e1f205
resolve broken rpc tests
rauljordan Jan 28, 2020
4be269d
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
rauljordan Jan 28, 2020
d442538
blockchain tests passed
rauljordan Jan 28, 2020
28eae0b
fix up some tests in core
rauljordan Jan 28, 2020
e7a2859
Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-…
prestonvanloon Jan 28, 2020
eec0837
fix message diff
prestonvanloon Jan 29, 2020
35b3860
remove unnecessary save
prestonvanloon Jan 29, 2020
8e47cb5
Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-…
prestonvanloon Jan 29, 2020
2ff3df7
Save validator after slashing
prestonvanloon Jan 29, 2020
67bb567
Update validators one by one
prestonvanloon Jan 29, 2020
aa57a0b
another update
prestonvanloon Jan 29, 2020
1b2b3b2
fix everything
nisdas Jan 29, 2020
b4a56c5
Merge branch 'resolve-tests' of https://github.com/prysmaticlabs/geth…
nisdas Jan 29, 2020
312743f
fix more precompute tests
nisdas Jan 29, 2020
8eca98c
fix blocks tests
shayzluf Jan 29, 2020
7f27a25
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
shayzluf Jan 29, 2020
afb0a1f
more elegant fix
shayzluf Jan 29, 2020
c2d25da
more helper fixes
nisdas Jan 29, 2020
5223e83
Merge branch 'resolve-tests' of https://github.com/prysmaticlabs/geth…
nisdas Jan 29, 2020
8080538
change back ?
nisdas Jan 29, 2020
de3a877
fix test
nisdas Jan 29, 2020
a5d2cb5
fix skip slot
nisdas Jan 29, 2020
0da0d7a
fix test
nisdas Jan 29, 2020
41c4818
reset caches
nisdas Jan 29, 2020
44bbe14
fix testutil
rauljordan Jan 29, 2020
03c111f
raceoff fixed
rauljordan Jan 29, 2020
ca81d5a
passing
rauljordan Jan 29, 2020
3269b75
Retrieve cached state in the beginning
terencechain Jan 29, 2020
367505e
lint
rauljordan Jan 29, 2020
a79d43d
Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-…
prestonvanloon Jan 29, 2020
b5ca3a4
Fixed tests part 1
terencechain Jan 29, 2020
2739894
Fixed rest of the tests
terencechain Jan 29, 2020
fecb0d4
Merge branch 'master' into optimize-process-att
terencechain Jan 29, 2020
0d58a46
Minor changes to avoid copying, small refactor to reduce deplicated code
prestonvanloon Jan 29, 2020
2cba055
Merge branch 'master' into resolve-tests
rauljordan Jan 29, 2020
cdbcb88
Handle att req for slot 0
terencechain Jan 29, 2020
6be3059
New beacon state: Only populate merkle layers as needed, copy merkle …
prestonvanloon Jan 29, 2020
46b56ae
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
rauljordan Jan 29, 2020
69e236f
Merge branch 'master' into resolve-tests
prestonvanloon Jan 29, 2020
f9b3bef
Target root can't be 0x00
terencechain Jan 30, 2020
2aa7e19
Merge refs/heads/master into resolve-tests
prylabs-bulldozer[bot] Jan 30, 2020
edf562f
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
rauljordan Jan 30, 2020
98ff9c2
Don't use cache for current slot (may not be the right fix)
terencechain Jan 30, 2020
e3222f1
Merge branch 'resolve-tests' of git+ssh://github.com/prysmaticlabs/pr…
terencechain Jan 30, 2020
9338b3a
Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into r…
rauljordan Jan 30, 2020
7fa3f83
fixed up tests
rauljordan Jan 30, 2020
53219f3
Remove some copy for init sync. Not sure if it is safe enough for run…
prestonvanloon Jan 30, 2020
625a831
Align with prev logic for process slots cachedState.Slot() < slot
terencechain Jan 30, 2020
e6f0059
Fix Initial Sync Flag (#4692)
nisdas Jan 30, 2020
8e6400f
Conflict
terencechain Jan 30, 2020
af7dddf
Conflict
terencechain Jan 30, 2020
48931b2
resolve confs
rauljordan Jan 30, 2020
8d96033
resolving further conflicts
rauljordan Jan 30, 2020
e909164
Better skip slot cache (#4694)
prestonvanloon Jan 30, 2020
d2bcb02
Fix pruning
terencechain Jan 30, 2020
e730806
Merge refs/heads/master into resolve-tests
prylabs-bulldozer[bot] Jan 30, 2020
13971d4
Merge refs/heads/master into resolve-tests
prylabs-bulldozer[bot] Jan 31, 2020
490d51b
copy on write method
prestonvanloon Jan 31, 2020
b4ac600
gaz
prestonvanloon Jan 31, 2020
546f816
fix confs
rauljordan Jan 31, 2020
67be692
Merge refs/heads/resolve-tests into copy-on-write
prylabs-bulldozer[bot] Jan 31, 2020
9b0dbb7
fix tests
prestonvanloon Jan 31, 2020
ff7b15f
Merge branch 'copy-on-write' of github.com:prysmaticlabs/prysm into c…
prestonvanloon Jan 31, 2020
67e1cd7
fix up issues with broken tests
rauljordan Jan 31, 2020
69d8ab9
Merge refs/heads/resolve-tests into copy-on-write
prylabs-bulldozer[bot] Jan 31, 2020
741284f
Merge branch 'master' of github.com:prysmaticlabs/prysm into copy-on-…
prestonvanloon Jan 31, 2020
dc031fc
remove extra update
prestonvanloon Jan 31, 2020
2b90c5b
remove debugging lines
prestonvanloon Jan 31, 2020
63c92a1
gofmt
prestonvanloon Jan 31, 2020
8b2c5b5
Merge refs/heads/master into copy-on-write
prylabs-bulldozer[bot] Jan 31, 2020
cae208c
Merge refs/heads/master into copy-on-write
prylabs-bulldozer[bot] Jan 31, 2020
0f94f0c
Merge refs/heads/master into copy-on-write
prylabs-bulldozer[bot] Feb 1, 2020
2f25f5b
Merge branch 'master' of github.com:prysmaticlabs/prysm
AgentJ-WR Feb 3, 2020
0c49785
Passing 1 to SetEndSlot
AgentJ-WR Feb 4, 2020
7a120e3
Better way to get genesis block
AgentJ-WR Feb 4, 2020
6d5f694
Merge branch 'master' of github.com:prysmaticlabs/prysm into bug/ApiG…
AgentJ-WR Feb 4, 2020
5f7b5b3
Checking for nil genBlk
AgentJ-WR Feb 4, 2020
6b9816b
Testing conditional order
AgentJ-WR Feb 4, 2020
8be9dab
Reverting conditions, and no idea why build fails
AgentJ-WR Feb 4, 2020
3c02271
Merge branch 'master' into bug/ApiGenesisBlock
rauljordan Feb 4, 2020
4f27562
Saving to genesis block root in tests
AgentJ-WR Feb 5, 2020
b5408d4
Merge branch 'bug/ApiGenesisBlock' of github.com:AgentJ-WR/prysm into…
AgentJ-WR Feb 5, 2020
bcc50b5
Saving root
AgentJ-WR Feb 5, 2020
d28c2f6
Merge branch 'master' of github.com:prysmaticlabs/prysm into bug/ApiG…
AgentJ-WR Feb 6, 2020
796fa87
Adding regression test
AgentJ-WR Feb 6, 2020
026a831
Updating regression test
AgentJ-WR Feb 6, 2020
e31715a
Merge branch 'master' into bug/ApiGenesisBlock
AgentJ-WR Feb 6, 2020
2c0dcdd
Merge branch 'master' into bug/ApiGenesisBlock
AgentJ-WR Feb 6, 2020
52f34fd
Merge branch 'master' into bug/ApiGenesisBlock
rauljordan Feb 6, 2020
5f8b888
Merge branch 'master' into bug/ApiGenesisBlock
rauljordan Feb 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 2 additions & 8 deletions beacon-chain/rpc/beacon/attestations.go
Expand Up @@ -42,17 +42,11 @@ func (bs *Server) ListAttestations(
var err error
switch q := req.QueryFilter.(type) {
case *ethpb.ListAttestationsRequest_Genesis:
blks, err := bs.BeaconDB.Blocks(ctx, filters.NewFilter().SetStartSlot(0).SetEndSlot(0))
genBlk, err := bs.BeaconDB.GenesisBlock(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not genesis block: %v", err)
}
if len(blks) == 0 {
return nil, status.Error(codes.Internal, "Could not find genesis block")
}
if len(blks) != 1 {
return nil, status.Error(codes.Internal, "Found more than 1 genesis block")
}
genesisRoot, err := ssz.HashTreeRoot(blks[0].Block)
genesisRoot, err := ssz.HashTreeRoot(genBlk.Block)
if err != nil {
return nil, err
}
Expand Down
13 changes: 3 additions & 10 deletions beacon-chain/rpc/beacon/blocks.go
Expand Up @@ -135,24 +135,17 @@ func (bs *Server) ListBlocks(
NextPageToken: nextPageToken,
}, nil
case *ethpb.ListBlocksRequest_Genesis:
blks, err := bs.BeaconDB.Blocks(ctx, filters.NewFilter().SetStartSlot(0).SetEndSlot(0))
genBlk, err := bs.BeaconDB.GenesisBlock(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not retrieve blocks for genesis slot: %v", err)
}
numBlks := len(blks)
if numBlks == 0 {
return nil, status.Error(codes.Internal, "Could not find genesis block")
}
if numBlks != 1 {
return nil, status.Error(codes.Internal, "Found more than 1 genesis block")
}
root, err := ssz.HashTreeRoot(blks[0].Block)
root, err := ssz.HashTreeRoot(genBlk.Block)
if err != nil {
return nil, err
}
containers := []*ethpb.BeaconBlockContainer{
{
Block: blks[0],
Block: genBlk,
BlockRoot: root[:],
},
}
Expand Down