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

This commit is contained in:
Dustin Brody 2019-11-25 13:12:23 +01:00
parent fa2a703a17
commit f6de87b80e
2 changed files with 1 additions and 8 deletions

View File

@ -232,12 +232,7 @@ func initialize_beacon_state_from_eth1*(
prefix_roots =
hash_tree_roots_prefix(leaves, 2'i64^DEPOSIT_CONTRACT_TREE_DEPTH)
for i, deposit in deposits:
let deposit_data_list = leaves[0..i]
let prev_calc_method_deposit_root = hash_tree_root(
sszList(deposit_data_list, 2'i64^DEPOSIT_CONTRACT_TREE_DEPTH))
state.eth1_data.deposit_root = prefix_roots[i]
doAssert state.eth1_data.deposit_root == prev_calc_method_deposit_root
discard process_deposit(state, deposit, flags)
# Process activations

View File

@ -23,9 +23,7 @@ import # Unit test
./test_zero_signature
import # Refactor state transition unit tests
# ./spec_block_processing/test_genesis, # mostly TODOs,
# with initGenesisState(...) tested by test_process_deposits(...),
# and mainnet hitting pathological/quadratic eth1 deposit behavior
./spec_block_processing/test_genesis,
./spec_block_processing/test_process_deposits,
./spec_block_processing/test_process_attestation,
./spec_epoch_processing/test_process_justification_and_finalization