From 82e452c6b7ffc64f6060c574141b31ec2b4fb34a Mon Sep 17 00:00:00 2001 From: Sergi Delgado Segura Date: Mon, 27 Jun 2022 10:52:24 +0200 Subject: [PATCH] Makes sure generated blocks have valid pow Close #56 --- teos/src/test_utils.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/teos/src/test_utils.rs b/teos/src/test_utils.rs index baa407b..417b263 100644 --- a/teos/src/test_utils.rs +++ b/teos/src/test_utils.rs @@ -200,19 +200,20 @@ impl Blockchain { None => vec![], }; let hashes = txdata.iter().map(|obj| obj.txid().as_hash()); - - let block = Block { - header: BlockHeader { - version: 0, - prev_blockhash, - merkle_root: bitcoin_merkle_root(hashes).into(), - time, - bits, - nonce: 0, - }, - txdata, + let mut header = BlockHeader { + version: 0, + prev_blockhash, + merkle_root: bitcoin_merkle_root(hashes).into(), + time, + bits, + nonce: 0, }; + while header.validate_pow(&header.target()).is_err() { + header.nonce += 1; + } + + let block = Block { header, txdata }; self.blocks.push(block.clone()); block