cardano-ledger-core-1.22.0.0: Core components of Cardano ledgers from the Shelley release on.
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Coin

Synopsis

Documentation

newtype Coin Source #

The amount of value held by a transaction output.

Constructors

Coin 

Fields

Instances

Instances details
FromJSON Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

FromCBOR Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToCBOR Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

toCBOR ∷ Coin → Encoding Source #

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

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

DecCBOR Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

encCBOR ∷ Coin → Encoding Source #

HasZero Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

isZero ∷ Coin → Bool Source #

Compactible Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

newtype CompactForm Coin 
Instance details

Defined in Cardano.Ledger.Coin

ToPlutusData Coin Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

Val Coin Source # 
Instance details

Defined in Cardano.Ledger.Val

NFData Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ Coin → () #

Monoid Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

mempty ∷ Coin #

mappend ∷ Coin → Coin → Coin #

mconcat ∷ [Coin] → Coin #

Semigroup Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

(<>) ∷ Coin → Coin → Coin #

sconcat ∷ NonEmpty Coin → Coin #

stimes ∷ Integral b ⇒ b → Coin → Coin #

Enum Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

succ ∷ Coin → Coin #

pred ∷ Coin → Coin #

toEnum ∷ Int → Coin #

fromEnum ∷ Coin → Int #

enumFrom ∷ Coin → [Coin] #

enumFromThen ∷ Coin → Coin → [Coin] #

enumFromTo ∷ Coin → Coin → [Coin] #

enumFromThenTo ∷ Coin → Coin → Coin → [Coin] #

Generic Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

type Rep Coin 
Instance details

Defined in Cardano.Ledger.Coin

type Rep Coin = D1 ('MetaData "Coin" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "Coin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

Methods

from ∷ Coin → Rep Coin x #

to ∷ Rep Coin x → Coin #

Show Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

showsPrec ∷ Int → Coin → ShowS #

show ∷ Coin → String #

showList ∷ [Coin] → ShowS #

Eq Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

(==) ∷ Coin → Coin → Bool #

(/=) ∷ Coin → Coin → Bool #

Ord Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

compare ∷ Coin → Coin → Ordering #

(<) ∷ Coin → Coin → Bool #

(<=) ∷ Coin → Coin → Bool #

(>) ∷ Coin → Coin → Bool #

(>=) ∷ Coin → Coin → Bool #

max ∷ Coin → Coin → Coin #

min ∷ Coin → Coin → Coin #

Abelian Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Group Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

invert ∷ Coin → Coin Source #

(~~) ∷ Coin → Coin → Coin Source #

pow ∷ Integral x ⇒ Coin → x → Coin Source #

NoThunks Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

PartialOrd Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

(<=) ∷ Coin → Coin → Bool Source #

(>=) ∷ Coin → Coin → Bool Source #

(==) ∷ Coin → Coin → Bool Source #

(/=) ∷ Coin → Coin → Bool Source #

(<) ∷ Coin → Coin → Bool Source #

(>) ∷ Coin → Coin → Bool Source #

compare ∷ Coin → Coin → Maybe Ordering Source #

Uniform Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

uniformM ∷ StatefulGen g m ⇒ g → m Coin Source #

UniformRange Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

uniformRM ∷ StatefulGen g m ⇒ (Coin, Coin) → g → m Coin Source #

isInRange ∷ (Coin, Coin) → Coin → Bool Source #

Inject Coin DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

inject ∷ Coin → DeltaCoin Source #

FromJSON (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

toCBOR ∷ CompactForm Coin → Encoding Source #

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

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

DecCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

HasZero (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToPlutusData (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

NFData (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ CompactForm Coin → () #

Monoid (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Semigroup (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Storable (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Generic (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

type Rep (CompactForm Coin) 
Instance details

Defined in Cardano.Ledger.Coin

type Rep (CompactForm Coin) = D1 ('MetaData "CompactForm" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "CompactCoin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCompactCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Show (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Eq (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Ord (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Abelian (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Group (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

MemPack (CompactForm Coin) Source #

This instance prefixes with a 0 Tag for binary compatibility with compact form of multiassets.

Instance details

Defined in Cardano.Ledger.Coin

NoThunks (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Prim (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Uniform (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

uniformM ∷ StatefulGen g m ⇒ g → m (CompactForm Coin) Source #

UniformRange (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

newtype CompactForm Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep Coin = D1 ('MetaData "Coin" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "Coin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
type Rep (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep (CompactForm Coin) = D1 ('MetaData "CompactForm" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "CompactCoin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCompactCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

data family CompactForm a Source #

Instances

Instances details
FromJSON (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

toCBOR ∷ CompactForm Coin → Encoding Source #

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

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

DecCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

DecCBOR (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

HasZero (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToPlutusData (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

NFData (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ CompactForm Coin → () #

NFData (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ CompactForm DeltaCoin → () #

Monoid (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Semigroup (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Storable (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Generic (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

type Rep (CompactForm Coin) 
Instance details

Defined in Cardano.Ledger.Coin

type Rep (CompactForm Coin) = D1 ('MetaData "CompactForm" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "CompactCoin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCompactCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Show (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Show (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Eq (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Eq (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Ord (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Ord (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Abelian (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Group (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

MemPack (CompactForm Coin) Source #

This instance prefixes with a 0 Tag for binary compatibility with compact form of multiassets.

Instance details

Defined in Cardano.Ledger.Coin

NoThunks (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

NoThunks (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Prim (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Prim (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Uniform (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

uniformM ∷ StatefulGen g m ⇒ g → m (CompactForm Coin) Source #

UniformRange (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

newtype CompactForm Coin Source # 
Instance details

Defined in Cardano.Ledger.Coin

newtype CompactForm DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep (CompactForm Coin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep (CompactForm Coin) = D1 ('MetaData "CompactForm" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "CompactCoin" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCompactCoin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype DeltaCoin Source #

Constructors

DeltaCoin Integer 

Instances

Instances details
FromJSON DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToCBOR DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

toCBOR ∷ DeltaCoin → Encoding Source #

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

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

DecCBOR DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Compactible DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

newtype CompactForm DeltaCoin 
Instance details

Defined in Cardano.Ledger.Coin

Val DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Val

NFData DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ DeltaCoin → () #

Monoid DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Semigroup DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Enum DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Generic DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Associated Types

type Rep DeltaCoin 
Instance details

Defined in Cardano.Ledger.Coin

type Rep DeltaCoin = D1 ('MetaData "DeltaCoin" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "DeltaCoin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

Methods

from ∷ DeltaCoin → Rep DeltaCoin x #

to ∷ Rep DeltaCoin x → DeltaCoin #

Show DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

showsPrec ∷ Int → DeltaCoin → ShowS #

show ∷ DeltaCoin → String #

showList ∷ [DeltaCoin] → ShowS #

Eq DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

(==) ∷ DeltaCoin → DeltaCoin → Bool #

(/=) ∷ DeltaCoin → DeltaCoin → Bool #

Ord DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Abelian DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Group DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

NoThunks DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

PartialOrd DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Inject Coin DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

inject ∷ Coin → DeltaCoin Source #

ToJSON (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

DecCBOR (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

NFData (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ CompactForm DeltaCoin → () #

Show (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Eq (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Ord (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

NoThunks (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

Prim (CompactForm DeltaCoin) Source # 
Instance details

Defined in Cardano.Ledger.Coin

newtype CompactForm DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep DeltaCoin Source # 
Instance details

Defined in Cardano.Ledger.Coin

type Rep DeltaCoin = D1 ('MetaData "DeltaCoin" "Cardano.Ledger.Coin" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "DeltaCoin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

newtype CoinPerByte Source #

Constructors

CoinPerByte 

Instances

Instances details
FromJSON CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToJSON CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

DecCBOR CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

EncCBOR CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

ToPlutusData CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

NFData CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnf ∷ CoinPerByte → () #

Show CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

Eq CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

Ord CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

NoThunks CoinPerByte Source # 
Instance details

Defined in Cardano.Ledger.Coin

subtractCompactCoin Source #

Arguments

∷ CompactForm Coin

Amount to be subtracted

→ CompactForm Coin

Value from which it will be subtracted

→ CompactForm Coin 

Warning - Be careful about integer overflow. Amount to be subtracted must be smaller or equal to the value that is being adjusted. This function does not protect against this.

coinPerByteFL ∷ ∀ (f ∷ Type → Type). Functor f ⇒ Lens' (f CoinPerByte) (f (CompactForm Coin)) Source #

knownNonZeroCoin ∷ ∀ (n ∷ Nat). (KnownNat n, 1 <= n) ⇒ NonZero Coin Source #