diff --git a/src/bench/crypto_hash.cpp b/src/bench/crypto_hash.cpp index 65da942ad7..a0799aea7a 100644 --- a/src/bench/crypto_hash.cpp +++ b/src/bench/crypto_hash.cpp @@ -192,10 +192,16 @@ static void SHA512(benchmark::Bench& bench) static void SipHash_32b(benchmark::Bench& bench) { - uint256 x; - uint64_t k1 = 0; + FastRandomContext rng{/*fDeterministic=*/true}; + auto k0{rng.rand64()}, k1{rng.rand64()}; + auto val{rng.rand256()}; + auto i{0U}; bench.run([&] { - *((uint64_t*)x.begin()) = SipHashUint256(0, ++k1, x); + ankerl::nanobench::doNotOptimizeAway(SipHashUint256(k0, k1, val)); + ++k0; + ++k1; + ++i; + val.data()[i % uint256::size()] ^= i & 0xFF; }); } diff --git a/test/functional/rpc_psbt.py b/test/functional/rpc_psbt.py index 9fa67cfcd6..85dbdf51e1 100755 --- a/test/functional/rpc_psbt.py +++ b/test/functional/rpc_psbt.py @@ -581,11 +581,11 @@ class PSBTTest(BitcoinTestFramework): # Make sure that a non-psbt with signatures cannot be converted signedtx = self.nodes[0].signrawtransactionwithwallet(rawtx['hex']) - assert_raises_rpc_error(-22, "Inputs must not have scriptWitnesses", + assert_raises_rpc_error(-22, "Inputs must not have", self.nodes[0].converttopsbt, hexstring=signedtx['hex']) # permitsigdata=False by default - assert_raises_rpc_error(-22, "Inputs must not have scriptWitnesses", + assert_raises_rpc_error(-22, "Inputs must not have", self.nodes[0].converttopsbt, hexstring=signedtx['hex'], permitsigdata=False) - assert_raises_rpc_error(-22, "Inputs must not have scriptWitnesses", + assert_raises_rpc_error(-22, "Inputs must not have", self.nodes[0].converttopsbt, hexstring=signedtx['hex'], permitsigdata=False, iswitness=True) # Unless we allow it to convert and strip signatures self.nodes[0].converttopsbt(hexstring=signedtx['hex'], permitsigdata=True)