Jacek Sieka
689bcf71c4
clean up block creation
...
* consistently use state at new block slot to produce block
* factor out signature funcs
* fix missing block application test
2020-03-22 11:15:07 +00:00
Dustin Brody
cae1c0fd1a
address beacon_node TODO regarding missing proposer index; mark initiate_validator_exit(...), is_eligible_for_activation_queue(...), Attestation, DepositMessage, BeaconBlockBody, PendingAttestation, Eth1Data, and integer_squareroot(...) as 0.11.0
2020-03-17 12:06:56 +02:00
Dustin Brody
ebcde664e5
mark decrease_balance(...), get_validator_churn_limit(...), network spec version, Checkpoint, compute_epoch_at_slot(...), get_active_validator_indices(...), and get_committee_count_at_slot(...) as 0.11.0
2020-03-17 12:06:56 +02:00
Dustin Brody
6068dd960b
initial 0.11.0 spec version update
2020-03-17 12:06:56 +02:00
Mamy André-Ratsimbazafy
bfd4df912e
Update to BLS v0.10.1
2020-03-13 12:20:41 +00:00
Jacek Sieka
9a3db7a81f
[WIP] Fake bls at runtime ( #735 )
...
* Initial implementation of runtime bls skipping.
Add libnfuzz skipBLSValidation handling, check that it propagates.
* Rename skipBLSValidation -> skipBlsValidation, start skipStateRootValidation
* Replace skipValidation flags with more granular flags.
Also added skipBlockParentRootValidation flag
Mainly replaced with skipBlsValidation but also StateRoot or
BlockParentRootValidation flags where appropriate.
* Adjust interop test to pass when skipping merkle validation.
* Stop skipping validation for mainchain_monitor.
* Remove comment.
* Also skipMerkleValidation for test_beacon_chain_db.
2020-03-05 13:52:10 +01:00
Dustin Brody
a8567cafb5
mark out where/how AttestationData and Attestation construction are honest validator-compliant
2020-02-21 19:44:03 +00:00
Dustin Brody
1ffc2df23d
add a couple new deposit tests; fix the false-positive BLS verifications while keeping all but two tests working, despite mismatched 0.9/0.10 BLS standards; better-factor the skipping of BLS validation and Merkle tree validation
2020-02-04 18:39:38 +00:00
Dustin Brody
e4922cb177
implement compute_signing_root() and mark some functions as 0.10.1-compatible
2020-02-04 12:24:30 +00:00
Dustin Brody
45dd12cf3f
update process_deposit() to actually check is_valid_merkle_branch() unless skipValidation specified
2020-01-30 09:31:08 +00:00
Dustin Brody
60b1775879
update check_attestation/process_attestation() to 0.10.1 and fill in missing check
2020-01-28 12:07:33 +02:00
Dustin Brody
3efbe36c30
additional 0.10.1 updates where already-implemented code is already done
2020-01-27 12:50:54 +00:00
Mamy Ratsimbazafy
1ba2cebd85
v0.10.1 (test vectors + unchanged parts) ( #696 )
...
* update to 0.10.1
* SSZ Generic and nbench uses the v0.10.1 fixtures
* Tests + spec links: v0.10.0 -> v0.10.1
* Add v0.10.1 TODO in get_latest_attesting_balance (forkchoice)
* SSZ Bytes are now ByteList
* Remove nim-result submodules that was leftover/added by mistake in the branch
2020-01-27 10:56:32 +00:00
Dustin Brody
c301e5d42f
mark 49 0.9.2/0.9.4 spec functions/data types as 0.10.0
2020-01-15 12:34:16 +00:00
Dustin Brody
46de726e3d
mark all compatible 0.9.3 functions and data structures as 0.9.4
2019-12-20 17:24:42 +00:00
Mamy Ratsimbazafy
106352aff3
Nbench - Flexible benchmarking of Nimbus internals ( #641 )
...
* nbench PoC
* Remove the yaml files from the example scenarios
* update README with current status
* Add an alternative implementation that uses defer
* Forgot to add the old proc body
* slots-processing
* allow benching state_transition failures
* Add Attestations processing (workaround confutils bug:
- https://github.com/status-im/nim-confutils/issues/10
- https://github.com/status-im/nim-confutils/issues/11
- https://github.com/status-im/nim-confutils/issues/12
* Add CLI command in the readme
* Filter report and add notes about CPU cycles
* Report averages
* Add debugecho style time/cycle print
* Report when we skip BLS and state root verification
* Update to 0.9.3
* Generalize scenario parsing
* Support all block processing scenarios
* parallel bench runner PoC
* gitBetter load issues reporting (the load issues were invalid signature and expected to fail)
2019-12-20 17:14:43 +01:00
Dustin Brody
417f96213d
fix genesis interop by fixing deposit signature handling; add TRACE-level compilation to CI
2019-12-20 15:26:48 +00:00
Dustin Brody
ea4afd7454
mark 19 more 0.9.2-compatible entities as 0.9.3-compatible
2019-12-19 11:46:30 +00:00
Dustin Brody
350a6c071a
mark a couple compatible dozen 0.9.2 functions/data structures as 0.9.3
2019-12-18 16:13:39 +00:00
Dustin Brody
0328cd49bf
mark several more functions and data structures as 0.9.3
2019-12-18 10:00:17 +00:00
Dustin Brody
1610981be6
mark several more spec-referencing code/data parts as 0.9.3
2019-12-17 16:51:46 +00:00
Dustin Brody
27bf8908a9
mark a couple dozen functions and data structures as 0.9.3; fix TRACE-level compiling; stop downloading 0.9.2 test vectors; update cosmetic/display spec versions in test suite
2019-12-17 16:51:46 +00:00
Dustin Brody
c824416f56
initial 0.9.3 spec update
2019-12-17 00:06:03 +02:00
Jacek Sieka
a3145f0f5c
cleanups
...
* move stuff out of beaconnode
* fix use-after-free in query
2019-12-10 14:47:52 +00:00
Jacek Sieka
eea523a89e
logging fixes
...
* don't log out-of-sync when there's no work to do
* small logging fixes
2019-12-10 10:18:30 +00:00
Dustin Brody
c762c0232d
render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators ( #617 )
...
* render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators
* follow addBlock(...) after refactoring
* [skip ci] fix typo
2019-12-04 11:49:59 +01:00
Dustin Brody
e88e559caf
render visible gradual validator emptying on catchup
2019-12-02 18:24:30 +02:00
Dustin Brody
bde20436e8
~50% speedup by fast-pathing Eth2Digest merkle hashing
2019-11-26 15:23:27 +00:00
Dustin Brody
1494bcc262
replace links to Apache and MIT licenses with HTTPS versions ( #592 )
2019-11-25 16:30:02 +01:00
Dustin Brody
b82328b148
convert hash_tree_roots_prefix(...) to an iterator
2019-11-25 14:48:59 +00:00
Dustin Brody
f6de87b80e
remove O(n^2) eth1 deposit processing and scaffolding comparing it with O(n) deposit processing; re-enable now-viable-to-run genesis state initialization tests with around 16,384 validators
2019-11-25 14:48:59 +00:00
Dustin Brody
fa2a703a17
switch more funcs and procs from global to module scope; create scaffolding for non-O(n^2) eth1 deposit processing with assertions for equivalent functionality; fix a few more shellcheck warnings
2019-11-25 14:48:59 +00:00
Dustin Brody
a8de94ad05
add validator_leaving logging at debug chronicles level for all call paths to initiate_validator_exit(...)
2019-11-25 09:08:15 +00:00
Dustin Brody
8d9fdb0afd
miscellanous cleanups and removing a few funcs/procs from unnecessary global scopes
2019-11-25 09:08:15 +00:00
Dustin Brody
edfd65fd5d
stop download 0.9.1 test vectors; finish 0.9.2 update, primarily via fixing preset constants; remove a couple 0.19.6 shims
2019-11-22 16:41:43 +00:00
Dustin Brody
41fa377638
mark all non-changed 0.9.1 items as 0.9.2 ( #576 )
2019-11-22 09:29:04 +01:00
Jacek Sieka
7c6d87051a
simplify validator api ( #573 )
...
* avoid passing whole state to validator api (easier when it goes
out-of-process)
* clean up some cruft
2019-11-21 10:57:59 +01:00
Dustin Brody
c0f009908c
re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1 ( #569 )
...
* re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1
* switch many procs to funcs
* fix import os.nim instead; ospaths is deprecated [Deprecated] warnings
2019-11-21 09:15:10 +00:00
Dustin Brody
2749cb14a6
convert mostly-uncompiled verify_merkle_branch(...) calls to newer is_valid_merkle_branch(...) name; re-enable several lines of deposit testing code and outline roadmap for completion
2019-11-18 17:35:58 +00:00
Jacek Sieka
14712bbbdc
random warning fixes
2019-11-15 12:05:18 +01:00
Dustin Brody
c08698bffe
scaffolding to remove last vestiges of get_committee_count(...), SHARD_COUNT, and rest of that 0.8.x infrastructure; this demonstrates equivalence between two, before discarding old code
2019-11-14 18:37:51 +01:00
Dustin Brody
df1d00f13a
remove UnusedImport spam ( #549 )
...
* remove UnusedImport spam
* re-add random import to beacon_node
2019-11-14 11:47:55 +01:00
Dustin Brody
5a54c823d8
update to 0.9.1: don't try to run removed tests; re-add 1.5 tests (one only in minimal); remove bls_verify_multiple(...) and AttestationDataAndCustodyBit; and update process_attester_slashing(...), get_indexed_attestation(...), and is_valid_indexed_attestation(...)
2019-11-13 13:49:38 +00:00
Dustin Brody
d5ce142511
fix network sim finalization; remove get_attestation_data_slot(...); remove 2 more get_crosslink_committee(...) calls
2019-11-12 14:49:26 +00:00
Dustin Brody
568fa1dcb9
mark functions, constants, and data structures unchanged by 0.9.1 as such
2019-11-11 10:25:57 +00:00
Dustin Brody
949d735155
fix remaining test 0.9.0 test fixtures and switch back to non-transitiontest setup; remove get_committee_count(...); keep SHARD_COUNT consistent with MAX_COMMITTEES_PER_SLOT
2019-11-11 10:25:57 +00:00
Dustin Brody
e984b2c932
mark is_valid_merkle_branch(...), process_justification_and_finalization(...), and process_rewards_and_penalties(...) as 0.9.0; update check_attestation(...) to 0.9.0; add 11 working test fixtures, having updated SSZ fixture directory to 0.9.0
2019-11-08 13:23:08 +00:00
Dustin Brody
3bb95f571f
remove remaining Crosslink and CompactCommittee vestiges
2019-11-08 13:23:08 +00:00
Dustin Brody
61c2cf9415
rm get_compact_committees_root(...), Transfer, and references to 0.9-removed BeaconState.{active_index_roots,compact_committees_roots; temporarily disable genesis interop test pending 0.9 BeaconState
2019-11-08 13:23:08 +00:00
Dustin Brody
68654848cb
update get_attesting_indices(...) to 0.9.0; remove Crosslink from AttestationData to update AttestationData to 0.9.0; rm get_winning_crosslink_and_attesting_indices(...) and get_crosslink_deltas(...)
2019-11-08 13:23:08 +00:00