invalid randao signature test implemented

This commit is contained in:
Darren Langley
2019-04-18 07:00:40 +10:00
parent d76246e600
commit 010d319fdf
4 changed files with 35 additions and 5 deletions

View File

@@ -33,6 +33,7 @@ impl TestingBeaconBlockBuilder {
/// Modifying the block after signing may invalidate the signature.
pub fn sign(&mut self, sk: &SecretKey, fork: &Fork, spec: &ChainSpec) {
let message = self.block.signed_root();
println!("block set {:?}", self.block);
let epoch = self.block.slot.epoch(spec.slots_per_epoch);
let domain = spec.get_domain(epoch, Domain::BeaconBlock, fork);
self.block.signature = Signature::new(&message, domain, sk);
@@ -48,6 +49,11 @@ impl TestingBeaconBlockBuilder {
self.block.body.randao_reveal = Signature::new(&message, domain, sk);
}
/// Has the randao reveal been set?
pub fn randao_reveal_not_set(&mut self) -> bool {
self.block.body.randao_reveal.is_empty()
}
/// Inserts a signed, valid `ProposerSlashing` for the validator.
pub fn insert_proposer_slashing(
&mut self,