Safe Haskell | None |
---|---|
Language | Haskell2010 |
Core primitive Tezos types.
Synopsis
- data Mutez
- mkMutez :: Word64 -> Maybe Mutez
- unsafeMkMutez :: HasCallStack => Word64 -> Mutez
- addMutez :: Mutez -> Mutez -> Maybe Mutez
- unsafeAddMutez :: HasCallStack => Mutez -> Mutez -> Mutez
- subMutez :: Mutez -> Mutez -> Maybe Mutez
- unsafeSubMutez :: HasCallStack => Mutez -> Mutez -> Mutez
- mulMutez :: Integral a => Mutez -> a -> Maybe Mutez
- divModMutez :: Mutez -> Mutez -> Maybe (Word64, Mutez)
- divModMutezInt :: Integral a => Mutez -> a -> Maybe (Mutez, Mutez)
- newtype Timestamp = Timestamp {}
- timestampToSeconds :: Integral a => Timestamp -> a
- timestampFromSeconds :: Integral a => a -> Timestamp
- timestampFromUTCTime :: UTCTime -> Timestamp
- timestampPlusSeconds :: Timestamp -> Integer -> Timestamp
- formatTimestamp :: Timestamp -> Text
- parseTimestamp :: Text -> Maybe Timestamp
- getCurrentTime :: IO Timestamp
Mutez
Mutez is a wrapper over integer data type. 1 mutez is 1 token (μTz).
Instances
Bounded Mutez Source # | |
Enum Mutez Source # | |
Eq Mutez Source # | |
Data Mutez Source # | |
Defined in Tezos.Core gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Mutez -> c Mutez # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Mutez # dataTypeOf :: Mutez -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Mutez) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mutez) # gmapT :: (forall b. Data b => b -> b) -> Mutez -> Mutez # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mutez -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mutez -> r # gmapQ :: (forall d. Data d => d -> u) -> Mutez -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Mutez -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Mutez -> m Mutez # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Mutez -> m Mutez # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Mutez -> m Mutez # | |
Ord Mutez Source # | |
Show Mutez Source # | |
Generic Mutez Source # | |
Arbitrary Mutez Source # | |
ToJSON Mutez Source # | |
Defined in Tezos.Core | |
FromJSON Mutez Source # | |
Buildable Mutez Source # | |
Defined in Tezos.Core | |
FromCVal Mutez Source # | |
ToCVal Mutez Source # | |
FromVal Mutez Source # | |
ToVal Mutez Source # | |
type Rep Mutez Source # | |
Defined in Tezos.Core |
unsafeMkMutez :: HasCallStack => Word64 -> Mutez Source #
unsafeAddMutez :: HasCallStack => Mutez -> Mutez -> Mutez Source #
Partial addition of Mutez
, should be used only if you're
sure there'll be no overflow.
unsafeSubMutez :: HasCallStack => Mutez -> Mutez -> Mutez Source #
Partial subtraction of Mutez
, should be used only if you're
sure there'll be no underflow.
divModMutez :: Mutez -> Mutez -> Maybe (Word64, Mutez) Source #
Euclidian division of two Mutez
values.
divModMutezInt :: Integral a => Mutez -> a -> Maybe (Mutez, Mutez) Source #
Euclidian division of Mutez
and a number.
Timestamp
Time in the real world. Use the functions below to convert it to/from Unix time in seconds.
Instances
Eq Timestamp Source # | |
Data Timestamp Source # | |
Defined in Tezos.Core gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Timestamp -> c Timestamp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Timestamp # toConstr :: Timestamp -> Constr # dataTypeOf :: Timestamp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Timestamp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Timestamp) # gmapT :: (forall b. Data b => b -> b) -> Timestamp -> Timestamp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Timestamp -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Timestamp -> r # gmapQ :: (forall d. Data d => d -> u) -> Timestamp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Timestamp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Timestamp -> m Timestamp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Timestamp -> m Timestamp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Timestamp -> m Timestamp # | |
Ord Timestamp Source # | |
Defined in Tezos.Core | |
Show Timestamp Source # | |
Generic Timestamp Source # | |
Arbitrary Timestamp Source # | |
ToJSON Timestamp Source # | |
Defined in Tezos.Core | |
FromJSON Timestamp Source # | |
Buildable Timestamp Source # | |
Defined in Tezos.Core | |
FromCVal Timestamp Source # | |
ToCVal Timestamp Source # | |
FromVal Timestamp Source # | |
ToVal Timestamp Source # | |
type Rep Timestamp Source # | |
Defined in Tezos.Core |
timestampToSeconds :: Integral a => Timestamp -> a Source #
timestampFromSeconds :: Integral a => a -> Timestamp Source #
timestampPlusSeconds :: Timestamp -> Integer -> Timestamp Source #
Add given amount of seconds to a Timestamp
.
formatTimestamp :: Timestamp -> Text Source #
Display timestamp in human-readable way as used by Michelson. Uses UTC timezone, though maybe we should take it as an argument.