cardano-ledger-byron-1.0.1.0: The blockchain layer of Cardano during the Byron era
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Chain.Common.Lovelace

Synopsis

Lovelace

data Lovelace Source #

Lovelace is the least possible unit of currency

Instances

Instances details
ToJSON Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Data Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → Lovelace → c Lovelace Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c Lovelace Source #

toConstrLovelaceConstr Source #

dataTypeOfLovelaceDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c Lovelace) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c Lovelace) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → LovelaceLovelace Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → Lovelace → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → Lovelace → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → Lovelace → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → Lovelace → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → Lovelace → m Lovelace Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Lovelace → m Lovelace Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Lovelace → m Lovelace Source #

Bounded Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Generic Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Associated Types

type Rep LovelaceTypeType Source #

Show Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

FromCBOR Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

ToCBOR Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

toCBORLovelaceEncoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy LovelaceSize Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Lovelace] → Size Source #

DecCBOR Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

EncCBOR Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

encCBORLovelaceEncoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy LovelaceSize Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [Lovelace] → Size Source #

NFData Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

rnfLovelace → () Source #

Buildable Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

buildLovelaceBuilder Source #

Eq Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Ord Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

NoThunks Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

ReportSchemaErrors m ⇒ FromJSON m Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

fromJSONJSValue → m Lovelace Source #

Monad m ⇒ ToJSON m Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

toJSONLovelace → m JSValue Source #

type Rep Lovelace Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

type Rep Lovelace = D1 ('MetaData "Lovelace" "Cardano.Chain.Common.Lovelace" "cardano-ledger-byron-1.0.1.0-inplace" 'True) (C1 ('MetaCons "Lovelace" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLovelace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

data LovelaceError Source #

Instances

Instances details
Data LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → LovelaceError → c LovelaceError Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c LovelaceError Source #

toConstrLovelaceErrorConstr Source #

dataTypeOfLovelaceErrorDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c LovelaceError) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c LovelaceError) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → LovelaceErrorLovelaceError Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → LovelaceError → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → LovelaceError → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → LovelaceError → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → LovelaceError → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → LovelaceError → m LovelaceError Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → LovelaceError → m LovelaceError Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → LovelaceError → m LovelaceError Source #

Show LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

FromCBOR LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

ToCBOR LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

DecCBOR LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

EncCBOR LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Buildable LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Eq LovelaceError Source # 
Instance details

Defined in Cardano.Chain.Common.Lovelace

maxLovelaceValWord64 Source #

Maximal possible value of Lovelace

Constructors

mkLovelaceWord64Either LovelaceError Lovelace Source #

Constructor for Lovelace returning LovelaceError when c exceeds maxLovelaceVal

mkKnownLovelace ∷ ∀ n. (KnownNat n, n <= 45000000000000000) ⇒ Lovelace Source #

Construct a Lovelace from a KnownNat, known to be less than maxLovelaceVal

Formatting

lovelaceFFormat r (Lovelace → r) Source #

Lovelace formatter which restricts type.

Conversions

unsafeGetLovelaceLovelaceWord64 Source #

Unwraps Lovelace. It's called “unsafe” so that people wouldn't use it willy-nilly if they want to sum lovelace or something. It's actually safe.

Arithmetic operations

sumLovelace ∷ (Foldable t, Functor t) ⇒ t LovelaceEither LovelaceError Lovelace Source #

Compute sum of all lovelace in container. Result is Integer as a protection against possible overflow.

addLovelaceLovelaceLovelaceEither LovelaceError Lovelace Source #

Addition of lovelace, returning LovelaceError in case of overflow

subLovelaceLovelaceLovelaceEither LovelaceError Lovelace Source #

Subtraction of lovelace, returning LovelaceError on underflow

scaleLovelaceIntegral b ⇒ Lovelace → b → Either LovelaceError Lovelace Source #

Scale a Lovelace by an Integral factor, returning LovelaceError when the result is too large

scaleLovelaceRationalLovelaceRationalLovelace Source #

Scale a Lovelace by a rational factor, rounding down.

scaleLovelaceRationalUpLovelaceRationalLovelace Source #

Scale a Lovelace by a rational factor, rounding up.

divLovelaceIntegral b ⇒ Lovelace → b → Either LovelaceError Lovelace Source #

Integer division of a Lovelace by an Integral factor

modLovelaceIntegral b ⇒ Lovelace → b → Either LovelaceError Lovelace Source #

Integer modulus of a Lovelace by an Integral factor