{-# LANGUAGE EmptyDataDeriving #-}
module Lorentz.Value
( M.Value
, M.IsoValue (..)
, M.WellTypedToT
, Integer
, Natural
, MText
, Bool (..)
, ByteString
, Address
, EpAddress (..)
, Mutez
, Never
, Timestamp
, ChainId
, KeyHash
, PublicKey
, Signature
, Bls12381Fr
, Bls12381G1
, Bls12381G2
, Set
, Map
, M.BigMapId (..)
, M.BigMap
, M.mkBigMap
, M.Operation
, Maybe (..)
, List
, ReadTicket (..)
, ContractRef (..)
, TAddress (..)
, FutureContract (..)
, M.Ticket (..)
, Chest
, ChestKey
, OpenChest
, M.EpName
, pattern M.DefEpName
, M.EntrypointCall
, M.SomeEntrypointCall
, tz
, toMutez
, zeroMutez
, oneMutez
, mt
, timestampFromSeconds
, timestampFromUTCTime
, timestampQuote
, M.coerceContractRef
, callingAddress
, callingDefAddress
, ToAddress (..)
, ToTAddress (..)
, ToContractRef (..)
, FromContractRef (..)
, convertContractRef
, Show
, Default (..)
, Label (..)
, PrintAsValue (..)
, module ReExports
) where
import Data.Constraint ((\\))
import Data.Default (Default(..))
import Prelude hiding (Rational)
import Fmt (Buildable(..))
import Lorentz.Address
import Lorentz.Constraints.Scopes
import Morley.AsRPC (HasRPCRepr(..))
import Morley.Michelson.Text
import Morley.Michelson.Typed qualified as M
import Morley.Michelson.Typed.Haskell.Compatibility as ReExports
import Morley.Tezos.Core
(ChainId, Mutez, Timestamp, oneMutez, timestampFromSeconds, timestampFromUTCTime, timestampQuote,
toMutez, tz, zeroMutez)
import Morley.Tezos.Crypto
(Bls12381Fr, Bls12381G1, Bls12381G2, Chest, ChestKey, KeyHash, PublicKey, Signature)
import Morley.Util.CustomGeneric as ReExports
import Morley.Util.Label (Label(..))
import Lorentz.Annotation
type List = []
data Never
deriving stock ((forall x. Never -> Rep Never x)
-> (forall x. Rep Never x -> Never) -> Generic Never
forall x. Rep Never x -> Never
forall x. Never -> Rep Never x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Never x -> Never
$cfrom :: forall x. Never -> Rep Never x
Generic, Int -> Never -> ShowS
[Never] -> ShowS
Never -> String
(Int -> Never -> ShowS)
-> (Never -> String) -> ([Never] -> ShowS) -> Show Never
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Never] -> ShowS
$cshowList :: [Never] -> ShowS
show :: Never -> String
$cshow :: Never -> String
showsPrec :: Int -> Never -> ShowS
$cshowsPrec :: Int -> Never -> ShowS
Show, Never -> Never -> Bool
(Never -> Never -> Bool) -> (Never -> Never -> Bool) -> Eq Never
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Never -> Never -> Bool
$c/= :: Never -> Never -> Bool
== :: Never -> Never -> Bool
$c== :: Never -> Never -> Bool
Eq, Eq Never
Eq Never
-> (Never -> Never -> Ordering)
-> (Never -> Never -> Bool)
-> (Never -> Never -> Bool)
-> (Never -> Never -> Bool)
-> (Never -> Never -> Bool)
-> (Never -> Never -> Never)
-> (Never -> Never -> Never)
-> Ord Never
Never -> Never -> Bool
Never -> Never -> Ordering
Never -> Never -> Never
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Never -> Never -> Never
$cmin :: Never -> Never -> Never
max :: Never -> Never -> Never
$cmax :: Never -> Never -> Never
>= :: Never -> Never -> Bool
$c>= :: Never -> Never -> Bool
> :: Never -> Never -> Bool
$c> :: Never -> Never -> Bool
<= :: Never -> Never -> Bool
$c<= :: Never -> Never -> Bool
< :: Never -> Never -> Bool
$c< :: Never -> Never -> Bool
compare :: Never -> Never -> Ordering
$ccompare :: Never -> Never -> Ordering
Ord)
deriving anyclass (WellTypedToT Never
WellTypedToT Never
-> (Never -> Value (ToT Never))
-> (Value (ToT Never) -> Never)
-> IsoValue Never
Value (ToT Never) -> Never
Never -> Value (ToT Never)
forall a.
WellTypedToT a
-> (a -> Value (ToT a)) -> (Value (ToT a) -> a) -> IsoValue a
fromVal :: Value (ToT Never) -> Never
$cfromVal :: Value (ToT Never) -> Never
toVal :: Never -> Value (ToT Never)
$ctoVal :: Never -> Value (ToT Never)
M.IsoValue, Never -> ()
(Never -> ()) -> NFData Never
forall a. (a -> ()) -> NFData a
rnf :: Never -> ()
$crnf :: Never -> ()
NFData)
instance Buildable Never where
build :: Never -> Builder
build = Never -> Builder
\case
instance HasAnnotation Never where
getAnnotation :: FollowEntrypointFlag -> Notes (ToT Never)
getAnnotation FollowEntrypointFlag
_ = Notes (ToT Never)
forall (t :: T). SingI t => Notes t
M.starNotes
instance HasRPCRepr Never where
type AsRPC Never = Never
instance M.TypeHasDoc Never where
typeDocMdDescription :: Builder
typeDocMdDescription = Builder
"An uninhabited type."
data ReadTicket a = ReadTicket
{ forall a.
ReadTicket a
-> ConstrainedAddress
'[ 'AddressKindImplicit, 'AddressKindContract,
'AddressKindTxRollup]
rtTicketer :: Address
, forall a. ReadTicket a -> a
rtData :: a
, forall a. ReadTicket a -> Natural
rtAmount :: Natural
} deriving stock (Int -> ReadTicket a -> ShowS
[ReadTicket a] -> ShowS
ReadTicket a -> String
(Int -> ReadTicket a -> ShowS)
-> (ReadTicket a -> String)
-> ([ReadTicket a] -> ShowS)
-> Show (ReadTicket a)
forall a. Show a => Int -> ReadTicket a -> ShowS
forall a. Show a => [ReadTicket a] -> ShowS
forall a. Show a => ReadTicket a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReadTicket a] -> ShowS
$cshowList :: forall a. Show a => [ReadTicket a] -> ShowS
show :: ReadTicket a -> String
$cshow :: forall a. Show a => ReadTicket a -> String
showsPrec :: Int -> ReadTicket a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> ReadTicket a -> ShowS
Show, ReadTicket a -> ReadTicket a -> Bool
(ReadTicket a -> ReadTicket a -> Bool)
-> (ReadTicket a -> ReadTicket a -> Bool) -> Eq (ReadTicket a)
forall a. Eq a => ReadTicket a -> ReadTicket a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReadTicket a -> ReadTicket a -> Bool
$c/= :: forall a. Eq a => ReadTicket a -> ReadTicket a -> Bool
== :: ReadTicket a -> ReadTicket a -> Bool
$c== :: forall a. Eq a => ReadTicket a -> ReadTicket a -> Bool
Eq, Eq (ReadTicket a)
Eq (ReadTicket a)
-> (ReadTicket a -> ReadTicket a -> Ordering)
-> (ReadTicket a -> ReadTicket a -> Bool)
-> (ReadTicket a -> ReadTicket a -> Bool)
-> (ReadTicket a -> ReadTicket a -> Bool)
-> (ReadTicket a -> ReadTicket a -> Bool)
-> (ReadTicket a -> ReadTicket a -> ReadTicket a)
-> (ReadTicket a -> ReadTicket a -> ReadTicket a)
-> Ord (ReadTicket a)
ReadTicket a -> ReadTicket a -> Bool
ReadTicket a -> ReadTicket a -> Ordering
ReadTicket a -> ReadTicket a -> ReadTicket a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {a}. Ord a => Eq (ReadTicket a)
forall a. Ord a => ReadTicket a -> ReadTicket a -> Bool
forall a. Ord a => ReadTicket a -> ReadTicket a -> Ordering
forall a. Ord a => ReadTicket a -> ReadTicket a -> ReadTicket a
min :: ReadTicket a -> ReadTicket a -> ReadTicket a
$cmin :: forall a. Ord a => ReadTicket a -> ReadTicket a -> ReadTicket a
max :: ReadTicket a -> ReadTicket a -> ReadTicket a
$cmax :: forall a. Ord a => ReadTicket a -> ReadTicket a -> ReadTicket a
>= :: ReadTicket a -> ReadTicket a -> Bool
$c>= :: forall a. Ord a => ReadTicket a -> ReadTicket a -> Bool
> :: ReadTicket a -> ReadTicket a -> Bool
$c> :: forall a. Ord a => ReadTicket a -> ReadTicket a -> Bool
<= :: ReadTicket a -> ReadTicket a -> Bool
$c<= :: forall a. Ord a => ReadTicket a -> ReadTicket a -> Bool
< :: ReadTicket a -> ReadTicket a -> Bool
$c< :: forall a. Ord a => ReadTicket a -> ReadTicket a -> Bool
compare :: ReadTicket a -> ReadTicket a -> Ordering
$ccompare :: forall a. Ord a => ReadTicket a -> ReadTicket a -> Ordering
Ord)
customGeneric "ReadTicket" rightComb
deriving anyclass instance M.IsoValue a => M.IsoValue (ReadTicket a)
newtype PrintAsValue a = PrintAsValue a
instance NiceUntypedValue a => Buildable (PrintAsValue a) where
build :: PrintAsValue a -> Builder
build (PrintAsValue a
a) = Value (ToT a) -> Builder
forall p. Buildable p => p -> Builder
build (a -> Value (ToT a)
forall a. IsoValue a => a -> Value (ToT a)
M.toVal a
a) ((SingI (ToT a), HasNoOp (ToT a)) => Builder)
-> (NiceUntypedValue a :- (SingI (ToT a), HasNoOp (ToT a)))
-> Builder
forall (c :: Constraint) e r. HasDict c e => (c => r) -> e -> r
\\ forall a. NiceUntypedValue a :- UntypedValScope (ToT a)
niceUntypedValueEvi @a
data OpenChest = ChestContent ByteString | ChestOpenFailed Bool
deriving stock ((forall x. OpenChest -> Rep OpenChest x)
-> (forall x. Rep OpenChest x -> OpenChest) -> Generic OpenChest
forall x. Rep OpenChest x -> OpenChest
forall x. OpenChest -> Rep OpenChest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OpenChest x -> OpenChest
$cfrom :: forall x. OpenChest -> Rep OpenChest x
Generic, Int -> OpenChest -> ShowS
[OpenChest] -> ShowS
OpenChest -> String
(Int -> OpenChest -> ShowS)
-> (OpenChest -> String)
-> ([OpenChest] -> ShowS)
-> Show OpenChest
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OpenChest] -> ShowS
$cshowList :: [OpenChest] -> ShowS
show :: OpenChest -> String
$cshow :: OpenChest -> String
showsPrec :: Int -> OpenChest -> ShowS
$cshowsPrec :: Int -> OpenChest -> ShowS
Show, OpenChest -> OpenChest -> Bool
(OpenChest -> OpenChest -> Bool)
-> (OpenChest -> OpenChest -> Bool) -> Eq OpenChest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OpenChest -> OpenChest -> Bool
$c/= :: OpenChest -> OpenChest -> Bool
== :: OpenChest -> OpenChest -> Bool
$c== :: OpenChest -> OpenChest -> Bool
Eq)
deriving anyclass (WellTypedToT OpenChest
WellTypedToT OpenChest
-> (OpenChest -> Value (ToT OpenChest))
-> (Value (ToT OpenChest) -> OpenChest)
-> IsoValue OpenChest
Value (ToT OpenChest) -> OpenChest
OpenChest -> Value (ToT OpenChest)
forall a.
WellTypedToT a
-> (a -> Value (ToT a)) -> (Value (ToT a) -> a) -> IsoValue a
fromVal :: Value (ToT OpenChest) -> OpenChest
$cfromVal :: Value (ToT OpenChest) -> OpenChest
toVal :: OpenChest -> Value (ToT OpenChest)
$ctoVal :: OpenChest -> Value (ToT OpenChest)
M.IsoValue, AnnOptions
FollowEntrypointFlag -> Notes (ToT OpenChest)
(FollowEntrypointFlag -> Notes (ToT OpenChest))
-> AnnOptions -> HasAnnotation OpenChest
forall a.
(FollowEntrypointFlag -> Notes (ToT a))
-> AnnOptions -> HasAnnotation a
annOptions :: AnnOptions
$cannOptions :: AnnOptions
getAnnotation :: FollowEntrypointFlag -> Notes (ToT OpenChest)
$cgetAnnotation :: FollowEntrypointFlag -> Notes (ToT OpenChest)
HasAnnotation)
instance M.TypeHasDoc OpenChest where
typeDocMdDescription :: Builder
typeDocMdDescription = Builder
"Result of opening a chest"