{-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -fplugin PlutusTx.Plugin #-} {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:defer-errors #-} {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:target-version=1.1.0 #-} module Hydra.Contract.Dummy where import Hydra.Prelude import Hydra.Cardano.Api (PlutusScript, pattern PlutusScriptSerialised) import Hydra.Plutus.Extras (ValidatorType, wrapValidator) import PlutusLedgerApi.V3 (BuiltinData, ScriptContext, serialiseCompiledCode, toOpaque) import PlutusTx (CompiledCode, compile) dummyValidator :: BuiltinData -> BuiltinData -> ScriptContext -> Bool dummyValidator :: BuiltinData -> BuiltinData -> ScriptContext -> Bool dummyValidator BuiltinData _ BuiltinData _ ScriptContext _ = Bool True compiledDummyValidator :: CompiledCode ValidatorType compiledDummyValidator :: CompiledCode ValidatorType compiledDummyValidator = $$(PlutusTx.compile [||fakeWrap dummyValidator||]) where wrap :: (BuiltinData -> BuiltinData -> ScriptContext -> Bool) -> ValidatorType wrap = forall datum redeemer. (UnsafeFromData datum, UnsafeFromData redeemer) => (datum -> redeemer -> ScriptContext -> Bool) -> ValidatorType wrapValidator @BuiltinData @BuiltinData fakeWrap :: (datum -> redeemer -> ScriptContext -> Bool) -> ValidatorType fakeWrap :: forall datum redeemer. (datum -> redeemer -> ScriptContext -> Bool) -> ValidatorType fakeWrap datum -> redeemer -> ScriptContext -> Bool _ BuiltinData _ = () -> BuiltinUnit forall a arep. HasToOpaque a arep => a -> arep toOpaque () dummyValidatorScript :: PlutusScript dummyValidatorScript :: PlutusScript dummyValidatorScript = ShortByteString -> PlutusScript PlutusScriptSerialised (ShortByteString -> PlutusScript) -> ShortByteString -> PlutusScript forall a b. (a -> b) -> a -> b $ CompiledCode ValidatorType -> ShortByteString forall a. CompiledCode a -> ShortByteString serialiseCompiledCode CompiledCode ValidatorType compiledDummyValidator