module Michelson.Typed.CValue
( CValue (..)
) where
import Michelson.Text
import Michelson.Typed.EntryPoints
import Michelson.Typed.T (CT(..))
import Tezos.Core (Mutez, Timestamp)
import Tezos.Crypto (KeyHash)
data CValue t where
CvInt :: Integer -> CValue 'CInt
CvNat :: Natural -> CValue 'CNat
CvString :: MText -> CValue 'CString
CvBytes :: ByteString -> CValue 'CBytes
CvMutez :: Mutez -> CValue 'CMutez
CvBool :: Bool -> CValue 'CBool
CvKeyHash :: KeyHash -> CValue 'CKeyHash
CvTimestamp :: Timestamp -> CValue 'CTimestamp
CvAddress :: EpAddress -> CValue 'CAddress
deriving instance Show (CValue t)
deriving instance Eq (CValue t)
deriving instance Ord (CValue t)