Skip to content

Commit 90b4d4f

Browse files
Bhargavasomuhwwhww
authored andcommitted
Add TODO and some cleanups
1 parent f2a0da1 commit 90b4d4f

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

eth/beacon/state_machines/validation.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def validate_proposer_signature(state: BeaconState,
3030
epoch_length: int) -> None:
3131
block_without_signature_root = BaseBeaconBlock.get_block_without_signature_root(block)
3232

33+
# TODO: Replace this root with tree hash root
3334
proposal_root = ProposalSignedData(
3435
state.slot,
3536
beacon_chain_shard_number,
@@ -40,9 +41,12 @@ def validate_proposer_signature(state: BeaconState,
4041
beacon_proposer_index = get_beacon_proposer_index(state, state.slot, epoch_length)
4142
proposer_pubkey = state.validator_registry[beacon_proposer_index].pubkey
4243

43-
if not verify(
44-
pubkey=proposer_pubkey,
45-
message=proposal_root,
46-
signature=block.signature,
47-
domain=get_domain(state.fork_data, state.slot, SignatureDomain.DOMAIN_PROPOSAL)):
44+
is_valid_signature = verify(
45+
pubkey=proposer_pubkey,
46+
message=proposal_root,
47+
signature=block.signature,
48+
domain=get_domain(state.fork_data, state.slot, SignatureDomain.DOMAIN_PROPOSAL)
49+
)
50+
51+
if not is_valid_signature:
4852
raise ValidationError("Invalid Proposer Signature on block")

eth/beacon/types/blocks.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,6 @@ def num_attestations(self) -> int:
118118
def get_block_without_signature_root(
119119
cls,
120120
block: 'BaseBeaconBlock') -> Hash32:
121-
return cls(
122-
slot=block.slot,
123-
parent_root=block.parent_root,
124-
state_root=block.state_root,
125-
randao_reveal=block.randao_reveal,
126-
candidate_pow_receipt_root=block.candidate_pow_receipt_root,
127-
signature=EMPTY_SIGNATURE,
128-
body=block.body,
121+
return block.copy(
122+
signature=EMPTY_SIGNATURE
129123
).root

tests/beacon/state_machines/test_validation.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
ValidationError,
55
)
66

7+
from eth.beacon.enums import (
8+
SignatureDomain,
9+
)
10+
711
from eth.beacon.state_machines.validation import (
812
validate_proposer_signature,
913
)
@@ -72,7 +76,7 @@ def test_validate_proposer_signature(
7276
signature=bls.sign(
7377
message=proposal_root,
7478
privkey=proposer_privkey,
75-
domain=2,
79+
domain=SignatureDomain.DOMAIN_PROPOSAL,
7680
),
7781
)
7882

0 commit comments

Comments
 (0)