{-# 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, ) 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 = forall a c b. (a -> c) -> (b -> c) -> Either a b -> c either forall a. HasCallStack => [Char] -> a error (forall (l :: Language). PlutusBinary -> Plutus l Plutus forall b c a. (b -> c) -> (a -> b) -> a -> c . ShortByteString -> PlutusBinary PlutusBinary forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteString -> ShortByteString SBS.toShort) 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "25e76058427573fc1abccab80e5a00ab99a94dc1691b639f963f70b1" -- 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 "5828010000225335333573466e1d200235573a6ea8d5d09aba235573c6ea800448800848800458448005" ] -- ScriptHash "4a31fe1bbc35992d47f6922de9fc9d93269a7d6dab118a50f260e4dc" -- 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 "5828010000225335333573466e1d200235573a6ea8d5d09aba235573c6ea800448800848800458448005" ] -- ScriptHash "953c40eaaf5302a6b0a68d605ae67d9a35e260f5a3c278936fc15880" -- 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 "5896010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335" , ByteString "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321801460" , ByteString "0035573c002230003755264650013574200535742003357426ae880046ae88004d55cf1baa002911000a29344c" , ByteString "0052410350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "9ee3736c90d5a9dc4add2e86cf04b70ff1998b957be6dfbdbdbddaa8" -- 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 "582e0100002225335333573466e1d200235573a6ea8d5d09aba235573c6ea80044880084880044480044c8d400" , ByteString "400581" ] -- ScriptHash "b1729775825e43abf8d60710e78dd3577384b16ec09ec02d2a3335bf" -- 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 "582e0100002225335333573466e1d200235573a6ea8d5d09aba235573c6ea80044880084880044480044c8d400" , ByteString "400581" ] -- ScriptHash "d4ecf06c769de6193048042f28c135c74d388e05ee429c95dd88631e" -- 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 "5896010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335" , ByteString "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321800460" , ByteString "0435573c002230023755264650013574200535742003357426ae880046ae88004d55cf1baa002911000a29344c" , ByteString "0052410350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "ed292adb1374aec5647411e6a298593b432c30ae78a5f1db52955a1e" -- 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 "5828010000225335333573466e1d200235573a6ea8d5d09aba235573c6ea800448800848800444800459" ] -- ScriptHash "114a2d8da1d003eef89ead7fde95613d2b4d523831bca6b76393d595" -- 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 "5828010000225335333573466e1d200235573a6ea8d5d09aba235573c6ea800448800848800444800459" ] -- ScriptHash "ac9b594df2e90cece2a52576cc36181de3f5bc10dedcba9fef1fda37" -- 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 "5884010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335" , ByteString "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321800460" , ByteString "0435573c0022300237546ae84d5d11aba235573c6ea800a29344c00524010350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "627df105ccd46e722fefa013d252497c53f4e047fdf8555afea4e682" -- 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 "58290100002225335333573466e1d200235573a6ea8d5d09aba235573c6ea8004488008488004584480041" ] -- ScriptHash "cfa2ef9b3f961bafb876c9955d1e40e76657e2346c354ec2d3b5350d" -- 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 "58290100002225335333573466e1d200235573a6ea8d5d09aba235573c6ea8004488008488004584480041" ] -- ScriptHash "08cc0da96095fa5b13b9b9a58a4b4f10f351ea4bec2c54acbfe48b75" -- 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 "5884010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335" , ByteString "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321801460" , ByteString "0035573c0022300037546ae84d5d11aba235573c6ea800a29344c00524010350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "efcfdd640c3dda3c352704e4b09152b6e2aa08f8cece773e50d038d8" -- 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.== d_4 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "584201000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19ba" , ByteString "f004005002001112001161220021220011323500100161" ] -- ScriptHash "0a08efae260718fdef595e33e1c7bc23134c477f592e25069e3ba0fe" -- 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.== d_4 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "584201000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19ba" , ByteString "f004005002001112001161220021220011323500100161" ] -- ScriptHash "83932f2da7a5ef2190835ed0367a0974663733866cf65eaaf38a2ba3" -- 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.== redeemer_3; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "589301010025329323255333573466e1d200235573a0022264b2646464aa666ae68cdc3a400400423002115533" , ByteString "3573466e1d2000002118009aba1001089803a481035054310035573c0046aae74004dd51aba135744003213335" , ByteString "73466ebc004d5d0802400200518010d55cf00088c008dd51aba1357440026ae88d55cf1baa0028a4d130014901" , ByteString "0350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "1c80082f0c1eb0dfd87825ea96d0d513b0cf197799da830b7e0ef276" -- 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.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "584901000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19b8" , ByteString "748000cdc31bad00548010008004448004584880084880044c8d40040059" ] -- ScriptHash "6569ce6d13f3f4933fb6b9a98bcca83be34b2d4e57b3dbc9323136c7" -- 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.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "584901000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19b8" , ByteString "748000cdc31bad00548010008004448004584880084880044c8d40040059" ] -- ScriptHash "a46526fa1bb06ecfd460760c89dcf1e1e61e2df731a8b6cc75036ebe" -- 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.== 0}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "5895010100253293255333573466e1d200235573a0022264b2646464aa666ae68cdc3a40040042300211553335" , ByteString "73466e1d2000002118009aba10010898032481035054310035573c0046aae74004dd51aba13574400321333573" , ByteString "466e1d20003370c6eb40052004800400a32d60d55cf00088cb586ea8d5d09aba2357446aae78dd500145268980" , ByteString "0a490350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "ce69f88ce1fff3d8d2ee0bc573597fbac5f48097618b471bfa852010" -- 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.== 0 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "58440100002253322335333573466e1d200235573a6ea8d5d09aba235573c6ea800c0080045854cd4ccd5cd19b" , ByteString "8748000cdc31bad00448010008004448004584880084880041" ] -- ScriptHash "d6b4c62713e16b076c69abd2cc0291aace4a2214707be6d445d80127" -- 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.== 0 -- then GHC.Tuple.Prim.() -- else PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "58440100002253322335333573466e1d200235573a6ea8d5d09aba235573c6ea800c0080045854cd4ccd5cd19b" , ByteString "8748000cdc31bad00448010008004448004584880084880041" ] -- ScriptHash "3dd8161bbff9d9625734f1425ff9b257206f405fb4e24feba81be29f" -- 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.== 0}}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "58a00101002532932325325333573466e1d200235573a0042264b2646464aa666ae68cdc3a4004004230021155" , ByteString "333573466e1d2000002118009aba10010898042481035054310035573c0046aae74004dd51aba1357440032180" , ByteString "144c009261aab9e0021130014988ccd5cd19b8748000cdc31bad35742006900240020046ea8d5d09aba2001357" , ByteString "446aae78dd5001452689800a490350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "5eda794e03460a4c89bd2fb5e529a69e7fef309adab03978e98fb5e1" -- 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.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "584901000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19b8" , ByteString "748000cdc31bad00448010008004448004584880084880044c8d40040059" ] -- ScriptHash "e521695ec6eb4c320952779cc18773d661aa5708d437d903ffbcf41f" -- 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.== 0 -> GHC.Tuple.Prim.() -- | GHC.Base.otherwise -> PlutusTx.Builtins.error GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "584901000022253332235333573466e1d200235573a6ea8d5d09aba235573c6ea800c00800454cd4ccd5cd19b8" , ByteString "748000cdc31bad00448010008004448004584880084880044c8d40040059" ] -- ScriptHash "8b736a9842cd3376dadc6c521d0e964a28c7b60c5050b33e0e8a59ef" -- 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.== 0; -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "589a01010025329323255333573466e1d200235573a0022264b2646464aa666ae68cdc3a400400423002115533" , ByteString "3573466e1d2000002118009aba1001089803a481035054310035573c0046aae74004dd51aba135744003213335" , ByteString "73466e1d20003370c6eb4d5d0802240090008014600435573c0022300237546ae84d5d10009aba235573c6ea80" , ByteString "0a29344c0052410350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "e20ff027a00b0b8730dd1231af4375f1bb0db696f957c9ddd3fc13e5" -- 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.==) 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.==) GHC.Base.$ PlutusLedgerApi.V1.Data.Contexts.txInfoDCert txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV1 -> [ ByteString "590597010000223232323232332232323232323232323232325335333573466e1d200000100d00c15335350023" , ByteString "3300b011222222222200726100f1615335333573466e1d200200100d00c1615335333573466e1d200400100d00" , ByteString "c15335300a333300823232325335333573466e1d2000002011010133221233001003002357420026eb4d5d09ab" , ByteString "a2001130124901035054310035573c0046aae74004dd500091a8009119ba548000cd5d000119aba0375000297a" , ByteString "e0233008357426aae78044d400488008ccc02c04488888888880149858403c54cd4ccd5cd19b87480180040340" , ByteString "3054cd4c028cccc020800480048c8c94c8cd4ccd5cd19b8748000d55ce801008808099299a999ab9a3370e9000" , ByteString "1aab9d00101201113300c357426aae7800cd5d09aab9e00113002498dd500209800a4c4a6466a666ae68cdc3a4" , ByteString "0046aae7400c0480444c94cd4ccd5cd19b8748008d55ce8008098090998069aba135573c0086ae84d55cf00089" , ByteString "80124c6ea80144c005262323330090052233300b008225335330110040021330100030011016230044988c0092" , ByteString "623233300b0062233300d009225335333573466e3c01000806005c4cc04400c004405c8c01126230024988c8cc" , ByteString "c03401c88ccc03c028894cd4ccd5cd19b8f0040020190181333573466e1c00c00406406040608c011262300249" , ByteString "894c8cd4ccd5cd19b8748028d55ce80380b00a8a99a999ab9a3370e90051aab9d375401202c02a202c26002930" , ByteString "9800a4c4a66a666ae68cdc3a40186aae7401c0580544ccd5cd19b8748030d55ce9baa009016015101537540026" , ByteString "ae84d55cf0089998058089111111111003130b08078991a800800b1aab9d00f33230010012213300900c253353" , ByteString "33573466ebcdd49bae357426aae78044d55ce800807006890078a99801801890008900091119299a999ab9a337" , ByteString "0e90021aab9d00100e00d13233004357420026eb8d5d09aba200135573c00226004931baa00322232533533357" , ByteString "3466e1d200635573a00201a018264660086eb8d5d08009bae357426ae88004d55cf0008980124c6ea800c888c9" , ByteString "4cd4ccd5cd19b8748020d55ce800806005899198021bae357420026eb4d5d09aba200135573c00226004931baa" , ByteString "00322333573466e3c00800402402088c94c8cd4ccd5cd19b8748000d55ce801005004899299a999ab9a3370e90" , ByteString "001aab9d00100b00a13232532335333573466e1d200035573a00401c01a264a66a666ae68cdc3a40006aae7400" , ByteString "403c0384ccd5cd19b8f375c6ae84d55cf0019bae357426aae7800403c0384c00926375400626002931299a999a" , ByteString "b9a3370e90011aab9d00200e00d1325335333573466e1d200235573a00201e01c2666ae68cdc79bae357426aae" , ByteString "7800cdd71aba135573c00201e01c201c6ea800c4034dd51aba135573c0086ae84d55cf0008980124c6ea800c4c" , ByteString "005262332330010052223330040072225335333573466e1c01800c04404054cd4ccd5cd19b8700500201101013" , ByteString "33573466e1c010004044040404040408038888c94cd4ccd5cd19b8748008d55ce800807006899191998029bad3" , ByteString "57420046eb4d5d08009bad357426ae88004d5d10009aab9e00113002498dd500190051baa00222232230020013" , ByteString "23001001223330064bd701119299a980300089919aba0300800200133005005002133005005002300700200122" , ByteString "253335573e00220062660046ae84004d5d10009199ab9a35746002008006444646464646464646464666666666" , ByteString "60166eb0d5d08049bac357420106eacd5d08039bab3574200c6eb0d5d08029bac357420086ae8400cdd61aba10" , ByteString "0237586ae84004c8c8c94cd4ccd5cd19b87480000080440404dd71aba1001130124901035054310035573c0046" , ByteString "aae74004dd51aba1357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026aae" , ByteString "78dd5001891001091000919319ab9c0010021200137546ae84d5d10011aba100135573c6ea8005" ] -- ScriptHash "98b7286715ee21774b1f2576f3ad797444143bce88cf570034c51633" -- 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.==) GHC.Base.$ PlutusLedgerApi.V2.Data.Contexts.txInfoDCert txInfo_4) -- then PlutusTx.Builtins.error GHC.Tuple.Prim.() -- else GHC.Tuple.Prim.()}}} -- @@@ SLanguage l SPlutusV2 -> [ ByteString "59053d01000022323232532332232323232335333573466e1d2000001006005153353330027526eb8d5d09aab9" , ByteString "e0083330040092222222222220082610071615335333573466e1d20020010060051615335333573466e1d20040" , ByteString "01006005153353330022001357426aae78020ccc01002488888888888801898401c584c8c8c8c8c8c94cd4ccd5" , ByteString "cd19b874801801c03002c54cd4ccd5cd1aba3300133300a00f2222222222220072600c00b16100d13235001001" , ByteString "63230010012233300a4bd7011299a991929919a999ab9a3370e90001aab9d0020120111325335333573466e1d2" , ByteString "00035573a0020260242660126ae84d55cf0019aba135573c00226004931baa0051300149894c8cd4ccd5cd19b8" , ByteString "748008d55ce801809809099299a999ab9a3370e90011aab9d00101401313300a357426aae78010d5d09aab9e00" , ByteString "113002498dd500309800a4c46466601600a4466601a01244a66a6601c008004266024006002202e46008931180" , ByteString "124c46466601a00c4466601e01444a66a666ae68cdc780200100c80c099809801800880c1180224c4600493119" , ByteString "1998078039119980880591299a999ab9a3371e0080040340322666ae68cdc380180080d00c880c9180224c4600" , ByteString "493129919a999ab9a3370e90051aab9d00701701615335333573466e1d200a35573a6ea802805c058405c4c005" , ByteString "261300149894cd4ccd5cd19b8748030d55ce80380b80b0999ab9a3370e90061aab9d375401402e02c202c6ea80" , ByteString "04d5d09aab9e0111335740004660080080022660080080020024464a6466a666ae68cdc3a40006aae740080380" , ByteString "344c94cd4ccd5cd19b8748000d55ce8008078070991929919a999ab9a3370e90001aab9d002012011132533533" , ByteString "3573466e1d200035573a0020260242666ae68cdc79bae357426aae7800cdd71aba135573c00202602426004931" , ByteString "baa0031300149894cd4ccd5cd19b8748008d55ce801009008899299a999ab9a3370e90011aab9d001013012133" , ByteString "3573466e3cdd71aba135573c0066eb8d5d09aab9e0010130121012375400620226ea8d5d09aab9e004357426aa" , ByteString "e780044c0092637540062600293119919800802911199802003911299a999ab9a3370e00c00602a0282a66a666" , ByteString "ae68cdc380280100a80a0999ab9a3370e00800202a02820282028402444464a66a666ae68cdc3a40046aae7400" , ByteString "40480444c8c8ccc014dd69aba1002375a6ae84004dd69aba1357440026ae88004d55cf0008980124c6ea800c80" , ByteString "38dd500111119299a999ab9a3370e90021aab9d00100d00c13233004357420026eb8d5d09aba200135573c0022" , ByteString "6004931baa003222325335333573466e1d200635573a002018016264660086eb8d5d08009bae357426ae88004d" , ByteString "55cf0008980124c6ea800c888c94cd4ccd5cd19b8748020d55ce800805805099198021bae357420026eb4d5d09" , ByteString "aba200135573c00226004931baa00322333573466e3c00800402001cd55ce803911911a8010009991800800910" , ByteString "998028039299a999ab9a3375e600a0086aae740040240204802854cc00c00c48004480048894ccd55cf8008801" , ByteString "8998011aba100135744002444646464646464646464646466666666666601a6eb0d5d08059bac357420146eb0d" , ByteString "5d08049bab357420106eacd5d08039bac3574200c6eacd5d08029aba100437586ae8400cdd59aba100237566ae" , ByteString "84004c8c8c94cd4ccd5cd19b874800000804c0484dd71aba100113263357389201035054310001435573c0046a" , ByteString "ae74004dd51aba1357440026ae88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88" , ByteString "004d5d10009aab9e3754006244004244002240026ea8d5d09aba2002357420026aae78dd500081" ] -- ScriptHash "285c754707b3719e03894befa335c5eb428d5914a219a7e30f03fa64" -- 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.==) 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.==) 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 "5908780101003232323232323225329323232323232532325333573466e1d2000001113330027526eb8d5d09aa" , ByteString "b9e00333300c75246e98004c02cccc041d711bab00137566ae84018454c8c8c8c94ccd5cd19b874800801444c9" , ByteString "64cc00800cd5d09aba200190c00a2600a6666008006400246464aa666ae68c8cdc79800801180080191bae3574" , ByteString "26aae78dd500088999ab9a323370e6002004600200646eb4d5d09aba235573c6ea8006001002118011aba10033" , ByteString "57426aae78dd50009bac3574201835573c00e22aa666ae68cdc3a400800a2266600c40026ae84d55cf0039bab3" , ByteString "574201022aa666ae68cdc3a400c00a2264600a666600800640024646464664660020084466600600e44b26600e" , ByteString "00800515900390ac801484ccd5cd19b87002001800400a30024564006430028c0008c0084600a93111192a999a" , ByteString "b9a3370e90001aab9d0011132330043574200266016eb4d5d09aba200135573c002226004931baa00323002498" , ByteString "8c8cc8cc00401488ccc00c0208964cc02001000a2b2007215900290999ab9a3370e004003000801460048ac800" , ByteString "c8600518001180108c015262223255333573466e1d200235573a0022264660086ae84004cc031d69aba1357440" , ByteString "026aae7800444c0092637540064600493119191991980080391199801805112c9980500200144cc01c00c00630" , ByteString "0211802a4c44464aa666ae68cdc3a40086aae7400444c8cc010d5d08009aba1357440026aae7800444c0092637" , ByteString "540064600493119199198008041111998020061112c99806803001c564cc02801400a2666ae68cdc3802000c00" , ByteString "20051801230021180324c44464aa666ae68cdc3a400c6aae7400444c8c8ccc014d5d08011aba1001375a6ae84d" , ByteString "5d10009aba200135573c002226004931baa003230024988c8cc8cc00402488ccc00c0308964cc03001000a2666" , ByteString "ae68cdc3801800c002005180108c015262223255333573466e1d200835573a0022264660086ae84004dd69aba1" , ByteString "357440026aae7800444c00926375400646004931192992999ab9a3370e90051aab9d002113255333573466e1d2" , ByteString "00a35573a00222660146ae84d55cf0019aba135573c002226004931baa00b1130014988c8cc8cc00403088ccc0" , ByteString "0c03c8964cc03c01000a2666ae68cdc3801800c002005180108c015262223255333573466e1d200c35573a0022" , ByteString "264660086ae84004dd69aba1357440026aae7800444c0092637540064600493119199198008069119980180811" , ByteString "2c9980800200144cc04000c006300211802a4c44464aa666ae68cdc3a40246aae7400444c8cc010d5d08009aba" , ByteString "1357440026aae7800444c009263754006460049312a999ab9a3370e900a1aab9d004113255333573466e1d2014" , ByteString "35573a00222660186ae84d55cf0029aba135573c00223002375401a2300237540104464a64a666ae68cdc3a400" , ByteString "06aae7400844c954ccd5cd19b8748000d55ce80088999ab9a3371e6eb8d5d09aab9e003375c6ae84d55cf000c0" , ByteString "02004226004931baa00311300149894c8c94ccd5cd19b8748008d55ce80208992a999ab9a3370e90011aab9d00" , ByteString "11133003357426aae78014d5d09aab9e001113002498dd5002889800a4c46646600200e4466600601044aa666a" , ByteString "e68cdc7802001089980380180088c008a00444464aa666ae68cdc3a40086aae7400444c8cc010dd71aba100135" , ByteString "7426ae88004d55cf00088980124c6ea800ca0044464a64a666ae68cdc3a40006aae7400844c954ccd5cd19b874" , ByteString "8000d55ce80088998061aba135573c0066ae84d55cf00088980124c6ea800c44c0052625325333573466e1d200" , ByteString "235573a00622aa666ae68cdc3a40046aae74dd500208c00044c00526113001498954ccd5cd19b8748010d55ce8" , ByteString "0188999ab9a3370e90021aab9d375400900080108c008dd50011baa00222325325333573466e1d200035573a00" , ByteString "42264aa666ae68cdc3a40006aae7400444ccd5cd19b8f375c6ae84d55cf0019bae357426aae780060010021130" , ByteString "02498dd5001889800a4c4aa666ae68cdc3a40046aae7400844c954ccd5cd19b8748008d55ce80088999ab9a337" , ByteString "1e6eb8d5d09aab9e003375c6ae84d55cf000c0020042300237540062300237540046ae84d5d10011bac3574201" , ByteString "46aae7801c4554ccd5cd19b874802001444ccc0188004d5d09aab9e00737566ae84d5d11aba2357446ae88d5d1" , ByteString "1aba20081155333573466e1d200a00511328001aab9e0071196b088c8c8c954ccd5cd19b87480080084600422a" , ByteString "a666ae68cdc3a400000423001300535742002113011491035054310035573c0046aae74004dd50009000911191" , ByteString "18010009918008009119980ba5eb8088c964c01800626466ae80c020008004cc01401400a26600a00a00430070" , ByteString "02001233357346ae8c00600100235573a004446446a004002664600200244266027002255333573466ebcc0140" , ByteString "10d55ce8008894000454cc00c00c4800448004dd51aba1357446ae88014d5d10009aba2001357446ae88d5d11a" , ByteString "ba200135573c6ea8d5d08009aab9e3754005149a260029210350543500119319ab9c001800191800800912c800" , ByteString "c6001221900291192c9980594800c8c88c008c038004c8c00400489640063000910c00e00200b0024cc0100100" , ByteString "04000c4cc01c01c012443003800802cccc029d491ba80013300d29001919118011808000991800800912c800c6" , ByteString "001221801c0040160049980200200080034cc02402401833300b75ceb400422322300530020013230010012259" , ByteString "0018c0024430039002914004c02000a600e0024cc010010004323001001229001a5eb7bdb1824466ae82400a44" , ByteString "66ec000800466008008002255333573466e2400520001180008c00c00700011911801000991800800912c800c6" , ByteString "00122132332300100122590018801c886006005330040040010c01800ccc010010004446446a00400266460020" , ByteString "024426600b00022801c004c018d55ce8014c014d55cf00126a66008008240020021200122253335573e0022006" , ByteString "2660046ae84004d5d10009" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "863b189b7e809c120eb50884be8caf41d035d996bb8a068f5c083a20" -- 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.==) 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 "58fd01000022232323232332232325335333573466e1d200235573a00e0080062a66a666ae68d5d19800991bac" , ByteString "357420026aae78dd51aba1008004003161005163230010012253335573e002297ae01332253353232533533357" , ByteString "3466e3cc01c004c01c0080240204ccd5cd19b87300b001300b0020090081008357426aae7802cd5d09aab9e375" , ByteString "4004266ae80008cc0100100044cc010010004d5d08009aba200123232325335333573466e1d200000200600513" , ByteString "75c6ae840044c98cd5ce2481035054310000735573c0046aae74004dd51aba135573c6ea800448800848800448" , ByteString "0048dd69aba1357446aae78dd50009baa357426ae88004d55cf1baa00101" ] -- ScriptHash "11a1834792c726bd4229f237e32c29817be05f765cb833825d968680" -- 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.==) 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 "58fd01000022232323232332232325335333573466e1d200235573a00e0080062a66a666ae68d5d19800991bac" , ByteString "357420026aae78dd51aba1008004003161005163230010012253335573e002297ae01332253353232533533357" , ByteString "3466e3cc01c004c01c0080240204ccd5cd19b87300b001300b0020090081008357426aae7802cd5d09aab9e375" , ByteString "4004266ae80008cc0100100044cc010010004d5d08009aba200123232325335333573466e1d200000200600513" , ByteString "75c6ae840044c98cd5ce2481035054310000735573c0046aae74004dd51aba135573c6ea800448800848800448" , ByteString "0048dd69aba1357446aae78dd50009baa357426ae88004d55cf1baa00101" ] -- ScriptHash "0d44a299677b8e10b1838232b07ee1f2eb4f499e91b255c4a30853d1" -- 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.==) GHC.Base.. PlutusLedgerApi.V3.Data.Contexts.txInInfoOutRef) GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoInputs txInfo_2)); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "59011801010025329323255333573466e1d200235573a0022264646464b2646464aa666ae68cdc3a4004004230" , ByteString "021155333573466e1d2000002118009aba10010898052481035054310035573c0046aae74004dd51aba1357440" , ByteString "09215533357346ae8cc008c8dd61aba100135573c6ea8d5d080388c0084600118010c8c004004894ccd55cf800" , ByteString "8a5eb804cc8964c8c954ccd5cd19b8f3007001300700211333573466e1cc020004c02000a001002118011aba10" , ByteString "08357426aae78dd500144cd5d000119802002000c4cc0100100046ae84004d5d100091bae357426aae78dd5000" , ByteString "91bad357426ae88d55cf1baa00135573c0022300237546ae84d5d11aba200135573c6ea800a29344c005240103" , ByteString "50543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "4d8dbd0c641d20c768d0f289611b77f504fc56243a3732d8d2c9691b" -- 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.==) 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 "58f1010000222325323332235333573466e1d200235573a6ea8d5d09aba20040020011533533357346ae8ccc8c" , ByteString "004004894ccd55cf8008a5eb804c8c94cd4ccd5cd19baf00b30012200100600513233574060044466e95200033" , ByteString "57406ea4008cd5d0000a5eb80004cc0100100084cc0100100094c8c8c94cd4ccd5cd19b874800000802001c4cc" , ByteString "8848cc00400c008dd71aba1001357426ae880044c98cd5ce2481035054310000935573c0046aae74004dd51aba" , ByteString "100235744002646eb0d5d09aba2357446ae88d5d11aba2357446ae88d5d10009aab9e37546ae84010008004584" , ByteString "00c4880084880045848004d55cf1baa00101" ] -- ScriptHash "b01fbcf1662be65de02fb2945a85fcf931dfbd84c4492bba6db8a45d" -- 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.==) 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 "58ca0100003232233223222325335333573466e1d200235573a6ea8d5d09aba20010060051533533357346ae8c" , ByteString "c010d4020c8dd59aba1357446ae88d5d11aba2357446ae88d5d11aba2357446ae88004d55cf1baa3574200200c" , ByteString "00a2c2240022c6aae78dd500099180080091199803a5eb80894cd4ccd5cd19baf0070020060051335740004660" , ByteString "0800800226600800800200224400424400266460020024426600697ae0223357406aae78008d4cc01001048004" , ByteString "004480048894ccd55cf80088018998011aba100135744003" ] -- ScriptHash "0197c345a967477658645ba546ae77e46a561d8f1031ef01b506a0f3" -- 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.==) GHC.Base.$ (PlutusTx.Data.AssocMap.elems GHC.Base.$ PlutusLedgerApi.V3.Data.Contexts.txInfoData txInfo_2))); -- _ -> GHC.Types.False}) -- @@@ SLanguage l SPlutusV3 -> [ ByteString "59011b010100323225329323255333573466e1d200235573a0022264b2646464aa666ae68cdc3a400400423002" , ByteString "1155333573466e1d2000002118009aba1001089803a481035054310035573c0046aae74004dd51aba135744003" , ByteString "23215533357346ae8cc004d4020c8dd59aba1357446ae88d5d11aba2357446ae88d5d11aba2357446ae88004d5" , ByteString "5cf1baa3574200a23002118001918008009119980525eb808954ccd5cd19baf005002113357400046600800800" , ByteString "2226600800800200318010d55cf00088c008dd51aba1357446ae88004d55cf1baa0028a4d13001490103505435" , ByteString "00119319ab9c001800199180080091099801a5eb8088cd5d01aab9e00235330040041200100112001222533355" , ByteString "73e00220062660046ae84004d5d10009" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "294117b5a364e699807796de314f64e1e2c00e203259f57d770863c3" -- 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 "58e301000022532335332253232335300233001222222222200a26100413002330012222222222009262232323" , ByteString "2323232323232333333333300b37586ae84024dd61aba100837566ae8401cdd59aba100637586ae84014dd61ab" , ByteString "a1004357420066eb0d5d08011bac35742002646464a66a666ae68cdc3a400000402202026eb8d5d0800899319a" , ByteString "b9c491035054310001235573c0046aae74004dd51aba1357440026ae88004d5d10009aba2001357440026ae880" , ByteString "04d5d10009aba2001357440026aae78dd51aba135573c6ea801c8ccd5cd1aba300100300212200212200116100" , ByteString "11200101" ] -- ScriptHash "02bcd203776ea49739cbcacfad85d08ec88d1caeb86ef16b6bf3a848" -- 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 "58fb0100002253233533225323233530023300122222222222200c261004130023300122222222222200a26223" , ByteString "23232323232323232323233333333333300d37586ae8402cdd61aba100a37586ae84024dd59aba100837566ae8" , ByteString "401cdd61aba100637566ae84014d5d08021bac357420066eacd5d08011bab35742002646464a66a666ae68cdc3" , ByteString "a400000402602426eb8d5d0800899319ab9c4901035054310001435573c0046aae74004dd51aba1357440026ae" , ByteString "88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aab9e37546ae84d" , ByteString "55cf1baa007233357346ae8c00400c00848800848800458400448005" ] -- ScriptHash "dfc70e74fa54bca9ddb0914cff1ae7234f4ead56ae08f13705bf7253" -- 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 "58dd010100253293232532325333573466e1d200235573a0062264b26600640026ae84d5d1000c860051300249" , ByteString "86aae7800c44c0052625953293001323237586ae84008c011d69aab9e37546ae840163000898009919191bac35" , ByteString "742004600aeb4d5d11aba200135573c6ea8d5d080288ccd5cd1aba3001800400a30028c00044646464aa666ae6" , ByteString "8cdc3a4004004230021155333573466e1d20000021180098029aba10010898042481035054310035573c0046aa" , ByteString "e74004dd50009baa357426ae88d5d10009aab9e3754005149a260029210350543500119319ab9c00180001" ] -- | 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 = forall (l :: Language). HasCallStack => ByteString -> Plutus l decodeHexPlutus forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Monoid a => [a] -> a mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c . \case -- ScriptHash "e6d86a1aed1966b121f489c3c032a1c72139ecbb2ecdc88c3cb99517" -- 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 "58e4010000222532335332253232335300233001222222222200a2610041300233001222222222200926223232" , ByteString "32323232323232333333333300b37586ae84024dd61aba100837566ae8401cdd59aba100637586ae84014dd61a" , ByteString "ba1004357420066eb0d5d08011bac35742002646464a66a666ae68cdc3a400000402202026eb8d5d0800899319" , ByteString "ab9c4901035054310001235573c0046aae74004dd51aba1357440026ae88004d5d10009aba2001357440026ae8" , ByteString "8004d5d10009aba2001357440026aae78dd51aba135573c6ea801c8ccd5cd1aba3001003002122002122001161" , ByteString "0011200101" ] -- ScriptHash "8e6aa62d4514da1018898798c40b4ecb442b54dce1d38fee8e115314" -- 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 "58fb01000022253233533225323233530023300122222222222200c261004130023300122222222222200a2622" , ByteString "323232323232323232323233333333333300d37586ae8402cdd61aba100a37586ae84024dd59aba100837566ae" , ByteString "8401cdd61aba100637566ae84014d5d08021bac357420066eacd5d08011bab35742002646464a66a666ae68cdc" , ByteString "3a400000402602426eb8d5d0800899319ab9c491035054310001435573c0046aae74004dd51aba1357440026ae" , ByteString "88004d5d10009aba2001357440026ae88004d5d10009aba2001357440026ae88004d5d10009aab9e37546ae84d" , ByteString "55cf1baa007233357346ae8c00400c00848800848800458400448005" ] -- ScriptHash "e8a1fc8101d9dc7cef3334c8001c073c52ba2d5d9b79e9b09f3c015e" -- 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 "58dd010100253293232532325333573466e1d200235573a0062264b26600640026ae84d5d1000c84c00d268c00" , ByteString "86aae7800c44c0052625953293001323237586ae84008c011d69aab9e37546ae840163000898009919191bac35" , ByteString "742004600aeb4d5d11aba200135573c6ea8d5d080288ccd5cd1aba3001800400a30028c00044646464aa666ae6" , ByteString "8cdc3a4004004230021155333573466e1d20000021180098029aba10010898042481035054310035573c0046aa" , ByteString "e74004dd50009baa357426ae88d5d10009aab9e3754005149a260029210350543500119319ab9c00180001" ]