| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Ledger.Mary.Value
Synopsis
- newtype PolicyID = PolicyID {}
- newtype AssetName = AssetName {}
- data MaryValue = MaryValue !Coin !MultiAsset
- newtype MultiAsset = MultiAsset (Map PolicyID (Map AssetName Integer))
- insertMultiAsset ∷ (Integer → Integer → Integer) → PolicyID → AssetName → Integer → MultiAsset → MultiAsset
- lookupMultiAsset ∷ PolicyID → AssetName → MaryValue → Integer
- multiAssetFromList ∷ [(PolicyID, AssetName, Integer)] → MultiAsset
- policies ∷ MultiAsset → Set PolicyID
- mapMaybeMultiAsset ∷ (PolicyID → AssetName → Integer → Maybe Integer) → MultiAsset → MultiAsset
- filterMultiAsset ∷ (PolicyID → AssetName → Integer → Bool) → MultiAsset → MultiAsset
- pruneZeroMultiAsset ∷ MultiAsset → MultiAsset
- representationSize ∷ [(PolicyID, AssetName, Integer)] → Int
- showValue ∷ MaryValue → String
- flattenMultiAsset ∷ MultiAsset → [(PolicyID, AssetName, Integer)]
- valueFromList ∷ Coin → [(PolicyID, AssetName, Integer)] → MaryValue
- data CompactValue
- data family CompactForm a
- isMultiAssetSmallEnough ∷ MultiAsset → Bool
- assetNameToTextAsHex ∷ AssetName → Text
Documentation
Policy ID
Constructors
| PolicyID | |
Fields | |
Instances
Asset Name
Constructors
| AssetName | |
Fields | |
Instances
| ToJSON AssetName Source # | |
| ToJSONKey AssetName Source # | |
Defined in Cardano.Ledger.Mary.Value | |
| DecCBOR AssetName Source # | |
| EncCBOR AssetName Source # | |
| NFData AssetName Source # | |
Defined in Cardano.Ledger.Mary.Value | |
| Show AssetName Source # | |
| Eq AssetName Source # | |
| Ord AssetName Source # | |
Defined in Cardano.Ledger.Mary.Value | |
| NoThunks AssetName Source # | |
The Value representing MultiAssets
Note that the Ord instance isn't semantically meaningful and is used only
to satisfy constraints on Haskell containers such as Set and Map.
Do not use it for any purpose that would directly affect chain behavior.
Constructors
| MaryValue !Coin !MultiAsset |
Instances
| ToJSON MaryValue Source # | |||||
| DecCBOR MaryValue Source # | |||||
| EncCBOR MaryValue Source # | |||||
| ToKeyValuePairs MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods toKeyValuePairs ∷ KeyValue e kv ⇒ MaryValue → [kv] Source # | |||||
| Compactible MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Associated Types
| |||||
| Val MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods (<+>) ∷ MaryValue → MaryValue → MaryValue Source # (<×>) ∷ Integral i ⇒ i → MaryValue → MaryValue Source # (<->) ∷ MaryValue → MaryValue → MaryValue Source # isZero ∷ MaryValue → Bool Source # coin ∷ MaryValue → Coin Source # modifyCoin ∷ (Coin → Coin) → MaryValue → MaryValue Source # size ∷ MaryValue → Integer Source # pointwise ∷ (Integer → Integer → Bool) → MaryValue → MaryValue → Bool Source # isAdaOnly ∷ MaryValue → Bool Source # isAdaOnlyCompact ∷ CompactForm MaryValue → Bool Source # coinCompact ∷ CompactForm MaryValue → CompactForm Coin Source # injectCompact ∷ CompactForm Coin → CompactForm MaryValue Source # modifyCompactCoin ∷ (CompactForm Coin → CompactForm Coin) → CompactForm MaryValue → CompactForm MaryValue Source # | |||||
| NFData MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Monoid MaryValue Source # | |||||
| Semigroup MaryValue Source # | |||||
| Generic MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Associated Types
| |||||
| Show MaryValue Source # | |||||
| Eq MaryValue Source # | |||||
| Ord MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Abelian MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Group MaryValue Source # | |||||
| NoThunks MaryValue Source # | |||||
| Inject Coin MaryValue Source # | |||||
| DecCBOR (CompactForm MaryValue) Source # | |||||
| EncCBOR (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| NFData (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods rnf ∷ CompactForm MaryValue → () # | |||||
| Show (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Eq (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods (==) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (/=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # | |||||
| Ord (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods compare ∷ CompactForm MaryValue → CompactForm MaryValue → Ordering # (<) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (<=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (>) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (>=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # max ∷ CompactForm MaryValue → CompactForm MaryValue → CompactForm MaryValue # min ∷ CompactForm MaryValue → CompactForm MaryValue → CompactForm MaryValue # | |||||
| MemPack (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| NoThunks (CompactForm MaryValue) Source # | |||||
| newtype CompactForm MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| type Rep MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value type Rep MaryValue = D1 ('MetaData "MaryValue" "Cardano.Ledger.Mary.Value" "cardano-ledger-mary-1.11.1.0-inplace" 'False) (C1 ('MetaCons "MaryValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MultiAsset))) | |||||
newtype MultiAsset Source #
The MultiAssets map
Note that the Ord instance isn't semantically meaningful and is used only
to satisfy constraints on Haskell containers such as Set and Map.
Do not use it for any purpose that would directly affect chain behavior.
Instances
| ToJSON MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods toJSON ∷ MultiAsset → Value Source # toEncoding ∷ MultiAsset → Encoding Source # toJSONList ∷ [MultiAsset] → Value Source # toEncodingList ∷ [MultiAsset] → Encoding Source # omitField ∷ MultiAsset → Bool Source # | |||||
| DecCBOR MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| EncCBOR MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods encCBOR ∷ MultiAsset → Encoding Source # | |||||
| NFData MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods rnf ∷ MultiAsset → () # | |||||
| Monoid MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Semigroup MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods (<>) ∷ MultiAsset → MultiAsset → MultiAsset # sconcat ∷ NonEmpty MultiAsset → MultiAsset # stimes ∷ Integral b ⇒ b → MultiAsset → MultiAsset # | |||||
| Generic MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Associated Types
| |||||
| Show MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods showsPrec ∷ Int → MultiAsset → ShowS # show ∷ MultiAsset → String # showList ∷ [MultiAsset] → ShowS # | |||||
| Eq MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Ord MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods compare ∷ MultiAsset → MultiAsset → Ordering # (<) ∷ MultiAsset → MultiAsset → Bool # (<=) ∷ MultiAsset → MultiAsset → Bool # (>) ∷ MultiAsset → MultiAsset → Bool # (>=) ∷ MultiAsset → MultiAsset → Bool # max ∷ MultiAsset → MultiAsset → MultiAsset # min ∷ MultiAsset → MultiAsset → MultiAsset # | |||||
| Group MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods invert ∷ MultiAsset → MultiAsset Source # (~~) ∷ MultiAsset → MultiAsset → MultiAsset Source # pow ∷ Integral x ⇒ MultiAsset → x → MultiAsset Source # | |||||
| NoThunks MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| type Rep MultiAsset Source # | |||||
Defined in Cardano.Ledger.Mary.Value type Rep MultiAsset = D1 ('MetaData "MultiAsset" "Cardano.Ledger.Mary.Value" "cardano-ledger-mary-1.11.1.0-inplace" 'True) (C1 ('MetaCons "MultiAsset" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PolicyID (Map AssetName Integer))))) | |||||
| type MemoHashIndex (MaryTxBodyRaw l) Source # | |||||
Defined in Cardano.Ledger.Mary.TxBody | |||||
insertMultiAsset ∷ (Integer → Integer → Integer) → PolicyID → AssetName → Integer → MultiAsset → MultiAsset Source #
insertMultiAsset comb policy asset n v, if comb = old new -> old, the integer in the MultiAsset is prefered over n if comb = old new -> new, then n is prefered over the integer in the MultiAsset if (comb old new) == 0, then that value should not be stored in the MultiAsset
multiAssetFromList ∷ [(PolicyID, AssetName, Integer)] → MultiAsset Source #
Rather than using prune to remove 0 assets, when can avoid adding them in the first place by using valueFromList to construct a MultiAsset
policies ∷ MultiAsset → Set PolicyID Source #
Extract the set of policies in the Value.
This function is equivalent to computing the support of the value in the spec.
mapMaybeMultiAsset ∷ (PolicyID → AssetName → Integer → Maybe Integer) → MultiAsset → MultiAsset Source #
Map a function over each multi asset value while optionally filtering values out. Canonical form is preserved.
Arguments
| ∷ (PolicyID → AssetName → Integer → Bool) | Predicate that needs to return |
| → MultiAsset | |
| → MultiAsset |
Filter multi assets. Canonical form is preserved.
pruneZeroMultiAsset ∷ MultiAsset → MultiAsset Source #
Remove all assets with that have zero amount specified
flattenMultiAsset ∷ MultiAsset → [(PolicyID, AssetName, Integer)] Source #
data CompactValue Source #
Constructors
| CompactValueAdaOnly !(CompactForm Coin) | |
| CompactValueMultiAsset !(CompactForm Coin) !Word32 !ShortByteString |
Instances
| DecCBOR CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| EncCBOR CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods | |||||
| NFData CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods rnf ∷ CompactValue → () # | |||||
| Generic CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Associated Types
| |||||
| Show CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods showsPrec ∷ Int → CompactValue → ShowS # show ∷ CompactValue → String # showList ∷ [CompactValue] → ShowS # | |||||
| Eq CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Ord CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods compare ∷ CompactValue → CompactValue → Ordering # (<) ∷ CompactValue → CompactValue → Bool # (<=) ∷ CompactValue → CompactValue → Bool # (>) ∷ CompactValue → CompactValue → Bool # (>=) ∷ CompactValue → CompactValue → Bool # max ∷ CompactValue → CompactValue → CompactValue # min ∷ CompactValue → CompactValue → CompactValue # | |||||
| MemPack CompactValue Source # | We need to manually pack/unpack `CompactForm Coin` here because its MemPack instance can't be
used due to the requirement of it being compatible with the first case of
| ||||
Defined in Cardano.Ledger.Mary.Value | |||||
| NoThunks CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| type Rep CompactValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value type Rep CompactValue = D1 ('MetaData "CompactValue" "Cardano.Ledger.Mary.Value" "cardano-ledger-mary-1.11.1.0-inplace" 'False) (C1 ('MetaCons "CompactValueAdaOnly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :+: C1 ('MetaCons "CompactValueMultiAsset" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ShortByteString)))) | |||||
data family CompactForm a Source #
Instances
| FromJSON (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods parseJSON ∷ Value → Parser (CompactForm Coin) Source # parseJSONList ∷ Value → Parser [CompactForm Coin] Source # | |||||
| ToJSON (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods toJSON ∷ CompactForm Coin → Value Source # toEncoding ∷ CompactForm Coin → Encoding Source # toJSONList ∷ [CompactForm Coin] → Value Source # toEncodingList ∷ [CompactForm Coin] → Encoding Source # | |||||
| ToJSON (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin Methods toJSON ∷ CompactForm DeltaCoin → Value Source # toEncoding ∷ CompactForm DeltaCoin → Encoding Source # toJSONList ∷ [CompactForm DeltaCoin] → Value Source # toEncodingList ∷ [CompactForm DeltaCoin] → Encoding Source # | |||||
| ToCBOR (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| DecCBOR (CompactForm Coin) | |||||
| DecCBOR (CompactForm DeltaCoin) | |||||
| DecCBOR (CompactForm MaryValue) Source # | |||||
| EncCBOR (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| EncCBOR (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| EncCBOR (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| HasZero (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| ToPlutusData (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Plutus.ToPlutusData Methods toPlutusData ∷ CompactForm Coin → Data Source # fromPlutusData ∷ Data → Maybe (CompactForm Coin) Source # | |||||
| NFData (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods rnf ∷ CompactForm Coin → () # | |||||
| NFData (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin Methods rnf ∷ CompactForm DeltaCoin → () # | |||||
| NFData (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods rnf ∷ CompactForm MaryValue → () # | |||||
| Monoid (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods mappend ∷ CompactForm Coin → CompactForm Coin → CompactForm Coin # mconcat ∷ [CompactForm Coin] → CompactForm Coin # | |||||
| Semigroup (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods (<>) ∷ CompactForm Coin → CompactForm Coin → CompactForm Coin # sconcat ∷ NonEmpty (CompactForm Coin) → CompactForm Coin # stimes ∷ Integral b ⇒ b → CompactForm Coin → CompactForm Coin # | |||||
| Storable (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods sizeOf ∷ CompactForm Coin → Int # alignment ∷ CompactForm Coin → Int # peekElemOff ∷ Ptr (CompactForm Coin) → Int → IO (CompactForm Coin) # pokeElemOff ∷ Ptr (CompactForm Coin) → Int → CompactForm Coin → IO () # peekByteOff ∷ Ptr b → Int → IO (CompactForm Coin) # pokeByteOff ∷ Ptr b → Int → CompactForm Coin → IO () # peek ∷ Ptr (CompactForm Coin) → IO (CompactForm Coin) # poke ∷ Ptr (CompactForm Coin) → CompactForm Coin → IO () # | |||||
| Generic (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Associated Types
Methods from ∷ CompactForm Coin → Rep (CompactForm Coin) x # to ∷ Rep (CompactForm Coin) x → CompactForm Coin # | |||||
| Show (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| Show (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| Show (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| Eq (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods (==) ∷ CompactForm Coin → CompactForm Coin → Bool # (/=) ∷ CompactForm Coin → CompactForm Coin → Bool # | |||||
| Eq (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin Methods (==) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # (/=) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # | |||||
| Eq (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods (==) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (/=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # | |||||
| Ord (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods compare ∷ CompactForm Coin → CompactForm Coin → Ordering # (<) ∷ CompactForm Coin → CompactForm Coin → Bool # (<=) ∷ CompactForm Coin → CompactForm Coin → Bool # (>) ∷ CompactForm Coin → CompactForm Coin → Bool # (>=) ∷ CompactForm Coin → CompactForm Coin → Bool # max ∷ CompactForm Coin → CompactForm Coin → CompactForm Coin # min ∷ CompactForm Coin → CompactForm Coin → CompactForm Coin # | |||||
| Ord (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin Methods compare ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Ordering # (<) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # (<=) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # (>) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # (>=) ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → Bool # max ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → CompactForm DeltaCoin # min ∷ CompactForm DeltaCoin → CompactForm DeltaCoin → CompactForm DeltaCoin # | |||||
| Ord (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value Methods compare ∷ CompactForm MaryValue → CompactForm MaryValue → Ordering # (<) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (<=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (>) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # (>=) ∷ CompactForm MaryValue → CompactForm MaryValue → Bool # max ∷ CompactForm MaryValue → CompactForm MaryValue → CompactForm MaryValue # min ∷ CompactForm MaryValue → CompactForm MaryValue → CompactForm MaryValue # | |||||
| Abelian (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin | |||||
| Group (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods invert ∷ CompactForm Coin → CompactForm Coin Source # (~~) ∷ CompactForm Coin → CompactForm Coin → CompactForm Coin Source # pow ∷ Integral x ⇒ CompactForm Coin → x → CompactForm Coin Source # | |||||
| MemPack (CompactForm Coin) | This instance prefixes with a 0 Tag for binary compatibility with compact form of multiassets. | ||||
Defined in Cardano.Ledger.Coin | |||||
| MemPack (CompactForm MaryValue) Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| NoThunks (CompactForm Coin) | |||||
| NoThunks (CompactForm DeltaCoin) | |||||
| NoThunks (CompactForm MaryValue) Source # | |||||
| Prim (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods sizeOfType# ∷ Proxy (CompactForm Coin) → Int# Source # sizeOf# ∷ CompactForm Coin → Int# Source # alignmentOfType# ∷ Proxy (CompactForm Coin) → Int# Source # alignment# ∷ CompactForm Coin → Int# Source # indexByteArray# ∷ ByteArray# → Int# → CompactForm Coin Source # readByteArray# ∷ MutableByteArray# s → Int# → State# s → (# State# s, CompactForm Coin #) Source # writeByteArray# ∷ MutableByteArray# s → Int# → CompactForm Coin → State# s → State# s Source # setByteArray# ∷ MutableByteArray# s → Int# → Int# → CompactForm Coin → State# s → State# s Source # indexOffAddr# ∷ Addr# → Int# → CompactForm Coin Source # readOffAddr# ∷ Addr# → Int# → State# s → (# State# s, CompactForm Coin #) Source # writeOffAddr# ∷ Addr# → Int# → CompactForm Coin → State# s → State# s Source # setOffAddr# ∷ Addr# → Int# → Int# → CompactForm Coin → State# s → State# s Source # | |||||
| Prim (CompactForm DeltaCoin) | |||||
Defined in Cardano.Ledger.Coin Methods sizeOfType# ∷ Proxy (CompactForm DeltaCoin) → Int# Source # sizeOf# ∷ CompactForm DeltaCoin → Int# Source # alignmentOfType# ∷ Proxy (CompactForm DeltaCoin) → Int# Source # alignment# ∷ CompactForm DeltaCoin → Int# Source # indexByteArray# ∷ ByteArray# → Int# → CompactForm DeltaCoin Source # readByteArray# ∷ MutableByteArray# s → Int# → State# s → (# State# s, CompactForm DeltaCoin #) Source # writeByteArray# ∷ MutableByteArray# s → Int# → CompactForm DeltaCoin → State# s → State# s Source # setByteArray# ∷ MutableByteArray# s → Int# → Int# → CompactForm DeltaCoin → State# s → State# s Source # indexOffAddr# ∷ Addr# → Int# → CompactForm DeltaCoin Source # readOffAddr# ∷ Addr# → Int# → State# s → (# State# s, CompactForm DeltaCoin #) Source # writeOffAddr# ∷ Addr# → Int# → CompactForm DeltaCoin → State# s → State# s Source # setOffAddr# ∷ Addr# → Int# → Int# → CompactForm DeltaCoin → State# s → State# s Source # | |||||
| Uniform (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods uniformM ∷ StatefulGen g m ⇒ g → m (CompactForm Coin) Source # | |||||
| UniformRange (CompactForm Coin) | |||||
Defined in Cardano.Ledger.Coin Methods uniformRM ∷ StatefulGen g m ⇒ (CompactForm Coin, CompactForm Coin) → g → m (CompactForm Coin) Source # isInRange ∷ (CompactForm Coin, CompactForm Coin) → CompactForm Coin → Bool Source # | |||||
| newtype CompactForm Coin | |||||
Defined in Cardano.Ledger.Coin | |||||
| newtype CompactForm DeltaCoin | |||||
Defined in Cardano.Ledger.Coin | |||||
| newtype CompactForm MaryValue Source # | |||||
Defined in Cardano.Ledger.Mary.Value | |||||
| type Rep (CompactForm Coin) | |||||
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))) | |||||
isMultiAssetSmallEnough ∷ MultiAsset → Bool Source #
Unlike representationSize, this function cheaply checks whether
any offset within a MultiAsset compact representation is likely to overflow Word16.
compact form inequality: 8n (Word64) + 2n (Word16) + 2n (Word16) + 28p (policy ids) + sum of lengths of unique asset names <= 65535 maximum size for the asset name is 32 bytes, so: 8n + 2n + 2n + 28p + 32n <= 65535 where: n = total number of assets, p = number of unique policy ids