{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} module PlutusExample.PlutusVersion1.AlwaysSucceeds ( alwaysSucceedsScript , alwaysSucceedsScriptShortBs ) where import Prelude hiding (($)) import Cardano.Api.Shelley (PlutusScript (..), PlutusScriptV1) import Codec.Serialise import Data.ByteString.Lazy qualified as LBS import Data.ByteString.Short qualified as SBS import Plutus.V1.Ledger.Api qualified as Plutus import PlutusTx qualified import PlutusTx.Prelude hiding (Semigroup (..), unless, (.)) {-# INLINABLE mkValidator #-} mkValidator :: BuiltinData -> BuiltinData -> BuiltinData -> () mkValidator :: BuiltinData -> BuiltinData -> BuiltinData -> () mkValidator BuiltinData _ BuiltinData _ BuiltinData _ = () validator :: Plutus.Validator validator :: Validator validator = CompiledCode (BuiltinData -> BuiltinData -> BuiltinData -> ()) -> Validator Plutus.mkValidatorScript $$(PlutusTx.compile [|| mkValidator ||]) script :: Plutus.Script script :: Script script = Validator -> Script Plutus.unValidatorScript Validator validator alwaysSucceedsScriptShortBs :: SBS.ShortByteString alwaysSucceedsScriptShortBs :: ShortByteString alwaysSucceedsScriptShortBs = ByteString -> ShortByteString SBS.toShort (ByteString -> ShortByteString) -> (ByteString -> ByteString) -> ByteString -> ShortByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteString -> ByteString LBS.toStrict (ByteString -> ShortByteString) -> ByteString -> ShortByteString forall a b. (a -> b) -> a -> b $ Script -> ByteString forall a. Serialise a => a -> ByteString serialise Script script alwaysSucceedsScript :: PlutusScript PlutusScriptV1 alwaysSucceedsScript :: PlutusScript PlutusScriptV1 alwaysSucceedsScript = ShortByteString -> PlutusScript PlutusScriptV1 forall lang. ShortByteString -> PlutusScript lang PlutusScriptSerialised ShortByteString alwaysSucceedsScriptShortBs