refactor: move helper random_bytes to util library

Can be easily reviewed with `--color-moved=dimmed-zebra`.
This commit is contained in:
Sebastian Falbesoner
2022-07-19 17:41:16 +02:00
parent fdc1ca3896
commit faf43378e2
2 changed files with 13 additions and 5 deletions

View File

@ -91,7 +91,11 @@ from test_framework.script_util import (
script_to_p2wsh_script, script_to_p2wsh_script,
) )
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import assert_raises_rpc_error, assert_equal from test_framework.util import (
assert_raises_rpc_error,
assert_equal,
random_bytes,
)
from test_framework.key import generate_privkey, compute_xonly_pubkey, sign_schnorr, tweak_add_privkey, ECKey from test_framework.key import generate_privkey, compute_xonly_pubkey, sign_schnorr, tweak_add_privkey, ECKey
from test_framework.address import ( from test_framework.address import (
hash160, hash160,
@ -566,10 +570,6 @@ def random_checksig_style(pubkey):
ret = CScript([pubkey, opcode]) ret = CScript([pubkey, opcode])
return bytes(ret) return bytes(ret)
def random_bytes(n):
"""Return a random bytes object of length n."""
return bytes(random.getrandbits(8) for i in range(n))
def bitflipper(expr): def bitflipper(expr):
"""Return a callable that evaluates expr and returns it with a random bitflip.""" """Return a callable that evaluates expr and returns it with a random bitflip."""
def fn(ctx): def fn(ctx):

View File

@ -12,6 +12,7 @@ import inspect
import json import json
import logging import logging
import os import os
import random
import re import re
import time import time
import unittest import unittest
@ -286,6 +287,13 @@ def sha256sum_file(filename):
d = f.read(4096) d = f.read(4096)
return h.digest() return h.digest()
# TODO: Remove and use random.randbytes(n) instead, available in Python 3.9
def random_bytes(n):
"""Return a random bytes object of length n."""
return bytes(random.getrandbits(8) for i in range(n))
# RPC/P2P connection constants and functions # RPC/P2P connection constants and functions
############################################ ############################################