{-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} -- | This file is generated by "plutus-preprocessor:plutus-preprocessor" module Test.Cardano.Ledger.Plutus.Examples ( alwaysSucceedsNoDatum, alwaysSucceedsWithDatum, alwaysFailsNoDatum, alwaysFailsWithDatum, redeemerSameAsDatum, evenDatum, evenRedeemerNoDatum, evenRedeemerWithDatum, purposeIsWellformedNoDatum, purposeIsWellformedWithDatum, datumIsWellformed, inputsOutputsAreNotEmptyNoDatum, inputsOutputsAreNotEmptyWithDatum, inputsOverlapsWithRefInputs, ) where import Cardano.Ledger.Plutus.Language (Plutus (..), PlutusBinary (..), SLanguage (..)) import Data.ByteString (ByteString) import qualified Data.ByteString.Base16 as Base16 (decode) import qualified Data.ByteString.Short as SBS (toShort) import GHC.Stack decodeHexPlutus :: HasCallStack => ByteString -> Plutus l decodeHexPlutus :: forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus = ([Char] -> Plutus l) -> (ByteString -> Plutus l) -> Either [Char] ByteString -> Plutus l forall a c b. (a -> c) -> (b -> c) -> Either a b -> c either [Char] -> Plutus l forall a. HasCallStack => [Char] -> a error (PlutusBinary -> Plutus l forall (l :: Language). PlutusBinary -> Plutus l Plutus (PlutusBinary -> Plutus l) -> (ByteString -> PlutusBinary) -> ByteString -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . ShortByteString -> PlutusBinary PlutusBinary (ShortByteString -> PlutusBinary) -> (ByteString -> ShortByteString) -> ByteString -> PlutusBinary forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteString -> ShortByteString SBS.toShort) (Either [Char] ByteString -> Plutus l) -> (ByteString -> Either [Char] ByteString) -> ByteString -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteString -> Either [Char] ByteString Base16.decode -- | Script that always succeeds, unless arguments are malformed or context contains a datum alwaysSucceedsNoDatum :: SLanguage l -> Plutus l alwaysSucceedsNoDatum :: forall (l :: Language). SLanguage l -> Plutus l alwaysSucceedsNoDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "1337e478d721f27a8940d9da247e471219bafb46c75957f2024740f0" -- Preprocessed PlutusV1 Script: -- @@@ -- alwaysSucceedsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysSucceedsNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- scriptPurpose_3 -> case scriptPurpose_3 of -- {PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- _ -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "5834010000333332222222323253330073370e900118049baa3005300800216112001300400130043754002aae" , ByteString "755d12b9a5573cae85" ] -- ScriptHash "8a98b3474a3d902b0ec2a2640613ad674af17b5993e1c8f559c665a0" -- Preprocessed PlutusV2 Script: -- @@@ -- alwaysSucceedsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysSucceedsNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- scriptPurpose_3 -> case scriptPurpose_3 of -- {PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- _ -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "5834010000333332222222323253330073370e900118049baa3005300800216112001300400130043754002aae" , ByteString "755d12b9a5573cae85" ] -- ScriptHash "ec36bb2f6ad63821a2342796f38b4a97f3a2242f4aeab9fe2ba12034" -- Preprocessed PlutusV3 Script: -- @@@ -- alwaysSucceedsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysSucceedsNoDatum_0 arg_1 = let PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 -- in PlutusTx.Prelude.check GHC.Base.$ (case scriptInfo_4 of -- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58ae0101009800aab9daba2ab9aaab9eaba1ab9c48888889660026464b30013370e90011804800c4cc00888c8c" , ByteString "8c94cd4d6600266e1d2000002891909118010019805800c56600266e1d200200289091000c5900c2018001214a" , ByteString "02944c028008c030004dd518038009803000c528a00e37546a66002446464253001005801c0090011803980500" , ByteString "1180300098029baa0022220012233002300500130080018a4d13263300249103505435001200140141" ] -- ScriptHash "bf1afd5e3ca47306489c68e68bab94fbc6b233e6e26d178501d83795" -- Preprocessed PlutusV4 Script: -- @@@ -- alwaysSucceedsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysSucceedsNoDatum_0 arg_1 = let PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4 -- _sh_5 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 -- in PlutusTx.Prelude.check GHC.Base.$ (case scriptInfo_4 of -- {PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58640101003322232993370e90014800c880094a39900191000a45326ea8c018006447200528009804800a5002" , ByteString "000a49429444c98cc00d240103505435008005261baa99937540032200148a4006452003228008034012005375" , ByteString "c6012002122220022ba15739" ] -- | Script that always succeeds, unless arguments are malformed or context does not contain a datum alwaysSucceedsWithDatum :: SLanguage l -> Plutus l alwaysSucceedsWithDatum :: forall (l :: Language). SLanguage l -> Plutus l alwaysSucceedsWithDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "bfea73315e4bf3f96c1d4fb8a00bc31ee09f51066d91143ffa8e035e" -- Preprocessed PlutusV1 Script: -- @@@ -- alwaysSucceedsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysSucceedsWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "583a0100003333322222222323253330083370e900118051baa300630090021120011323500100163005001300" , ByteString "53754002aae755d12b9a5573cae841" ] -- ScriptHash "f02587243c494a28a1e75dbb5c31a3cf213d78c7809603fce5bdafe8" -- Preprocessed PlutusV2 Script: -- @@@ -- alwaysSucceedsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysSucceedsWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "583a0100003333322222222323253330083370e900118051baa300630090021120011323500100163005001300" , ByteString "53754002aae755d12b9a5573cae841" ] -- ScriptHash "8de9e755709fcb1f46985e9019ec14b4a312c9b15b19e228daa23d2d" -- Preprocessed PlutusV3 Script: -- @@@ -- alwaysSucceedsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysSucceedsWithDatum_0 arg_1 = let PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptPurpose_4 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 -- in PlutusTx.Prelude.check GHC.Base.$ (case scriptPurpose_4 of -- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.True; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58ae0101009800aab9daba2ab9aaab9eaba1ab9c48888889660026464b30013370e90011804800c4cc00888c8c" , ByteString "8c94cd4d6600266e1d2000002891909118010019805800c56600266e1d200200289091000c5900c2018001214a" , ByteString "22940c028008c030004dd518038009803000c528200e37546a66002446464253001005801c0090011803980500" , ByteString "1180300098029baa0022220012233002300500130080018a4d13263300249103505435001200140141" ] -- ScriptHash "eba09c1cbbd4fcdad5dbaa3113d51ff6600add8f5a7f997664d86f94" -- Preprocessed PlutusV4 Script: -- @@@ -- alwaysSucceedsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysSucceedsWithDatum_0 arg_1 = let PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptPurpose_4 -- _sh_5 = PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 -- in PlutusTx.Prelude.check GHC.Base.$ (case scriptPurpose_4 of -- {PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.True; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58640101003322232993370e90014800c880094a19900191000a45326ea8c018006447200528009804800a5002" , ByteString "000a49469404c98cc00d240103505435008005261baa99937540032200148a4006452003228008034012005375" , ByteString "c6012002122220022ba15739" ] -- | Script that always fails, unless arguments are malformed or context contains a datum alwaysFailsNoDatum :: SLanguage l -> Plutus l alwaysFailsNoDatum :: forall (l :: Language). SLanguage l -> Plutus l alwaysFailsNoDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "519d3e30ca59939c87ceacc6a5b43c7c923b4697b0250c44f7fd9d13" -- Preprocessed PlutusV1 Script: -- @@@ -- alwaysFailsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysFailsNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.fromBuiltinData redeemer_1 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Redeemer _) -> case PlutusTx.IsData.Class.fromBuiltinData context_2 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _)) -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- _) -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "5834010000333332222222323253330073370e900118049baa3005300800211200116300400130043754002aae" , ByteString "755d12b9a5573cae85" ] -- ScriptHash "60d4120108ccc00988b444b7f8067e313a4a75ef5612efc8bb3faf0a" -- Preprocessed PlutusV2 Script: -- @@@ -- alwaysFailsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysFailsNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.fromBuiltinData redeemer_1 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Redeemer _) -> case PlutusTx.IsData.Class.fromBuiltinData context_2 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _)) -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- _) -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "5834010000333332222222323253330073370e900118049baa3005300800211200116300400130043754002aae" , ByteString "755d12b9a5573cae85" ] -- ScriptHash "15028dc850d1552378b99460b8dadeb5b0ec9c28fe185103fcbb6db3" -- Preprocessed PlutusV3 Script: -- @@@ -- alwaysFailsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysFailsNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.fromBuiltinData arg_1 of -- {GHC.Maybe.Just (PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4) -> case scriptInfo_4 of -- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.True; -- _ -> GHC.Types.False}; -- GHC.Maybe.Nothing -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "589d0101009800aab9daba2ab9aaab9eaba1ab9c48888889660026466002446464b30013370e90011806000c4c" , ByteString "c01488c8c94cd4d6600266e1d2000001891909118010019806800c56600266e1d200200189091000c5900e201c" , ByteString "300d002214a22940c03c004dd518050009804800c52820143754600e6014004600c002600a6ea800888cc008c0" , ByteString "14004c02000629344c98cc00924103505435001200140141" ] -- ScriptHash "d5397b0a501846aa400311b6a99761a151271de4f4a3f96cfcaf187c" -- Preprocessed PlutusV4 Script: -- @@@ -- alwaysFailsNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysFailsNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.fromBuiltinData arg_1 of -- {GHC.Maybe.Just (PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4 -- _sh_5) -> case scriptInfo_4 of -- {PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.True; -- _ -> GHC.Types.False}; -- GHC.Maybe.Nothing -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58580101009800aba1ab9cabd84888a64cc00920049375400322001488ca4cdc3a400520032200252866400644" , ByteString "002914c9baa3009001911c8014a0026018002940080029251a5006ea8009326330034901035054350080052601" ] -- | Script that always fails, unless arguments are malformed or context does not contain a datum alwaysFailsWithDatum :: SLanguage l -> Plutus l alwaysFailsWithDatum :: forall (l :: Language). SLanguage l -> Plutus l alwaysFailsWithDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "d5e9d3357ba70517146525644ccce28529f270bc49941fbd92d75e71" -- Preprocessed PlutusV1 Script: -- @@@ -- alwaysFailsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysFailsWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.fromBuiltinData datum_1 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum _) -> case PlutusTx.IsData.Class.fromBuiltinData redeemer_2 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Redeemer _) -> case PlutusTx.IsData.Class.fromBuiltinData context_3 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _)) -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- _) -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58350100003333322222222323253330083370e900118051baa3006300900216112001300500130053754002aa" , ByteString "e755d12b9a5573cae841" ] -- ScriptHash "84ca179bb8e2453a76a61eaf65c179ff1d38a54f5d2199cb5a965c0e" -- Preprocessed PlutusV2 Script: -- @@@ -- alwaysFailsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- alwaysFailsWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.fromBuiltinData datum_1 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum _) -> case PlutusTx.IsData.Class.fromBuiltinData redeemer_2 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Redeemer _) -> case PlutusTx.IsData.Class.fromBuiltinData context_3 of -- {GHC.Maybe.Nothing -> GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _)) -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- GHC.Maybe.Just (PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- _) -> GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58350100003333322222222323253330083370e900118051baa3006300900216112001300500130053754002aa" , ByteString "e755d12b9a5573cae841" ] -- ScriptHash "ec1dad2ebe5a288915b7b62d9269fb3b0938e6a9eebd0a6ae7a7fcd2" -- Preprocessed PlutusV3 Script: -- @@@ -- alwaysFailsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysFailsWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.fromBuiltinData arg_1 of -- {GHC.Maybe.Just (PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4) -> case scriptInfo_4 of -- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> GHC.Types.True}; -- GHC.Maybe.Nothing -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "589d0101009800aab9daba2ab9aaab9eaba1ab9c48888889660026466002446464b30013370e90011806000c4c" , ByteString "c01488c8c94cd4d6600266e1d2000001891909118010019806800c56600266e1d200200189091000c5900e201c" , ByteString "300d002214a02944c03c004dd518050009804800c528a0143754600e6014004600c002600a6ea800888cc008c0" , ByteString "14004c02000629344c98cc00924103505435001200140141" ] -- ScriptHash "88bd37a0b04c9c823fd8790c876cf1ce3fd49ecce186d905b6f7b54b" -- Preprocessed PlutusV4 Script: -- @@@ -- alwaysFailsWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- alwaysFailsWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.fromBuiltinData arg_1 of -- {GHC.Maybe.Just (PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer _redeemer_3) -- scriptInfo_4 -- _sh_5) -> case scriptInfo_4 of -- {PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> GHC.Types.True}; -- GHC.Maybe.Nothing -> GHC.Types.True}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58580101009800aba1ab9cabd84888a64cc00920049375400322001488ca4cdc3a4005200322002528e6400644" , ByteString "002914c9baa3009001911c8014a0026018002940080029250a5106ea8009326330034901035054350080052601" ] -- | Script that succeeds whenever redeemer equals to the datum -- Fails on malformed arguments redeemerSameAsDatum :: SLanguage l -> Plutus l redeemerSameAsDatum :: forall (l :: Language). SLanguage l -> Plutus l redeemerSameAsDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "db8dbca3d499b38a4cea4e49fc6134c0efd28e43437b3aa8f1e2a0ab" -- Preprocessed PlutusV1 Script: -- @@@ -- redeemerSameAsDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- redeemerSameAsDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum d_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_5 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | r_5 PlutusTx.Eq.Class.== d_4 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58440100003333322222222323253330083370e900118051baa30063009002153330083375e00800a2240022c2" , ByteString "646a002002c600a002600a6ea800555ceaba25734aae795d09" ] -- ScriptHash "216ad6f1e4fe5a638202f541f22e6decb13337126633bff06bd46ee7" -- Preprocessed PlutusV2 Script: -- @@@ -- redeemerSameAsDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- redeemerSameAsDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum d_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_5 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | r_5 PlutusTx.Eq.Class.== d_4 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58440100003333322222222323253330083370e900118051baa30063009002153330083375e00800a2240022c2" , ByteString "646a002002c600a002600a6ea800555ceaba25734aae795d09" ] -- ScriptHash "7990a1189082ca7fe8a8e1e7198f0537971ddadf735ecbad388f0968" -- Preprocessed PlutusV3 Script: -- @@@ -- redeemerSameAsDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- redeemerSameAsDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum datum_4))) -> datum_4 PlutusTx.Eq.Class.== redeemer_3; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58a10101009800aab9daba2ab9aaab9eaba1ab9c48888889660026466002446464b30013370e90011806000c4c" , ByteString "c01488c8c94cd4d6600266e1d2000001891909118010019806800c56600266e1d200200189091000c5900e201c" , ByteString "300d002213375e00200e2940c03c004dd518050009804800c52820143754600e6014004600c002600a6ea80088" , ByteString "8cc008c014004c02000629344c98cc00924103505435001200140141" ] -- ScriptHash "ddd52996ca102e56c38d8097f38439c97c1c89ecbfd94eabf8be318a" -- Preprocessed PlutusV4 Script: -- @@@ -- redeemerSameAsDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- redeemerSameAsDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum datum_4))) -- _sh_5 -> datum_4 PlutusTx.Eq.Class.== redeemer_3; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58590101003322299937540032200148a4006452003223293370e90014800c880094a19900191000a45326ea8c" , ByteString "030006447200528009807800a5002000a466ebc0040229401baa002132633002490103505435008005262ba157" , ByteString "39" ] -- | Script that succeeds whenever Integer datum is supplied and it's value is even. -- Fails on malformed arguments evenDatum :: SLanguage l -> Plutus l evenDatum :: forall (l :: Language). SLanguage l -> Plutus l evenDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "ae8db1570f096171bb8c42904e6a32e4920289c50bfdcd5a13cf8c99" -- Preprocessed PlutusV1 Script: -- @@@ -- evenDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum d_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI d_4) 2 PlutusTx.Eq.Class.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "584b0100003333322222222323253330083370e900118051baa30063009002153330083370e900019b86375a00" , ByteString "a90020890008b0991a800800b180280098029baa0015573aae895cd2ab9e5743" ] -- ScriptHash "59e24ba5e1e76fc03aad10f3dc5c325b8c8751d04090be16ca6e6237" -- Preprocessed PlutusV2 Script: -- @@@ -- evenDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum d_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI d_4) 2 PlutusTx.Eq.Class.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "584b0100003333322222222323253330083370e900118051baa30063009002153330083370e900019b86375a00" , ByteString "a90020890008b0991a800800b180280098029baa0015573aae895cd2ab9e5743" ] -- ScriptHash "6e940e467ee713fcdf62cb9faa6645f002d7fb46d4afecfad3a1eb1e" -- Preprocessed PlutusV3 Script: -- @@@ -- evenDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum datum_4))) -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI datum_4) 2 PlutusTx.Eq.Class.== 0}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58b10101009800aab9daba2ab9aaab9eaba1ab9c48888889660026466002446464b30013370e90011806000c4c" , ByteString "c01488c8c94cd4d6600266e1d2000001891909118010019806800c56600266e1d200200189091000c5900e201c" , ByteString "300d002213370e900019b86375a00290020991a800800b18078009baa300a00130090018991a800800b2014375" , ByteString "4600e6014004600c002600a6ea800888cc008c014004c02000629344c98cc009240103505435001200140141" ] -- ScriptHash "594875656ec256c9b36decc659a81e685d4171913d802c068f134a02" -- Preprocessed PlutusV4 Script: -- @@@ -- evenDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just (PlutusLedgerApi.V1.Scripts.Datum datum_4))) -- _sh_5 -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI datum_4) 2 PlutusTx.Eq.Class.== 0}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "586b0101009800aba1ab9cabd84888a64cc00920049375400322001488ca4cdc3a40052003220024ca40060026" , ByteString "cc800c88005229937546012003223900294004c0300052801000523370e900019b86375a00290024ca40060026" , ByteString "06ea8009326330034901035054350080052601" ] -- | Script that succeeds whenever Integer redeemer is supplied and it's value is even -- Fails on malformed arguments or whenever datum is present in the context evenRedeemerNoDatum :: SLanguage l -> Plutus l evenRedeemerNoDatum :: forall (l :: Language). SLanguage l -> Plutus l evenRedeemerNoDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "da53f02bc14d1f264c5b2c13382e5cb5137b52757f73ec9afefeed34" -- Preprocessed PlutusV1 Script: -- @@@ -- evenRedeemerNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenRedeemerNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- scriptPurpose_4 -> case scriptPurpose_4 of -- {PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- _ -> if PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI r_3) 2 PlutusTx.Eq.Class.== 0 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "5846010000333332222222323253330073370e900118049baa3005300800216153330073370e900019b86375a0" , ByteString "0890020890008b180200098021baa0015573aae895cd2ab9e57421" ] -- ScriptHash "9b7739ccde7d61a61b7938b67be603c4ac63d59c6e6a8c5e8208b283" -- Preprocessed PlutusV2 Script: -- @@@ -- evenRedeemerNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenRedeemerNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- scriptPurpose_4 -> case scriptPurpose_4 of -- {PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- _ -> if PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI r_3) 2 PlutusTx.Eq.Class.== 0 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "5846010000333332222222323253330073370e900118049baa3005300800216153330073370e900019b86375a0" , ByteString "0890020890008b180200098021baa0015573aae895cd2ab9e57421" ] -- ScriptHash "7ae80be9e8cd6cffacbae5f47bad0cac8adb63f29983b7b4936e3d12" -- Preprocessed PlutusV3 Script: -- @@@ -- evenRedeemerNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenRedeemerNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- scriptInfo_4 -> case scriptInfo_4 of -- {PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI redeemer_3) 2 PlutusTx.Eq.Class.== 0}}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58af0101009800aab9daba2ab9aaab9eaba1ab9c4888888966002646600244646464b30013370e900118068014" , ByteString "4cc01888c8c94cd4d6600266e1d2000001891909118010019807000c56600266e1d200200189091000c5900f20" , ByteString "1e300e002214a02600a9318080009baa300b001300a00289800a4c80588cdc3a400066e18dd6801a40086ea8c0" , ByteString "1cc028008c018004c014dd5001111980118028009804000c526899319801248103505435001200140141" ] -- ScriptHash "84636f1e99449ee4728320454b1a023611c650ffd83a75618a5e2e9b" -- Preprocessed PlutusV4 Script: -- @@@ -- evenRedeemerNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenRedeemerNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- scriptInfo_4 -- _sh_5 -> case scriptInfo_4 of -- {PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _) -> GHC.Types.False; -- _ -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI redeemer_3) 2 PlutusTx.Eq.Class.== 0}}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58670101003322299937540032200148a400645200322323293370e90014801488009300149b320052200148a6" , ByteString "4dd51806800c88e400a500130100014a00400149284c00d260466e1d20003370c6eb401920043754004264c660" , ByteString "04920103505435008005262ba15739" ] -- | Script that succeeds whenever Integer redeemer is supplied and it's value is even -- Fails on malformed arguments or whenever datum is missing from the context evenRedeemerWithDatum :: SLanguage l -> Plutus l evenRedeemerWithDatum :: forall (l :: Language). SLanguage l -> Plutus l evenRedeemerWithDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "d73f7d6a7b290b38d9978f1d256cfa1c6a199bc192f15397dcfc58a5" -- Preprocessed PlutusV1 Script: -- @@@ -- evenRedeemerWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenRedeemerWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI r_4) 2 PlutusTx.Eq.Class.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "584b0100003333322222222323253330083370e900118051baa30063009002153330083370e900019b86375a00" , ByteString "890020890008b0991a800800b180280098029baa0015573aae895cd2ab9e5743" ] -- ScriptHash "0e2bd196628b7711c676c8cdc99fcebeea59cf4bc7a8dcbf0e64d7ed" -- Preprocessed PlutusV2 Script: -- @@@ -- evenRedeemerWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- evenRedeemerWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext _ -- (PlutusLedgerApi.V1.Data.Contexts.Spending _) | PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI r_4) 2 PlutusTx.Eq.Class.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "584b0100003333322222222323253330083370e900118051baa30063009002153330083370e900019b86375a00" , ByteString "890020890008b0991a800800b180280098029baa0015573aae895cd2ab9e5743" ] -- ScriptHash "d7ea6fb9080762fff48135da91c7b91decea0dfed4b7b172189f1106" -- Preprocessed PlutusV3 Script: -- @@@ -- evenRedeemerWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenRedeemerWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _)) -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI redeemer_3) 2 PlutusTx.Eq.Class.== 0; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58a80101009800aab9daba2ab9aaab9eaba1ab9c48888889660026466002446464b30013370e90011806000c4c" , ByteString "c01488c8c94cd4d6600266e1d2000001891909118010019806800c56600266e1d200200189091000c5900e201c" , ByteString "300d002213370e900019b86375a00e90020a50300f00137546014002601200314a08050dd51803980500118030" , ByteString "0098029baa0022233002300500130080018a4d13263300249103505435001200140141" ] -- ScriptHash "51b970738f5c6a3a81c7823b322dceefdfd09b85feb7f906b5cec587" -- Preprocessed PlutusV4 Script: -- @@@ -- evenRedeemerWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- evenRedeemerWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- (PlutusLedgerApi.V1.Scripts.Redeemer redeemer_3) -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _ -- (GHC.Maybe.Just _)) -- _sh_4 -> PlutusTx.Prelude.modulo (PlutusTx.Builtins.unsafeDataAsI redeemer_3) 2 PlutusTx.Eq.Class.== 0; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58600101003322299937540032200148a4006452003223293370e90014800c880094a19900191000a45326ea8c" , ByteString "030006447200528009807800a5002000a466e1d20003370c6eb40212004a5006ea80084c98cc00924103505435" , ByteString "008005262ba15739" ] -- | Script that succeeds when datum is not expected and purpose arguments are validated against txInfo -- Fails on malformed arguments purposeIsWellformedNoDatum :: SLanguage l -> Plutus l purposeIsWellformedNoDatum :: forall (l :: Language). SLanguage l -> Plutus l purposeIsWellformedNoDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "6bbd11b0451442f02a0d9e3bf69a73a69585c381b50b12c78201f26b" -- Preprocessed PlutusV1 Script: -- @@@ -- purposeIsWellformedNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- purposeIsWellformedNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext txInfo_4 -- scriptPurpose_5 -> case scriptPurpose_5 of -- {PlutusLedgerApi.V1.Data.Contexts.Minting cs_6 -> if PlutusTx.Data.AssocMap.member cs_6 GHC.Base.$ (PlutusLedgerApi.V1.Data.Value.getValue GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoMint txInfo_4) -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Rewarding stakingCredential_7 -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((stakingCredential_7 PlutusTx.Eq.Class.==) GHC.Base.. Data.Tuple.fst) GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoWdrl txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Certifying dCert_8 -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter (dCert_8 PlutusTx.Eq.Class.==) GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoDCert txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "5901ff010000333333332222222222323233002223232323232533300f3370e90000008a999807991980080099" , ByteString "9802004111111111100393119801a5023330113375e6ea4dd718079808003980a8009251233003003001100816" , ByteString "1533300f3370e90010008b099299980819b874801000854ccc040c04ccccc0048cc018dd5000911a99980999b8" , ByteString "74800000848c8c848cc00400c008dd69809980b00118090008b00091a8009119ba548000cc054008cc054dd400" , ByteString "0a5eb808cdd7980798080039a800910011998020041111111111002930b08048a99980819b874801800854ccc0" , ByteString "40c04ccccc004800480048cdd7980798080038009998020041111111111003130b08048991a800800b11119118" , ByteString "0100099180080091199803a5eb8088c94ccc05cc0180044c8cc068c020008004cc0140140084cc014014008c01" , ByteString "c008004c0480108894ccc034004400c4cc008c038004c044004888cc02488c8c8c8c8c8c8c8cccccccccc02cdd" , ByteString "60049bac30160083756602c00e6eacc058018dd6180b0029bac301600430160033758602c0046eb0c058004cc0" , ByteString "34dd5180b180c800911a99980d19b874800000848dd7180c8008b000980c000980b800980b000980a800980a00" , ByteString "09809800980900098071baa00322330013011002300c00237546010002600e6ea800c4800488cc008c018004c0" , ByteString "2400555ceaba35740ae895cd2ab9e5742aae7d" ] -- ScriptHash "1c615e1bfb240a589ad0ede1980072a7fb229939f3dfcb26bd751be1" -- Preprocessed PlutusV2 Script: -- @@@ -- purposeIsWellformedNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- purposeIsWellformedNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_4 -- scriptPurpose_5 -> case scriptPurpose_5 of -- {PlutusLedgerApi.V1.Data.Contexts.Minting cs_6 -> if PlutusTx.Data.AssocMap.member cs_6 GHC.Base.$ (PlutusLedgerApi.V1.Data.Value.getValue GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoMint txInfo_4) -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Spending _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Rewarding stakingCredential_7 -> if PlutusTx.Data.AssocMap.member stakingCredential_7 GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoWdrl txInfo_4 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.(); -- PlutusLedgerApi.V1.Data.Contexts.Certifying dCert_8 -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter (dCert_8 PlutusTx.Eq.Class.==) GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoDCert txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "5901b8010000333333332222222222323233002223232323232533300f3370e90000008a9998079998013a9375" , ByteString "c601a601c00a66600800e4444444444440104c20102c2a66601e66e1d2002001161533300f3370e90020008a99" , ByteString "98079998011000980698070029998020039111111111110031308040b099299980819b874801800854ccc040c0" , ByteString "4cc004ccc01402088888888888801c985840244c8d40040058c8c00400488ccc0152f5c044a66602666ebcc044" , ByteString "c0480240084cc054008cc0100100044cc010010004004c048010888c8cc0040040088cc01528119980919baf30" , ByteString "05004301600124a2466006006002444a6660180022006266004601a00260200024446601044646464646464646" , ByteString "46466666666666601a6eb002cdd6180b8051bac30170093756602e0106eacc05c01cdd6180b8031bab30170053" , ByteString "0170043758602e0066eacc05c008dd5980b800991a99980d19b8748000c07800448dd7180c8008b180c8009baa" , ByteString "3017301a001301900130180013017001301600130150013014001301300130120013011001300d37540066ea8c" , ByteString "020004c01cdd500189000911980118030009804800aab9d5746ae815d12b9a5573cae8555cf9" ] -- ScriptHash "5144f9fb751362a88f9fb41bbe62696e26e86fbabf946c71a63499b1" -- Preprocessed PlutusV3 Script: -- @@@ -- purposeIsWellformedNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- purposeIsWellformedNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext (PlutusLedgerApi.V3.Data.Contexts.TxInfo {PlutusLedgerApi.V3.Data.Contexts.txInfoMint = infoMint_2, -- PlutusLedgerApi.V3.Data.Contexts.txInfoInputs = infoInputs_3, -- PlutusLedgerApi.V3.Data.Contexts.txInfoWdrl = infoWdrl_4, -- PlutusLedgerApi.V3.Data.Contexts.txInfoTxCerts = infoTxCerts_5, -- PlutusLedgerApi.V3.Data.Contexts.txInfoVotes = infoVotes_6}) -- _redeemer_7 -- scriptInfo_8 -> case scriptInfo_8 of -- {PlutusLedgerApi.V3.Data.Contexts.MintingScript cs_9 -> PlutusTx.Data.AssocMap.member cs_9 GHC.Base.$ (PlutusLedgerApi.V1.Data.Value.getValue GHC.Base.$ PlutusLedgerApi.V3.Data.MintValue.mintValueMinted infoMint_2); -- PlutusLedgerApi.V3.Data.Contexts.SpendingScript txOutRef_10 -- mDatum_11 -> case mDatum_11 of -- {GHC.Maybe.Just _ -> GHC.Types.False; -- GHC.Maybe.Nothing -> PlutusTx.Data.List.null GHC.Base.$ PlutusTx.Data.List.filter ((txOutRef_10 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V3.Data.Contexts.txInInfoOutRef) infoInputs_3}; -- PlutusLedgerApi.V3.Data.Contexts.RewardingScript cred_12 -> PlutusTx.Data.AssocMap.member cred_12 infoWdrl_4; -- PlutusLedgerApi.V3.Data.Contexts.CertifyingScript _idx_13 -- txCert_14 -> PlutusTx.Data.List.null GHC.Base.$ PlutusTx.Data.List.filter (txCert_14 PlutusTx.Eq.Class.==) infoTxCerts_5; -- PlutusLedgerApi.V3.Data.Contexts.VotingScript voter_15 -> PlutusTx.Data.AssocMap.member voter_15 infoVotes_6; -- PlutusLedgerApi.V3.Data.Contexts.ProposingScript _idx_16 -- _propProc_17 -> GHC.Types.True}}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "5902610101009800aab9daba3aba0aba2ab9aaab9eaba1ab9caab9f48888888889660026466002446466008446" , ByteString "464646464646464b30013370e9000000c66002ea66eb8c048c04c016653001237560032374c0032329800980d0" , ByteString "00c01e244600400680ba6002eb646ea000653001337109000000c488c00800e00e80ba00280126eacc04c02500" , ByteString "1111191800800919803a5eb7bdb18094cd4c00cc014c060004848cc074cdd8180f801980300119802002000891" , ByteString "9801801800a0048992cc004cdc3a400400513300f223232533535980099b874800000624642446004006603000" , ByteString "315980099b87480080062401516406480c8c06000885280980e4c0048006400323375e00a660284400460326ea" , ByteString "80066eb003d005180e0009baa301500130140068acc004cdc3a4008005198009000cc04cc05001a6eacc04c01d" , ByteString "003456600266e1d200600289980791180d4c0048006400323375e602c0040033758602a0148018c05001a2b300" , ByteString "13370e90040014660024003301330140069bab3013301630163016301630163016007400d15980099b87480280" , ByteString "0a26601e44944c05001a2646a002002c80a9015202a405480a8888c88c008004c8c0040048a600297ae091192c" , ByteString "c004c0180062646603e60100040026600a00a0051330050050024070600e005001402080a0c05c010888c8cc00" , ByteString "40040088cc0152814c004cdd79802802180d800c928c8cc00c00c0050171112cc0040062007133002301200130" , ByteString "1500140402440026ea8c034c04001cc03c004c038004c034c034c034004c024dd5001980380098031baa002223" , ByteString "3002300600130090018a4d13263300349103505435001200140181" ] -- ScriptHash "8d7383e198e7c3741c7e3eb4b142ac8e44930c64faa445c6716c63c7" -- Preprocessed PlutusV4 Script: -- @@@ -- purposeIsWellformedNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- purposeIsWellformedNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext (PlutusLedgerApi.V4.Data.Contexts.TxInfo {PlutusLedgerApi.V4.Data.Contexts.txInfoMint = infoMint_2, -- PlutusLedgerApi.V4.Data.Contexts.txInfoInputs = infoInputs_3, -- PlutusLedgerApi.V4.Data.Contexts.txInfoTxCerts = infoTxCerts_4, -- PlutusLedgerApi.V4.Data.Contexts.txInfoVotes = infoVotes_5, -- PlutusLedgerApi.V4.Data.Contexts.txInfoWithdrawals = infoWithdrawals_6, -- PlutusLedgerApi.V4.Data.Contexts.txInfoGuards = infoGuards_7, -- PlutusLedgerApi.V4.Data.Contexts.txInfoSubTxIx = infoSubTxIx_8}) -- _redeemer_9 -- scriptInfo_10 -- sh_11 -> case scriptInfo_10 of -- {PlutusLedgerApi.V4.Data.Contexts.MintingScript cs_12 -> PlutusTx.Data.AssocMap.member cs_12 GHC.Base.$ (PlutusLedgerApi.V1.Data.Value.getValue GHC.Base.$ PlutusLedgerApi.V3.Data.MintValue.mintValueMinted infoMint_2); -- PlutusLedgerApi.V4.Data.Contexts.SpendingScript txOutRef_13 -- mDatum_14 -> case mDatum_14 of -- {GHC.Maybe.Just _ -> GHC.Types.False; -- GHC.Maybe.Nothing -> PlutusTx.Data.List.null GHC.Base.$ PlutusTx.Data.List.filter ((txOutRef_13 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V4.Data.Contexts.txInInfoOutRef) infoInputs_3}; -- PlutusLedgerApi.V4.Data.Contexts.CertifyingScript _idx_15 -- txCert_16 -> PlutusTx.Data.List.null GHC.Base.$ PlutusTx.Data.List.filter (txCert_16 PlutusTx.Eq.Class.==) infoTxCerts_4; -- PlutusLedgerApi.V4.Data.Contexts.VotingScript voter_17 -> PlutusTx.Data.AssocMap.member voter_17 infoVotes_5; -- PlutusLedgerApi.V4.Data.Contexts.ProposingScript _idx_18 -- _propProc_19 -> GHC.Types.True; -- PlutusLedgerApi.V4.Data.Contexts.WithdrawingScript account_20 -> PlutusTx.Data.AssocMap.member account_20 infoWithdrawals_6; -- PlutusLedgerApi.V4.Data.Contexts.GuardingScript ix_21 -- topTxInfo_22 -> (PlutusLedgerApi.V1.Data.Credential.ScriptCredential sh_11 PlutusTx.Eq.Class.== (infoGuards_7 PlutusTx.Data.List.!! ix_21)) PlutusTx.Bool.&& (PlutusTx.Maybe.isJust infoSubTxIx_8 PlutusTx.Eq.Class.== PlutusTx.Maybe.isNothing topTxInfo_22)}}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "59027f0101009800aba3aba0aba1ab9cabd8488888c8c8a664dd5000c88005229001914800c8a64dd500348800" , ByteString "5229001914800c8a4cc0412006001914800c8a40064526602c9003000c8a4cc0612006001911919499b8748002" , ByteString "400a440049919499b874800a401244004c99b874801a401244004c99b8748022401244004c99b874802a401244" , ByteString "004c99b8748012401244004c99b8748032401244004994800c004d9900491000a4465266ebccdd2a4004660486" , ByteString "ea4dd7181180c25eb824cdc4000a40013301f0013758017302049103505436005284ca64cc015d680b4928d283" , ByteString "20034a34a0800a4cc0108004c08c00a4942944375a0046600240033020900491000a6eac029003294598009000" , ByteString "cc0824012440029bab006400ccc80248800522302498009000c8006466ebcc08c0080066eb0039004199004910" , ByteString "00a452660064002604400324a1302498009000c8006466ebc00e64dd5000c88005220024dd6009200804526ea8" , ByteString "0064472005280098029812000a50020008888c88c008004c8c0040048a400644652600c0033300500500299198" , ByteString "141804001000998028028010c01c00a97ae066002ea66eb8c07a400a44002994c0048dd5800c8dd3000c8ca4c0" , ByteString "8c00700100160049800bad91ba80019499b8848000007002c004004800a0049bab00d400444464600200245200" , ByteString "32930043006900191000a446604e66ec2400e44004300700233005005001919802002000a97adef6c602002111" , ByteString "911801000991800800914800ca4cdd798028024800c8800923300400400192515280dd50090009801a49035054" , ByteString "3500a4c32300100122239001911499b8748000016653001007800c00d00719b810054800a00691802a49035054" , ByteString "370040008c98cc00c0060001" ] -- | Script that succeeds when datum is expected and purpose arguments are validated against txInfo -- Fails on malformed arguments purposeIsWellformedWithDatum :: SLanguage l -> Plutus l purposeIsWellformedWithDatum :: forall (l :: Language). SLanguage l -> Plutus l purposeIsWellformedWithDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "965803b531013264793aedae24ef01915ddf1a0394514c6654ec306c" -- Preprocessed PlutusV1 Script: -- @@@ -- purposeIsWellformedWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- purposeIsWellformedWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext txInfo_5 -- (PlutusLedgerApi.V1.Data.Contexts.Spending txOutRef_6) -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((txOutRef_6 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V1.Data.Contexts.txInInfoOutRef) GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoInputs txInfo_5) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.(); -- _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "589b01000033333333222222222223233001223232533300c3370e900118080010a9998061807980099802911b" , ByteString "ac002300b37540082c2240022c64600200244a666014002297ae013232533300f3375e601a601c00a660104400" , ByteString "4601c6ea80084cc044008cc0100100044cc010010004c03c008c02c004dd5180400098039baa00222330023007" , ByteString "001300a0015573aae8d5d02ba25734aae795d0aab9f1" ] -- ScriptHash "e7443a063c2912a2738999f785c7897217c8861f13610e764ef0209d" -- Preprocessed PlutusV2 Script: -- @@@ -- purposeIsWellformedWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- purposeIsWellformedWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_5 -- (PlutusLedgerApi.V1.Data.Contexts.Spending txOutRef_6) -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((txOutRef_6 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V2.Data.Contexts.txInInfoOutRef) GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoInputs txInfo_5) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.(); -- _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "589b01000033333333222222222223233001223232533300c3370e900118080010a9998061807980099802911b" , ByteString "ac002300b37540082c2240022c64600200244a666014002297ae013232533300f3375e601a601c00a660104400" , ByteString "4601c6ea80084cc044008cc0100100044cc010010004c03c008c02c004dd5180400098039baa00222330023007" , ByteString "001300a0015573aae8d5d02ba25734aae795d0aab9f1" ] -- ScriptHash "425173f16a3b0ee8929cbeaeb1a343fb0e020b9c61911e81a10b61b8" -- Preprocessed PlutusV3 Script: -- @@@ -- purposeIsWellformedWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- purposeIsWellformedWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript txOutRef_4 -- (GHC.Maybe.Just _)) -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((txOutRef_4 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V3.Data.Contexts.txInInfoOutRef) GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoInputs txInfo_2)); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58f70101009800aab9daba3aba0aba2ab9aaab9eaba1ab9caab9f48888888889660026466002446464b3001337" , ByteString "0e90011807800c4cc0148c88c8c94cd4d6600266e1d2000001891909118010019807800c56600266e1d2002001" , ByteString "89091000c590102020300f002219800980a180299805911bac002301037540154a14a2808852818098009baa30" , ByteString "0c0013230010012259800800c52f5c1132325980099baf0053300a22002300f375400513301200233004004001" , ByteString "899802002000a0203010002300c0014028601400314a08058dd518041805801180380098031baa002223300230" , ByteString "0600130090018a4d13263300349103505435001200140181" ] -- ScriptHash "8fd84d9c74fcbcf23acd49c57dd8248f4e82cf8aa425ef27c1d5741c" -- Preprocessed PlutusV4 Script: -- @@@ -- purposeIsWellformedWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- purposeIsWellformedWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript txOutRef_4 -- (GHC.Maybe.Just _)) -- _sh_5 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((txOutRef_4 PlutusTx.Eq.Class.==) GHC.Base.. PlutusLedgerApi.V4.Data.Contexts.txInInfoOutRef) GHC.Base.$ PlutusLedgerApi.V4.Data.Contexts.txInfoInputs txInfo_2)); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58d30101009800aba3aba0aba1ab9c48888a664dd5000c88005229001914800c88ca4cdc3a4005200322002528" , ByteString "6640064400291914c9baa300d001911c8014a0026020002940080029498081801cc9baa00b91000a4520032290" , ByteString "01914800c8a4006452003229001914800c8a4006452003229001914800c8a4006452003229001914800c8a4006" , ByteString "452003229001911bac022000014a34a0a50191800800914800c8a4cdd7802cc9baa00291000a44004998020020" , ByteString "00ccc040008cc0100100054bd7003754004264c660049201035054350080052601" ] -- | Script that succeeds when datum is expected and datum is validated against txInfo -- Fails on malformed arguments datumIsWellformed :: SLanguage l -> Plutus l datumIsWellformed :: forall (l :: Language). SLanguage l -> Plutus l datumIsWellformed = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "440262b997a4c1719f2dc2a78b443a36f8ca54b687d3d2e97956a0b7" -- Preprocessed PlutusV1 Script: -- @@@ -- datumIsWellformed_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- datumIsWellformed_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {datum'_4@(PlutusLedgerApi.V1.Scripts.Datum _) -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_5 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext txInfo_6 -- (PlutusLedgerApi.V1.Data.Contexts.Spending _txOutRef_7) -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter ((datum'_4 PlutusTx.Eq.Class.==) GHC.Base.. Data.Tuple.snd) GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoData txInfo_6) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.(); -- _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58da0100003333333322222222222323300122533300a3370e900118071baa30080011533300a300d323300100" , ByteString "1330042237586016601c601c601c601c601c601c601c00260146ea800c894ccc02400452f5c026464a66601c66" , ByteString "ebc028c004880044c8cc044c00888cdd2a4000660266ea4008cc04c0052f5c0002660080080042660080080046" , ByteString "4a6a66601c66e1d200030120011232321233001003002300e3011002375c601a0022c601a0026ea8c02c008c03" , ByteString "40045844800458c01cdd5001111980118038009805000aab9d5746ae815d12b9a5573cae8555cf81" ] -- ScriptHash "9a678b34e99ce31929680b2f40211b94560a658993859402d18e87b8" -- Preprocessed PlutusV2 Script: -- @@@ -- datumIsWellformed_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- datumIsWellformed_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {datum'_4@(PlutusLedgerApi.V1.Scripts.Datum _) -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_5 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_6 -- (PlutusLedgerApi.V1.Data.Contexts.Spending _txOutRef_7) -> if PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter (datum'_4 PlutusTx.Eq.Class.==) GHC.Base.$ (PlutusTx.Data.AssocMap.elems GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoData txInfo_6)) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.(); -- _ -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58c101000033333333222222222323232223300522533300c3370e900118081baa300a0011533300c300f30053" , ByteString "23300100133008223756601a60206020602060206020602060206020602000260186ea800c8cc01d2f5c044660" , ByteString "22601c004660060060022c2240022c60126ea8004c8c00400488ccc00d2f5c044a66601666ebc01c0084cc0340" , ByteString "08cc0100100044cc0100100040048894ccc018004400c4cc008c01c004c02800488cc008c014004c02000555ce" , ByteString "aba35740ae895cd2ab9e5742aae7c1" ] -- ScriptHash "981b195c2df6e6d411deb326357f15cdd8e44854e1a5c8f3c3c1ca45" -- Preprocessed PlutusV3 Script: -- @@@ -- datumIsWellformed_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- datumIsWellformed_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Just datum_5)) -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter (datum_5 PlutusTx.Eq.Class.==) GHC.Base.$ (PlutusTx.Data.AssocMap.elems GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoData txInfo_2))); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "5901250101009800aab9daba3aba0aba2ab9aaab9eaba1ab9caab9f48888888889660026466002446464b30013" , ByteString "370e90011807800c4cc01488c8c94cd4d6600266e1d2000001891909118010019807000c56600266e1d2002001" , ByteString "89091000c5900f201e300e0022323219800980a9800991980080099806911bab30133016301630163016301630" , ByteString "163016301630160013012375401846600697ae02233017301400233003003001a50a5140486460020024530014" , ByteString "bd704896600266ebc01800a26602e004660080080031330040040014055001400c444b30010018801c4cc008c0" , ByteString "44004c05000500f0a50301200137546016002601400314a08058dd518041805801180380098031baa002223300" , ByteString "2300600130090018a4d132633003490103505435001200140181" ] -- ScriptHash "385fce278c6e75846be6f1c391e0159f5105fb740931038ea6e1fcce" -- Preprocessed PlutusV4 Script: -- @@@ -- datumIsWellformed_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- datumIsWellformed_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Just datum_5)) -- _sh_6 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null GHC.Base.$ (PlutusTx.Data.List.filter (datum_5 PlutusTx.Eq.Class.==) GHC.Base.$ (PlutusTx.Data.AssocMap.elems GHC.Base.$ PlutusLedgerApi.V4.Data.Contexts.txInfoData txInfo_2))); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "58e70101009800aba3aba0aba1ab9c48888c8a664dd5000c88005229001914800c88ca4cdc3a40052003220025" , ByteString "2866400644002912cc9baa300d001911c8014a0026020002940080029190c980898009806cc9baa00b91000a45" , ByteString "2003229001914800c8a4006452003229001914800c8a4006452003229001914800c8a400645200322900191480" , ByteString "0c8a4006452003229001911bab008000014a34a032300100122900191499baf00500299802002000ccc04c008c" , ByteString "c0100100054bd70229401baa00213263300349010350543500800526191800800914800c88cc01e400a4400233" , ByteString "004004001a5eb801" ] -- | Script that succeeds when inputs and outputs are not empty validated against txInfo -- Fails on malformed arguments and also if inputs or outputs are empty inputsOutputsAreNotEmptyNoDatum :: SLanguage l -> Plutus l inputsOutputsAreNotEmptyNoDatum :: forall (l :: Language). SLanguage l -> Plutus l inputsOutputsAreNotEmptyNoDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "5f9d7f3739a790eccd035fd65d0c56f5e74eb6d6dfdd13dcfb0ee92e" -- Preprocessed PlutusV1 Script: -- @@@ -- inputsOutputsAreNotEmptyNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- inputsOutputsAreNotEmptyNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext txInfo_4 -- _scriptPurpose_5 -> if PlutusTx.Data.List.null (PlutusLedgerApi.V1.Data.Contexts.txInfoInputs txInfo_4) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V1.Data.Contexts.txInfoOutputs txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58cd010000333333222222223233001225333008325333009300b33001222222222200a2614a22601666002444" , ByteString "44444440124c446600a446464646464646466666666660166eb0024dd618088041bab30110073756602200c6eb" , ByteString "0c044014dd6180880218088019bac301100237586022002646a66602866e1d2000301700112375c60260022c60" , ByteString "260026ea8c044c050004c04c004c048004c044004c040004c03c004c038004c034004c024dd50020b089000980" , ByteString "29baa0022233002300500130080015573aae8d5d12b9a5573cae85" ] -- ScriptHash "3559f05c3e88101588da07471e2e1bdc2f7aca9c2ee50a43b6d333b5" -- Preprocessed PlutusV2 Script: -- @@@ -- inputsOutputsAreNotEmptyNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- inputsOutputsAreNotEmptyNoDatum_0 redeemer_1 context_2 = case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_1 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_3 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_2 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_4 -- _scriptPurpose_5 -> if PlutusTx.Data.List.null (PlutusLedgerApi.V2.Data.Contexts.txInfoInputs txInfo_4) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V2.Data.Contexts.txInfoOutputs txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58e4010000333333222222223233001225333008325333009300b3300122222222222200c2614a226016660024" , ByteString "444444444440144c446600a4464646464646464646466666666666601a6eb002cdd618098051bac30130093756" , ByteString "60260106eacc04c01cdd618098031bab30130053013004375860260066eacc04c008dd59809800991a99980b19" , ByteString "b8748000c06400448dd7180a8008b180a8009baa30133016001301500130140013013001301200130110013010" , ByteString "001300f001300e001300d001300937540082c224002600a6ea800888cc008c014004c02000555ceaba35744ae6" , ByteString "955cf2ba11" ] -- ScriptHash "6563bcdd3220ec6b6eba939475f513bddbe64e4d312e6e427742ded6" -- Preprocessed PlutusV3 Script: -- @@@ -- inputsOutputsAreNotEmptyNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOutputsAreNotEmptyNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Just _)) -> GHC.Types.False; -- PlutusLedgerApi.V3.Data.Contexts.ScriptContext txInfo_5 -- _redeemer_6 -- _scriptPurpose_7 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null (PlutusLedgerApi.V3.Data.Contexts.txInfoInputs txInfo_5) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V3.Data.Contexts.txInfoOutputs txInfo_5))}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "59017f0101009800aab9daba3aba2ab9aaab9eaba1ab9c4888888896600264660024464646464b30013370e900" , ByteString "11807801c4cc01c894cd4cc0108004c030004852809801a4c60160071300149900c14c004c966002601e660024" , ByteString "4444444444444440204d14a31300f33001222222222222222200e2640344466012446464646464646464646464" , ByteString "646465300137580213758603801f3758603801d375a603801b375660380193758603801737566038015301c009" , ByteString "9bac301c0089bab301c0079bab301c0069bae301c0059bab301c0049bac301c0039800980e0014c004c070c07c" , ByteString "0090121809bad301d001301c001301b001301a0013019001301800130170013016001301500130140013013001" , ByteString "30120013011001300d37540114a14a2806088c8c8d6600266e1d20000018919091180100198029806800c56600" , ByteString "266e1d200200189091000c5900e201c300d002301000137540026ea8c01cc028008c018004c014dd5001111980" , ByteString "118028009804000c526899319801248103505435001200140141" ] -- ScriptHash "82c47e01081b8da414647274065423712e5f96519bd35333e0a2f63a" -- Preprocessed PlutusV4 Script: -- @@@ -- inputsOutputsAreNotEmptyNoDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOutputsAreNotEmptyNoDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Just _)) -- _sh_5 -> GHC.Types.False; -- PlutusLedgerApi.V4.Data.Contexts.ScriptContext txInfo_6 -- _redeemer_7 -- _scriptPurpose_8 -- _sh_9 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null (PlutusLedgerApi.V4.Data.Contexts.txInfoInputs txInfo_6) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V4.Data.Contexts.txInfoOutputs txInfo_6))}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "5901240101009800aba3aba1ab9c4888a664dd5000c88005229001914800c88c8c8ca4cdc3a40052007220024c" , ByteString "00526cc801c88005229330042001300e00192509801a4c08ca64c038cc004888888888888888888880489a601c" , ByteString "66002444444444444444444440204d4a2a51a50114c9baa00b91000a452003229001914800c8a4006452003229" , ByteString "001914800c8a4006452003229001914800c8a4006452003229001914800c8a400645200322900191194c004dd7" , ByteString "013cc0040966eb008e6eb00866eb007e6eb40766eac06e6eb00666eac05e6eac0566eac04e023375801f375601" , ByteString "b37560173756013375600f375800b30010039bad303500240a46054eb400001149baa001911c8014a002600a60" , ByteString "1e002940080023754004264c66004921035054350080052601" ] -- | Script that succeeds when inputs and outputs are not empty validated against txInfo -- Fails on malformed arguments and also if inputs or outputs are empty inputsOutputsAreNotEmptyWithDatum :: SLanguage l -> Plutus l inputsOutputsAreNotEmptyWithDatum :: forall (l :: Language). SLanguage l -> Plutus l inputsOutputsAreNotEmptyWithDatum = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "7e701b7ba062a653e08dd35de364bde1ed77ef2aa09d0c209549e878" -- Preprocessed PlutusV1 Script: -- @@@ -- inputsOutputsAreNotEmptyWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- inputsOutputsAreNotEmptyWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V1.Data.Contexts.ScriptContext txInfo_5 -- _scriptPurpose_6 -> if PlutusTx.Data.List.null (PlutusLedgerApi.V1.Data.Contexts.txInfoInputs txInfo_5) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V1.Data.Contexts.txInfoOutputs txInfo_5) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58ce010000333333222222222323300122533300932533300a300c33001222222222200a2614a2260186600244" , ByteString "444444440124c446600a446464646464646466666666660166eb0024dd618090041bab30120073756602400c6e" , ByteString "b0c048014dd6180900218090019bac301200237586024002646a66602a66e1d2000301800112375c60280022c6" , ByteString "0280026ea8c048c054004c050004c04c004c048004c044004c040004c03c004c038004c028dd50020b08900098" , ByteString "031baa0022233002300600130090015573aae8d5d12b9a5573cae841" ] -- ScriptHash "2b62bd7ca52e790e01aac1a96721bbeb2f80a62ce5ca19c3cf55227a" -- Preprocessed PlutusV2 Script: -- @@@ -- inputsOutputsAreNotEmptyWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- inputsOutputsAreNotEmptyWithDatum_0 datum_1 redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData datum_1 of -- {PlutusLedgerApi.V1.Scripts.Datum _ -> case PlutusTx.IsData.Class.unsafeFromBuiltinData redeemer_2 of -- {PlutusLedgerApi.V1.Scripts.Redeemer _r_4 -> case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_5 -- _scriptPurpose_6 -> if PlutusTx.Data.List.null (PlutusLedgerApi.V2.Data.Contexts.txInfoInputs txInfo_5) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V2.Data.Contexts.txInfoOutputs txInfo_5) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58e5010000333333222222222323300122533300932533300a300c3300122222222222200c2614a22601866002" , ByteString "4444444444440144c446600a4464646464646464646466666666666601a6eb002cdd6180a0051bac3014009375" , ByteString "660280106eacc05001cdd6180a0031bab30140053014004375860280066eacc050008dd5980a000991a99980b9" , ByteString "9b8748000c06800448dd7180b0008b180b0009baa3014301700130160013015001301400130130013012001301" , ByteString "10013010001300f001300e001300a37540082c224002600c6ea800888cc008c018004c02400555ceaba35744ae" , ByteString "6955cf2ba101" ] -- ScriptHash "63f5c8b5170650a5f8e4b8b4a02b514ff949b81456ab45074ad94de6" -- Preprocessed PlutusV3 Script: -- @@@ -- inputsOutputsAreNotEmptyWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOutputsAreNotEmptyWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V3.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Nothing)) -> GHC.Types.False; -- PlutusLedgerApi.V3.Data.Contexts.ScriptContext txInfo_5 -- _redeemer_6 -- _scriptPurpose_7 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null (PlutusLedgerApi.V3.Data.Contexts.txInfoInputs txInfo_5) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V3.Data.Contexts.txInfoOutputs txInfo_5))}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "59017d0101009800aab9daba3aba2ab9aaab9eaba1ab9c4888888896600264660024464646464b30013370e900" , ByteString "11807801c4cc01c88cd4cc0108004c0300048c011264a060160071300149900c14c004c966002601e660024444" , ByteString "4444444444440204d14a31300f33001222222222222222200e2640344466012446464646464646464646464646" , ByteString "465300137580213758603801f3758603801d375a603801b375660380193758603801737566038015301c0099ba" , ByteString "c301c0089bab301c0079bab301c0069bae301c0059bab301c0049bac301c0039800980e0014c004c070c07c009" , ByteString "0121809bad301d001301c001301b001301a0013019001301800130170013016001301500130140013013001301" , ByteString "20013011001300d37540114a14a2806088c8c8d6600266e1d20000018919091180100198029806800c56600266" , ByteString "e1d200200189091000c5900e201c300d002301000137540026ea8c01cc028008c018004c014dd5001111980118" , ByteString "028009804000c52689931980124903505435001200140141" ] -- ScriptHash "4a48ad16315ff02dc24fda5853203e96651cda8daf497dad6c23a5ab" -- Preprocessed PlutusV4 Script: -- @@@ -- inputsOutputsAreNotEmptyWithDatum_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOutputsAreNotEmptyWithDatum_0 arg_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData arg_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext _txInfo_2 -- _redeemer_3 -- (PlutusLedgerApi.V4.Data.Contexts.SpendingScript _txOutRef_4 -- (GHC.Maybe.Nothing)) -- _sh_5 -> GHC.Types.False; -- PlutusLedgerApi.V4.Data.Contexts.ScriptContext txInfo_6 -- _redeemer_7 -- _scriptPurpose_8 -- _sh_9 -> GHC.Classes.not GHC.Base.$ (PlutusTx.Data.List.null (PlutusLedgerApi.V4.Data.Contexts.txInfoInputs txInfo_6) GHC.Classes.|| PlutusTx.Data.List.null (PlutusLedgerApi.V4.Data.Contexts.txInfoOutputs txInfo_6))}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "5901240101009800aba3aba1ab9c4888a664dd5000c88005229001914800c88c8c8ca4cdc3a40052007220024c" , ByteString "00526cc801c88005229330042001300e0019180224d4a008ca64c038cc004888888888888888888880489a601c" , ByteString "66002444444444444444444440204d4a2a51a50114c9baa00b91000a452003229001914800c8a4006452003229" , ByteString "001914800c8a4006452003229001914800c8a4006452003229001914800c8a400645200322900191194c004dd7" , ByteString "013cc0040966eb008e6eb00866eb007e6eb40766eac06e6eb00666eac05e6eac0566eac04e023375801f375601" , ByteString "b37560173756013375600f375800b30010039bad303500240a46054eb400001149baa001911c8014a002600a60" , ByteString "1e002940080023754004264c66004921035054350080052601" ] -- | Script that succeeds only if any the inputs also appears in the reference inputs inputsOverlapsWithRefInputs :: SLanguage l -> Plutus l inputsOverlapsWithRefInputs :: forall (l :: Language). SLanguage l -> Plutus l inputsOverlapsWithRefInputs = ByteString -> Plutus l forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus (ByteString -> Plutus l) -> (SLanguage l -> ByteString) -> SLanguage l -> Plutus l forall b c a. (b -> c) -> (a -> b) -> a -> c . [ByteString] -> ByteString forall a. Monoid a => [a] -> a mconcat ([ByteString] -> ByteString) -> (SLanguage l -> [ByteString]) -> SLanguage l -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . \case SLanguage l SPlutusV1 -> [Char] -> [ByteString] forall a. HasCallStack => [Char] -> a error [Char] "Script not available in PlutusV1" -- ScriptHash "ba5e2dd51d67e4d307ebd0bba7b8bdf1b5fa3bd7180708332665e2cb" -- Preprocessed PlutusV2 Script: -- @@@ -- inputsOverlapsWithRefInputs_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinData -> () -- inputsOverlapsWithRefInputs_0 _datum_1 _redeemer_2 context_3 = case PlutusTx.IsData.Class.unsafeFromBuiltinData context_3 of -- {PlutusLedgerApi.V2.Data.Contexts.ScriptContext txInfo_4 -- _scriptPurpose_5 -> if PlutusTx.Data.List.any (\x_6 -> (PlutusTx.Maybe.isJust GHC.Base.. PlutusTx.Data.List.find (PlutusTx.Eq.Class.== x_6)) GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoReferenceInputs txInfo_4) GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoInputs txInfo_4 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.()} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "590138010000333333222222222323300123232322533300d300233300400522222222222200c2611200116323" , ByteString "001001223330034a04644a66602066a600466600e0104444444444440164c4945280a511330050050013230010" , ByteString "01223330061220012253330123375e00400a22446004008266008008002002002444a666014002200626600460" , ByteString "16002601c0024446600a4464646464646464646466666666666601a6eb002cdd6180a8051bac30150093756602" , ByteString "a0106eacc05401cdd6180a8031bab301500530150043758602a0066eacc054008dd5980a800991a99980c19b87" , ByteString "48000c06800448dd7180b8008b180b8009baa30153018001301700130160013015001301400130130013012001" , ByteString "30110013010001300f001300b3754006600e6ea800888cc008c01c004c02800555ceaba25734aae795d0aab9f1" ] -- ScriptHash "2fd1e65660c33e4a6cbf79b910c639f8087b5d3a7ddac5667e77b864" -- Preprocessed PlutusV3 Script: -- @@@ -- inputsOverlapsWithRefInputs_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOverlapsWithRefInputs_0 context_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData context_1 of -- {PlutusLedgerApi.V3.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- _scriptPurpose_4 -> PlutusTx.Data.List.any (\x_5 -> (PlutusTx.Maybe.isJust GHC.Base.. PlutusTx.Data.List.find (PlutusTx.Eq.Class.== x_5)) GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoReferenceInputs txInfo_2) GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoInputs txInfo_2; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "5901a10101009800aab9daba2ab9aaab9eaba1ab9caab9f4888888896600264660024646464644646460093001" , ByteString "008911111111111111100849900618078011805800991800800914c0052848c896600266a60053001009911111" , ByteString "1111111111007c9900712514a114a31330050050014040646002002453001008912cc004cdd7801002c4488c00" , ByteString "801226600800800280920028032002801888966002003100389980118058009807000a01222233006223232323" , ByteString "23232323232323232323298009bac0109bac301a00f9bac301a00e9bad301a00d9bab301a00c9bac301a00b9ba" , ByteString "b301a00a980d004cdd6180d0044dd5980d003cdd5980d0034dd7180d002cdd5980d0024dd6180d001cc004c068" , ByteString "00a60026034603a00480908c8c8d6600266e1d2000001891909118010019bad301d0018acc004cdc3a40040031" , ByteString "20178b203c4078603a004603e0026ea8004c06c004c068004c064004c060004c05c004c058004c054004c05000" , ByteString "4c04c004c048004c044004c040004c03c004c02cdd500189100098031baa0022233002300600130090018a4d13" , ByteString "263300349103505435001200140181" ] -- ScriptHash "a7a4cc7bd7383d4765d396c12065bdcb8e19683c025c3a0f0f3625bd" -- Preprocessed PlutusV4 Script: -- @@@ -- inputsOverlapsWithRefInputs_0 :: PlutusTx.Builtins.Internal.BuiltinData -> -- PlutusTx.Builtins.Internal.BuiltinUnit -- inputsOverlapsWithRefInputs_0 context_1 = PlutusTx.Prelude.check GHC.Base.$ (case PlutusTx.IsData.Class.unsafeFromBuiltinData context_1 of -- {PlutusLedgerApi.V4.Data.Contexts.ScriptContext txInfo_2 -- _redeemer_3 -- _scriptPurpose_4 -- _sh_5 -> PlutusTx.Data.List.any (\x_6 -> (PlutusTx.Maybe.isJust GHC.Base.. PlutusTx.Data.List.find (PlutusTx.Eq.Class.== x_6)) GHC.Base.$ PlutusLedgerApi.V4.Data.Contexts.txInfoReferenceInputs txInfo_2) GHC.Base.$ PlutusLedgerApi.V4.Data.Contexts.txInfoInputs txInfo_2; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV4 -> [ ByteString "59011f0101003322299937540032200148c8c88c00a60020092222222222222222222201293200632300100122" , ByteString "900191914c98014c00401e4444444444444444444402326401924a34a099802802800d288c8c0040048a400645" , ByteString "266ebc0080166600800800380080118012940445326ea800e44002914800c8a4006452003229001914800c8a40" , ByteString "06452003229001914800c8a4006452003229001914800c8a4006452003229001914800c8a400644653001375c0" , ByteString "4f30010259bac0239bac0219bac01f9bad01d9bab01b9bac0199bab0179bab0159bab013808cdd6007cdd5806c" , ByteString "dd5805cdd5804cdd5803cdd6002cc00400e6eb4c0b8009029149baa001911c8014a0026eb4c0c4005280100040" , ByteString "000132633002490103505435008005262ba15739" ]