Skip to content

Commit 0dcae07

Browse files
Merge branch 'master' into clean-up-build-cmd
2 parents a2b4540 + c8c0132 commit 0dcae07

File tree

4 files changed

+76
-41
lines changed

4 files changed

+76
-41
lines changed

cardano_node_tests/tests/delegation.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ def delegate_multisig_stake_addr(
246246
skey_files: tp.Iterable[clusterlib.FileType],
247247
pool_id: str = "",
248248
cold_vkey: pl.Path | None = None,
249-
use_build_cmd: bool = False,
249+
build_method=clusterlib_utils.BuildMethods.BUILD_RAW,
250250
) -> DelegationScriptOut:
251251
"""Submit registration certificate and delegate a multisig stake address to a pool."""
252252
# Create stake address registration cert if address is not already registered
@@ -296,15 +296,23 @@ def delegate_multisig_stake_addr(
296296
signing_key_files = [pool_user.payment.skey_file, *skey_files]
297297
witness_len = len(signing_key_files)
298298

299-
if use_build_cmd:
299+
if build_method == clusterlib_utils.BuildMethods.BUILD:
300300
tx_output = cluster_obj.g_transaction.build_tx(
301301
src_address=src_address,
302302
tx_name=temp_template,
303303
complex_certs=complex_certs,
304304
fee_buffer=2_000_000,
305305
witness_override=witness_len,
306306
)
307-
else:
307+
elif build_method == clusterlib_utils.BuildMethods.BUILD_EST:
308+
tx_output = cluster_obj.g_transaction.build_estimate_tx(
309+
src_address=src_address,
310+
tx_name=temp_template,
311+
complex_certs=complex_certs,
312+
fee_buffer=2_000_000,
313+
witness_count_add=witness_len,
314+
)
315+
elif build_method == clusterlib_utils.BuildMethods.BUILD_RAW:
308316
fee = cluster_obj.g_transaction.calculate_tx_fee(
309317
src_address=src_address,
310318
tx_name=temp_template,
@@ -317,6 +325,9 @@ def delegate_multisig_stake_addr(
317325
complex_certs=complex_certs,
318326
fee=fee,
319327
)
328+
else:
329+
msg = f"Unsupported build method: {build_method}"
330+
raise ValueError(msg)
320331

321332
# Create witness file for each key
322333
witness_files = [

cardano_node_tests/tests/test_tx_basic.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ def payment_addrs(
16221622
return addrs
16231623

16241624
@allure.link(helpers.get_vcs_link())
1625-
@common.PARAM_USE_BUILD_CMD
1625+
@common.PARAM_BUILD_METHOD_NO_EST
16261626
@submit_utils.PARAM_SUBMIT_METHOD
16271627
@pytest.mark.parametrize("tx_is", ("witnessed", "signed"))
16281628
@pytest.mark.smoke
@@ -1632,7 +1632,7 @@ def test_incremental_signing(
16321632
self,
16331633
cluster: clusterlib.ClusterLib,
16341634
payment_addrs: list[clusterlib.AddressRecord],
1635-
use_build_cmd: bool,
1635+
build_method: str,
16361636
tx_is: str,
16371637
submit_method: str,
16381638
):
@@ -1666,7 +1666,7 @@ def test_incremental_signing(
16661666
signing_key_files=payment_skey_files,
16671667
)
16681668

1669-
if use_build_cmd:
1669+
if build_method == clusterlib_utils.BuildMethods.BUILD:
16701670
tx_output = cluster.g_transaction.build_tx(
16711671
src_address=src_addr.address,
16721672
tx_name=temp_template,
@@ -1675,7 +1675,16 @@ def test_incremental_signing(
16751675
fee_buffer=1_000_000,
16761676
witness_override=len(payment_skey_files),
16771677
)
1678-
else:
1678+
elif build_method == clusterlib_utils.BuildMethods.BUILD_EST:
1679+
tx_output = cluster.g_transaction.build_estimate_tx(
1680+
src_address=src_addr.address,
1681+
tx_name=temp_template,
1682+
tx_files=tx_files,
1683+
txouts=txouts,
1684+
fee_buffer=1_000_000,
1685+
witness_count_add=len(payment_skey_files),
1686+
)
1687+
elif build_method == clusterlib_utils.BuildMethods.BUILD_RAW:
16791688
fee = cluster.g_transaction.calculate_tx_fee(
16801689
src_address=src_addr.address,
16811690
tx_name=temp_template,
@@ -1690,6 +1699,9 @@ def test_incremental_signing(
16901699
tx_files=tx_files,
16911700
fee=fee,
16921701
)
1702+
else:
1703+
msg = f"Unsupported build method: {build_method}"
1704+
raise ValueError(msg)
16931705

16941706
# Sign or witness Tx body with part of the skeys and thus create Tx file that will be used
16951707
# for incremental signing

cardano_node_tests/tests/tests_conway/test_treasury_withdrawals.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ def test_enact_treasury_withdrawals(
186186
cluster_obj=cluster,
187187
name_template=f"{temp_template}_action_bootstrap",
188188
src_address=pool_user_ug_treasury.payment.address,
189-
use_build_cmd=False,
189+
build_method=clusterlib_utils.BuildMethods.BUILD_RAW,
190190
tx_files=tx_files_action,
191191
deposit=actions_deposit_combined + stake_deposit_amt,
192192
)
@@ -201,7 +201,7 @@ def test_enact_treasury_withdrawals(
201201
cluster_obj=cluster,
202202
name_template=f"{temp_template}_action_build",
203203
src_address=pool_user_ug_treasury.payment.address,
204-
use_build_cmd=True,
204+
build_method=clusterlib_utils.BuildMethods.BUILD,
205205
tx_files=tx_files_action,
206206
)
207207
err_str = str(excinfo.value)
@@ -221,7 +221,7 @@ def test_enact_treasury_withdrawals(
221221
submit_method=submit_utils.SubmitMethods.API
222222
if submit_utils.is_submit_api_available()
223223
else submit_utils.SubmitMethods.CLI,
224-
use_build_cmd=False,
224+
build_method=clusterlib_utils.BuildMethods.BUILD_RAW,
225225
tx_files=tx_files_action,
226226
deposit=actions_deposit_combined + stake_deposit_amt,
227227
)

cardano_node_tests/tests/tests_plutus/test_delegation.py

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def register_delegate_stake_addr(
123123
pool_id: str,
124124
redeemer_file: pl.Path,
125125
reference_script_utxos: list[clusterlib.UTXOData] | None,
126-
use_build_cmd: bool,
126+
build_method: str,
127127
) -> tuple[clusterlib.TxRawOutput, list[dict]]:
128128
"""Submit registration certificate and delegate to pool."""
129129
temp_template = f"{temp_template}_reg_deleg"
@@ -186,7 +186,7 @@ def register_delegate_stake_addr(
186186
fee_buffer=2_000_000,
187187
witness_override=len(tx_files.signing_key_files),
188188
)
189-
if use_build_cmd
189+
if build_method == clusterlib_utils.BuildMethods.BUILD
190190
else []
191191
)
192192

@@ -195,7 +195,7 @@ def register_delegate_stake_addr(
195195
name_template=temp_template,
196196
src_address=pool_user.payment.address,
197197
txins=txins,
198-
use_build_cmd=use_build_cmd,
198+
build_method=build_method,
199199
tx_files=tx_files,
200200
complex_certs=[reg_cert_script, deleg_cert_script],
201201
raw_fee=raw_fee,
@@ -224,7 +224,7 @@ def register_stake_addr(
224224
pool_user: delegation.PoolUserScript,
225225
redeemer_file: pl.Path,
226226
reference_script_utxos: list[clusterlib.UTXOData] | None,
227-
use_build_cmd: bool,
227+
build_method: str,
228228
) -> tuple[clusterlib.TxRawOutput, list[dict]]:
229229
"""Register a stake address."""
230230
temp_template = f"{temp_template}_reg"
@@ -250,7 +250,7 @@ def register_stake_addr(
250250
tx_files = clusterlib.TxFiles(signing_key_files=[pool_user.payment.skey_file])
251251
plutus_costs_reg = []
252252

253-
if use_build_cmd:
253+
if build_method == clusterlib_utils.BuildMethods.BUILD:
254254
tx_raw_output_reg = cluster_obj.g_transaction.build_tx(
255255
src_address=pool_user.payment.address,
256256
tx_name=temp_template,
@@ -309,7 +309,7 @@ def delegate_stake_addr(
309309
pool_id: str,
310310
redeemer_file: pl.Path,
311311
reference_script_utxos: list[clusterlib.UTXOData] | None,
312-
use_build_cmd: bool,
312+
build_method: str,
313313
) -> tuple[clusterlib.TxRawOutput, list[dict]]:
314314
"""Delegate a stake address to a pool."""
315315
temp_template = f"{temp_template}_deleg"
@@ -335,7 +335,7 @@ def delegate_stake_addr(
335335
tx_files = clusterlib.TxFiles(signing_key_files=[pool_user.payment.skey_file])
336336
plutus_costs_deleg = []
337337

338-
if use_build_cmd:
338+
if build_method == clusterlib_utils.BuildMethods.BUILD:
339339
tx_raw_output_deleg = cluster_obj.g_transaction.build_tx(
340340
src_address=pool_user.payment.address,
341341
tx_name=temp_template,
@@ -395,7 +395,7 @@ def deregister_stake_addr(
395395
pool_user: delegation.PoolUserScript,
396396
redeemer_file: pl.Path,
397397
reference_script_utxos: list[clusterlib.UTXOData] | None,
398-
use_build_cmd: bool,
398+
build_method: str,
399399
) -> tuple[clusterlib.TxRawOutput, list[dict]]:
400400
"""Deregister stake address."""
401401
temp_template = f"{temp_template}_dereg_withdraw"
@@ -434,7 +434,7 @@ def deregister_stake_addr(
434434

435435
plutus_costs = []
436436

437-
if use_build_cmd:
437+
if build_method == clusterlib_utils.BuildMethods.BUILD:
438438
tx_raw_output = cluster_obj.g_transaction.build_tx(
439439
src_address=pool_user.payment.address,
440440
tx_name=temp_template,
@@ -488,7 +488,7 @@ def deregister_stake_addr(
488488
assert not stake_addr_info.delegation, f"Stake address is still delegated: {stake_addr_info}"
489489

490490
tx_db_dereg = dbsync_utils.check_tx(cluster_obj=cluster_obj, tx_raw_output=tx_raw_output)
491-
if tx_db_dereg and use_build_cmd:
491+
if tx_db_dereg and build_method == clusterlib_utils.BuildMethods.BUILD:
492492
assert pool_user.stake.address in tx_db_dereg.stake_deregistration
493493

494494
# Compare cost of Plutus script with data from db-sync
@@ -504,7 +504,7 @@ def deregister_stake_addr(
504504
# might be already in use.
505505
@common.SKIPIF_BUILD_UNUSABLE
506506
@common.PARAM_PLUTUS_VERSION
507-
@common.PARAM_USE_BUILD_CMD
507+
@common.PARAM_BUILD_METHOD_NO_EST
508508
class TestRegisterAddr:
509509
"""Tests for address registration."""
510510

@@ -515,7 +515,7 @@ def test_register_deregister(
515515
cluster_lock_42stake: tuple[clusterlib.ClusterLib, str],
516516
pool_user: delegation.PoolUserScript,
517517
plutus_version: str,
518-
use_build_cmd: bool,
518+
build_method: str,
519519
):
520520
"""Register and deregister Plutus script stake address.
521521
@@ -615,7 +615,7 @@ def test_register_deregister(
615615
pool_user=pool_user,
616616
redeemer_file=plutus_common.REDEEMER_42,
617617
reference_script_utxos=reference_script_utxos,
618-
use_build_cmd=use_build_cmd,
618+
build_method=build_method,
619619
)
620620

621621
tx_db_record_reg = dbsync_utils.check_tx(
@@ -640,7 +640,11 @@ def test_register_deregister(
640640
pool_user=pool_user,
641641
redeemer_file=plutus_common.REDEEMER_42,
642642
reference_script_utxos=reference_script_utxos,
643-
use_build_cmd=use_build_cmd and VERSIONS.cli != CLI_WITH_ISSUE_942,
643+
build_method=(
644+
clusterlib_utils.BuildMethods.BUILD
645+
if VERSIONS.cli != CLI_WITH_ISSUE_942
646+
else clusterlib_utils.BuildMethods.BUILD_RAW
647+
),
644648
)
645649

646650
if reward_error:
@@ -651,7 +655,7 @@ def test_register_deregister(
651655
tx_view.check_tx_view(cluster_obj=cluster, tx_raw_output=tx_raw_output_dereg)
652656

653657
# Compare cost of Plutus script with data from db-sync
654-
if tx_db_record_reg and use_build_cmd:
658+
if tx_db_record_reg and clusterlib_utils.BuildMethods.BUILD:
655659
dbsync_utils.check_plutus_costs(
656660
redeemer_records=tx_db_record_reg.redeemers, cost_records=plutus_costs_reg
657661
)
@@ -661,7 +665,7 @@ def test_register_deregister(
661665
# might be already in use.
662666
@common.SKIPIF_BUILD_UNUSABLE
663667
@common.PARAM_PLUTUS_VERSION
664-
@common.PARAM_USE_BUILD_CMD
668+
@common.PARAM_BUILD_METHOD
665669
class TestDelegateAddr:
666670
"""Tests for address delegation to stake pools."""
667671

@@ -677,7 +681,7 @@ def test_delegate_deregister( # noqa: C901
677681
cluster_lock_42stake: tuple[clusterlib.ClusterLib, str],
678682
pool_user: delegation.PoolUserScript,
679683
plutus_version: str,
680-
use_build_cmd: bool,
684+
build_method: str,
681685
use_reference_script: bool,
682686
):
683687
"""Register, delegate and deregister Plutus script stake address.
@@ -783,7 +787,7 @@ def test_delegate_deregister( # noqa: C901
783787
pool_id=pool_id,
784788
redeemer_file=plutus_common.REDEEMER_42,
785789
reference_script_utxos=reference_script_utxos,
786-
use_build_cmd=use_build_cmd,
790+
build_method=build_method,
787791
)
788792
except clusterlib.CLIError as exc:
789793
str_exc = str(exc)
@@ -798,14 +802,14 @@ def test_delegate_deregister( # noqa: C901
798802
issues.cli_297.finish_test()
799803

800804
if (
801-
use_build_cmd
805+
build_method == clusterlib_utils.BuildMethods.BUILD
802806
and "overspent budget" in str_exc
803807
and VERSIONS.transaction_era >= VERSIONS.CONWAY
804808
and VERSIONS.cli >= version.parse("10.2.0.0")
805809
):
806810
issues.cli_1023.finish_test()
807811
elif (
808-
use_build_cmd
812+
build_method == clusterlib_utils.BuildMethods.BUILD
809813
and "overspent budget" in str_exc
810814
and VERSIONS.transaction_era >= VERSIONS.CONWAY
811815
):
@@ -829,9 +833,9 @@ def test_delegate_deregister( # noqa: C901
829833
reward_error = ""
830834

831835
# To speed up test run, skip waiting for rewards in selected scenarios
832-
skip_rewards_check = (use_reference_script and not use_build_cmd) or (
833-
not use_reference_script and use_build_cmd
834-
)
836+
skip_rewards_check = (
837+
use_reference_script and build_method != clusterlib_utils.BuildMethods.BUILD
838+
) or (not use_reference_script and build_method == clusterlib_utils.BuildMethods.BUILD)
835839

836840
if not skip_rewards_check:
837841
LOGGER.info("Waiting 4 epochs for first reward.")
@@ -856,7 +860,11 @@ def test_delegate_deregister( # noqa: C901
856860
pool_user=pool_user,
857861
redeemer_file=plutus_common.REDEEMER_42,
858862
reference_script_utxos=reference_script_utxos,
859-
use_build_cmd=use_build_cmd and VERSIONS.cli != CLI_WITH_ISSUE_942,
863+
build_method=(
864+
clusterlib_utils.BuildMethods.BUILD
865+
if VERSIONS.cli != CLI_WITH_ISSUE_942
866+
else clusterlib_utils.BuildMethods.BUILD_RAW
867+
),
860868
)
861869
except clusterlib.CLIError as exc:
862870
if "(MissingRedeemers" in str(exc):
@@ -895,7 +903,7 @@ def test_register_delegate_deregister(
895903
cluster_lock_42stake: tuple[clusterlib.ClusterLib, str],
896904
pool_user: delegation.PoolUserScript,
897905
plutus_version: str,
898-
use_build_cmd: bool,
906+
build_method: str,
899907
):
900908
"""Register, delegate and deregister Plutus script stake address.
901909
@@ -1007,7 +1015,7 @@ def test_register_delegate_deregister(
10071015
pool_user=pool_user,
10081016
redeemer_file=plutus_common.REDEEMER_42,
10091017
reference_script_utxos=reference_script_utxos,
1010-
use_build_cmd=use_build_cmd,
1018+
build_method=build_method,
10111019
)
10121020

10131021
# Delegate a stake address
@@ -1025,7 +1033,7 @@ def test_register_delegate_deregister(
10251033
pool_id=pool_id,
10261034
redeemer_file=plutus_common.REDEEMER_42,
10271035
reference_script_utxos=reference_script_utxos,
1028-
use_build_cmd=use_build_cmd,
1036+
build_method=build_method,
10291037
)
10301038

10311039
assert cluster.g_query.get_epoch() == init_epoch, (
@@ -1044,7 +1052,7 @@ def test_register_delegate_deregister(
10441052
pool_user=pool_user,
10451053
redeemer_file=plutus_common.REDEEMER_42,
10461054
reference_script_utxos=reference_script_utxos,
1047-
use_build_cmd=use_build_cmd,
1055+
build_method=build_method,
10481056
)
10491057

10501058
tx_db_record_reg = dbsync_utils.check_tx(
@@ -1084,7 +1092,11 @@ def test_register_delegate_deregister(
10841092
pool_user=pool_user,
10851093
redeemer_file=plutus_common.REDEEMER_42,
10861094
reference_script_utxos=reference_script_utxos,
1087-
use_build_cmd=use_build_cmd and VERSIONS.cli != CLI_WITH_ISSUE_942,
1095+
build_method=(
1096+
clusterlib_utils.BuildMethods.BUILD
1097+
if VERSIONS.cli != CLI_WITH_ISSUE_942
1098+
else clusterlib_utils.BuildMethods.BUILD_RAW
1099+
),
10881100
)
10891101

10901102
if reward_error:
@@ -1096,11 +1108,11 @@ def test_register_delegate_deregister(
10961108
tx_view.check_tx_view(cluster_obj=cluster, tx_raw_output=tx_raw_output_dereg)
10971109

10981110
# Compare cost of Plutus script with data from db-sync
1099-
if tx_db_record_reg and use_build_cmd:
1111+
if tx_db_record_reg and build_method == clusterlib_utils.BuildMethods.BUILD:
11001112
dbsync_utils.check_plutus_costs(
11011113
redeemer_records=tx_db_record_reg.redeemers, cost_records=plutus_costs_reg
11021114
)
1103-
if tx_db_record_deleg and use_build_cmd:
1115+
if tx_db_record_deleg and build_method == clusterlib_utils.BuildMethods.BUILD:
11041116
dbsync_utils.check_plutus_costs(
11051117
redeemer_records=tx_db_record_deleg.redeemers, cost_records=plutus_costs_deleg
11061118
)

0 commit comments

Comments
 (0)