2019-05-15 19:31:02 +02:00
|
|
|
from eth2spec.utils.bls import bls_sign
|
2019-11-21 23:13:45 +01:00
|
|
|
from eth2spec.utils.ssz.ssz_impl import hash_tree_root
|
2019-05-15 19:31:02 +02:00
|
|
|
|
|
|
|
|
2019-05-30 22:57:18 +02:00
|
|
|
def sign_block_header(spec, state, header, privkey):
|
|
|
|
domain = spec.get_domain(
|
2019-05-15 19:31:02 +02:00
|
|
|
state=state,
|
|
|
|
domain_type=spec.DOMAIN_BEACON_PROPOSER,
|
|
|
|
)
|
2019-11-21 23:13:45 +01:00
|
|
|
return spec.SignedBeaconBlockHeader(message=header, signature=bls_sign(
|
|
|
|
message_hash=hash_tree_root(header),
|
2019-05-15 19:31:02 +02:00
|
|
|
privkey=privkey,
|
|
|
|
domain=domain,
|
2019-11-21 23:13:45 +01:00
|
|
|
))
|