Skip to content

Commit 5b66bbb

Browse files
committed
Make slight structural changes to test V3 Plutus scripts
so that they get compiled to distinct binaries
1 parent 4d55398 commit 5b66bbb

File tree

2 files changed

+32
-27
lines changed
  • libs
    • cardano-ledger-core/testlib/Test/Cardano/Ledger/Plutus
    • plutus-preprocessor/src/Cardano/Ledger/Plutus/Preprocessor/Source

2 files changed

+32
-27
lines changed

libs/cardano-ledger-core/testlib/Test/Cardano/Ledger/Plutus/Examples.hs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -150,23 +150,24 @@ alwaysSucceedsNoDatum =
150150
, "30010012213300300522335006375c0046a660080082400200224002444a666aae7c004400c4cc008d5d08009a"
151151
, "ba2001122002122122330010040031"
152152
]
153-
-- ScriptHash "08cc0da96095fa5b13b9b9a58a4b4f10f351ea4bec2c54acbfe48b75"
153+
-- ScriptHash "953c40eaaf5302a6b0a68d605ae67d9a35e260f5a3c278936fc15880"
154154
-- Preprocessed PlutusV3 Script:
155155
-- @@@
156156
-- alwaysSucceedsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData ->
157157
-- PlutusTx.Builtins.Internal.BuiltinUnit
158-
-- alwaysSucceedsNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of
159-
-- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2
160-
-- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3)
161-
-- scriptInfo_4 -> case scriptInfo_4 of
162-
-- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _
163-
-- (GHC.Maybe.Just _) -> GHC.Types.False;
164-
-- _ -> GHC.Types.True}})
158+
-- alwaysSucceedsNoDatum_0 arg_1 = let PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2
159+
-- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3)
160+
-- scriptInfo_4 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1
161+
-- in PlutusTx.Prelude.check GHC.Base.$ (case scriptInfo_4 of
162+
-- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _
163+
-- (GHC.Maybe.Just _) -> GHC.Types.False;
164+
-- _ -> GHC.Types.True})
165165
-- @@@
166166
SPlutusV3 ->
167-
[ "5884010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335"
167+
[ "5896010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335"
168168
, "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321801460"
169-
, "0035573c0022300037546ae84d5d11aba235573c6ea800a29344c00524010350543500119319ab9c00180001"
169+
, "0035573c002230003755264650013574200535742003357426ae880046ae88004d55cf1baa002911000a29344c"
170+
, "0052410350543500119319ab9c00180001"
170171
]
171172

172173
-- | Script that always succeeds, unless arguments are malformed or context does not contain a datum
@@ -290,22 +291,24 @@ alwaysSucceedsWithDatum =
290291
, "00919319ab9c00100633230010012213300300522335006375c0046a660080082400200224002444a666aae7c0"
291292
, "04400c4cc008d5d08009aba200112200212212233001004003120011"
292293
]
293-
-- ScriptHash "ac9b594df2e90cece2a52576cc36181de3f5bc10dedcba9fef1fda37"
294+
-- ScriptHash "d4ecf06c769de6193048042f28c135c74d388e05ee429c95dd88631e"
294295
-- Preprocessed PlutusV3 Script:
295296
-- @@@
296297
-- alwaysSucceedsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData ->
297298
-- PlutusTx.Builtins.Internal.BuiltinUnit
298-
-- alwaysSucceedsWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of
299-
-- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2
300-
-- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3)
301-
-- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _
302-
-- (GHC.Maybe.Just _)) -> GHC.Types.True;
303-
-- _ -> GHC.Types.False})
299+
-- alwaysSucceedsWithDatum_0 arg_1 = let PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2
300+
-- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3)
301+
-- scriptPurpose_4 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1
302+
-- in PlutusTx.Prelude.check GHC.Base.$ (case scriptPurpose_4 of
303+
-- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _
304+
-- (GHC.Maybe.Just _) -> GHC.Types.True;
305+
-- _ -> GHC.Types.False})
304306
-- @@@
305307
SPlutusV3 ->
306-
[ "5884010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335"
308+
[ "5896010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335"
307309
, "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321800460"
308-
, "0435573c0022300237546ae84d5d11aba235573c6ea800a29344c00524010350543500119319ab9c00180001"
310+
, "0435573c002230023755264650013574200535742003357426ae880046ae88004d55cf1baa002911000a29344c"
311+
, "0052410350543500119319ab9c00180001"
309312
]
310313

311314
-- | Script that always fails, unless arguments are malformed or context contains a datum

libs/plutus-preprocessor/src/Cardano/Ledger/Plutus/Preprocessor/Source/V3.hs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ alwaysSucceedsNoDatumQ =
1515
[d|
1616
alwaysSucceedsNoDatum :: P.BuiltinData -> P.BuiltinUnit
1717
alwaysSucceedsNoDatum arg =
18-
P.check $
19-
case unsafeFromBuiltinData arg of
20-
PV3D.ScriptContext _txInfo (PV3D.Redeemer _redeemer) scriptInfo ->
18+
let PV3D.ScriptContext _txInfo (PV3D.Redeemer _redeemer) scriptInfo =
19+
P.unsafeFromBuiltinData arg
20+
in P.check $
2121
case scriptInfo of
2222
-- We fail if this is a spending script with a Datum
2323
PV3D.SpendingScript _ (Just _) -> False
@@ -29,11 +29,13 @@ alwaysSucceedsWithDatumQ =
2929
[d|
3030
alwaysSucceedsWithDatum :: P.BuiltinData -> P.BuiltinUnit
3131
alwaysSucceedsWithDatum arg =
32-
P.check $
33-
case unsafeFromBuiltinData arg of
34-
-- Expecting a spending script with a Datum, thus failing when it is not
35-
PV3D.ScriptContext _txInfo (PV3D.Redeemer _redeemer) (PV3D.SpendingScript _ (Just _)) -> True
36-
_ -> False
32+
let PV3D.ScriptContext _txInfo (PV3D.Redeemer _redeemer) scriptPurpose =
33+
P.unsafeFromBuiltinData arg
34+
in P.check $
35+
case scriptPurpose of
36+
PV3D.SpendingScript _ (Just _) -> True
37+
-- Expecting a spending script with a Datum, thus failing when it is not
38+
_ -> False
3739
|]
3840

3941
alwaysFailsNoDatumQ :: Q [Dec]

0 commit comments

Comments
 (0)