mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-01-12 19:54:34 +00:00
use better rng practice for reproducibility
This commit is contained in:
parent
4e2c7d20b7
commit
76d69263fc
@ -1,4 +1,4 @@
|
|||||||
import random
|
from random import Random
|
||||||
|
|
||||||
from eth2spec.test.helpers.keys import pubkeys, privkeys
|
from eth2spec.test.helpers.keys import pubkeys, privkeys
|
||||||
from eth2spec.utils import bls
|
from eth2spec.utils import bls
|
||||||
@ -98,7 +98,8 @@ def prepare_random_genesis_deposits(spec,
|
|||||||
min_pubkey_index=0,
|
min_pubkey_index=0,
|
||||||
max_amount=None,
|
max_amount=None,
|
||||||
min_amount=None,
|
min_amount=None,
|
||||||
deposit_data_list=None):
|
deposit_data_list=None,
|
||||||
|
rng=Random(3131)):
|
||||||
if max_amount is None:
|
if max_amount is None:
|
||||||
max_amount = spec.MAX_EFFECTIVE_BALANCE
|
max_amount = spec.MAX_EFFECTIVE_BALANCE
|
||||||
if min_amount is None:
|
if min_amount is None:
|
||||||
@ -107,11 +108,11 @@ def prepare_random_genesis_deposits(spec,
|
|||||||
deposit_data_list = []
|
deposit_data_list = []
|
||||||
deposits = []
|
deposits = []
|
||||||
for _ in range(num_deposits):
|
for _ in range(num_deposits):
|
||||||
pubkey_index = random.randint(min_pubkey_index, max_pubkey_index)
|
pubkey_index = rng.randint(min_pubkey_index, max_pubkey_index)
|
||||||
pubkey = pubkeys[pubkey_index]
|
pubkey = pubkeys[pubkey_index]
|
||||||
privkey = privkeys[pubkey_index]
|
privkey = privkeys[pubkey_index]
|
||||||
amount = random.randint(min_amount, max_amount)
|
amount = rng.randint(min_amount, max_amount)
|
||||||
random_byte = bytes([random.randint(0, 255)])
|
random_byte = bytes([rng.randint(0, 255)])
|
||||||
withdrawal_credentials = spec.BLS_WITHDRAWAL_PREFIX + spec.hash(random_byte)[1:]
|
withdrawal_credentials = spec.BLS_WITHDRAWAL_PREFIX + spec.hash(random_byte)[1:]
|
||||||
deposit, root, deposit_data_list = build_deposit(
|
deposit, root, deposit_data_list = build_deposit(
|
||||||
spec,
|
spec,
|
||||||
|
@ -156,7 +156,7 @@ def test_initialize_beacon_state_random_valid_genesis(spec):
|
|||||||
# Make a bunch of random deposits
|
# Make a bunch of random deposits
|
||||||
random_deposits, _, deposit_data_list = prepare_random_genesis_deposits(
|
random_deposits, _, deposit_data_list = prepare_random_genesis_deposits(
|
||||||
spec,
|
spec,
|
||||||
num_deposits=30,
|
num_deposits=20,
|
||||||
min_pubkey_index=spec.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT - 5,
|
min_pubkey_index=spec.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT - 5,
|
||||||
max_pubkey_index=spec.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT + 5,
|
max_pubkey_index=spec.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT + 5,
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user