Skip to content

Commit f30ee8a

Browse files
authored
Merge pull request talaia-labs#67 from sr-gi/56-fix-blockchain-generate
Makes sure generated blocks have valid pow
2 parents 5f957ef + 82e452c commit f30ee8a

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

teos/src/test_utils.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -200,19 +200,20 @@ impl Blockchain {
200200
None => vec![],
201201
};
202202
let hashes = txdata.iter().map(|obj| obj.txid().as_hash());
203-
204-
let block = Block {
205-
header: BlockHeader {
206-
version: 0,
207-
prev_blockhash,
208-
merkle_root: bitcoin_merkle_root(hashes).into(),
209-
time,
210-
bits,
211-
nonce: 0,
212-
},
213-
txdata,
203+
let mut header = BlockHeader {
204+
version: 0,
205+
prev_blockhash,
206+
merkle_root: bitcoin_merkle_root(hashes).into(),
207+
time,
208+
bits,
209+
nonce: 0,
214210
};
215211

212+
while header.validate_pow(&header.target()).is_err() {
213+
header.nonce += 1;
214+
}
215+
216+
let block = Block { header, txdata };
216217
self.blocks.push(block.clone());
217218

218219
block

0 commit comments

Comments
 (0)