PR feedback from danny
This commit is contained in:
parent
661959c13e
commit
79b6bc616d
|
@ -66,7 +66,7 @@ def verify_shard_block_signature(beacon_parent_state: BeaconState,
|
||||||
|
|
||||||
## Shard state transition function
|
## Shard state transition function
|
||||||
|
|
||||||
The post-state corresponding to a pre-state `shard_state` and a signed block `signed_block` is defined as `shard_state_transition(state, signed_block)`. State transitions that trigger an unhandled exception (e.g. a failed `assert` or an out-of-range list access) are considered invalid. State transitions that cause a `uint64` overflow or underflow are also considered invalid.
|
The post-state corresponding to a pre-state `shard_state` and a signed block `signed_block` is defined as `shard_state_transition(shard_state, signed_block)`. State transitions that trigger an unhandled exception (e.g. a failed `assert` or an out-of-range list access) are considered invalid. State transitions that cause a `uint64` overflow or underflow are also considered invalid.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
def shard_state_transition(shard_state: ShardState,
|
def shard_state_transition(shard_state: ShardState,
|
||||||
|
|
|
@ -48,10 +48,10 @@ def run_beacon_block_with_shard_blocks(spec, state, target_len_offset_slot, comm
|
||||||
yield 'block', beacon_block
|
yield 'block', beacon_block
|
||||||
yield 'post', None
|
yield 'post', None
|
||||||
return
|
return
|
||||||
else:
|
|
||||||
state_transition_and_sign_block(spec, state, beacon_block)
|
state_transition_and_sign_block(spec, state, beacon_block)
|
||||||
yield 'block', beacon_block
|
yield 'block', beacon_block
|
||||||
yield 'post', None
|
yield 'post', state
|
||||||
|
|
||||||
for shard in range(spec.get_active_shard_count(state)):
|
for shard in range(spec.get_active_shard_count(state)):
|
||||||
post_shard_state = state.shard_states[shard]
|
post_shard_state = state.shard_states[shard]
|
||||||
|
|
|
@ -17,14 +17,12 @@ def run_shard_blocks(spec, shard_state, signed_shard_block,
|
||||||
beacon_parent_state,
|
beacon_parent_state,
|
||||||
validate=True, valid=True):
|
validate=True, valid=True):
|
||||||
pre_shard_state = shard_state.copy()
|
pre_shard_state = shard_state.copy()
|
||||||
|
|
||||||
yield 'pre', pre_shard_state
|
yield 'pre', pre_shard_state
|
||||||
yield 'signed_shard_block', signed_shard_block
|
yield 'signed_shard_block', signed_shard_block
|
||||||
yield 'validate', validate
|
yield 'validate', validate
|
||||||
yield 'beacon_parent_state', beacon_parent_state
|
yield 'beacon_parent_state', beacon_parent_state
|
||||||
|
|
||||||
if validate is False:
|
|
||||||
beacon_parent_state = None
|
|
||||||
|
|
||||||
if not valid:
|
if not valid:
|
||||||
expect_assertion_error(lambda: spec.shard_state_transition(
|
expect_assertion_error(lambda: spec.shard_state_transition(
|
||||||
shard_state, signed_shard_block, validate=validate, beacon_parent_state=beacon_parent_state)
|
shard_state, signed_shard_block, validate=validate, beacon_parent_state=beacon_parent_state)
|
||||||
|
|
Loading…
Reference in New Issue