sign blinded blob sidecars during builder API proposals (#5537)
This commit is contained in:
parent
48d7e62335
commit
34eade3a99
|
@ -90,7 +90,7 @@ func compute_block_signing_root*(
|
||||||
|
|
||||||
func compute_blob_signing_root(
|
func compute_blob_signing_root(
|
||||||
fork: Fork, genesis_validators_root: Eth2Digest, slot: Slot,
|
fork: Fork, genesis_validators_root: Eth2Digest, slot: Slot,
|
||||||
blob: BlobSidecar): Eth2Digest =
|
blob: BlindedBlobSidecar | BlobSidecar): Eth2Digest =
|
||||||
let
|
let
|
||||||
epoch = epoch(slot)
|
epoch = epoch(slot)
|
||||||
domain = get_domain(fork, DOMAIN_BLOB_SIDECAR, epoch,
|
domain = get_domain(fork, DOMAIN_BLOB_SIDECAR, epoch,
|
||||||
|
@ -109,7 +109,8 @@ func get_block_signature*(
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/deneb/validator.md#constructing-the-signedblobsidecars
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/deneb/validator.md#constructing-the-signedblobsidecars
|
||||||
proc get_blob_sidecar_signature*(
|
proc get_blob_sidecar_signature*(
|
||||||
fork: Fork, genesis_validators_root: Eth2Digest, slot: Slot,
|
fork: Fork, genesis_validators_root: Eth2Digest, slot: Slot,
|
||||||
blob: BlobSidecar, privkey: ValidatorPrivKey): CookedSig =
|
blob: BlindedBlobSidecar | BlobSidecar, privkey: ValidatorPrivKey):
|
||||||
|
CookedSig =
|
||||||
let signing_root = compute_blob_signing_root(
|
let signing_root = compute_blob_signing_root(
|
||||||
fork, genesis_validators_root, slot, blob)
|
fork, genesis_validators_root, slot, blob)
|
||||||
|
|
||||||
|
|
|
@ -761,9 +761,18 @@ proc blindedBlockCheckSlashingAndSign[
|
||||||
fork, genesis_validators_root, slot, blockRoot,
|
fork, genesis_validators_root, slot, blockRoot,
|
||||||
blindedBlockContents.signed_blinded_block.message)
|
blindedBlockContents.signed_blinded_block.message)
|
||||||
if res.isErr():
|
if res.isErr():
|
||||||
return err("Unable to sign block: " & res.error())
|
return err("Unable to sign blinded block: " & res.error())
|
||||||
res.get()
|
res.get()
|
||||||
|
|
||||||
|
for signedBlindedBlobSidecar in mitems(
|
||||||
|
blindedBlockContents.signed_blinded_blob_sidecars):
|
||||||
|
signedBlindedBlobSidecar.signature = validator.getBlobSignature(
|
||||||
|
fork, genesis_validators_root, slot,
|
||||||
|
signedBlindedBlobSidecar.message).valueOr:
|
||||||
|
warn "Unable to sign blinded blob",
|
||||||
|
reason = error()
|
||||||
|
return
|
||||||
|
|
||||||
return ok blindedBlockContents
|
return ok blindedBlockContents
|
||||||
|
|
||||||
proc getUnsignedBlindedBeaconBlock[
|
proc getUnsignedBlindedBeaconBlock[
|
||||||
|
|
|
@ -628,7 +628,8 @@ proc getBlockSignature*(v: AttachedValidator, fork: Fork,
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/deneb/validator.md#constructing-the-signedblobsidecars
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/deneb/validator.md#constructing-the-signedblobsidecars
|
||||||
proc getBlobSignature*(v: AttachedValidator, fork: Fork,
|
proc getBlobSignature*(v: AttachedValidator, fork: Fork,
|
||||||
genesis_validators_root: Eth2Digest, slot: Slot,
|
genesis_validators_root: Eth2Digest, slot: Slot,
|
||||||
blob: BlobSidecar): SignatureResult =
|
blob: BlindedBlobSidecar | BlobSidecar):
|
||||||
|
SignatureResult =
|
||||||
return
|
return
|
||||||
case v.kind
|
case v.kind
|
||||||
of ValidatorKind.Local:
|
of ValidatorKind.Local:
|
||||||
|
|
Loading…
Reference in New Issue