2424
2525module Cardano.Ledger.Alonzo.Scripts (
2626 PlutusBinary (.. ),
27- AlonzoScript (TimelockScript , PlutusScript ),
27+ AlonzoScript (NativeScript , PlutusScript ),
2828 Script ,
2929 isPlutusScript ,
3030 validScript ,
@@ -426,44 +426,52 @@ pattern RewardingPurpose c <- (toRewardingPurpose -> Just c)
426426
427427-- Alonzo Script ===============================================================
428428
429- -- | Scripts in the Alonzo Era, Either a Timelock script or a Plutus script.
429+ -- | Scripts in the Alonzo Era, Either a nativve script or a Plutus script.
430430data AlonzoScript era
431- = TimelockScript ! (Timelock era )
431+ = NativeScript ! (NativeScript era )
432432 | PlutusScript ! (PlutusScript era )
433433 deriving (Generic )
434434
435- instance (Era era , MemPack (PlutusScript era )) => MemPack (AlonzoScript era ) where
435+ instance
436+ ( Era era
437+ , MemPack (PlutusScript era )
438+ , MemPack (NativeScript era )
439+ ) =>
440+ MemPack (AlonzoScript era )
441+ where
436442 packedByteCount = \ case
437- TimelockScript script -> packedTagByteCount + packedByteCount script
443+ NativeScript script -> packedTagByteCount + packedByteCount script
438444 PlutusScript script -> packedTagByteCount + packedByteCount script
439445 packM = \ case
440- TimelockScript script -> packTagM 0 >> packM script
446+ NativeScript script -> packTagM 0 >> packM script
441447 PlutusScript script -> packTagM 1 >> packM script
442448 {-# INLINE packM #-}
443449 unpackM =
444450 unpackTagM >>= \ case
445- 0 -> TimelockScript <$> unpackM
451+ 0 -> NativeScript <$> unpackM
446452 1 -> PlutusScript <$> unpackM
447453 n -> unknownTagM @ (AlonzoScript era ) n
448454 {-# INLINE unpackM #-}
449455
450- deriving instance Eq (PlutusScript era ) => Eq (AlonzoScript era )
456+ deriving instance ( Eq (PlutusScript era ), Eq ( NativeScript era ) ) => Eq (AlonzoScript era )
451457
452- instance (Era era , NoThunks (PlutusScript era )) => NoThunks (AlonzoScript era )
458+ instance
459+ (Era era , NoThunks (PlutusScript era ), NoThunks (NativeScript era )) =>
460+ NoThunks (AlonzoScript era )
453461
454- instance NFData (PlutusScript era ) => NFData (AlonzoScript era ) where
462+ instance ( NFData (PlutusScript era ), NFData ( NativeScript era ) ) => NFData (AlonzoScript era ) where
455463 rnf = \ case
456- TimelockScript ts -> rnf ts
464+ NativeScript ts -> rnf ts
457465 PlutusScript ps -> rnf ps
458466
459467instance (AlonzoEraScript era , Script era ~ AlonzoScript era ) => Show (AlonzoScript era ) where
460- show (TimelockScript x) = " TimelockScript " ++ show x
468+ show (NativeScript x) = " NativeScript " ++ show x
461469 show s@ (PlutusScript plutus) =
462470 " PlutusScript " ++ show (plutusScriptLanguage plutus) ++ " " ++ show (hashScript @ era s)
463471
464472-- | Both constructors know their original bytes
465- instance SafeToHash (PlutusScript era ) => SafeToHash (AlonzoScript era ) where
466- originalBytes (TimelockScript t) = originalBytes t
473+ instance ( SafeToHash (PlutusScript era ), SafeToHash ( NativeScript era ) ) => SafeToHash (AlonzoScript era ) where
474+ originalBytes (NativeScript t) = originalBytes t
467475 originalBytes (PlutusScript plutus) = originalBytes plutus
468476
469477isPlutusScript :: AlonzoEraScript era => Script era -> Bool
@@ -473,22 +481,22 @@ instance EraScript AlonzoEra where
473481 type Script AlonzoEra = AlonzoScript AlonzoEra
474482 type NativeScript AlonzoEra = Timelock AlonzoEra
475483
476- upgradeScript = TimelockScript . translateTimelock
484+ upgradeScript = NativeScript . translateTimelock
477485
478486 scriptPrefixTag = alonzoScriptPrefixTag
479487
480488 getNativeScript = \ case
481- TimelockScript ts -> Just ts
489+ NativeScript ts -> Just ts
482490 _ -> Nothing
483491
484- fromNativeScript = TimelockScript
492+ fromNativeScript = NativeScript
485493
486494alonzoScriptPrefixTag ::
487495 (AlonzoEraScript era , AlonzoScript era ~ Script era ) =>
488496 Script era ->
489497 BS. ByteString
490498alonzoScriptPrefixTag = \ case
491- TimelockScript _ -> nativeMultiSigTag -- "\x00"
499+ NativeScript _ -> nativeMultiSigTag -- "\x00"
492500 PlutusScript plutusScript -> BS. singleton (withPlutusScript plutusScript plutusLanguageTag)
493501
494502instance ShelleyEraScript AlonzoEra where
@@ -598,7 +606,7 @@ instance AlonzoEraScript era => ToCBOR (AlonzoScript era) where
598606
599607encodeScript :: AlonzoEraScript era => AlonzoScript era -> Encode 'Open (AlonzoScript era )
600608encodeScript = \ case
601- TimelockScript i -> Sum TimelockScript 0 !> To i
609+ NativeScript i -> Sum NativeScript 0 !> To i
602610 PlutusScript plutusScript -> withPlutusScript plutusScript $ \ plutus@ (Plutus pb) ->
603611 case plutusSLanguage plutus of
604612 SPlutusV1 -> Sum (PlutusScript . fromJust . mkPlutusScript . Plutus @ 'PlutusV1) 1 !> To pb
@@ -614,7 +622,7 @@ instance AlonzoEraScript era => DecCBOR (Annotator (AlonzoScript era)) where
614622 {-# INLINE decodeAnnPlutus #-}
615623 decodeScript :: Word -> Decode 'Open (Annotator (AlonzoScript era ))
616624 decodeScript = \ case
617- 0 -> Ann (SumD TimelockScript ) <*! From
625+ 0 -> Ann (SumD NativeScript ) <*! From
618626 1 -> decodeAnnPlutus SPlutusV1
619627 2 -> decodeAnnPlutus SPlutusV2
620628 3 -> decodeAnnPlutus SPlutusV3
@@ -637,7 +645,7 @@ validScript pv script =
637645-- | Check the equality of two underlying types, while ignoring their binary
638646-- representation, which `Eq` instance normally does. This is used for testing.
639647eqAlonzoScriptRaw :: Eq (PlutusScript era ) => AlonzoScript era -> AlonzoScript era -> Bool
640- eqAlonzoScriptRaw (TimelockScript t1) (TimelockScript t2) = eqTimelockRaw t1 t2
648+ eqAlonzoScriptRaw (NativeScript t1) (NativeScript t2) = eqTimelockRaw t1 t2
641649eqAlonzoScriptRaw (PlutusScript ps1) (PlutusScript ps2) = ps1 == ps2
642650eqAlonzoScriptRaw _ _ = False
643651
0 commit comments