{-# OPTIONS_GHC -Wno-orphans #-}
module Plutarch.LedgerApi.V1.Time (
PPosixTime (..),
pposixTime,
unPPosixTime,
) where
import GHC.Generics (Generic)
import Generics.SOP qualified as SOP
import Plutarch.Prelude
import PlutusLedgerApi.V1 qualified as Plutus
newtype PPosixTime (s :: S) = PPosixTime (Term s PInteger)
deriving stock
(
(forall x. PPosixTime s -> Rep (PPosixTime s) x)
-> (forall x. Rep (PPosixTime s) x -> PPosixTime s)
-> Generic (PPosixTime s)
forall x. Rep (PPosixTime s) x -> PPosixTime s
forall x. PPosixTime s -> Rep (PPosixTime s) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (s :: S) x. Rep (PPosixTime s) x -> PPosixTime s
forall (s :: S) x. PPosixTime s -> Rep (PPosixTime s) x
$cfrom :: forall (s :: S) x. PPosixTime s -> Rep (PPosixTime s) x
from :: forall x. PPosixTime s -> Rep (PPosixTime s) x
$cto :: forall (s :: S) x. Rep (PPosixTime s) x -> PPosixTime s
to :: forall x. Rep (PPosixTime s) x -> PPosixTime s
Generic
)
deriving anyclass
(
All SListI (Code (PPosixTime s))
All SListI (Code (PPosixTime s)) =>
(PPosixTime s -> Rep (PPosixTime s))
-> (Rep (PPosixTime s) -> PPosixTime s) -> Generic (PPosixTime s)
Rep (PPosixTime s) -> PPosixTime s
PPosixTime s -> Rep (PPosixTime s)
forall a.
All SListI (Code a) =>
(a -> Rep a) -> (Rep a -> a) -> Generic a
forall (s :: S). All SListI (Code (PPosixTime s))
forall (s :: S). Rep (PPosixTime s) -> PPosixTime s
forall (s :: S). PPosixTime s -> Rep (PPosixTime s)
$cfrom :: forall (s :: S). PPosixTime s -> Rep (PPosixTime s)
from :: PPosixTime s -> Rep (PPosixTime s)
$cto :: forall (s :: S). Rep (PPosixTime s) -> PPosixTime s
to :: Rep (PPosixTime s) -> PPosixTime s
SOP.Generic
,
(forall (s :: S). Term s (PAsData PPosixTime) -> Term s PPosixTime)
-> (forall (s :: S). Term s PPosixTime -> Term s PData)
-> PIsData PPosixTime
forall (s :: S). Term s (PAsData PPosixTime) -> Term s PPosixTime
forall (s :: S). Term s PPosixTime -> Term s PData
forall (a :: S -> Type).
(forall (s :: S). Term s (PAsData a) -> Term s a)
-> (forall (s :: S). Term s a -> Term s PData) -> PIsData a
$cpfromDataImpl :: forall (s :: S). Term s (PAsData PPosixTime) -> Term s PPosixTime
pfromDataImpl :: forall (s :: S). Term s (PAsData PPosixTime) -> Term s PPosixTime
$cpdataImpl :: forall (s :: S). Term s PPosixTime -> Term s PData
pdataImpl :: forall (s :: S). Term s PPosixTime -> Term s PData
PIsData
,
(forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool)
-> PEq PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
forall (t :: S -> Type).
(forall (s :: S). Term s t -> Term s t -> Term s PBool) -> PEq t
$c#== :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
#== :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
PEq
,
PEq PPosixTime
PEq PPosixTime =>
(forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool)
-> (forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool)
-> (forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime)
-> (forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime)
-> POrd PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
forall (t :: S -> Type).
PEq t =>
(forall (s :: S). Term s t -> Term s t -> Term s PBool)
-> (forall (s :: S). Term s t -> Term s t -> Term s PBool)
-> (forall (s :: S). Term s t -> Term s t -> Term s t)
-> (forall (s :: S). Term s t -> Term s t -> Term s t)
-> POrd t
$c#<= :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
#<= :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
$c#< :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
#< :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PBool
$cpmax :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
pmax :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
$cpmin :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
pmin :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
POrd
,
(forall (s :: S). Bool -> Term s PPosixTime -> Term s PString)
-> PShow PPosixTime
forall (s :: S). Bool -> Term s PPosixTime -> Term s PString
forall (t :: S -> Type).
(forall (s :: S). Bool -> Term s t -> Term s PString) -> PShow t
$cpshow' :: forall (s :: S). Bool -> Term s PPosixTime -> Term s PString
pshow' :: forall (s :: S). Bool -> Term s PPosixTime -> Term s PString
PShow
)
deriving
(
(forall (s :: S). PPosixTime s -> Term s (PInner PPosixTime))
-> (forall (s :: S) (b :: S -> Type).
Term s (PInner PPosixTime)
-> (PPosixTime s -> Term s b) -> Term s b)
-> PlutusType PPosixTime
forall (s :: S). PPosixTime s -> Term s (PInner PPosixTime)
forall (s :: S) (b :: S -> Type).
Term s (PInner PPosixTime)
-> (PPosixTime s -> Term s b) -> Term s b
forall (a :: S -> Type).
(forall (s :: S). a s -> Term s (PInner a))
-> (forall (s :: S) (b :: S -> Type).
Term s (PInner a) -> (a s -> Term s b) -> Term s b)
-> PlutusType a
$cpcon' :: forall (s :: S). PPosixTime s -> Term s (PInner PPosixTime)
pcon' :: forall (s :: S). PPosixTime s -> Term s (PInner PPosixTime)
$cpmatch' :: forall (s :: S) (b :: S -> Type).
Term s (PInner PPosixTime)
-> (PPosixTime s -> Term s b) -> Term s b
pmatch' :: forall (s :: S) (b :: S -> Type).
Term s (PInner PPosixTime)
-> (PPosixTime s -> Term s b) -> Term s b
PlutusType
)
via (DeriveNewtypePlutusType PPosixTime)
deriving
(
(forall (s :: S).
Term s PData -> forall (r :: S -> Type). Term s r -> Term s r)
-> PValidateData PPosixTime
forall (s :: S).
Term s PData -> forall (r :: S -> Type). Term s r -> Term s r
forall (a :: S -> Type).
(forall (s :: S).
Term s PData -> forall (r :: S -> Type). Term s r -> Term s r)
-> PValidateData a
$cpwithValidated :: forall (s :: S).
Term s PData -> forall (r :: S -> Type). Term s r -> Term s r
pwithValidated :: forall (s :: S).
Term s PData -> forall (r :: S -> Type). Term s r -> Term s r
PValidateData
)
via (DeriveNewtypePValidateData PPosixTime PInteger)
instance PCountable PPosixTime where
{-# INLINEABLE psuccessor #-}
psuccessor :: forall (s :: S). Term s (PPosixTime :--> PPosixTime)
psuccessor = (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall (a :: S -> Type) (s :: S).
HasCallStack =>
(forall (s' :: S). Term s' a) -> Term s a
phoistAcyclic ((forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime))
-> (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall a b. (a -> b) -> a -> b
$ (Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPosixTime :--> PPosixTime)
forall a (b :: S -> Type) (s :: S) (c :: S -> Type).
(PLamN a b s, HasCallStack) =>
(Term s c -> a) -> Term s (c :--> b)
forall (c :: S -> Type).
HasCallStack =>
(Term s' c -> Term s' PPosixTime) -> Term s' (c :--> PPosixTime)
plam (\Term s' PPosixTime
x -> Term s' PPosixTime
x Term s' PPosixTime -> Term s' PPosixTime -> Term s' PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
forall (a :: S -> Type) (s :: S).
PAdditiveSemigroup a =>
Term s a -> Term s a -> Term s a
#+ Term s' PInteger -> Term s' PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime Term s' PInteger
forall (s :: S). Term s PInteger
forall (a :: S -> Type) (s :: S).
PMultiplicativeMonoid a =>
Term s a
pone)
{-# INLINEABLE psuccessorN #-}
psuccessorN :: forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime))
psuccessorN = (forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime))
forall (a :: S -> Type) (s :: S).
HasCallStack =>
(forall (s' :: S). Term s' a) -> Term s a
phoistAcyclic ((forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> (forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime))
forall a b. (a -> b) -> a -> b
$ (Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime))
forall a (b :: S -> Type) (s :: S) (c :: S -> Type).
(PLamN a b s, HasCallStack) =>
(Term s c -> a) -> Term s (c :--> b)
forall (c :: S -> Type).
HasCallStack =>
(Term s' c -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (c :--> (PPosixTime :--> PPosixTime))
plam ((Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime)))
-> (Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime))
forall a b. (a -> b) -> a -> b
$ \Term s' PPositive
p Term s' PPosixTime
t ->
let p' :: Term s' PPosixTime
p' = PPosixTime s' -> Term s' PPosixTime
forall (a :: S -> Type) (s :: S). PlutusType a => a s -> Term s a
pcon (PPosixTime s' -> Term s' PPosixTime)
-> (Term s' PPositive -> PPosixTime s')
-> Term s' PPositive
-> Term s' PPosixTime
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Term s' PInteger -> PPosixTime s'
forall (s :: S). Term s PInteger -> PPosixTime s
PPosixTime (Term s' PInteger -> PPosixTime s')
-> (Term s' PPositive -> Term s' PInteger)
-> Term s' PPositive
-> PPosixTime s'
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Term s' PPositive -> Term s' PInteger
forall (a :: S -> Type) (b :: S -> Type) (s :: S).
PSubtype a b =>
Term s b -> Term s a
pupcast (Term s' PPositive -> Term s' PPosixTime)
-> Term s' PPositive -> Term s' PPosixTime
forall a b. (a -> b) -> a -> b
$ Term s' PPositive
p
in Term s' PPosixTime
p' Term s' PPosixTime -> Term s' PPosixTime -> Term s' PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
forall (a :: S -> Type) (s :: S).
PAdditiveSemigroup a =>
Term s a -> Term s a -> Term s a
#+ Term s' PPosixTime
t
instance PEnumerable PPosixTime where
{-# INLINEABLE ppredecessor #-}
ppredecessor :: forall (s :: S). Term s (PPosixTime :--> PPosixTime)
ppredecessor = (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall (a :: S -> Type) (s :: S).
HasCallStack =>
(forall (s' :: S). Term s' a) -> Term s a
phoistAcyclic ((forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime))
-> (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall a b. (a -> b) -> a -> b
$ (Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPosixTime :--> PPosixTime)
forall a (b :: S -> Type) (s :: S) (c :: S -> Type).
(PLamN a b s, HasCallStack) =>
(Term s c -> a) -> Term s (c :--> b)
forall (c :: S -> Type).
HasCallStack =>
(Term s' c -> Term s' PPosixTime) -> Term s' (c :--> PPosixTime)
plam (\Term s' PPosixTime
x -> Term s' PPosixTime
x Term s' PPosixTime -> Term s' PPosixTime -> Term s' PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
forall (a :: S -> Type) (s :: S).
PAdditiveGroup a =>
Term s a -> Term s a -> Term s a
#- Term s' PInteger -> Term s' PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime Term s' PInteger
forall (s :: S). Term s PInteger
forall (a :: S -> Type) (s :: S).
PMultiplicativeMonoid a =>
Term s a
pone)
{-# INLINEABLE ppredecessorN #-}
ppredecessorN :: forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime))
ppredecessorN = (forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime))
forall (a :: S -> Type) (s :: S).
HasCallStack =>
(forall (s' :: S). Term s' a) -> Term s a
phoistAcyclic ((forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> (forall (s :: S).
Term s (PPositive :--> (PPosixTime :--> PPosixTime)))
-> Term s (PPositive :--> (PPosixTime :--> PPosixTime))
forall a b. (a -> b) -> a -> b
$ (Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime))
forall a (b :: S -> Type) (s :: S) (c :: S -> Type).
(PLamN a b s, HasCallStack) =>
(Term s c -> a) -> Term s (c :--> b)
forall (c :: S -> Type).
HasCallStack =>
(Term s' c -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (c :--> (PPosixTime :--> PPosixTime))
plam ((Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime)))
-> (Term s' PPositive -> Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPositive :--> (PPosixTime :--> PPosixTime))
forall a b. (a -> b) -> a -> b
$ \Term s' PPositive
p Term s' PPosixTime
t ->
let p' :: Term s' PPosixTime
p' = PPosixTime s' -> Term s' PPosixTime
forall (a :: S -> Type) (s :: S). PlutusType a => a s -> Term s a
pcon (PPosixTime s' -> Term s' PPosixTime)
-> (Term s' PPositive -> PPosixTime s')
-> Term s' PPositive
-> Term s' PPosixTime
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Term s' PInteger -> PPosixTime s'
forall (s :: S). Term s PInteger -> PPosixTime s
PPosixTime (Term s' PInteger -> PPosixTime s')
-> (Term s' PPositive -> Term s' PInteger)
-> Term s' PPositive
-> PPosixTime s'
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Term s' PPositive -> Term s' PInteger
forall (a :: S -> Type) (b :: S -> Type) (s :: S).
PSubtype a b =>
Term s b -> Term s a
pupcast (Term s' PPositive -> Term s' PPosixTime)
-> Term s' PPositive -> Term s' PPosixTime
forall a b. (a -> b) -> a -> b
$ Term s' PPositive
p
in Term s' PPosixTime
t Term s' PPosixTime -> Term s' PPosixTime -> Term s' PPosixTime
forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
forall (a :: S -> Type) (s :: S).
PAdditiveGroup a =>
Term s a -> Term s a -> Term s a
#- Term s' PPosixTime
p'
instance PAdditiveSemigroup PPosixTime where
pscalePositive :: forall (s :: S).
Term s PPosixTime -> Term s PPositive -> Term s PPosixTime
pscalePositive Term s PPosixTime
t Term s PPositive
p = Term s PInteger -> Term s PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime (Term s PPosixTime -> Term s PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s PPosixTime
t Term s PInteger -> Term s PInteger -> Term s PInteger
forall (s :: S).
Term s PInteger -> Term s PInteger -> Term s PInteger
forall (a :: S -> Type) (s :: S).
PMultiplicativeSemigroup a =>
Term s a -> Term s a -> Term s a
#* Term s PPositive -> Term s PInteger
forall (a :: S -> Type) (b :: S -> Type) (s :: S).
PSubtype a b =>
Term s b -> Term s a
pupcast Term s PPositive
p)
instance PAdditiveMonoid PPosixTime where
{-# INLINEABLE pscaleNatural #-}
pscaleNatural :: forall (s :: S).
Term s PPosixTime -> Term s PNatural -> Term s PPosixTime
pscaleNatural Term s PPosixTime
t Term s PNatural
n = Term s PInteger -> Term s PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime (Term s PPosixTime -> Term s PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s PPosixTime
t Term s PInteger -> Term s PInteger -> Term s PInteger
forall (s :: S).
Term s PInteger -> Term s PInteger -> Term s PInteger
forall (a :: S -> Type) (s :: S).
PMultiplicativeSemigroup a =>
Term s a -> Term s a -> Term s a
#* Term s PNatural -> Term s (PInner PNatural)
forall (a :: S -> Type) (s :: S). Term s a -> Term s (PInner a)
pto Term s PNatural
n)
instance PAdditiveGroup PPosixTime where
{-# INLINEABLE pnegate #-}
pnegate :: forall (s :: S). Term s (PPosixTime :--> PPosixTime)
pnegate = (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall (a :: S -> Type) (s :: S).
HasCallStack =>
(forall (s' :: S). Term s' a) -> Term s a
phoistAcyclic ((forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime))
-> (forall (s :: S). Term s (PPosixTime :--> PPosixTime))
-> Term s (PPosixTime :--> PPosixTime)
forall a b. (a -> b) -> a -> b
$ (Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPosixTime :--> PPosixTime)
forall a (b :: S -> Type) (s :: S) (c :: S -> Type).
(PLamN a b s, HasCallStack) =>
(Term s c -> a) -> Term s (c :--> b)
forall (c :: S -> Type).
HasCallStack =>
(Term s' c -> Term s' PPosixTime) -> Term s' (c :--> PPosixTime)
plam ((Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPosixTime :--> PPosixTime))
-> (Term s' PPosixTime -> Term s' PPosixTime)
-> Term s' (PPosixTime :--> PPosixTime)
forall a b. (a -> b) -> a -> b
$ \Term s' PPosixTime
t -> Term s' PInteger -> Term s' PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime (Term s' (PInteger :--> PInteger)
forall (s :: S). Term s (PInteger :--> PInteger)
forall (a :: S -> Type) (s :: S).
PAdditiveGroup a =>
Term s (a :--> a)
pnegate Term s' (PInteger :--> PInteger)
-> Term s' PInteger -> Term s' PInteger
forall (s :: S) (a :: S -> Type) (b :: S -> Type).
Term s (a :--> b) -> Term s a -> Term s b
# Term s' PPosixTime -> Term s' PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s' PPosixTime
t)
{-# INLINEABLE (#-) #-}
Term s PPosixTime
t1 #- :: forall (s :: S).
Term s PPosixTime -> Term s PPosixTime -> Term s PPosixTime
#- Term s PPosixTime
t2 = Term s PInteger -> Term s PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime (Term s PPosixTime -> Term s PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s PPosixTime
t1 Term s PInteger -> Term s PInteger -> Term s PInteger
forall (s :: S).
Term s PInteger -> Term s PInteger -> Term s PInteger
forall (a :: S -> Type) (s :: S).
PAdditiveGroup a =>
Term s a -> Term s a -> Term s a
#- Term s PPosixTime -> Term s PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s PPosixTime
t2)
{-# INLINEABLE pscaleInteger #-}
pscaleInteger :: forall (s :: S).
Term s PPosixTime -> Term s PInteger -> Term s PPosixTime
pscaleInteger Term s PPosixTime
t Term s PInteger
i = Term s PInteger -> Term s PPosixTime
forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime (Term s PPosixTime -> Term s PInteger
forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime Term s PPosixTime
t Term s PInteger -> Term s PInteger -> Term s PInteger
forall (s :: S).
Term s PInteger -> Term s PInteger -> Term s PInteger
forall (a :: S -> Type) (s :: S).
PMultiplicativeSemigroup a =>
Term s a -> Term s a -> Term s a
#* Term s PInteger
i)
deriving via
DeriveNewtypePLiftable PPosixTime Plutus.POSIXTime
instance
PLiftable PPosixTime
instance PTryFrom PData (PAsData PPosixTime)
pposixTime :: forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime :: forall (s :: S). Term s PInteger -> Term s PPosixTime
pposixTime = PPosixTime s -> Term s PPosixTime
forall (a :: S -> Type) (s :: S). PlutusType a => a s -> Term s a
pcon (PPosixTime s -> Term s PPosixTime)
-> (Term s PInteger -> PPosixTime s)
-> Term s PInteger
-> Term s PPosixTime
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Term s PInteger -> PPosixTime s
forall (s :: S). Term s PInteger -> PPosixTime s
PPosixTime
unPPosixTime :: forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime :: forall (s :: S). Term s PPosixTime -> Term s PInteger
unPPosixTime = Term s PPosixTime -> Term s (PInner PPosixTime)
Term s PPosixTime -> Term s PInteger
forall (a :: S -> Type) (s :: S). Term s a -> Term s (PInner a)
pto