content: {-# LANGUAGE DataKinds           #-}
  {-# LANGUAGE DeriveAnyClass      #-}
  {-# LANGUAGE DeriveGeneric       #-}
  {-# LANGUAGE ImportQualifiedPost #-}
  {-# LANGUAGE NoImplicitPrelude   #-}
  {-# LANGUAGE TemplateHaskell     #-}
  
  module Homework2 where
  
  import qualified Plutus.V2.Ledger.Api as PlutusV2
  import           PlutusTx             (unstableMakeIsData)
  import           PlutusTx.Prelude     (Bool, BuiltinData)
  import           Prelude              (undefined)
  --import           Utilities            (wrapValidator)
  
  ---------------------------------------------------------------------------------------------------
  ----------------------------------- ON-CHAIN / VALIDATOR ------------------------------------------
  
  data MyRedeemer = MyRedeemer
      { flag1 :: Bool
      , flag2 :: Bool
      }
  
  PlutusTx.unstableMakeIsData ''MyRedeemer
  
  {-# INLINABLE mkValidator #-}
  -- Create a validator that unlocks the funds if MyRedemeer's flags are different
  mkValidator :: () -> MyRedeemer -> PlutusV2.ScriptContext -> Bool
  mkValidator = undefined
  
  wrappedVal :: BuiltinData -> BuiltinData -> BuiltinData -> ()
  wrappedVal = undefined
  
  validator :: PlutusV2.Validator
  validator = undefined
  