Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Move Block Operation Length Checks to ProcessOperations #2899

Closed
wants to merge 252 commits into from

Conversation

0xKiwi
Copy link
Contributor

@0xKiwi 0xKiwi commented Jul 2, 2019

Brought up in #2892, this moves all length checks to the ProcessOperations function to prevent extra unneeded computing if an invalid block is submitted.

prestonvanloon and others added 30 commits April 22, 2019 10:21
* Update config to v0.6.0

* finish docs

* Update slot helper docs to v0.6
* update-eth1data

* use block root

* ops

* messed up crosslink

* review comments
* update attestation related protos

* use root for hash32

* fixed a few typos

* review comments

* revert genf ile
* update attestation related protos

* use root for hash32

* fixed a few typos

* review comments

* update historical batch, deposit and blk header fields

* Add nogo to introduce built time linting (prysmaticlabs#2317)

* Add nogo and fix lint issues

* Run gazelle

* better gazelle

* ignore external struct tags

* Exclude all third party code from unsafeptr (prysmaticlabs#2321)

* Fix Assingments Bug (prysmaticlabs#2320)

* fix

* fix tests

* Add feature flag to toggle gossip sub in p2p (prysmaticlabs#2322)

* add feature flag to enable gossip sub in p2p

* invert the enable/disable logic

* add the flag in k8s and fix tests

* gazellle

* return empty config if nil

* Prevent Canceling Goroutines in Validator Client (prysmaticlabs#2324)

* do not cancel assignments goroutines

* exclude rule

* disable lostcancel for now

* Fix Pending Attestations RPC Call (prysmaticlabs#2304)

* pending atts

* use proposal slot

* attestation inclusion fix

* lint

* advance state transitions

* gazelle

* lint tests pass

* Do Not Update Validator Registry on Nil Block (prysmaticlabs#2326)

* no registry update if block is nil

* regression test

* lint

* Ensure Block Processing Failures Return an Error (prysmaticlabs#2325)

* ensure block failed processing returns an error

* fixed test

* test assertion corrected

* comments

* fix tests

* imports

* rebase

* add spec badge. Thanks to ChainSafe/lodestar#166 for the idea :)

* Update Crosslink Protobuf Fields (prysmaticlabs#2313)

* rebase

* rebase

* rebase

* Prevent Canceling Goroutines in Validator Client (prysmaticlabs#2324)

* do not cancel assignments goroutines

* exclude rule

* disable lostcancel for now

* starting proposer slashing

* starting attester slashing

* revert gen file

* Update types.pb.go
* Update config to v0.6.0

* finish docs

* Add comment for deprecated fields

* Move deprecated lines
* Add WithdrawableEpoch to Validiator

* Build proto
* Update missing constants and some proto to v0.6
* add SplitOffset function and test that fails"

* use splitoffset in function

* Update beacon-chain/utils/shuffle_test.go

error format change

Co-Authored-By: shayzluf <thezluf@gmail.com>

* add test
* PermutedIndex helper function with Benchmark

* removed duplicate functions

* fix change requests by preston

* fix gazelle

* t.skip with todo as new yaml tests depands on compute commitee

* added new test yaml files for shuffling

* added comment for exported struct

* review comments

* review comments

* review comments

* change naming
* update generateseed to 0.6 spec

* added fixes to active index to fix  tests

* fix comment and rewrote the assignment

* fix terence change requests

* remove extra space
prestonvanloon and others added 29 commits June 25, 2019 12:35
* 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
* 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
* add change

* fix one test

* fix all tests

* add test

* clear cache
* 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
…rysmaticlabs#2868)

* mutation testing for attestation.go

* new line

* lint

* revert fmt.Errorf deletion

* gofmt
* search and replace checkpoints

* fix tests, except spec tests
* 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
…ysmaticlabs#2870)

* Add some fixes for mutation testing on blocks.go

* working on mutation testing fo committee.go

* gofmt

* goimports
* 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)
@0xKiwi 0xKiwi closed this Jul 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants