2018-07-19 16:31:50 +00:00
|
|
|
package blockchain
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2018-09-18 13:06:28 +00:00
|
|
|
"errors"
|
2018-08-18 03:34:56 +00:00
|
|
|
"io/ioutil"
|
2018-09-11 05:09:41 +00:00
|
|
|
"math/big"
|
2018-07-19 16:31:50 +00:00
|
|
|
"testing"
|
2019-01-05 05:39:34 +00:00
|
|
|
"time"
|
2018-07-19 16:31:50 +00:00
|
|
|
|
2019-04-18 17:40:46 +00:00
|
|
|
"github.com/ethereum/go-ethereum"
|
2018-07-22 16:58:14 +00:00
|
|
|
"github.com/ethereum/go-ethereum/common"
|
2018-08-15 04:49:59 +00:00
|
|
|
gethTypes "github.com/ethereum/go-ethereum/core/types"
|
2019-03-17 02:56:05 +00:00
|
|
|
"github.com/gogo/protobuf/proto"
|
Spec freeze updates (#2312)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Cache Active Validator Indices, Count, and Balances (#2737)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Update attesting indices v0.6 (#2449)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* change magic number into ceildiv8
* Implement Justification and finalization Processing (#2448)
* Add convert to indexed (#2519)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* start work
* convert attestation to indexed attestations
* fix test for convert index
* remove calling getter
* add more tests
* remove underscore
* changes name to signature (#2535)
* update registry updates func (#2521)
* update registry updates func
* added tests and moved to epoch processing
* fixed naming issues
* Update Committee Helpers to v0.6.0 (#2398)
* Update Committee Helper Part 2 (#2592)
* Implement Process Slashings for 0.6 (#2523)
* Update Proposer/Attester Slashings and Slashing Helpers (#2603)
* Implement Final Updates 0.6 (#2562)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* implemented process_final_updates
* move to the top of the file
* add comment back
* gaz
* Test for process final updates
* fixed tests
* fixed all the tests
* Update Reward Helper v0.6 (#2470)
* added BaseReward
* added rewards helper
* added test for BaseReward
* extra space
* move exported function above
* update to new spec (#2614)
* Update Block Processing Voluntary Exits (#2609)
* Update processEth1Data for v0.6 (#2516)
* Clean up Helper Functions Part 1 (#2612)
* Finalize helper functions for 0.6 (#2632)
* Process Beacon Chain Transfers v0.6 (#2642)
* add transfers
* beacon transfer operations complete
* full cov
* transfer testing
* finished tests
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Implement Process Crosslink From 0.6 (#2460)
* Process Block Eth1 Data v0.6 (#2645)
* Get attestation data slot v0.6 (#2593)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* error msg
* Process Block Deposits v0.6 (#2647)
* imports fixes
* deposits tests pass
* wrapped up gazelle
* spacing
* Implement Crosslink Delta Rewards for 0.6 (#2517)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* add ProcessBlockHeader v0.6 (#2534)
* add ProcessBlockHeader
* function has all its dependancies in place
* arange the basic ok test
* gazzele and skip test update
* skip wrong sig test
* fmt imports and change requests
* goimports fmt
* map for struct fields to be location independent
* reorder protobuf fields
* added tests
* gazzle fix
* few change requests fixes
* revert changes in types.proto
* revert changes in types
* fix tests
* fix lint
* fmt imports
* fix gazelle
* fix var naming
* pb update
* var naming
* tarance change request fixes
* fix test
* Add Process Registry for Epoch Processing (#2668)
* update update-process-registry
* added back the old tests
* fmt
* gaz
* Follow up on process block header v0.6 (#2666)
* Putting Crosslink Delta Back (#2654)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* fixed tests
* addressed shay's feedback
* Implement Attestation Delta for v0.6 (#2646)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* merged master
* Implement process_rewards_and_penalties for 0.6 (#2665)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* starting but need to merge a few things...
* tests
* fmt
* Update Slot Processing and State Transition v0.6 (#2664)
* edit state transition to add slot processing logic, reorder logic
* fix build
* lint
* tests passing
* spacing
* tests pass
* imports
* passing tests
* Implement Process Epoch for 0.6 (#2675)
* can't find process j f functons
* implemented process_epoch
* tests done
* lint
* nishant's feedback
* stupid goland replace
* goimports
* Update CommitteeAssignment (#2693)
* cleaned up skipped tests for core processing (#2697)
* Process Block Attestations v0.6 (#2650)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* add att processing:
* process atts
* error msg
* finish process attestations logic
* spacing
* ssz move
* inclusion delay failure passing
* more attestation tests
* more att tests passing
* more tests
* ffg data mismatching test
* ffg tests complete
* gofmt
* fix testing to match attestation updates
* ssz
* lint
* Fixed Skipped Tests for RPC Server (#2712)
* Remove Obsolete Deposit Proto Objects (#2673)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* regen proto
* fix test
* Remove Deprecated Protobuf State Fields (#2713)
* Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714)
* Remove Deprecated Beacon Block Proto Fields (#2717)
* Remove Deprecated Attestation Proto Fields (#2723)
* Cache Shuffled Validator Indices (#2682)
* YAML shuffle tests for v0.6 (#2667)
* new shuffle tests
* added comment for exported function
* fix format and print
* added config files handling
* gazelle fix
* shuffle test debugging
* added shuffle list and benchmark
* hash function addition from nishant code
* gazelle fix
* remove unused function
* few minor changes
* add test to test protos optimization
* test a bigger list
* remove commented code
* small changes
* fix spec test and test indices to pass
* remove empty line
* abstraction of repeated code and comment arrangement
* terence change requests
* fix new test
* add small comment for better readability
* change from unshuflle to shuffle
* comment
* better comment
* fix all tests
* Remove Latest Block (#2721)
* lint
* remove latest block
* lint
* add proto
* fix build
* Fix Deposit Trie (#2686)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* new tests with contract
* gaz
* more tests
* fixed bugs
* new test
* finally fixed it
* gaz
* fix test
* Remove Committee Cache (#2729)
* Benchmark Compute Committee (#2698)
* Fixed Skipped Attestation Tests (#2730)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Cache Active Validator Indices, Count, and Balances (#2737)
* Update Deposit Contract (#2648)
* lint
* add new contract
* change version
* remove log
* generating abi and binary files
* fix tests
* update to current version
* new changes
* add new hash function
* save hashed nodes
* add more things
* new method
* add update to trie
* new stuff
* gaz
* more stuff
* finally fixed build
* remove deposit data
* Revert "remove deposit data"
This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de.
* more changes
* lint and gaz
* lint
* Update Shard Helpers for 0.6 (#2497)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* Update Genesis State Function to v0.6 (#2465)
* add pseudocode
* make changes
* fix all tests
* fix tests
* lint
* regen protos and mocks
* regenerated protos
* started fixing core
* all core tests passing!
* removed shared/forkutils
* started fixing blockchain package
* lint
* updating rpc package
* add back deleted stuff
* add back deleted stuff that was deleted accidentally
* add back protos and mocks
* fix errors
* fix genesis issue
* fix genesis issue for slot ticker
* fix all genesis errors
* fix build files
* temp change for go-ssz
* fix test
* Revert "temp change for go-ssz"
This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873.
* update to latest go-ssz
* unstaged changes
* Update Attester Server RPC Calls (#2773)
* Update config and function parameters to v0.7 (#2791)
* Minor Updates to 0.7 (#2795)
* Refactor Deposit Flow and Cleanup Tests (#2788)
* More WIP on cleaning deposit flow
* Fix tests
* Cleanup and imports
* run gazelle
* Move deposit to block_operations
* gazelle
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Fix docs
* Remove unneeded calculations
* Fix tests
* Fix tests finally (?)
* Optimize Committee Assignment RPC (#2787)
* Update BlockRoot to BlockHash (#2816)
* Fix Final Missing Items in Block Processing v0.6 (#2710)
* override config successfully
* passes processing
* add signing root helper
* blockchain tests pass
* tests blocked by signing root
* lint
* fix references
* fix protos
* proper use of signing root
* only few failing tests now
* fix final test
* tests passing
* lint and imports
* rem unused
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* lint
* Update beacon-chain/attestation/service_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/db/block_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* rename to hash tree root
* rename decode to unmarshal
* fix
* use latest ssz
* all tests passing
* lint
* fmt
* Add Config YAML for Spec Tests (#2818)
* Align Protobuf Type Names (#2825)
* gofmt
* Revert "Align Protobuf Type Names (#2825)" (#2827)
This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33.
* Update Domain Related Functions (#2832)
* Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)
* add tests
* gaz
* lint
* Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835)
This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573.
* Add ConvertToPb to package testutil (#2838)
* Block Processing Bug Fixes (#2836)
* Update types PB with Size Tags (#2840)
* Epoch processing spec tests (#2814)
* Remove Deposit Index (#2851)
* Shuffle tests revisited (#2829)
* first commit
* remove old files, add log
* remove duplicate yaml testing code
* reduce visability
* nishant feedback changes
* skip TestFromYaml_Pass
* added tags to bazel build
* gazelle fix
* remove unused vars
* adda back config
* remove config handling
* remove unused var
* gazelle fix
* SSZ compatibility test for protobufs (#2839)
* update workspace spec sha
* remove yamls from branch
* BLS spec tests (#2826) (#2856)
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* Slot processing spec test (#2813)
* eth1data rpc endpoint (#2733)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* Attesting Indices Fix (#2862)
* add change
* fix one test
* fix all tests
* add test
* clear cache
* removed old chaintest, simulated backend and state generator (#2863)
* Block Processing Sanity Spec Tests (#2817)
* update PrevEpoch
* add new changes
* shift to blocks package
* add more changes
* new changes
* updated pb with size tags
* add new changes
* fix errors
* uncomment code
* more changes
* add new changes
* rename and lint
* gaz
* more changes
* proccess slot SigningRoot instead of HashTreeRoot
* ensure yaml generated structs work
* block sanity all passing
* minimal and mainnet all pass
* remove commented code
* fix one test
* fix all tests
* fix again
* no state comparison
* matching spec
* change target viz
* comments gazelle
* clear caches before test cases
* latest attempts
* clean up test format
* remove debugging log, remove yaml
* unskip attestation
* remove skip, check post state, diff state diffs
* handle err
* add bug fixes
* fixed one more bug
* fixed churn limit bug
* change hashProto to HashTreeRoot
* all tests pass :)
* fix all tests
* gaz
* add regression tests
* fix test bug
* Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868)
* mutation testing for attestation.go
* new line
* lint
* revert fmt.Errorf deletion
* gofmt
* Add some fixes for mutation testing on blocks.go (#2869)
* Fix sizes
* gaz
* Spec freeze release candidate spectests
* Align Protobuf Type Names (#2872)
* Removes some deprecated fields from protobuf (#2877)
* search and replace checkpoints
* fix tests, except spec tests
* Update Configs for Freeze (#2876)
* update configs
* updated minimal configs
* almost there
* all tests passing except for spec tests
* better comment for MinGenesisTime
* done, ready for review
* rm seconds per day
* feedback
* Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870)
* Add some fixes for mutation testing on blocks.go
* working on mutation testing fo committee.go
* gofmt
* goimports
* update readme target
* update latest sha for spec tests
* fix build
* Update State Transition Function (#2867)
* Change Base Reward Factor (#2888)
* Update Freeze Spec Simplification Section - part 1 (#2893)
* finished changes to attesting_indices
* removed index_count <= 2**40 requirement
* lint
* reverted index_count <= 2**40 check
* added short cut len(a) > len(b)
* Update justification bits (#2894)
* updated all the helper pseudocodes (#2895)
* Make Constants Explicit and Minor Cleanups (#2898)
* Rename outdated configs, make constants explicitly delcared
* Remove activate_validator, not needed
* Remove GenesisSlot and GenesisEpoch
* Remove unused import
* Move Block Operation Length Checks to ProcessOperations (#2900)
* Move block operation length checks to ProcessOperations
* Write tests for each length check in ProcessOperations
* Remove unneeded test
* Move checks to a new function
* Move duplicate check back into ProcessOperations
* reorder proto fields (#2902)
* Slashing Penalty Calculation Change (#2889)
* lint
* change config val
* add max helper
* changes to slashing and process slashing, add a min function for integers
* gaz
* fix failing tests
* fix test
* fixed all tests
* Change Yaml tag
* lint
* remove gc hack
* fix test
* gaz
* preston's comments
* change failing field
* fix and regen proto
* lint
* Implement Compact Committee Root (#2897)
* add tags
* add function
* add new code
* add function
* add all new changes
* lint
* add tests
* fix tests
* fix more tests
* fix all outstanding tests
* gaz
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* comment
* Remove deprecated fields from attestation data (#2892)
* fix broken tests
* remove comment
* fixes
* Update Deposit Contract (#2903)
* update to new contract
* fix references
* fix tests
* fix some more tests
* fix local deposit trie
* gaz
* shays review
* more changes
* update WORKSPACE to use 0.8 spec tests
* Perform Mutesting in Helpers Package (#2912)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* s/volundary/voluntary (#2914)
* Update BLS Domain (#2916)
* change from integer to byte slice
* add test
* fix func for bytes4
* Fix Spec tests (#2907)
* fix panics
* handle failed transitions
* remove log
* fix to protos
* new changes
* remove i
* change ssz commit
* new changes
* update epoch tests
* fix epoch testing
* fix shuffle tests
* fix test
* Perform Mutesting in Epoch and State Packages (#2913)
* done with updates (#2890)
* Add Max Size Tag for Protobuf Fields (#2908)
* No more space between ssz-size numbers
* Regen pb.go
* Fixed a few incorrect proto fields (#2926)
* Update Validator Workflow (#2906)
* Justification spec tests (#2896)
* update go-ssz
* Fix SSZ Compatibility Test (#2924)
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* delete unused file
* Update zero hash to sha256().digest() (#2932)
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)" (#2933)
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* Fix compress validator (#2936)
* fix compress validator
* update go-ssz
* build without the bytes test
* try minimal
* Block operations spec tests (#2828)
* update PrevEpoch
* debugging proposer slashing tests
* fmt
* add deposit tests
* Added skeleton for attestation minimal test
* remove bazel runfiles thing
* add deposits
* proposer slashing test is done
* comment
* complete test, some failing cases
* sig verify on
* refactor slightly to support mainnet and minimal
* included mainnet stuff
* Add block header tests
* volunary exit done
* transfer done
* new changes
* fix all tests
* update domain functions
* fmt
* fixed lint
* fixed all the tests
* fixed a transfer bug
* finished attester slashing tests and fixed a few bugs
* started fixing...
* cleaned up exit and proposr slashing tests
* attester slashing passing
* refactored deposit tests
* remove yamls, update ssz
* Added todo for invalid sig
* gazelle
* deposits test done!
* transfer tests done and pass!
* fix attesting indices bug
* temporarily disabled signature verification
* cleaned up most of the block ops, except for att
* update committee AttestingIndices
* oops, i dont know how or why i changed this file
* fixed all the rpc tests
* 6 more failing packages
* test max transfer in state package
* replace hashproto with treehash in package blockchain
* gazelle
* fix test
* fix test again
* fixed transition test, 2 more left
* expect an error in attestation tests
* Handle panic when no votes in aggregate attestation
* clear cache
* Add differ, add logging, tests pass yay
* remove todo, add tag
* fixed TestReceiveBlock_RemovesPendingDeposits
* TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now...
* handle panics
* Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238
* more fixes after merge, updating block_operations.yaml.go to match yaml
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* fix references and test panic
* change to proto objects from custom types
* fix panics in tests
* use proper override for gogo-protobuf
* fix a few tags
* fix tests
* forgot to include custody bits and Slashable not used
* fix tests
* sort again
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* minor fixes
* wrong proto.Equal
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* inverted logic
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)"
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* update ssz, fix import, shard big test
* checkpoint
* fix compress validator
* update go-ssz
* missing import
* missing import
* tests now pass
* been a good day
* update test size
* fix lint
* imports and remove unused const
* update bazel jobs flag
* update bazel jobs flag
* satisfy deprecation warning
* Add ssz regression tests for investigation of test failures in PR #2828 (#2935)
* Adding regression tests for investigation
* add another example
* goimports
* add quick comment about test case 0
* Epoch Process Slashings Spec Tests (#2930)
* updated justification bits, tests passing OK
* regen pb.go, clarify bit operations
* justification and finalization tests; failing
* Add wrapper, so we call the correct method
* checkpoint
* Update tar ref
* TestSlashingsMinimal/small_penalty still failing
* Use bigint instead of () and float
* Revert a bad merge from workspace
* Fmt
* add note about https://github.com/ethereum/eth2.0-specs/issues/1284
* improve tests
* gaz
* Perform Mutesting In core/state Package (#2923)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* Perform mutesting in epoch and state packages
* Fix voluntary exits test
* Fix typo
* Fix comments
* Fix formatting
* Fix error message
* Handle missing errors
* Handle all errors
* Perform Mutesting In State Package
* Fix block roots size
* Remove comment
* Fix error
* add backend service
* Add ssz compatibility tests for signing root (#2931)
* Added tests for signing root
* imports
* fix lint on travis
* fix bes flag
* Final updates spec tests (#2901)
* set up tests
* need to reorder pbs
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* playing with tags idea, can revert this commit later
* fixes after merge
* reset caches before test
* all epoch tests pass
* gazelle
* Genesis trigger (#2905)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* shift spec method to state package, improve test setup
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use better tag names, not latest
* Remove Block Signing Root (#2945)
* replace with hash tree root
* Revert "replace with hash tree root"
This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf.
* replace with signing root instead
* remove one more ref
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Static check on branch spec-v0.6 (#2946)
* Ran staticcheck and fixed the important complains
* commit
* commit
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Add Back Eth1Data After Bad Merge (#2953)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* everything passing again
* add skip reason
* cleanup deposit contract slightly
* remove unused chainstart param (#2957)
* fix breakages from #2957 (#2958)
* fix breakages from #2957
* oops
* Fix deposit input data (#2956)
* fix deposit input data
* fix deposit input data
* gaz and build fix
* Add Tests for Genesis Deposits Caching (#2952)
* remove old method and replace with an improved one
* add new files
* gaz
* add test
* added all these tests
* gaz
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix merkle proof error
* fix config
* Minor fixes for runtime (#2960)
* Minor fixes for runtime
* use comments
* goimports
* revert beacon-chain/core/state/state.go and fix comment for lint
* fix test too
* Minor runtime fixes (#2961)
* Add support for bundling binaries and fix ARM64 builds (#2970)
* Add support for bundling binaries and fix ARM64 builds
* Fix exports
* ignore manual targets wrt vis check
* fix graknlabs
* update spec tests (#2979)
* hotfix until https://github.com/graknlabs/bazel-distribution/pull/169
* Overflow slashing calculation fix (#2977)
* Runtime Fixes (#2736)
* first batch of fixes
* add log
* more fixes
* another bug fixed
* update deposit contract and other fixes
* remove logs
* new changes
* fixes
* fix build
* remove config
* more fixes
* add more changes
* add back todo
* make compute state root work
* remove commented out and fix condition
* fix commented code
* fix config
* gaz
* remove flag
* remove init
* new fixes
* fix test
* one more fix
* fix all tests
* change back config
* fix one more bug
* remove logging bool
* Only build test targets when running bazel test //...
* Align prysm to spec v0.8.1 (#2978)
* Bazel problem
* Update zero hash representation to be clear (cosmetic)
* Update minor cosmetic fixes
* Fixed lookahead off by 1
* Update randao.go
* update ssz
* test failures fixed
* test fixes
* fix up workspace
* lint
* fixed errs
* Updated pubkey loggings (#2983)
* Fix proposer assignment (#2984)
* add jvm limits
* add jvm limits
* Removed logging from state transition functions (#2980)
* Match spec on proposer index division (#2985)
* Match spec on proposer index division
* gaz
* fixes
* Fix Default Eth1Data (#2982)
* fix bug
* Update beacon-chain/core/state/transition.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* more fixes
* reg test
* Set ejection balance to 1.6 (#2987)
* improve block processing log (#2990)
* Fix HistoricalRootsLimit (#2989)
* fix historical lenght
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* hack config until https://github.com/prysmaticlabs/prysm/issues/2993
* More Runtime Fixes (#2986)
* local changes
* add val sig
* attester fix
* one more fix
* fixed all tests
* rem validator issue
* fix finality issue (#2994)
* Fix validator prev balance calculation (#2992)
* attester fix
* one more fix
* fixed all tests
* Fix validator prev balances calculation
* go fmt
* 48 bytes
* Fix Querier to handle Deposit Logs Race (#2999)
* fix sync issue
* fix build
* add regression test
* add var for magic number
* Fix eth1data and deposits (#2996)
* Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time
* revert blockInfo being public
* git tests to build, not yet pass though
* add tests
* some commentary
* fix comment
* goimports
* fmt and remove unused method
* Update rules go (#2975)
* update rules_go
* Fix some cross compile builds stuff
* add missing deps
* update to 0.19.1
* Update Protobufs to Match Ethereum APIs (#2998)
* add beacon block and attestation files
* add all types
* include all new proto type definitions
* add add all proto definitions
* fix all comments to say 48 bytes
* include latest changes
* readd common
* no swag
* add build file
* deps issue
* right package names
* address feedback, maintain parity between upstream ethereumapis
* delete pb
* bad gens
* Update "Testing Prysm" readme section (#3000)
Resolves invalid url link to golangci-lint.
* Update badge to version 0.8.1
* elaborate on test skip
* revert shared/p2p/options.go
* make travis happy with goimports
* Update beacon-chain/core/blocks/block.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
|
|
|
"github.com/prysmaticlabs/go-ssz"
|
2019-03-06 21:03:52 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/attestation"
|
2019-04-10 06:52:06 +00:00
|
|
|
b "github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
|
2018-10-05 17:14:50 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/db"
|
2018-11-07 19:07:41 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/internal"
|
2019-08-19 21:20:56 +00:00
|
|
|
p2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p"
|
2018-07-22 16:58:14 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/powchain"
|
2019-07-22 14:03:57 +00:00
|
|
|
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
2019-02-18 23:34:49 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/shared/event"
|
2018-08-18 03:34:56 +00:00
|
|
|
"github.com/prysmaticlabs/prysm/shared/testutil"
|
|
|
|
"github.com/sirupsen/logrus"
|
2018-07-19 16:31:50 +00:00
|
|
|
logTest "github.com/sirupsen/logrus/hooks/test"
|
|
|
|
)
|
|
|
|
|
2019-03-19 23:07:49 +00:00
|
|
|
// Ensure ChainService implements interfaces.
|
|
|
|
var _ = ChainFeeds(&ChainService{})
|
|
|
|
|
2018-08-18 03:34:56 +00:00
|
|
|
func init() {
|
|
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
|
|
logrus.SetOutput(ioutil.Discard)
|
|
|
|
}
|
|
|
|
|
2019-02-18 23:34:49 +00:00
|
|
|
type mockOperationService struct{}
|
|
|
|
|
|
|
|
func (ms *mockOperationService) IncomingProcessedBlockFeed() *event.Feed {
|
|
|
|
return new(event.Feed)
|
|
|
|
}
|
|
|
|
|
2019-03-19 23:07:49 +00:00
|
|
|
func (ms *mockOperationService) IncomingAttFeed() *event.Feed {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (ms *mockOperationService) IncomingExitFeed() *event.Feed {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2018-08-15 04:49:59 +00:00
|
|
|
type mockClient struct{}
|
|
|
|
|
2019-01-16 14:01:21 +00:00
|
|
|
func (m *mockClient) SubscribeNewHead(ctx context.Context, ch chan<- *gethTypes.Header) (ethereum.Subscription, error) {
|
2018-08-15 04:49:59 +00:00
|
|
|
return new(event.Feed).Subscribe(ch), nil
|
|
|
|
}
|
|
|
|
|
2019-01-16 14:01:21 +00:00
|
|
|
func (m *mockClient) BlockByHash(ctx context.Context, hash common.Hash) (*gethTypes.Block, error) {
|
2018-09-11 05:09:41 +00:00
|
|
|
head := &gethTypes.Header{Number: big.NewInt(0), Difficulty: big.NewInt(100)}
|
|
|
|
return gethTypes.NewBlockWithHeader(head), nil
|
2018-08-15 04:49:59 +00:00
|
|
|
}
|
|
|
|
|
2019-02-24 02:58:13 +00:00
|
|
|
func (m *mockClient) BlockByNumber(ctx context.Context, number *big.Int) (*gethTypes.Block, error) {
|
|
|
|
head := &gethTypes.Header{Number: big.NewInt(0), Difficulty: big.NewInt(100)}
|
|
|
|
return gethTypes.NewBlockWithHeader(head), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *mockClient) HeaderByNumber(ctx context.Context, number *big.Int) (*gethTypes.Header, error) {
|
|
|
|
return &gethTypes.Header{Number: big.NewInt(0), Difficulty: big.NewInt(100)}, nil
|
|
|
|
}
|
|
|
|
|
2019-01-16 14:01:21 +00:00
|
|
|
func (m *mockClient) SubscribeFilterLogs(ctx context.Context, q ethereum.FilterQuery, ch chan<- gethTypes.Log) (ethereum.Subscription, error) {
|
2018-08-15 04:49:59 +00:00
|
|
|
return new(event.Feed).Subscribe(ch), nil
|
|
|
|
}
|
|
|
|
|
2019-01-16 14:01:21 +00:00
|
|
|
func (m *mockClient) CallContract(ctx context.Context, call ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) {
|
|
|
|
return []byte{'t', 'e', 's', 't'}, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *mockClient) CodeAt(ctx context.Context, account common.Address, blockNumber *big.Int) ([]byte, error) {
|
|
|
|
return []byte{'t', 'e', 's', 't'}, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *mockClient) FilterLogs(ctx context.Context, q ethereum.FilterQuery) ([]gethTypes.Log, error) {
|
|
|
|
logs := make([]gethTypes.Log, 3)
|
|
|
|
for i := 0; i < len(logs); i++ {
|
|
|
|
logs[i].Address = common.Address{}
|
|
|
|
logs[i].Topics = make([]common.Hash, 5)
|
|
|
|
logs[i].Topics[0] = common.Hash{'a'}
|
|
|
|
logs[i].Topics[1] = common.Hash{'b'}
|
|
|
|
logs[i].Topics[2] = common.Hash{'c'}
|
|
|
|
|
|
|
|
}
|
|
|
|
return logs, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *mockClient) LatestBlockHash() common.Hash {
|
2018-08-15 04:49:59 +00:00
|
|
|
return common.BytesToHash([]byte{'A'})
|
|
|
|
}
|
|
|
|
|
2018-09-18 13:06:28 +00:00
|
|
|
type faultyClient struct{}
|
|
|
|
|
|
|
|
func (f *faultyClient) SubscribeNewHead(ctx context.Context, ch chan<- *gethTypes.Header) (ethereum.Subscription, error) {
|
|
|
|
return new(event.Feed).Subscribe(ch), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *faultyClient) BlockByHash(ctx context.Context, hash common.Hash) (*gethTypes.Block, error) {
|
|
|
|
return nil, errors.New("failed")
|
|
|
|
}
|
|
|
|
|
2019-02-24 02:58:13 +00:00
|
|
|
func (f *faultyClient) BlockByNumber(ctx context.Context, number *big.Int) (*gethTypes.Block, error) {
|
|
|
|
return nil, errors.New("failed")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *faultyClient) HeaderByNumber(ctx context.Context, number *big.Int) (*gethTypes.Header, error) {
|
|
|
|
return nil, errors.New("failed")
|
|
|
|
}
|
|
|
|
|
2018-09-18 13:06:28 +00:00
|
|
|
func (f *faultyClient) SubscribeFilterLogs(ctx context.Context, q ethereum.FilterQuery, ch chan<- gethTypes.Log) (ethereum.Subscription, error) {
|
|
|
|
return new(event.Feed).Subscribe(ch), nil
|
|
|
|
}
|
|
|
|
|
2019-01-16 14:01:21 +00:00
|
|
|
func (f *faultyClient) FilterLogs(ctx context.Context, q ethereum.FilterQuery) ([]gethTypes.Log, error) {
|
|
|
|
return nil, errors.New("unable to retrieve logs")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *faultyClient) CallContract(ctx context.Context, call ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) {
|
|
|
|
return []byte{}, errors.New("unable to retrieve contract code")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *faultyClient) CodeAt(ctx context.Context, account common.Address, blockNumber *big.Int) ([]byte, error) {
|
|
|
|
return []byte{}, errors.New("unable to retrieve contract code")
|
|
|
|
}
|
|
|
|
|
2018-09-18 13:06:28 +00:00
|
|
|
func (f *faultyClient) LatestBlockHash() common.Hash {
|
|
|
|
return common.BytesToHash([]byte{'A'})
|
|
|
|
}
|
2019-03-17 02:56:05 +00:00
|
|
|
|
|
|
|
type mockBroadcaster struct {
|
|
|
|
broadcastCalled bool
|
|
|
|
}
|
|
|
|
|
2019-08-19 21:20:56 +00:00
|
|
|
func (mb *mockBroadcaster) Broadcast(_ context.Context, _ proto.Message) error {
|
2019-03-17 02:56:05 +00:00
|
|
|
mb.broadcastCalled = true
|
2019-08-19 21:20:56 +00:00
|
|
|
return nil
|
2019-03-17 02:56:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
var _ = p2p.Broadcaster(&mockBroadcaster{})
|
|
|
|
|
2019-07-22 14:03:57 +00:00
|
|
|
func setupGenesisBlock(t *testing.T, cs *ChainService) ([32]byte, *ethpb.BeaconBlock) {
|
2019-04-10 06:52:06 +00:00
|
|
|
genesis := b.NewGenesisBlock([]byte{})
|
2019-02-20 05:07:28 +00:00
|
|
|
if err := cs.beaconDB.SaveBlock(genesis); err != nil {
|
|
|
|
t.Fatalf("could not save block to db: %v", err)
|
|
|
|
}
|
Spec freeze updates (#2312)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Cache Active Validator Indices, Count, and Balances (#2737)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Update attesting indices v0.6 (#2449)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* change magic number into ceildiv8
* Implement Justification and finalization Processing (#2448)
* Add convert to indexed (#2519)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* start work
* convert attestation to indexed attestations
* fix test for convert index
* remove calling getter
* add more tests
* remove underscore
* changes name to signature (#2535)
* update registry updates func (#2521)
* update registry updates func
* added tests and moved to epoch processing
* fixed naming issues
* Update Committee Helpers to v0.6.0 (#2398)
* Update Committee Helper Part 2 (#2592)
* Implement Process Slashings for 0.6 (#2523)
* Update Proposer/Attester Slashings and Slashing Helpers (#2603)
* Implement Final Updates 0.6 (#2562)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* implemented process_final_updates
* move to the top of the file
* add comment back
* gaz
* Test for process final updates
* fixed tests
* fixed all the tests
* Update Reward Helper v0.6 (#2470)
* added BaseReward
* added rewards helper
* added test for BaseReward
* extra space
* move exported function above
* update to new spec (#2614)
* Update Block Processing Voluntary Exits (#2609)
* Update processEth1Data for v0.6 (#2516)
* Clean up Helper Functions Part 1 (#2612)
* Finalize helper functions for 0.6 (#2632)
* Process Beacon Chain Transfers v0.6 (#2642)
* add transfers
* beacon transfer operations complete
* full cov
* transfer testing
* finished tests
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Implement Process Crosslink From 0.6 (#2460)
* Process Block Eth1 Data v0.6 (#2645)
* Get attestation data slot v0.6 (#2593)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* error msg
* Process Block Deposits v0.6 (#2647)
* imports fixes
* deposits tests pass
* wrapped up gazelle
* spacing
* Implement Crosslink Delta Rewards for 0.6 (#2517)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* add ProcessBlockHeader v0.6 (#2534)
* add ProcessBlockHeader
* function has all its dependancies in place
* arange the basic ok test
* gazzele and skip test update
* skip wrong sig test
* fmt imports and change requests
* goimports fmt
* map for struct fields to be location independent
* reorder protobuf fields
* added tests
* gazzle fix
* few change requests fixes
* revert changes in types.proto
* revert changes in types
* fix tests
* fix lint
* fmt imports
* fix gazelle
* fix var naming
* pb update
* var naming
* tarance change request fixes
* fix test
* Add Process Registry for Epoch Processing (#2668)
* update update-process-registry
* added back the old tests
* fmt
* gaz
* Follow up on process block header v0.6 (#2666)
* Putting Crosslink Delta Back (#2654)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* fixed tests
* addressed shay's feedback
* Implement Attestation Delta for v0.6 (#2646)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* merged master
* Implement process_rewards_and_penalties for 0.6 (#2665)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* starting but need to merge a few things...
* tests
* fmt
* Update Slot Processing and State Transition v0.6 (#2664)
* edit state transition to add slot processing logic, reorder logic
* fix build
* lint
* tests passing
* spacing
* tests pass
* imports
* passing tests
* Implement Process Epoch for 0.6 (#2675)
* can't find process j f functons
* implemented process_epoch
* tests done
* lint
* nishant's feedback
* stupid goland replace
* goimports
* Update CommitteeAssignment (#2693)
* cleaned up skipped tests for core processing (#2697)
* Process Block Attestations v0.6 (#2650)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* add att processing:
* process atts
* error msg
* finish process attestations logic
* spacing
* ssz move
* inclusion delay failure passing
* more attestation tests
* more att tests passing
* more tests
* ffg data mismatching test
* ffg tests complete
* gofmt
* fix testing to match attestation updates
* ssz
* lint
* Fixed Skipped Tests for RPC Server (#2712)
* Remove Obsolete Deposit Proto Objects (#2673)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* regen proto
* fix test
* Remove Deprecated Protobuf State Fields (#2713)
* Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714)
* Remove Deprecated Beacon Block Proto Fields (#2717)
* Remove Deprecated Attestation Proto Fields (#2723)
* Cache Shuffled Validator Indices (#2682)
* YAML shuffle tests for v0.6 (#2667)
* new shuffle tests
* added comment for exported function
* fix format and print
* added config files handling
* gazelle fix
* shuffle test debugging
* added shuffle list and benchmark
* hash function addition from nishant code
* gazelle fix
* remove unused function
* few minor changes
* add test to test protos optimization
* test a bigger list
* remove commented code
* small changes
* fix spec test and test indices to pass
* remove empty line
* abstraction of repeated code and comment arrangement
* terence change requests
* fix new test
* add small comment for better readability
* change from unshuflle to shuffle
* comment
* better comment
* fix all tests
* Remove Latest Block (#2721)
* lint
* remove latest block
* lint
* add proto
* fix build
* Fix Deposit Trie (#2686)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* new tests with contract
* gaz
* more tests
* fixed bugs
* new test
* finally fixed it
* gaz
* fix test
* Remove Committee Cache (#2729)
* Benchmark Compute Committee (#2698)
* Fixed Skipped Attestation Tests (#2730)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Cache Active Validator Indices, Count, and Balances (#2737)
* Update Deposit Contract (#2648)
* lint
* add new contract
* change version
* remove log
* generating abi and binary files
* fix tests
* update to current version
* new changes
* add new hash function
* save hashed nodes
* add more things
* new method
* add update to trie
* new stuff
* gaz
* more stuff
* finally fixed build
* remove deposit data
* Revert "remove deposit data"
This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de.
* more changes
* lint and gaz
* lint
* Update Shard Helpers for 0.6 (#2497)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* Update Genesis State Function to v0.6 (#2465)
* add pseudocode
* make changes
* fix all tests
* fix tests
* lint
* regen protos and mocks
* regenerated protos
* started fixing core
* all core tests passing!
* removed shared/forkutils
* started fixing blockchain package
* lint
* updating rpc package
* add back deleted stuff
* add back deleted stuff that was deleted accidentally
* add back protos and mocks
* fix errors
* fix genesis issue
* fix genesis issue for slot ticker
* fix all genesis errors
* fix build files
* temp change for go-ssz
* fix test
* Revert "temp change for go-ssz"
This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873.
* update to latest go-ssz
* unstaged changes
* Update Attester Server RPC Calls (#2773)
* Update config and function parameters to v0.7 (#2791)
* Minor Updates to 0.7 (#2795)
* Refactor Deposit Flow and Cleanup Tests (#2788)
* More WIP on cleaning deposit flow
* Fix tests
* Cleanup and imports
* run gazelle
* Move deposit to block_operations
* gazelle
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Fix docs
* Remove unneeded calculations
* Fix tests
* Fix tests finally (?)
* Optimize Committee Assignment RPC (#2787)
* Update BlockRoot to BlockHash (#2816)
* Fix Final Missing Items in Block Processing v0.6 (#2710)
* override config successfully
* passes processing
* add signing root helper
* blockchain tests pass
* tests blocked by signing root
* lint
* fix references
* fix protos
* proper use of signing root
* only few failing tests now
* fix final test
* tests passing
* lint and imports
* rem unused
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* lint
* Update beacon-chain/attestation/service_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/db/block_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* rename to hash tree root
* rename decode to unmarshal
* fix
* use latest ssz
* all tests passing
* lint
* fmt
* Add Config YAML for Spec Tests (#2818)
* Align Protobuf Type Names (#2825)
* gofmt
* Revert "Align Protobuf Type Names (#2825)" (#2827)
This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33.
* Update Domain Related Functions (#2832)
* Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)
* add tests
* gaz
* lint
* Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835)
This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573.
* Add ConvertToPb to package testutil (#2838)
* Block Processing Bug Fixes (#2836)
* Update types PB with Size Tags (#2840)
* Epoch processing spec tests (#2814)
* Remove Deposit Index (#2851)
* Shuffle tests revisited (#2829)
* first commit
* remove old files, add log
* remove duplicate yaml testing code
* reduce visability
* nishant feedback changes
* skip TestFromYaml_Pass
* added tags to bazel build
* gazelle fix
* remove unused vars
* adda back config
* remove config handling
* remove unused var
* gazelle fix
* SSZ compatibility test for protobufs (#2839)
* update workspace spec sha
* remove yamls from branch
* BLS spec tests (#2826) (#2856)
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* Slot processing spec test (#2813)
* eth1data rpc endpoint (#2733)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* Attesting Indices Fix (#2862)
* add change
* fix one test
* fix all tests
* add test
* clear cache
* removed old chaintest, simulated backend and state generator (#2863)
* Block Processing Sanity Spec Tests (#2817)
* update PrevEpoch
* add new changes
* shift to blocks package
* add more changes
* new changes
* updated pb with size tags
* add new changes
* fix errors
* uncomment code
* more changes
* add new changes
* rename and lint
* gaz
* more changes
* proccess slot SigningRoot instead of HashTreeRoot
* ensure yaml generated structs work
* block sanity all passing
* minimal and mainnet all pass
* remove commented code
* fix one test
* fix all tests
* fix again
* no state comparison
* matching spec
* change target viz
* comments gazelle
* clear caches before test cases
* latest attempts
* clean up test format
* remove debugging log, remove yaml
* unskip attestation
* remove skip, check post state, diff state diffs
* handle err
* add bug fixes
* fixed one more bug
* fixed churn limit bug
* change hashProto to HashTreeRoot
* all tests pass :)
* fix all tests
* gaz
* add regression tests
* fix test bug
* Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868)
* mutation testing for attestation.go
* new line
* lint
* revert fmt.Errorf deletion
* gofmt
* Add some fixes for mutation testing on blocks.go (#2869)
* Fix sizes
* gaz
* Spec freeze release candidate spectests
* Align Protobuf Type Names (#2872)
* Removes some deprecated fields from protobuf (#2877)
* search and replace checkpoints
* fix tests, except spec tests
* Update Configs for Freeze (#2876)
* update configs
* updated minimal configs
* almost there
* all tests passing except for spec tests
* better comment for MinGenesisTime
* done, ready for review
* rm seconds per day
* feedback
* Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870)
* Add some fixes for mutation testing on blocks.go
* working on mutation testing fo committee.go
* gofmt
* goimports
* update readme target
* update latest sha for spec tests
* fix build
* Update State Transition Function (#2867)
* Change Base Reward Factor (#2888)
* Update Freeze Spec Simplification Section - part 1 (#2893)
* finished changes to attesting_indices
* removed index_count <= 2**40 requirement
* lint
* reverted index_count <= 2**40 check
* added short cut len(a) > len(b)
* Update justification bits (#2894)
* updated all the helper pseudocodes (#2895)
* Make Constants Explicit and Minor Cleanups (#2898)
* Rename outdated configs, make constants explicitly delcared
* Remove activate_validator, not needed
* Remove GenesisSlot and GenesisEpoch
* Remove unused import
* Move Block Operation Length Checks to ProcessOperations (#2900)
* Move block operation length checks to ProcessOperations
* Write tests for each length check in ProcessOperations
* Remove unneeded test
* Move checks to a new function
* Move duplicate check back into ProcessOperations
* reorder proto fields (#2902)
* Slashing Penalty Calculation Change (#2889)
* lint
* change config val
* add max helper
* changes to slashing and process slashing, add a min function for integers
* gaz
* fix failing tests
* fix test
* fixed all tests
* Change Yaml tag
* lint
* remove gc hack
* fix test
* gaz
* preston's comments
* change failing field
* fix and regen proto
* lint
* Implement Compact Committee Root (#2897)
* add tags
* add function
* add new code
* add function
* add all new changes
* lint
* add tests
* fix tests
* fix more tests
* fix all outstanding tests
* gaz
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* comment
* Remove deprecated fields from attestation data (#2892)
* fix broken tests
* remove comment
* fixes
* Update Deposit Contract (#2903)
* update to new contract
* fix references
* fix tests
* fix some more tests
* fix local deposit trie
* gaz
* shays review
* more changes
* update WORKSPACE to use 0.8 spec tests
* Perform Mutesting in Helpers Package (#2912)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* s/volundary/voluntary (#2914)
* Update BLS Domain (#2916)
* change from integer to byte slice
* add test
* fix func for bytes4
* Fix Spec tests (#2907)
* fix panics
* handle failed transitions
* remove log
* fix to protos
* new changes
* remove i
* change ssz commit
* new changes
* update epoch tests
* fix epoch testing
* fix shuffle tests
* fix test
* Perform Mutesting in Epoch and State Packages (#2913)
* done with updates (#2890)
* Add Max Size Tag for Protobuf Fields (#2908)
* No more space between ssz-size numbers
* Regen pb.go
* Fixed a few incorrect proto fields (#2926)
* Update Validator Workflow (#2906)
* Justification spec tests (#2896)
* update go-ssz
* Fix SSZ Compatibility Test (#2924)
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* delete unused file
* Update zero hash to sha256().digest() (#2932)
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)" (#2933)
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* Fix compress validator (#2936)
* fix compress validator
* update go-ssz
* build without the bytes test
* try minimal
* Block operations spec tests (#2828)
* update PrevEpoch
* debugging proposer slashing tests
* fmt
* add deposit tests
* Added skeleton for attestation minimal test
* remove bazel runfiles thing
* add deposits
* proposer slashing test is done
* comment
* complete test, some failing cases
* sig verify on
* refactor slightly to support mainnet and minimal
* included mainnet stuff
* Add block header tests
* volunary exit done
* transfer done
* new changes
* fix all tests
* update domain functions
* fmt
* fixed lint
* fixed all the tests
* fixed a transfer bug
* finished attester slashing tests and fixed a few bugs
* started fixing...
* cleaned up exit and proposr slashing tests
* attester slashing passing
* refactored deposit tests
* remove yamls, update ssz
* Added todo for invalid sig
* gazelle
* deposits test done!
* transfer tests done and pass!
* fix attesting indices bug
* temporarily disabled signature verification
* cleaned up most of the block ops, except for att
* update committee AttestingIndices
* oops, i dont know how or why i changed this file
* fixed all the rpc tests
* 6 more failing packages
* test max transfer in state package
* replace hashproto with treehash in package blockchain
* gazelle
* fix test
* fix test again
* fixed transition test, 2 more left
* expect an error in attestation tests
* Handle panic when no votes in aggregate attestation
* clear cache
* Add differ, add logging, tests pass yay
* remove todo, add tag
* fixed TestReceiveBlock_RemovesPendingDeposits
* TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now...
* handle panics
* Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238
* more fixes after merge, updating block_operations.yaml.go to match yaml
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* fix references and test panic
* change to proto objects from custom types
* fix panics in tests
* use proper override for gogo-protobuf
* fix a few tags
* fix tests
* forgot to include custody bits and Slashable not used
* fix tests
* sort again
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* minor fixes
* wrong proto.Equal
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* inverted logic
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)"
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* update ssz, fix import, shard big test
* checkpoint
* fix compress validator
* update go-ssz
* missing import
* missing import
* tests now pass
* been a good day
* update test size
* fix lint
* imports and remove unused const
* update bazel jobs flag
* update bazel jobs flag
* satisfy deprecation warning
* Add ssz regression tests for investigation of test failures in PR #2828 (#2935)
* Adding regression tests for investigation
* add another example
* goimports
* add quick comment about test case 0
* Epoch Process Slashings Spec Tests (#2930)
* updated justification bits, tests passing OK
* regen pb.go, clarify bit operations
* justification and finalization tests; failing
* Add wrapper, so we call the correct method
* checkpoint
* Update tar ref
* TestSlashingsMinimal/small_penalty still failing
* Use bigint instead of () and float
* Revert a bad merge from workspace
* Fmt
* add note about https://github.com/ethereum/eth2.0-specs/issues/1284
* improve tests
* gaz
* Perform Mutesting In core/state Package (#2923)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* Perform mutesting in epoch and state packages
* Fix voluntary exits test
* Fix typo
* Fix comments
* Fix formatting
* Fix error message
* Handle missing errors
* Handle all errors
* Perform Mutesting In State Package
* Fix block roots size
* Remove comment
* Fix error
* add backend service
* Add ssz compatibility tests for signing root (#2931)
* Added tests for signing root
* imports
* fix lint on travis
* fix bes flag
* Final updates spec tests (#2901)
* set up tests
* need to reorder pbs
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* playing with tags idea, can revert this commit later
* fixes after merge
* reset caches before test
* all epoch tests pass
* gazelle
* Genesis trigger (#2905)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* shift spec method to state package, improve test setup
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use better tag names, not latest
* Remove Block Signing Root (#2945)
* replace with hash tree root
* Revert "replace with hash tree root"
This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf.
* replace with signing root instead
* remove one more ref
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Static check on branch spec-v0.6 (#2946)
* Ran staticcheck and fixed the important complains
* commit
* commit
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Add Back Eth1Data After Bad Merge (#2953)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* everything passing again
* add skip reason
* cleanup deposit contract slightly
* remove unused chainstart param (#2957)
* fix breakages from #2957 (#2958)
* fix breakages from #2957
* oops
* Fix deposit input data (#2956)
* fix deposit input data
* fix deposit input data
* gaz and build fix
* Add Tests for Genesis Deposits Caching (#2952)
* remove old method and replace with an improved one
* add new files
* gaz
* add test
* added all these tests
* gaz
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix merkle proof error
* fix config
* Minor fixes for runtime (#2960)
* Minor fixes for runtime
* use comments
* goimports
* revert beacon-chain/core/state/state.go and fix comment for lint
* fix test too
* Minor runtime fixes (#2961)
* Add support for bundling binaries and fix ARM64 builds (#2970)
* Add support for bundling binaries and fix ARM64 builds
* Fix exports
* ignore manual targets wrt vis check
* fix graknlabs
* update spec tests (#2979)
* hotfix until https://github.com/graknlabs/bazel-distribution/pull/169
* Overflow slashing calculation fix (#2977)
* Runtime Fixes (#2736)
* first batch of fixes
* add log
* more fixes
* another bug fixed
* update deposit contract and other fixes
* remove logs
* new changes
* fixes
* fix build
* remove config
* more fixes
* add more changes
* add back todo
* make compute state root work
* remove commented out and fix condition
* fix commented code
* fix config
* gaz
* remove flag
* remove init
* new fixes
* fix test
* one more fix
* fix all tests
* change back config
* fix one more bug
* remove logging bool
* Only build test targets when running bazel test //...
* Align prysm to spec v0.8.1 (#2978)
* Bazel problem
* Update zero hash representation to be clear (cosmetic)
* Update minor cosmetic fixes
* Fixed lookahead off by 1
* Update randao.go
* update ssz
* test failures fixed
* test fixes
* fix up workspace
* lint
* fixed errs
* Updated pubkey loggings (#2983)
* Fix proposer assignment (#2984)
* add jvm limits
* add jvm limits
* Removed logging from state transition functions (#2980)
* Match spec on proposer index division (#2985)
* Match spec on proposer index division
* gaz
* fixes
* Fix Default Eth1Data (#2982)
* fix bug
* Update beacon-chain/core/state/transition.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* more fixes
* reg test
* Set ejection balance to 1.6 (#2987)
* improve block processing log (#2990)
* Fix HistoricalRootsLimit (#2989)
* fix historical lenght
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* hack config until https://github.com/prysmaticlabs/prysm/issues/2993
* More Runtime Fixes (#2986)
* local changes
* add val sig
* attester fix
* one more fix
* fixed all tests
* rem validator issue
* fix finality issue (#2994)
* Fix validator prev balance calculation (#2992)
* attester fix
* one more fix
* fixed all tests
* Fix validator prev balances calculation
* go fmt
* 48 bytes
* Fix Querier to handle Deposit Logs Race (#2999)
* fix sync issue
* fix build
* add regression test
* add var for magic number
* Fix eth1data and deposits (#2996)
* Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time
* revert blockInfo being public
* git tests to build, not yet pass though
* add tests
* some commentary
* fix comment
* goimports
* fmt and remove unused method
* Update rules go (#2975)
* update rules_go
* Fix some cross compile builds stuff
* add missing deps
* update to 0.19.1
* Update Protobufs to Match Ethereum APIs (#2998)
* add beacon block and attestation files
* add all types
* include all new proto type definitions
* add add all proto definitions
* fix all comments to say 48 bytes
* include latest changes
* readd common
* no swag
* add build file
* deps issue
* right package names
* address feedback, maintain parity between upstream ethereumapis
* delete pb
* bad gens
* Update "Testing Prysm" readme section (#3000)
Resolves invalid url link to golangci-lint.
* Update badge to version 0.8.1
* elaborate on test skip
* revert shared/p2p/options.go
* make travis happy with goimports
* Update beacon-chain/core/blocks/block.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
|
|
|
parentHash, err := ssz.SigningRoot(genesis)
|
2019-02-20 05:07:28 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("unable to get tree hash root of canonical head: %v", err)
|
|
|
|
}
|
|
|
|
return parentHash, genesis
|
|
|
|
}
|
|
|
|
|
2019-04-01 01:44:16 +00:00
|
|
|
func setupBeaconChain(t *testing.T, beaconDB *db.BeaconDB, attsService *attestation.Service) *ChainService {
|
2018-07-22 16:58:14 +00:00
|
|
|
endpoint := "ws://127.0.0.1"
|
2018-10-05 17:14:50 +00:00
|
|
|
ctx := context.Background()
|
|
|
|
var web3Service *powchain.Web3Service
|
2018-10-17 06:11:24 +00:00
|
|
|
var err error
|
2019-04-01 01:44:16 +00:00
|
|
|
client := &mockClient{}
|
|
|
|
web3Service, err = powchain.NewWeb3Service(ctx, &powchain.Web3ServiceConfig{
|
|
|
|
Endpoint: endpoint,
|
|
|
|
DepositContract: common.Address{},
|
|
|
|
Reader: client,
|
|
|
|
Client: client,
|
|
|
|
Logger: client,
|
|
|
|
})
|
2018-07-22 16:58:14 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("unable to set up web3 service: %v", err)
|
|
|
|
}
|
2018-10-17 06:11:24 +00:00
|
|
|
|
2018-08-09 22:54:59 +00:00
|
|
|
cfg := &Config{
|
|
|
|
BeaconBlockBuf: 0,
|
2018-10-17 06:11:24 +00:00
|
|
|
BeaconDB: beaconDB,
|
2018-10-05 17:14:50 +00:00
|
|
|
Web3Service: web3Service,
|
2019-02-18 23:34:49 +00:00
|
|
|
OpsPoolService: &mockOperationService{},
|
2019-03-06 21:03:52 +00:00
|
|
|
AttsService: attsService,
|
2019-03-17 02:56:05 +00:00
|
|
|
P2p: &mockBroadcaster{},
|
2018-08-09 22:54:59 +00:00
|
|
|
}
|
2018-08-15 04:49:59 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("could not register blockchain service: %v", err)
|
|
|
|
}
|
2018-08-24 04:09:59 +00:00
|
|
|
chainService, err := NewChainService(ctx, cfg)
|
2018-07-19 16:31:50 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("unable to setup chain service: %v", err)
|
|
|
|
}
|
2018-09-18 13:06:28 +00:00
|
|
|
|
2018-10-05 17:14:50 +00:00
|
|
|
return chainService
|
|
|
|
}
|
|
|
|
|
2018-12-19 05:18:42 +00:00
|
|
|
func SetSlotInState(service *ChainService, slot uint64) error {
|
2019-04-05 14:41:49 +00:00
|
|
|
bState, err := service.beaconDB.HeadState(context.Background())
|
2018-12-19 05:18:42 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2018-12-23 22:51:04 +00:00
|
|
|
bState.Slot = slot
|
2019-04-02 08:49:45 +00:00
|
|
|
return service.beaconDB.SaveState(context.Background(), bState)
|
2018-12-19 05:18:42 +00:00
|
|
|
}
|
|
|
|
|
2019-02-22 15:11:26 +00:00
|
|
|
func TestChainStartStop_Uninitialized(t *testing.T) {
|
2019-01-28 11:59:37 +00:00
|
|
|
hook := logTest.NewGlobal()
|
2019-08-14 18:48:28 +00:00
|
|
|
db := internal.SetupDBDeprecated(t)
|
|
|
|
defer internal.TeardownDBDeprecated(t, db)
|
2019-04-01 01:44:16 +00:00
|
|
|
chainService := setupBeaconChain(t, db, nil)
|
2018-09-27 02:34:35 +00:00
|
|
|
|
2019-01-28 11:59:37 +00:00
|
|
|
// Test the start function.
|
2019-02-13 17:51:57 +00:00
|
|
|
genesisChan := make(chan time.Time, 0)
|
|
|
|
sub := chainService.stateInitializedFeed.Subscribe(genesisChan)
|
|
|
|
defer sub.Unsubscribe()
|
2019-01-28 11:59:37 +00:00
|
|
|
chainService.Start()
|
2019-02-13 17:51:57 +00:00
|
|
|
chainService.chainStartChan <- time.Unix(0, 0)
|
|
|
|
genesisTime := <-genesisChan
|
|
|
|
if genesisTime != time.Unix(0, 0) {
|
|
|
|
t.Errorf(
|
|
|
|
"Expected genesis time to equal chainstart time (%v), received %v",
|
|
|
|
time.Unix(0, 0),
|
|
|
|
genesisTime,
|
|
|
|
)
|
2019-01-28 11:59:37 +00:00
|
|
|
}
|
|
|
|
|
2019-04-05 14:41:49 +00:00
|
|
|
beaconState, err := db.HeadState(context.Background())
|
2019-03-13 21:17:32 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
Spec freeze updates (#2312)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Cache Active Validator Indices, Count, and Balances (#2737)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Update attesting indices v0.6 (#2449)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* change magic number into ceildiv8
* Implement Justification and finalization Processing (#2448)
* Add convert to indexed (#2519)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* start work
* convert attestation to indexed attestations
* fix test for convert index
* remove calling getter
* add more tests
* remove underscore
* changes name to signature (#2535)
* update registry updates func (#2521)
* update registry updates func
* added tests and moved to epoch processing
* fixed naming issues
* Update Committee Helpers to v0.6.0 (#2398)
* Update Committee Helper Part 2 (#2592)
* Implement Process Slashings for 0.6 (#2523)
* Update Proposer/Attester Slashings and Slashing Helpers (#2603)
* Implement Final Updates 0.6 (#2562)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* implemented process_final_updates
* move to the top of the file
* add comment back
* gaz
* Test for process final updates
* fixed tests
* fixed all the tests
* Update Reward Helper v0.6 (#2470)
* added BaseReward
* added rewards helper
* added test for BaseReward
* extra space
* move exported function above
* update to new spec (#2614)
* Update Block Processing Voluntary Exits (#2609)
* Update processEth1Data for v0.6 (#2516)
* Clean up Helper Functions Part 1 (#2612)
* Finalize helper functions for 0.6 (#2632)
* Process Beacon Chain Transfers v0.6 (#2642)
* add transfers
* beacon transfer operations complete
* full cov
* transfer testing
* finished tests
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Implement Process Crosslink From 0.6 (#2460)
* Process Block Eth1 Data v0.6 (#2645)
* Get attestation data slot v0.6 (#2593)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* error msg
* Process Block Deposits v0.6 (#2647)
* imports fixes
* deposits tests pass
* wrapped up gazelle
* spacing
* Implement Crosslink Delta Rewards for 0.6 (#2517)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* add ProcessBlockHeader v0.6 (#2534)
* add ProcessBlockHeader
* function has all its dependancies in place
* arange the basic ok test
* gazzele and skip test update
* skip wrong sig test
* fmt imports and change requests
* goimports fmt
* map for struct fields to be location independent
* reorder protobuf fields
* added tests
* gazzle fix
* few change requests fixes
* revert changes in types.proto
* revert changes in types
* fix tests
* fix lint
* fmt imports
* fix gazelle
* fix var naming
* pb update
* var naming
* tarance change request fixes
* fix test
* Add Process Registry for Epoch Processing (#2668)
* update update-process-registry
* added back the old tests
* fmt
* gaz
* Follow up on process block header v0.6 (#2666)
* Putting Crosslink Delta Back (#2654)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* fixed tests
* addressed shay's feedback
* Implement Attestation Delta for v0.6 (#2646)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* merged master
* Implement process_rewards_and_penalties for 0.6 (#2665)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* starting but need to merge a few things...
* tests
* fmt
* Update Slot Processing and State Transition v0.6 (#2664)
* edit state transition to add slot processing logic, reorder logic
* fix build
* lint
* tests passing
* spacing
* tests pass
* imports
* passing tests
* Implement Process Epoch for 0.6 (#2675)
* can't find process j f functons
* implemented process_epoch
* tests done
* lint
* nishant's feedback
* stupid goland replace
* goimports
* Update CommitteeAssignment (#2693)
* cleaned up skipped tests for core processing (#2697)
* Process Block Attestations v0.6 (#2650)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* add att processing:
* process atts
* error msg
* finish process attestations logic
* spacing
* ssz move
* inclusion delay failure passing
* more attestation tests
* more att tests passing
* more tests
* ffg data mismatching test
* ffg tests complete
* gofmt
* fix testing to match attestation updates
* ssz
* lint
* Fixed Skipped Tests for RPC Server (#2712)
* Remove Obsolete Deposit Proto Objects (#2673)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* regen proto
* fix test
* Remove Deprecated Protobuf State Fields (#2713)
* Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714)
* Remove Deprecated Beacon Block Proto Fields (#2717)
* Remove Deprecated Attestation Proto Fields (#2723)
* Cache Shuffled Validator Indices (#2682)
* YAML shuffle tests for v0.6 (#2667)
* new shuffle tests
* added comment for exported function
* fix format and print
* added config files handling
* gazelle fix
* shuffle test debugging
* added shuffle list and benchmark
* hash function addition from nishant code
* gazelle fix
* remove unused function
* few minor changes
* add test to test protos optimization
* test a bigger list
* remove commented code
* small changes
* fix spec test and test indices to pass
* remove empty line
* abstraction of repeated code and comment arrangement
* terence change requests
* fix new test
* add small comment for better readability
* change from unshuflle to shuffle
* comment
* better comment
* fix all tests
* Remove Latest Block (#2721)
* lint
* remove latest block
* lint
* add proto
* fix build
* Fix Deposit Trie (#2686)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* new tests with contract
* gaz
* more tests
* fixed bugs
* new test
* finally fixed it
* gaz
* fix test
* Remove Committee Cache (#2729)
* Benchmark Compute Committee (#2698)
* Fixed Skipped Attestation Tests (#2730)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Cache Active Validator Indices, Count, and Balances (#2737)
* Update Deposit Contract (#2648)
* lint
* add new contract
* change version
* remove log
* generating abi and binary files
* fix tests
* update to current version
* new changes
* add new hash function
* save hashed nodes
* add more things
* new method
* add update to trie
* new stuff
* gaz
* more stuff
* finally fixed build
* remove deposit data
* Revert "remove deposit data"
This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de.
* more changes
* lint and gaz
* lint
* Update Shard Helpers for 0.6 (#2497)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* Update Genesis State Function to v0.6 (#2465)
* add pseudocode
* make changes
* fix all tests
* fix tests
* lint
* regen protos and mocks
* regenerated protos
* started fixing core
* all core tests passing!
* removed shared/forkutils
* started fixing blockchain package
* lint
* updating rpc package
* add back deleted stuff
* add back deleted stuff that was deleted accidentally
* add back protos and mocks
* fix errors
* fix genesis issue
* fix genesis issue for slot ticker
* fix all genesis errors
* fix build files
* temp change for go-ssz
* fix test
* Revert "temp change for go-ssz"
This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873.
* update to latest go-ssz
* unstaged changes
* Update Attester Server RPC Calls (#2773)
* Update config and function parameters to v0.7 (#2791)
* Minor Updates to 0.7 (#2795)
* Refactor Deposit Flow and Cleanup Tests (#2788)
* More WIP on cleaning deposit flow
* Fix tests
* Cleanup and imports
* run gazelle
* Move deposit to block_operations
* gazelle
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Fix docs
* Remove unneeded calculations
* Fix tests
* Fix tests finally (?)
* Optimize Committee Assignment RPC (#2787)
* Update BlockRoot to BlockHash (#2816)
* Fix Final Missing Items in Block Processing v0.6 (#2710)
* override config successfully
* passes processing
* add signing root helper
* blockchain tests pass
* tests blocked by signing root
* lint
* fix references
* fix protos
* proper use of signing root
* only few failing tests now
* fix final test
* tests passing
* lint and imports
* rem unused
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* lint
* Update beacon-chain/attestation/service_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/db/block_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* rename to hash tree root
* rename decode to unmarshal
* fix
* use latest ssz
* all tests passing
* lint
* fmt
* Add Config YAML for Spec Tests (#2818)
* Align Protobuf Type Names (#2825)
* gofmt
* Revert "Align Protobuf Type Names (#2825)" (#2827)
This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33.
* Update Domain Related Functions (#2832)
* Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)
* add tests
* gaz
* lint
* Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835)
This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573.
* Add ConvertToPb to package testutil (#2838)
* Block Processing Bug Fixes (#2836)
* Update types PB with Size Tags (#2840)
* Epoch processing spec tests (#2814)
* Remove Deposit Index (#2851)
* Shuffle tests revisited (#2829)
* first commit
* remove old files, add log
* remove duplicate yaml testing code
* reduce visability
* nishant feedback changes
* skip TestFromYaml_Pass
* added tags to bazel build
* gazelle fix
* remove unused vars
* adda back config
* remove config handling
* remove unused var
* gazelle fix
* SSZ compatibility test for protobufs (#2839)
* update workspace spec sha
* remove yamls from branch
* BLS spec tests (#2826) (#2856)
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* Slot processing spec test (#2813)
* eth1data rpc endpoint (#2733)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* Attesting Indices Fix (#2862)
* add change
* fix one test
* fix all tests
* add test
* clear cache
* removed old chaintest, simulated backend and state generator (#2863)
* Block Processing Sanity Spec Tests (#2817)
* update PrevEpoch
* add new changes
* shift to blocks package
* add more changes
* new changes
* updated pb with size tags
* add new changes
* fix errors
* uncomment code
* more changes
* add new changes
* rename and lint
* gaz
* more changes
* proccess slot SigningRoot instead of HashTreeRoot
* ensure yaml generated structs work
* block sanity all passing
* minimal and mainnet all pass
* remove commented code
* fix one test
* fix all tests
* fix again
* no state comparison
* matching spec
* change target viz
* comments gazelle
* clear caches before test cases
* latest attempts
* clean up test format
* remove debugging log, remove yaml
* unskip attestation
* remove skip, check post state, diff state diffs
* handle err
* add bug fixes
* fixed one more bug
* fixed churn limit bug
* change hashProto to HashTreeRoot
* all tests pass :)
* fix all tests
* gaz
* add regression tests
* fix test bug
* Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868)
* mutation testing for attestation.go
* new line
* lint
* revert fmt.Errorf deletion
* gofmt
* Add some fixes for mutation testing on blocks.go (#2869)
* Fix sizes
* gaz
* Spec freeze release candidate spectests
* Align Protobuf Type Names (#2872)
* Removes some deprecated fields from protobuf (#2877)
* search and replace checkpoints
* fix tests, except spec tests
* Update Configs for Freeze (#2876)
* update configs
* updated minimal configs
* almost there
* all tests passing except for spec tests
* better comment for MinGenesisTime
* done, ready for review
* rm seconds per day
* feedback
* Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870)
* Add some fixes for mutation testing on blocks.go
* working on mutation testing fo committee.go
* gofmt
* goimports
* update readme target
* update latest sha for spec tests
* fix build
* Update State Transition Function (#2867)
* Change Base Reward Factor (#2888)
* Update Freeze Spec Simplification Section - part 1 (#2893)
* finished changes to attesting_indices
* removed index_count <= 2**40 requirement
* lint
* reverted index_count <= 2**40 check
* added short cut len(a) > len(b)
* Update justification bits (#2894)
* updated all the helper pseudocodes (#2895)
* Make Constants Explicit and Minor Cleanups (#2898)
* Rename outdated configs, make constants explicitly delcared
* Remove activate_validator, not needed
* Remove GenesisSlot and GenesisEpoch
* Remove unused import
* Move Block Operation Length Checks to ProcessOperations (#2900)
* Move block operation length checks to ProcessOperations
* Write tests for each length check in ProcessOperations
* Remove unneeded test
* Move checks to a new function
* Move duplicate check back into ProcessOperations
* reorder proto fields (#2902)
* Slashing Penalty Calculation Change (#2889)
* lint
* change config val
* add max helper
* changes to slashing and process slashing, add a min function for integers
* gaz
* fix failing tests
* fix test
* fixed all tests
* Change Yaml tag
* lint
* remove gc hack
* fix test
* gaz
* preston's comments
* change failing field
* fix and regen proto
* lint
* Implement Compact Committee Root (#2897)
* add tags
* add function
* add new code
* add function
* add all new changes
* lint
* add tests
* fix tests
* fix more tests
* fix all outstanding tests
* gaz
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* comment
* Remove deprecated fields from attestation data (#2892)
* fix broken tests
* remove comment
* fixes
* Update Deposit Contract (#2903)
* update to new contract
* fix references
* fix tests
* fix some more tests
* fix local deposit trie
* gaz
* shays review
* more changes
* update WORKSPACE to use 0.8 spec tests
* Perform Mutesting in Helpers Package (#2912)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* s/volundary/voluntary (#2914)
* Update BLS Domain (#2916)
* change from integer to byte slice
* add test
* fix func for bytes4
* Fix Spec tests (#2907)
* fix panics
* handle failed transitions
* remove log
* fix to protos
* new changes
* remove i
* change ssz commit
* new changes
* update epoch tests
* fix epoch testing
* fix shuffle tests
* fix test
* Perform Mutesting in Epoch and State Packages (#2913)
* done with updates (#2890)
* Add Max Size Tag for Protobuf Fields (#2908)
* No more space between ssz-size numbers
* Regen pb.go
* Fixed a few incorrect proto fields (#2926)
* Update Validator Workflow (#2906)
* Justification spec tests (#2896)
* update go-ssz
* Fix SSZ Compatibility Test (#2924)
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* delete unused file
* Update zero hash to sha256().digest() (#2932)
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)" (#2933)
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* Fix compress validator (#2936)
* fix compress validator
* update go-ssz
* build without the bytes test
* try minimal
* Block operations spec tests (#2828)
* update PrevEpoch
* debugging proposer slashing tests
* fmt
* add deposit tests
* Added skeleton for attestation minimal test
* remove bazel runfiles thing
* add deposits
* proposer slashing test is done
* comment
* complete test, some failing cases
* sig verify on
* refactor slightly to support mainnet and minimal
* included mainnet stuff
* Add block header tests
* volunary exit done
* transfer done
* new changes
* fix all tests
* update domain functions
* fmt
* fixed lint
* fixed all the tests
* fixed a transfer bug
* finished attester slashing tests and fixed a few bugs
* started fixing...
* cleaned up exit and proposr slashing tests
* attester slashing passing
* refactored deposit tests
* remove yamls, update ssz
* Added todo for invalid sig
* gazelle
* deposits test done!
* transfer tests done and pass!
* fix attesting indices bug
* temporarily disabled signature verification
* cleaned up most of the block ops, except for att
* update committee AttestingIndices
* oops, i dont know how or why i changed this file
* fixed all the rpc tests
* 6 more failing packages
* test max transfer in state package
* replace hashproto with treehash in package blockchain
* gazelle
* fix test
* fix test again
* fixed transition test, 2 more left
* expect an error in attestation tests
* Handle panic when no votes in aggregate attestation
* clear cache
* Add differ, add logging, tests pass yay
* remove todo, add tag
* fixed TestReceiveBlock_RemovesPendingDeposits
* TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now...
* handle panics
* Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238
* more fixes after merge, updating block_operations.yaml.go to match yaml
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* fix references and test panic
* change to proto objects from custom types
* fix panics in tests
* use proper override for gogo-protobuf
* fix a few tags
* fix tests
* forgot to include custody bits and Slashable not used
* fix tests
* sort again
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* minor fixes
* wrong proto.Equal
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* inverted logic
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)"
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* update ssz, fix import, shard big test
* checkpoint
* fix compress validator
* update go-ssz
* missing import
* missing import
* tests now pass
* been a good day
* update test size
* fix lint
* imports and remove unused const
* update bazel jobs flag
* update bazel jobs flag
* satisfy deprecation warning
* Add ssz regression tests for investigation of test failures in PR #2828 (#2935)
* Adding regression tests for investigation
* add another example
* goimports
* add quick comment about test case 0
* Epoch Process Slashings Spec Tests (#2930)
* updated justification bits, tests passing OK
* regen pb.go, clarify bit operations
* justification and finalization tests; failing
* Add wrapper, so we call the correct method
* checkpoint
* Update tar ref
* TestSlashingsMinimal/small_penalty still failing
* Use bigint instead of () and float
* Revert a bad merge from workspace
* Fmt
* add note about https://github.com/ethereum/eth2.0-specs/issues/1284
* improve tests
* gaz
* Perform Mutesting In core/state Package (#2923)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* Perform mutesting in epoch and state packages
* Fix voluntary exits test
* Fix typo
* Fix comments
* Fix formatting
* Fix error message
* Handle missing errors
* Handle all errors
* Perform Mutesting In State Package
* Fix block roots size
* Remove comment
* Fix error
* add backend service
* Add ssz compatibility tests for signing root (#2931)
* Added tests for signing root
* imports
* fix lint on travis
* fix bes flag
* Final updates spec tests (#2901)
* set up tests
* need to reorder pbs
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* playing with tags idea, can revert this commit later
* fixes after merge
* reset caches before test
* all epoch tests pass
* gazelle
* Genesis trigger (#2905)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* shift spec method to state package, improve test setup
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use better tag names, not latest
* Remove Block Signing Root (#2945)
* replace with hash tree root
* Revert "replace with hash tree root"
This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf.
* replace with signing root instead
* remove one more ref
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Static check on branch spec-v0.6 (#2946)
* Ran staticcheck and fixed the important complains
* commit
* commit
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Add Back Eth1Data After Bad Merge (#2953)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* everything passing again
* add skip reason
* cleanup deposit contract slightly
* remove unused chainstart param (#2957)
* fix breakages from #2957 (#2958)
* fix breakages from #2957
* oops
* Fix deposit input data (#2956)
* fix deposit input data
* fix deposit input data
* gaz and build fix
* Add Tests for Genesis Deposits Caching (#2952)
* remove old method and replace with an improved one
* add new files
* gaz
* add test
* added all these tests
* gaz
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix merkle proof error
* fix config
* Minor fixes for runtime (#2960)
* Minor fixes for runtime
* use comments
* goimports
* revert beacon-chain/core/state/state.go and fix comment for lint
* fix test too
* Minor runtime fixes (#2961)
* Add support for bundling binaries and fix ARM64 builds (#2970)
* Add support for bundling binaries and fix ARM64 builds
* Fix exports
* ignore manual targets wrt vis check
* fix graknlabs
* update spec tests (#2979)
* hotfix until https://github.com/graknlabs/bazel-distribution/pull/169
* Overflow slashing calculation fix (#2977)
* Runtime Fixes (#2736)
* first batch of fixes
* add log
* more fixes
* another bug fixed
* update deposit contract and other fixes
* remove logs
* new changes
* fixes
* fix build
* remove config
* more fixes
* add more changes
* add back todo
* make compute state root work
* remove commented out and fix condition
* fix commented code
* fix config
* gaz
* remove flag
* remove init
* new fixes
* fix test
* one more fix
* fix all tests
* change back config
* fix one more bug
* remove logging bool
* Only build test targets when running bazel test //...
* Align prysm to spec v0.8.1 (#2978)
* Bazel problem
* Update zero hash representation to be clear (cosmetic)
* Update minor cosmetic fixes
* Fixed lookahead off by 1
* Update randao.go
* update ssz
* test failures fixed
* test fixes
* fix up workspace
* lint
* fixed errs
* Updated pubkey loggings (#2983)
* Fix proposer assignment (#2984)
* add jvm limits
* add jvm limits
* Removed logging from state transition functions (#2980)
* Match spec on proposer index division (#2985)
* Match spec on proposer index division
* gaz
* fixes
* Fix Default Eth1Data (#2982)
* fix bug
* Update beacon-chain/core/state/transition.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* more fixes
* reg test
* Set ejection balance to 1.6 (#2987)
* improve block processing log (#2990)
* Fix HistoricalRootsLimit (#2989)
* fix historical lenght
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* hack config until https://github.com/prysmaticlabs/prysm/issues/2993
* More Runtime Fixes (#2986)
* local changes
* add val sig
* attester fix
* one more fix
* fixed all tests
* rem validator issue
* fix finality issue (#2994)
* Fix validator prev balance calculation (#2992)
* attester fix
* one more fix
* fixed all tests
* Fix validator prev balances calculation
* go fmt
* 48 bytes
* Fix Querier to handle Deposit Logs Race (#2999)
* fix sync issue
* fix build
* add regression test
* add var for magic number
* Fix eth1data and deposits (#2996)
* Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time
* revert blockInfo being public
* git tests to build, not yet pass though
* add tests
* some commentary
* fix comment
* goimports
* fmt and remove unused method
* Update rules go (#2975)
* update rules_go
* Fix some cross compile builds stuff
* add missing deps
* update to 0.19.1
* Update Protobufs to Match Ethereum APIs (#2998)
* add beacon block and attestation files
* add all types
* include all new proto type definitions
* add add all proto definitions
* fix all comments to say 48 bytes
* include latest changes
* readd common
* no swag
* add build file
* deps issue
* right package names
* address feedback, maintain parity between upstream ethereumapis
* delete pb
* bad gens
* Update "Testing Prysm" readme section (#3000)
Resolves invalid url link to golangci-lint.
* Update badge to version 0.8.1
* elaborate on test skip
* revert shared/p2p/options.go
* make travis happy with goimports
* Update beacon-chain/core/blocks/block.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
|
|
|
if beaconState == nil || beaconState.Slot != 0 {
|
2019-03-06 20:13:09 +00:00
|
|
|
t.Error("Expected canonical state feed to send a state with genesis block")
|
|
|
|
}
|
2019-01-28 11:59:37 +00:00
|
|
|
if err := chainService.Stop(); err != nil {
|
|
|
|
t.Fatalf("Unable to stop chain service: %v", err)
|
|
|
|
}
|
|
|
|
// The context should have been canceled.
|
|
|
|
if chainService.ctx.Err() != context.Canceled {
|
|
|
|
t.Error("Context was not canceled")
|
|
|
|
}
|
|
|
|
testutil.AssertLogsContain(t, hook, "Waiting for ChainStart log from the Validator Deposit Contract to start the beacon chain...")
|
|
|
|
testutil.AssertLogsContain(t, hook, "ChainStart time reached, starting the beacon chain!")
|
|
|
|
}
|
|
|
|
|
2019-02-22 15:11:26 +00:00
|
|
|
func TestChainStartStop_Initialized(t *testing.T) {
|
2019-01-28 11:59:37 +00:00
|
|
|
hook := logTest.NewGlobal()
|
2019-08-14 18:48:28 +00:00
|
|
|
db := internal.SetupDBDeprecated(t)
|
|
|
|
defer internal.TeardownDBDeprecated(t, db)
|
2019-02-28 03:55:47 +00:00
|
|
|
|
2019-04-01 01:44:16 +00:00
|
|
|
chainService := setupBeaconChain(t, db, nil)
|
2019-01-28 11:59:37 +00:00
|
|
|
|
|
|
|
unixTime := uint64(time.Now().Unix())
|
2019-07-23 16:49:14 +00:00
|
|
|
deposits, _ := testutil.SetupInitialDeposits(t, 100)
|
2019-07-22 21:47:11 +00:00
|
|
|
if err := db.InitializeState(context.Background(), unixTime, deposits, ðpb.Eth1Data{}); err != nil {
|
2019-01-28 11:59:37 +00:00
|
|
|
t.Fatalf("Could not initialize beacon state to disk: %v", err)
|
|
|
|
}
|
2019-04-26 06:24:01 +00:00
|
|
|
setupGenesisBlock(t, chainService)
|
2018-09-18 13:06:28 +00:00
|
|
|
// Test the start function.
|
2018-08-20 15:50:11 +00:00
|
|
|
chainService.Start()
|
2018-07-19 16:31:50 +00:00
|
|
|
|
2018-08-15 04:49:59 +00:00
|
|
|
if err := chainService.Stop(); err != nil {
|
|
|
|
t.Fatalf("unable to stop chain service: %v", err)
|
2018-07-31 04:41:27 +00:00
|
|
|
}
|
|
|
|
|
2018-07-19 16:31:50 +00:00
|
|
|
// The context should have been canceled.
|
2019-01-28 11:59:37 +00:00
|
|
|
if chainService.ctx.Err() != context.Canceled {
|
2018-07-19 16:31:50 +00:00
|
|
|
t.Error("context was not canceled")
|
|
|
|
}
|
2019-01-28 11:59:37 +00:00
|
|
|
testutil.AssertLogsContain(t, hook, "Beacon chain data already exists, starting service")
|
2018-07-19 16:31:50 +00:00
|
|
|
}
|