@@ -343,6 +343,7 @@ def get_payment_addrs(
343343 num : int ,
344344 fund_idx : list [int ] | None = None ,
345345 caching_key : str = "" ,
346+ fund_just_once : bool = False ,
346347 amount : int | None = None ,
347348) -> list [clusterlib .AddressRecord ]:
348349 """Create new payment addresses."""
@@ -360,17 +361,21 @@ def _create_addrs() -> list[clusterlib.AddressRecord]:
360361 if caching_key :
361362 fixture_cache : cluster_management .FixtureCache [list [clusterlib .AddressRecord ] | None ]
362363 with cluster_manager .cache_fixture (key = caching_key ) as fixture_cache :
363- if fixture_cache .value is not None :
364- return fixture_cache .value
365-
366- addrs = _create_addrs ()
367- fixture_cache .value = addrs
364+ if fixture_cache .value is None :
365+ addrs = _create_addrs ()
366+ fixture_cache .value = addrs
367+ else :
368+ addrs = fixture_cache .value
369+ if fund_just_once :
370+ return addrs
368371 else :
369372 addrs = _create_addrs ()
370373
371374 # Fund source addresses
372375 fund_addresses = addrs if fund_idx is None else [addrs [i ] for i in fund_idx ]
373376 if fund_addresses :
377+ if amount is None :
378+ amount = 200_000_000
374379 clusterlib_utils .fund_from_faucet (
375380 * fund_addresses ,
376381 cluster_obj = cluster_obj ,
@@ -386,6 +391,7 @@ def get_payment_addr(
386391 cluster_manager : cluster_management .ClusterManager ,
387392 cluster_obj : clusterlib .ClusterLib ,
388393 caching_key : str = "" ,
394+ fund_just_once : bool = False ,
389395 amount : int | None = None ,
390396) -> clusterlib .AddressRecord :
391397 """Create a single new payment address."""
@@ -395,6 +401,7 @@ def get_payment_addr(
395401 cluster_obj = cluster_obj ,
396402 num = 1 ,
397403 caching_key = caching_key ,
404+ fund_just_once = fund_just_once ,
398405 amount = amount ,
399406 )[0 ]
400407
@@ -406,6 +413,7 @@ def get_pool_users(
406413 num : int ,
407414 fund_idx : list [int ] | None = None ,
408415 caching_key : str = "" ,
416+ fund_just_once : bool = False ,
409417 amount : int | None = None ,
410418) -> list [clusterlib .PoolUser ]:
411419 """Create new pool users."""
@@ -424,17 +432,22 @@ def _create_pool_users() -> list[clusterlib.PoolUser]:
424432 if caching_key :
425433 fixture_cache : cluster_management .FixtureCache [list [clusterlib .PoolUser ] | None ]
426434 with cluster_manager .cache_fixture (key = caching_key ) as fixture_cache :
427- if fixture_cache .value is not None :
428- return fixture_cache .value
435+ if fixture_cache .value is None :
436+ users = _create_pool_users ()
437+ fixture_cache .value = users
438+ else :
439+ users = fixture_cache .value
440+ if fund_just_once :
441+ return users
429442
430- users = _create_pool_users ()
431- fixture_cache .value = users
432443 else :
433444 users = _create_pool_users ()
434445
435446 # Fund source addresses
436447 fund_users = users if fund_idx is None else [users [i ] for i in fund_idx ]
437448 if fund_users :
449+ if amount is None :
450+ amount = 200_000_000
438451 clusterlib_utils .fund_from_faucet (
439452 * fund_users ,
440453 cluster_obj = cluster_obj ,
@@ -450,6 +463,7 @@ def get_pool_user(
450463 cluster_manager : cluster_management .ClusterManager ,
451464 cluster_obj : clusterlib .ClusterLib ,
452465 caching_key : str = "" ,
466+ fund_just_once : bool = False ,
453467 amount : int | None = None ,
454468) -> clusterlib .PoolUser :
455469 """Create a single new pool user."""
@@ -459,6 +473,7 @@ def get_pool_user(
459473 cluster_obj = cluster_obj ,
460474 num = 1 ,
461475 caching_key = caching_key ,
476+ fund_just_once = fund_just_once ,
462477 amount = amount ,
463478 )[0 ]
464479
@@ -468,6 +483,7 @@ def get_registered_pool_user(
468483 cluster_manager : cluster_management .ClusterManager ,
469484 cluster_obj : clusterlib .ClusterLib ,
470485 caching_key : str = "" ,
486+ fund_just_once : bool = False ,
471487 amount : int | None = None ,
472488) -> clusterlib .PoolUser :
473489 """Create new registered pool users."""
@@ -476,6 +492,7 @@ def get_registered_pool_user(
476492 cluster_manager = cluster_manager ,
477493 cluster_obj = cluster_obj ,
478494 caching_key = caching_key ,
495+ fund_just_once = fund_just_once ,
479496 amount = amount ,
480497 )
481498
0 commit comments