fix genesis testing code, add missing constant temporarily, fix py Generator/map/list problems
This commit is contained in:
parent
aecaed7a66
commit
a0c2f5c6b5
|
@ -1137,14 +1137,16 @@ When `is_genesis_trigger(deposits, time) is True` for the first time let:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
def is_genesis_trigger(deposits: List[Deposit, 2**DEPOSIT_CONTRACT_TREE_DEPTH], time: uint64) -> bool:
|
def is_genesis_trigger(deposits: List[Deposit, 2**DEPOSIT_CONTRACT_TREE_DEPTH], time: uint64) -> bool:
|
||||||
|
SECONDS_PER_DAY = 86400
|
||||||
# Do not deploy too early
|
# Do not deploy too early
|
||||||
if time - time % SECONDS_PER_DAY + 2 * SECONDS_PER_DAY < MIN_GENESIS_TIME:
|
if time - time % SECONDS_PER_DAY + 2 * SECONDS_PER_DAY < MIN_GENESIS_TIME:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Initialize deposit root
|
# Initialize deposit root
|
||||||
state = BeaconState()
|
state = BeaconState()
|
||||||
state.eth1_data.deposit_root = hash_tree_root(map(deposits, lambda deposit: deposit.data))
|
state.eth1_data.deposit_root = hash_tree_root(
|
||||||
|
Vector[DepositData, len(deposits)](list(map(lambda deposit: deposit.data, deposits)))
|
||||||
|
)
|
||||||
# Process deposits
|
# Process deposits
|
||||||
for deposit in deposits:
|
for deposit in deposits:
|
||||||
process_deposit(state, deposit)
|
process_deposit(state, deposit)
|
||||||
|
|
|
@ -26,7 +26,8 @@ def test_is_genesis_trigger_false(spec):
|
||||||
def test_is_genesis_trigger_true(spec):
|
def test_is_genesis_trigger_true(spec):
|
||||||
deposit_count = spec.GENESIS_ACTIVE_VALIDATOR_COUNT
|
deposit_count = spec.GENESIS_ACTIVE_VALIDATOR_COUNT
|
||||||
genesis_deposits, deposit_root = prepare_genesis_deposits(spec, deposit_count, spec.MAX_EFFECTIVE_BALANCE)
|
genesis_deposits, deposit_root = prepare_genesis_deposits(spec, deposit_count, spec.MAX_EFFECTIVE_BALANCE)
|
||||||
genesis_time = 1546300800
|
SECONDS_PER_DAY = 86400
|
||||||
|
genesis_time = 1578009600 - 2 * SECONDS_PER_DAY
|
||||||
|
|
||||||
yield "deposits", genesis_deposits
|
yield "deposits", genesis_deposits
|
||||||
yield "time", genesis_time
|
yield "time", genesis_time
|
||||||
|
|
|
@ -82,7 +82,7 @@ def prepare_genesis_deposits(spec, genesis_validator_count, amount, signed=False
|
||||||
tree = calc_merkle_tree_from_leaves(tuple(deposit_data_leaves))
|
tree = calc_merkle_tree_from_leaves(tuple(deposit_data_leaves))
|
||||||
root = get_merkle_root((tuple(deposit_data_leaves)))
|
root = get_merkle_root((tuple(deposit_data_leaves)))
|
||||||
|
|
||||||
genesis_deposits = (
|
genesis_deposits = list(
|
||||||
spec.Deposit(proof=list(get_merkle_proof(tree, item_index=index)), data=deposit_data)
|
spec.Deposit(proof=list(get_merkle_proof(tree, item_index=index)), data=deposit_data)
|
||||||
for index, deposit_data in enumerate(genesis_deposit_data_list)
|
for index, deposit_data in enumerate(genesis_deposit_data_list)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue