Skip to content

Commit 6bc9b36

Browse files
committed
feat(plutus): gate batch6 scripts by node version >= 10.7.0
Move currently unsupported batch6 policy scripts for Plutus V3 to be conditionally included only when the node version is at least 10.7.0. This avoids running unsupported scripts on older node versions.
1 parent 3ec74d1 commit 6bc9b36

File tree

1 file changed

+74
-64
lines changed

1 file changed

+74
-64
lines changed

cardano_node_tests/tests/plutus_common.py

Lines changed: 74 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44

55
import pytest
66
from cardano_clusterlib import clusterlib
7+
from packaging import version
78

89
from cardano_node_tests.tests import issues
910
from cardano_node_tests.utils import cluster_nodes
1011
from cardano_node_tests.utils import clusterlib_utils
1112
from cardano_node_tests.utils import dbsync_utils
1213
from cardano_node_tests.utils import helpers
14+
from cardano_node_tests.utils.versions import VERSIONS
1315

1416
DATA_DIR = pl.Path(__file__).parent / "data"
1517
PLUTUS_DIR = DATA_DIR / "plutus"
@@ -490,48 +492,6 @@ class PlutusScriptData:
490492
"succeedingIndexArrayPolicyScript_V3_110.plutus",
491493
"succeedingLengthOfArrayPolicyScript_V3_110.plutus",
492494
"succeedingListToArrayPolicyScript_V3_110.plutus",
493-
"succeedingDeleteExistingCoinPolicyScript_V3_100.plutus",
494-
"succeedingDeleteExistingCoinPolicyScript_V3_110.plutus",
495-
"succeedingDeleteMissingCoinPolicyScript_V3_100.plutus",
496-
"succeedingDeleteMissingCoinPolicyScript_V3_110.plutus",
497-
"succeedingInsertExistingCoinPolicyScript_V3_100.plutus",
498-
"succeedingInsertExistingCoinPolicyScript_V3_110.plutus",
499-
"succeedingInsertNewCoinPolicyScript_V3_100.plutus",
500-
"succeedingInsertNewCoinPolicyScript_V3_110.plutus",
501-
"succeedingLookupMissingCoinPolicyScript_V3_100.plutus",
502-
"succeedingLookupMissingCoinPolicyScript_V3_110.plutus",
503-
"succeedingScaleValueNegativePolicyScript_V3_100.plutus",
504-
"succeedingScaleValueNegativePolicyScript_V3_110.plutus",
505-
"succeedingScaleValuePositivePolicyScript_V3_100.plutus",
506-
"succeedingScaleValuePositivePolicyScript_V3_110.plutus",
507-
"succeedingScaleValueZeroPolicyScript_V3_100.plutus",
508-
"succeedingScaleValueZeroPolicyScript_V3_110.plutus",
509-
"succeedingUnionValueAssociativePolicyScript_V3_100.plutus",
510-
"succeedingUnionValueAssociativePolicyScript_V3_110.plutus",
511-
"succeedingUnionValueAssociativeSingleCoinPolicyScript_V3_100.plutus",
512-
"succeedingUnionValueAssociativeSingleCoinPolicyScript_V3_110.plutus",
513-
"succeedingUnionValueCommutativePolicyScript_V3_100.plutus",
514-
"succeedingUnionValueCommutativePolicyScript_V3_110.plutus",
515-
"succeedingUnionValueCommutativeSingleCoinPolicyScript_V3_100.plutus",
516-
"succeedingUnionValueCommutativeSingleCoinPolicyScript_V3_110.plutus",
517-
"succeedingUnionValueEmptyIdentityPolicyScript_V3_100.plutus",
518-
"succeedingUnionValueEmptyIdentityPolicyScript_V3_110.plutus",
519-
"succeedingUnionValueInversablePolicyScript_V3_100.plutus",
520-
"succeedingUnionValueInversablePolicyScript_V3_110.plutus",
521-
"succeedingValueContainsDisjointPolicyScript_V3_100.plutus",
522-
"succeedingValueContainsDisjointPolicyScript_V3_110.plutus",
523-
"succeedingValueContainsEmptyPolicyScript_V3_100.plutus",
524-
"succeedingValueContainsEmptyPolicyScript_V3_110.plutus",
525-
"succeedingValueContainsIsSubValuePolicyScript_V3_100.plutus",
526-
"succeedingValueContainsIsSubValuePolicyScript_V3_110.plutus",
527-
"succeedingValueContainsReflexivePolicyScript_V3_100.plutus",
528-
"succeedingValueContainsReflexivePolicyScript_V3_110.plutus",
529-
"succeedingValueContainsRightExtraKeyPolicyScript_V3_100.plutus",
530-
"succeedingValueContainsRightExtraKeyPolicyScript_V3_110.plutus",
531-
"succeedingValueContainsRightHigherAmountPolicyScript_V3_100.plutus",
532-
"succeedingValueContainsRightHigherAmountPolicyScript_V3_110.plutus",
533-
"succeedingValueDataRoundTripPolicyScript_V3_100.plutus",
534-
"succeedingValueDataRoundTripPolicyScript_V3_110.plutus",
535495
)
536496

537497
FAILING_BATCH6_SCRIPT_FILES_V3 = (
@@ -565,28 +525,6 @@ class PlutusScriptData:
565525
"failingExpModIntegerScript_V3_110_7.plutus",
566526
"failingExpModIntegerScript_V3_110_8.plutus",
567527
"failingExpModIntegerScript_V3_110_9.plutus",
568-
"failingInsertInvalidCurrencySymbolPolicyScript_V3_100.plutus",
569-
"failingInsertInvalidCurrencySymbolPolicyScript_V3_110.plutus",
570-
"failingInsertInvalidTokenNamePolicyScript_V3_100.plutus",
571-
"failingInsertInvalidTokenNamePolicyScript_V3_110.plutus",
572-
"failingInsertOverflowQuantityPolicyScript_V3_100.plutus",
573-
"failingInsertOverflowQuantityPolicyScript_V3_110.plutus",
574-
"failingInsertUnderflowQuantityPolicyScript_V3_100.plutus",
575-
"failingInsertUnderflowQuantityPolicyScript_V3_110.plutus",
576-
"failingScaleValueOverflowPolicyScript_V3_100.plutus",
577-
"failingScaleValueOverflowPolicyScript_V3_110.plutus",
578-
"failingScaleValueUnderflowPolicyScript_V3_100.plutus",
579-
"failingScaleValueUnderflowPolicyScript_V3_110.plutus",
580-
"failingUnionValueOverflowPolicyScript_V3_100.plutus",
581-
"failingUnionValueOverflowPolicyScript_V3_110.plutus",
582-
"failingUnionValueUnderflowPolicyScript_V3_100.plutus",
583-
"failingUnionValueUnderflowPolicyScript_V3_110.plutus",
584-
"failingUnValueDataInvalidDataPolicyScript_V3_100.plutus",
585-
"failingUnValueDataInvalidDataPolicyScript_V3_110.plutus",
586-
"failingValueContainsLeftNegativePolicyScript_V3_100.plutus",
587-
"failingValueContainsLeftNegativePolicyScript_V3_110.plutus",
588-
"failingValueContainsRightNegativePolicyScript_V3_100.plutus",
589-
"failingValueContainsRightNegativePolicyScript_V3_110.plutus",
590528
)
591529

592530
OVERSPENDING_BATCH6_SCRIPT_FILES_V3 = (
@@ -597,6 +535,78 @@ class PlutusScriptData:
597535
"expensiveDropListPolicyScript_V3_110_5.plutus",
598536
)
599537

538+
if VERSIONS.node >= version.parse("10.7.0"):
539+
SUCCEEDING_BATCH6_SCRIPT_FILES_V3 = ( # type: ignore[assignment]
540+
*SUCCEEDING_BATCH6_SCRIPT_FILES_V3,
541+
"succeedingDeleteExistingCoinPolicyScript_V3_100.plutus",
542+
"succeedingDeleteExistingCoinPolicyScript_V3_110.plutus",
543+
"succeedingDeleteMissingCoinPolicyScript_V3_100.plutus",
544+
"succeedingDeleteMissingCoinPolicyScript_V3_110.plutus",
545+
"succeedingInsertExistingCoinPolicyScript_V3_100.plutus",
546+
"succeedingInsertExistingCoinPolicyScript_V3_110.plutus",
547+
"succeedingInsertNewCoinPolicyScript_V3_100.plutus",
548+
"succeedingInsertNewCoinPolicyScript_V3_110.plutus",
549+
"succeedingLookupMissingCoinPolicyScript_V3_100.plutus",
550+
"succeedingLookupMissingCoinPolicyScript_V3_110.plutus",
551+
"succeedingScaleValueNegativePolicyScript_V3_100.plutus",
552+
"succeedingScaleValueNegativePolicyScript_V3_110.plutus",
553+
"succeedingScaleValuePositivePolicyScript_V3_100.plutus",
554+
"succeedingScaleValuePositivePolicyScript_V3_110.plutus",
555+
"succeedingScaleValueZeroPolicyScript_V3_100.plutus",
556+
"succeedingScaleValueZeroPolicyScript_V3_110.plutus",
557+
"succeedingUnionValueAssociativePolicyScript_V3_100.plutus",
558+
"succeedingUnionValueAssociativePolicyScript_V3_110.plutus",
559+
"succeedingUnionValueAssociativeSingleCoinPolicyScript_V3_100.plutus",
560+
"succeedingUnionValueAssociativeSingleCoinPolicyScript_V3_110.plutus",
561+
"succeedingUnionValueCommutativePolicyScript_V3_100.plutus",
562+
"succeedingUnionValueCommutativePolicyScript_V3_110.plutus",
563+
"succeedingUnionValueCommutativeSingleCoinPolicyScript_V3_100.plutus",
564+
"succeedingUnionValueCommutativeSingleCoinPolicyScript_V3_110.plutus",
565+
"succeedingUnionValueEmptyIdentityPolicyScript_V3_100.plutus",
566+
"succeedingUnionValueEmptyIdentityPolicyScript_V3_110.plutus",
567+
"succeedingUnionValueInversablePolicyScript_V3_100.plutus",
568+
"succeedingUnionValueInversablePolicyScript_V3_110.plutus",
569+
"succeedingValueContainsDisjointPolicyScript_V3_100.plutus",
570+
"succeedingValueContainsDisjointPolicyScript_V3_110.plutus",
571+
"succeedingValueContainsEmptyPolicyScript_V3_100.plutus",
572+
"succeedingValueContainsEmptyPolicyScript_V3_110.plutus",
573+
"succeedingValueContainsIsSubValuePolicyScript_V3_100.plutus",
574+
"succeedingValueContainsIsSubValuePolicyScript_V3_110.plutus",
575+
"succeedingValueContainsReflexivePolicyScript_V3_100.plutus",
576+
"succeedingValueContainsReflexivePolicyScript_V3_110.plutus",
577+
"succeedingValueContainsRightExtraKeyPolicyScript_V3_100.plutus",
578+
"succeedingValueContainsRightExtraKeyPolicyScript_V3_110.plutus",
579+
"succeedingValueContainsRightHigherAmountPolicyScript_V3_100.plutus",
580+
"succeedingValueContainsRightHigherAmountPolicyScript_V3_110.plutus",
581+
"succeedingValueDataRoundTripPolicyScript_V3_100.plutus",
582+
"succeedingValueDataRoundTripPolicyScript_V3_110.plutus",
583+
)
584+
FAILING_BATCH6_SCRIPT_FILES_V3 = ( # type: ignore[assignment]
585+
*FAILING_BATCH6_SCRIPT_FILES_V3,
586+
"failingInsertInvalidCurrencySymbolPolicyScript_V3_100.plutus",
587+
"failingInsertInvalidCurrencySymbolPolicyScript_V3_110.plutus",
588+
"failingInsertInvalidTokenNamePolicyScript_V3_100.plutus",
589+
"failingInsertInvalidTokenNamePolicyScript_V3_110.plutus",
590+
"failingInsertOverflowQuantityPolicyScript_V3_100.plutus",
591+
"failingInsertOverflowQuantityPolicyScript_V3_110.plutus",
592+
"failingInsertUnderflowQuantityPolicyScript_V3_100.plutus",
593+
"failingInsertUnderflowQuantityPolicyScript_V3_110.plutus",
594+
"failingScaleValueOverflowPolicyScript_V3_100.plutus",
595+
"failingScaleValueOverflowPolicyScript_V3_110.plutus",
596+
"failingScaleValueUnderflowPolicyScript_V3_100.plutus",
597+
"failingScaleValueUnderflowPolicyScript_V3_110.plutus",
598+
"failingUnionValueOverflowPolicyScript_V3_100.plutus",
599+
"failingUnionValueOverflowPolicyScript_V3_110.plutus",
600+
"failingUnionValueUnderflowPolicyScript_V3_100.plutus",
601+
"failingUnionValueUnderflowPolicyScript_V3_110.plutus",
602+
"failingUnValueDataInvalidDataPolicyScript_V3_100.plutus",
603+
"failingUnValueDataInvalidDataPolicyScript_V3_110.plutus",
604+
"failingValueContainsLeftNegativePolicyScript_V3_100.plutus",
605+
"failingValueContainsLeftNegativePolicyScript_V3_110.plutus",
606+
"failingValueContainsRightNegativePolicyScript_V3_100.plutus",
607+
"failingValueContainsRightNegativePolicyScript_V3_110.plutus",
608+
)
609+
600610
SUCCEEDING_MINTING_BATCH6_SCRIPTS_V3 = tuple(
601611
PlutusScriptData(
602612
script_file=SCRIPTS_V3_BATCH6_110_DIR / n,

0 commit comments

Comments
 (0)