diff --git a/ply-core/ply-core.cabal b/ply-core/ply-core.cabal index d681bfd..d5c55a6 100644 --- a/ply-core/ply-core.cabal +++ b/ply-core/ply-core.cabal @@ -27,9 +27,9 @@ common common-deps , bytestring , cardano-binary , containers - , plutus-core - , plutus-ledger-api - , plutus-tx + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 , serialise , tagged , text diff --git a/ply-core/src/Ply/Core/Internal/Reify.hs b/ply-core/src/Ply/Core/Internal/Reify.hs index 788655c..a354857 100644 --- a/ply-core/src/Ply/Core/Internal/Reify.hs +++ b/ply-core/src/Ply/Core/Internal/Reify.hs @@ -26,6 +26,9 @@ instance ReifyVersion ScriptV1 where instance ReifyVersion ScriptV2 where reifyVersion _ = ScriptV2 +instance ReifyVersion ScriptV3 where + reifyVersion _ = ScriptV3 + instance ReifyRole ValidatorRole where reifyRole _ = ValidatorRole diff --git a/ply-core/src/Ply/Core/Types.hs b/ply-core/src/Ply/Core/Types.hs index fd5f7ac..8689b44 100644 --- a/ply-core/src/Ply/Core/Types.hs +++ b/ply-core/src/Ply/Core/Types.hs @@ -58,7 +58,7 @@ data ScriptRole = ValidatorRole | MintingPolicyRole deriving anyclass (ToJSON, FromJSON) -- | Version identifier for the Plutus script. -data ScriptVersion = ScriptV1 | ScriptV2 +data ScriptVersion = ScriptV1 | ScriptV2 | ScriptV3 deriving stock (Bounded, Enum, Eq, Ord, Show, Generic) deriving anyclass (ToJSON, FromJSON) @@ -100,6 +100,7 @@ instance FromJSON TypedScriptEnvelope where version = v .: "version" <|> (parseType =<< v .: "type") parseType "PlutusScriptV1" = pure ScriptV1 parseType "PlutusScriptV2" = pure ScriptV2 + parseType "PlutusScriptV3" = pure ScriptV3 parseType s = fail $ s <> " is not a valid ScriptVersion" parseAndDeserialize v =