plutarch-ledger-api-3.2.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Plutarch.LedgerApi.Value

Description

Value-related functionality. In order to keep the interface efficient and safe at the same time, there is a type-level distinction between PValues that are guaranteed to be properly normalized and those that provide no such guarantee.

Also for efficiency reasons, the Ada-specific functions assume that there can be only one token name for the Ada currency symbol, and they don't check whether it matches adaToken.

Synopsis

Types

newtype PValue (keys :: KeyGuarantees) (amounts :: AmountGuarantees) (s :: S) Source #

Since: 2.0.0

Constructors

PValue (Term s (PMap keys PCurrencySymbol (PMap keys PTokenName PInteger))) 

Instances

Instances details
PTryFrom PData (PAsData (PValue 'Sorted 'NoGuarantees)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Sorted 'NoGuarantees)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Sorted 'NoGuarantees)), Reduce (PTryFromExcess PData (PAsData (PValue 'Sorted 'NoGuarantees)) s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData (PValue 'Sorted 'NonZero)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Sorted 'NonZero)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Sorted 'NonZero)), Reduce (PTryFromExcess PData (PAsData (PValue 'Sorted 'NonZero)) s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData (PValue 'Sorted 'Positive)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Sorted 'Positive)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Sorted 'Positive)), Reduce (PTryFromExcess PData (PAsData (PValue 'Sorted 'Positive)) s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData (PValue 'Unsorted 'NoGuarantees)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NoGuarantees)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Unsorted 'NoGuarantees)), Reduce (PTryFromExcess PData (PAsData (PValue 'Unsorted 'NoGuarantees)) s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData (PValue 'Unsorted 'NonZero)) Source #

Since: 2.1.1

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NonZero)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Unsorted 'NonZero)), Reduce (PTryFromExcess PData (PAsData (PValue 'Unsorted 'NonZero)) s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData (PValue 'Unsorted 'Positive)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'Positive)) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PValue 'Unsorted 'Positive)), Reduce (PTryFromExcess PData (PAsData (PValue 'Unsorted 'Positive)) s)) -> Term s r) -> Term s r

Semigroup (Term s (PValue 'Sorted normalization)) => Monoid (Term s (PValue 'Sorted normalization)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

mempty :: Term s (PValue 'Sorted normalization) Source #

mappend :: Term s (PValue 'Sorted normalization) -> Term s (PValue 'Sorted normalization) -> Term s (PValue 'Sorted normalization) Source #

mconcat :: [Term s (PValue 'Sorted normalization)] -> Term s (PValue 'Sorted normalization) Source #

Semigroup (Term s (PValue 'Sorted 'NoGuarantees)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Semigroup (Term s (PValue 'Sorted 'NonZero)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(<>) :: Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) Source #

sconcat :: NonEmpty (Term s (PValue 'Sorted 'NonZero)) -> Term s (PValue 'Sorted 'NonZero) Source #

stimes :: Integral b => b -> Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) Source #

Semigroup (Term s (PValue 'Sorted 'Positive)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(<>) :: Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) Source #

sconcat :: NonEmpty (Term s (PValue 'Sorted 'Positive)) -> Term s (PValue 'Sorted 'Positive) Source #

stimes :: Integral b => b -> Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) Source #

PIsData (PValue keys amounts) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PValue keys amounts)) -> Term s (PValue keys amounts)

pdataImpl :: forall (s :: S). Term s (PValue keys amounts) -> Term s PData

PEq (PValue 'Sorted 'NoGuarantees) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s (PValue 'Sorted 'NoGuarantees) -> Term s (PValue 'Sorted 'NoGuarantees) -> Term s PBool

PEq (PValue 'Sorted 'NonZero) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s PBool

PEq (PValue 'Sorted 'Positive) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s PBool

PLiftable (PValue 'Unsorted 'NoGuarantees) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type AsHaskell (PValue 'Unsorted 'NoGuarantees)

type PlutusRepr (PValue 'Unsorted 'NoGuarantees)

Methods

toPlutarchRepr :: AsHaskell (PValue 'Unsorted 'NoGuarantees) -> PlutusRepr (PValue 'Unsorted 'NoGuarantees)

toPlutarch :: forall (s :: S). AsHaskell (PValue 'Unsorted 'NoGuarantees) -> PLifted s (PValue 'Unsorted 'NoGuarantees)

fromPlutarchRepr :: PlutusRepr (PValue 'Unsorted 'NoGuarantees) -> Maybe (AsHaskell (PValue 'Unsorted 'NoGuarantees))

fromPlutarch :: (forall (s :: S). PLifted s (PValue 'Unsorted 'NoGuarantees)) -> Either LiftError (AsHaskell (PValue 'Unsorted 'NoGuarantees))

PPartialOrd (PValue 'Sorted 'NonZero) Source #

Partial ordering implementation for sorted PValue with NonZero amounts.

Use pcheckBinRel if AmountGuarantees is NoGuarantees.

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s PBool

(#<) :: forall (s :: S). Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s PBool

(#>=) :: forall (s :: S). Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s PBool

(#>) :: forall (s :: S). Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s PBool

PPartialOrd (PValue 'Sorted 'Positive) Source #

Partial ordering implementation for sorted PValue with Positive amounts.

Use pcheckBinRel if AmountGuarantees is NoGuarantees.

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s PBool

(#<) :: forall (s :: S). Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s PBool

(#>=) :: forall (s :: S). Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s PBool

(#>) :: forall (s :: S). Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s PBool

DerivePlutusType (PValue keys amounts) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type DPTStrat (PValue keys amounts)

PlutusType (PValue keys amounts) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PInner (PValue keys amounts) :: PType

type PCovariant' (PValue keys amounts)

type PContravariant' (PValue keys amounts)

type PVariant' (PValue keys amounts)

Methods

pcon' :: forall (s :: S). PValue keys amounts s -> Term s (PInner (PValue keys amounts))

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PValue keys amounts)) -> (PValue keys amounts s -> Term s b) -> Term s b

PShow (PValue keys amounts) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pshow' :: forall (s :: S). Bool -> Term s (PValue keys amounts) -> Term s PString

Semigroup (Term s (PValue 'Sorted 'NoGuarantees)) => Group (Term s (PValue 'Sorted 'NoGuarantees)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

inv :: Term s (PValue 'Sorted 'NoGuarantees) -> Term s (PValue 'Sorted 'NoGuarantees)

Semigroup (Term s (PValue 'Sorted 'NonZero)) => Group (Term s (PValue 'Sorted 'NonZero)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

inv :: Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero)

Semigroup (Term s (PValue 'Sorted normalization)) => Monoid (Term s (PValue 'Sorted normalization)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

mempty :: Term s (PValue 'Sorted normalization)

Semigroup (Term s (PValue 'Sorted 'NoGuarantees)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(<>) :: Term s (PValue 'Sorted 'NoGuarantees) -> Term s (PValue 'Sorted 'NoGuarantees) -> Term s (PValue 'Sorted 'NoGuarantees)

Semigroup (Term s (PValue 'Sorted 'NonZero)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(<>) :: Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero) -> Term s (PValue 'Sorted 'NonZero)

Semigroup (Term s (PValue 'Sorted 'Positive)) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(<>) :: Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive) -> Term s (PValue 'Sorted 'Positive)

Generic (PValue keys amounts s) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type Rep (PValue keys amounts s) :: Type -> Type Source #

Methods

from :: PValue keys amounts s -> Rep (PValue keys amounts s) x Source #

to :: Rep (PValue keys amounts s) x -> PValue keys amounts s Source #

type PTryFromExcess PData (PAsData (PValue 'Sorted 'NoGuarantees)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Sorted 'NoGuarantees)) = PTryFromExcess PData (PInner (PAsData (PValue 'Sorted 'NoGuarantees)))
type PTryFromExcess PData (PAsData (PValue 'Sorted 'NonZero)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Sorted 'NonZero)) = Mret (PValue 'Sorted 'NonZero)
type PTryFromExcess PData (PAsData (PValue 'Sorted 'Positive)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Sorted 'Positive)) = Mret (PValue 'Sorted 'Positive)
type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NoGuarantees)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NoGuarantees)) = PTryFromExcess PData (PInner (PAsData (PValue 'Unsorted 'NoGuarantees)))
type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NonZero)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'NonZero)) = Mret (PValue 'Unsorted 'NonZero)
type PTryFromExcess PData (PAsData (PValue 'Unsorted 'Positive)) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData (PValue 'Unsorted 'Positive)) = Mret (PValue 'Unsorted 'Positive)
type AsHaskell (PValue 'Unsorted 'NoGuarantees) Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type AsHaskell (PValue 'Unsorted 'NoGuarantees) = AsHaskell (DeriveNewtypePLiftable (PValue 'Unsorted 'NoGuarantees) (PMap 'Unsorted PCurrencySymbol (PMap 'Unsorted PTokenName PInteger)) Value)
type PlutusRepr (PValue 'Unsorted 'NoGuarantees) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PlutusRepr (PValue 'Unsorted 'NoGuarantees) = PlutusRepr (DeriveNewtypePLiftable (PValue 'Unsorted 'NoGuarantees) (PMap 'Unsorted PCurrencySymbol (PMap 'Unsorted PTokenName PInteger)) Value)
type DPTStrat (PValue keys amounts) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type DPTStrat (PValue keys amounts) = PlutusTypeNewtype
type PContravariant' (PValue keys amounts) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PContravariant' (PValue keys amounts) = All2 PContravariant'' (PCode (PValue keys amounts))
type PCovariant' (PValue keys amounts) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PCovariant' (PValue keys amounts) = All2 PCovariant'' (PCode (PValue keys amounts))
type PInner (PValue keys amounts) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type PInner (PValue keys amounts) = DerivedPInner (DPTStrat (PValue keys amounts)) (PValue keys amounts)
type PVariant' (PValue keys amounts) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PVariant' (PValue keys amounts) = All2 PVariant'' (PCode (PValue keys amounts))
type Rep (PValue keys amounts s) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type Rep (PValue keys amounts s) = D1 ('MetaData "PValue" "Plutarch.LedgerApi.Value" "plutarch-ledger-api-3.2.1-6pZLN6XlvMZ4r7ZEuopoAx" 'True) (C1 ('MetaCons "PValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PMap keys PCurrencySymbol (PMap keys PTokenName PInteger))))))

newtype PCurrencySymbol (s :: S) Source #

Since: 2.0.0

Constructors

PCurrencySymbol (Term s (PDataNewtype PByteString)) 

Instances

Instances details
PIsData PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PCurrencySymbol) -> Term s PCurrencySymbol

pdataImpl :: forall (s :: S). Term s PCurrencySymbol -> Term s PData

PEq PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PBool

PLiftable PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type AsHaskell PCurrencySymbol

type PlutusRepr PCurrencySymbol

Methods

toPlutarchRepr :: AsHaskell PCurrencySymbol -> PlutusRepr PCurrencySymbol

toPlutarch :: forall (s :: S). AsHaskell PCurrencySymbol -> PLifted s PCurrencySymbol

fromPlutarchRepr :: PlutusRepr PCurrencySymbol -> Maybe (AsHaskell PCurrencySymbol)

fromPlutarch :: (forall (s :: S). PLifted s PCurrencySymbol) -> Either LiftError (AsHaskell PCurrencySymbol)

POrd PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pmax :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PCurrencySymbol

pmin :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PCurrencySymbol

PPartialOrd PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PBool

(#<) :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PBool

(#>=) :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PBool

(#>) :: forall (s :: S). Term s PCurrencySymbol -> Term s PCurrencySymbol -> Term s PBool

DerivePlutusType PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type DPTStrat PCurrencySymbol

PlutusType PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PInner PCurrencySymbol :: PType

type PCovariant' PCurrencySymbol

type PContravariant' PCurrencySymbol

type PVariant' PCurrencySymbol

Methods

pcon' :: forall (s :: S). PCurrencySymbol s -> Term s (PInner PCurrencySymbol)

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PCurrencySymbol) -> (PCurrencySymbol s -> Term s b) -> Term s b

PShow PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pshow' :: forall (s :: S). Bool -> Term s PCurrencySymbol -> Term s PString

PTryFrom PData PCurrencySymbol Source #

Since: 3.1.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData PCurrencySymbol :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PCurrencySymbol, Reduce (PTryFromExcess PData PCurrencySymbol s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData PCurrencySymbol) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData PCurrencySymbol) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PCurrencySymbol), Reduce (PTryFromExcess PData (PAsData PCurrencySymbol) s)) -> Term s r) -> Term s r

Generic (PCurrencySymbol s) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type Rep (PCurrencySymbol s) :: Type -> Type Source #

type AsHaskell PCurrencySymbol Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type AsHaskell PCurrencySymbol = AsHaskell (DeriveDataPLiftable PCurrencySymbol CurrencySymbol)
type PlutusRepr PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PlutusRepr PCurrencySymbol = PlutusRepr (DeriveDataPLiftable PCurrencySymbol CurrencySymbol)
type DPTStrat PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type DPTStrat PCurrencySymbol = PlutusTypeNewtype
type PContravariant' PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PContravariant' PCurrencySymbol = All2 PContravariant'' (PCode PCurrencySymbol)
type PCovariant' PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PCovariant' PCurrencySymbol = All2 PCovariant'' (PCode PCurrencySymbol)
type PInner PCurrencySymbol Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type PInner PCurrencySymbol = DerivedPInner (DPTStrat PCurrencySymbol) PCurrencySymbol
type PVariant' PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PVariant' PCurrencySymbol = All2 PVariant'' (PCode PCurrencySymbol)
type PTryFromExcess PData PCurrencySymbol Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData PCurrencySymbol = Mret PCurrencySymbol
type PTryFromExcess PData (PAsData PCurrencySymbol) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData PCurrencySymbol) = Mret PCurrencySymbol
type Rep (PCurrencySymbol s) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type Rep (PCurrencySymbol s) = D1 ('MetaData "PCurrencySymbol" "Plutarch.LedgerApi.Value" "plutarch-ledger-api-3.2.1-6pZLN6XlvMZ4r7ZEuopoAx" 'True) (C1 ('MetaCons "PCurrencySymbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataNewtype PByteString)))))

newtype PTokenName (s :: S) Source #

Since: 2.0.0

Constructors

PTokenName (Term s (PDataNewtype PByteString)) 

Instances

Instances details
PIsData PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PTokenName) -> Term s PTokenName

pdataImpl :: forall (s :: S). Term s PTokenName -> Term s PData

PEq PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PBool

PLiftable PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type AsHaskell PTokenName

type PlutusRepr PTokenName

Methods

toPlutarchRepr :: AsHaskell PTokenName -> PlutusRepr PTokenName

toPlutarch :: forall (s :: S). AsHaskell PTokenName -> PLifted s PTokenName

fromPlutarchRepr :: PlutusRepr PTokenName -> Maybe (AsHaskell PTokenName)

fromPlutarch :: (forall (s :: S). PLifted s PTokenName) -> Either LiftError (AsHaskell PTokenName)

POrd PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pmax :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PTokenName

pmin :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PTokenName

PPartialOrd PTokenName Source #

@wsince 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PBool

(#<) :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PBool

(#>=) :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PBool

(#>) :: forall (s :: S). Term s PTokenName -> Term s PTokenName -> Term s PBool

DerivePlutusType PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type DPTStrat PTokenName

PlutusType PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PInner PTokenName :: PType

type PCovariant' PTokenName

type PContravariant' PTokenName

type PVariant' PTokenName

Methods

pcon' :: forall (s :: S). PTokenName s -> Term s (PInner PTokenName)

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PTokenName) -> (PTokenName s -> Term s b) -> Term s b

PShow PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pshow' :: forall (s :: S). Bool -> Term s PTokenName -> Term s PString

PTryFrom PData PTokenName Source #

Since: 3.1.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData PTokenName :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PTokenName, Reduce (PTryFromExcess PData PTokenName s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData PTokenName) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData PTokenName) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PTokenName), Reduce (PTryFromExcess PData (PAsData PTokenName) s)) -> Term s r) -> Term s r

Generic (PTokenName s) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type Rep (PTokenName s) :: Type -> Type Source #

Methods

from :: PTokenName s -> Rep (PTokenName s) x Source #

to :: Rep (PTokenName s) x -> PTokenName s Source #

type AsHaskell PTokenName Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type AsHaskell PTokenName = AsHaskell (DeriveDataPLiftable PTokenName TokenName)
type PlutusRepr PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PlutusRepr PTokenName = PlutusRepr (DeriveDataPLiftable PTokenName TokenName)
type DPTStrat PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type DPTStrat PTokenName = PlutusTypeNewtype
type PContravariant' PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PContravariant' PTokenName = All2 PContravariant'' (PCode PTokenName)
type PCovariant' PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PCovariant' PTokenName = All2 PCovariant'' (PCode PTokenName)
type PInner PTokenName Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type PInner PTokenName = DerivedPInner (DPTStrat PTokenName) PTokenName
type PVariant' PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PVariant' PTokenName = All2 PVariant'' (PCode PTokenName)
type PTryFromExcess PData PTokenName Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData PTokenName = Mret PTokenName
type PTryFromExcess PData (PAsData PTokenName) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData PTokenName) = Mret PTokenName
type Rep (PTokenName s) Source #

Since: 2.0.0

Instance details

Defined in Plutarch.LedgerApi.Value

type Rep (PTokenName s) = D1 ('MetaData "PTokenName" "Plutarch.LedgerApi.Value" "plutarch-ledger-api-3.2.1-6pZLN6XlvMZ4r7ZEuopoAx" 'True) (C1 ('MetaCons "PTokenName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataNewtype PByteString)))))

data AmountGuarantees Source #

Since: 2.0.0

Constructors

NoGuarantees 
NonZero 
Positive 

newtype PLovelace (s :: S) Source #

Since: 2.2.0

Constructors

PLovelace (Term s (PDataNewtype PInteger)) 

Instances

Instances details
PIsData PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PLovelace) -> Term s PLovelace

pdataImpl :: forall (s :: S). Term s PLovelace -> Term s PData

PEq PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s PLovelace -> Term s PLovelace -> Term s PBool

PLiftable PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type AsHaskell PLovelace

type PlutusRepr PLovelace

Methods

toPlutarchRepr :: AsHaskell PLovelace -> PlutusRepr PLovelace

toPlutarch :: forall (s :: S). AsHaskell PLovelace -> PLifted s PLovelace

fromPlutarchRepr :: PlutusRepr PLovelace -> Maybe (AsHaskell PLovelace)

fromPlutarch :: (forall (s :: S). PLifted s PLovelace) -> Either LiftError (AsHaskell PLovelace)

PPartialOrd PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s PLovelace -> Term s PLovelace -> Term s PBool

(#<) :: forall (s :: S). Term s PLovelace -> Term s PLovelace -> Term s PBool

(#>=) :: forall (s :: S). Term s PLovelace -> Term s PLovelace -> Term s PBool

(#>) :: forall (s :: S). Term s PLovelace -> Term s PLovelace -> Term s PBool

DerivePlutusType PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type DPTStrat PLovelace

PlutusType PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PInner PLovelace :: PType

type PCovariant' PLovelace

type PContravariant' PLovelace

type PVariant' PLovelace

Methods

pcon' :: forall (s :: S). PLovelace s -> Term s (PInner PLovelace)

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PLovelace) -> (PLovelace s -> Term s b) -> Term s b

PShow PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pshow' :: forall (s :: S). Bool -> Term s PLovelace -> Term s PString

PTryFrom PData PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData PLovelace :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PLovelace, Reduce (PTryFromExcess PData PLovelace s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData PLovelace) Source #

Since: 3.1.0

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData PLovelace) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PLovelace), Reduce (PTryFromExcess PData (PAsData PLovelace) s)) -> Term s r) -> Term s r

Generic (PLovelace s) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type Rep (PLovelace s) :: Type -> Type Source #

Methods

from :: PLovelace s -> Rep (PLovelace s) x Source #

to :: Rep (PLovelace s) x -> PLovelace s Source #

type AsHaskell PLovelace Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type AsHaskell PLovelace = AsHaskell (DeriveDataPLiftable PLovelace Lovelace)
type PlutusRepr PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PlutusRepr PLovelace = PlutusRepr (DeriveDataPLiftable PLovelace Lovelace)
type DPTStrat PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type DPTStrat PLovelace = PlutusTypeNewtype
type PContravariant' PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PContravariant' PLovelace = All2 PContravariant'' (PCode PLovelace)
type PCovariant' PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PCovariant' PLovelace = All2 PCovariant'' (PCode PLovelace)
type PInner PLovelace Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

type PInner PLovelace = DerivedPInner (DPTStrat PLovelace) PLovelace
type PVariant' PLovelace Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PVariant' PLovelace = All2 PVariant'' (PCode PLovelace)
type PTryFromExcess PData PLovelace Source #

Since: 3.1.0

Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData PLovelace = PTryFromExcess PData (PInner PLovelace)
type PTryFromExcess PData (PAsData PLovelace) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData PLovelace) = PTryFromExcess PData (PInner (PAsData PLovelace))
type Rep (PLovelace s) Source #

Since: 2.2.0

Instance details

Defined in Plutarch.LedgerApi.Value

type Rep (PLovelace s) = D1 ('MetaData "PLovelace" "Plutarch.LedgerApi.Value" "plutarch-ledger-api-3.2.1-6pZLN6XlvMZ4r7ZEuopoAx" 'True) (C1 ('MetaCons "PLovelace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataNewtype PInteger)))))

newtype PAssetClass (s :: S) Source #

@since WIP

Constructors

PAssetClass (Term s (PDataNewtype (PBuiltinPair (PAsData PCurrencySymbol) (PAsData PTokenName)))) 

Instances

Instances details
PIsData PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PAssetClass) -> Term s PAssetClass

pdataImpl :: forall (s :: S). Term s PAssetClass -> Term s PData

PEq PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#==) :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PBool

PLiftable PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type AsHaskell PAssetClass

type PlutusRepr PAssetClass

Methods

toPlutarchRepr :: AsHaskell PAssetClass -> PlutusRepr PAssetClass

toPlutarch :: forall (s :: S). AsHaskell PAssetClass -> PLifted s PAssetClass

fromPlutarchRepr :: PlutusRepr PAssetClass -> Maybe (AsHaskell PAssetClass)

fromPlutarch :: (forall (s :: S). PLifted s PAssetClass) -> Either LiftError (AsHaskell PAssetClass)

POrd PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pmax :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PAssetClass

pmin :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PAssetClass

PPartialOrd PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

(#<=) :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PBool

(#<) :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PBool

(#>=) :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PBool

(#>) :: forall (s :: S). Term s PAssetClass -> Term s PAssetClass -> Term s PBool

DerivePlutusType PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type DPTStrat PAssetClass

PlutusType PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PInner PAssetClass :: PType

type PCovariant' PAssetClass

type PContravariant' PAssetClass

type PVariant' PAssetClass

Methods

pcon' :: forall (s :: S). PAssetClass s -> Term s (PInner PAssetClass)

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PAssetClass) -> (PAssetClass s -> Term s b) -> Term s b

PShow PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Methods

pshow' :: forall (s :: S). Bool -> Term s PAssetClass -> Term s PString

PTryFrom PData PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData PAssetClass :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PAssetClass, Reduce (PTryFromExcess PData PAssetClass s)) -> Term s r) -> Term s r

PTryFrom PData (PAsData PAssetClass) Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type PTryFromExcess PData (PAsData PAssetClass) :: PType

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PAssetClass), Reduce (PTryFromExcess PData (PAsData PAssetClass) s)) -> Term s r) -> Term s r

Generic (PAssetClass s) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

Associated Types

type Rep (PAssetClass s) :: Type -> Type Source #

type AsHaskell PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type AsHaskell PAssetClass = AsHaskell (DeriveDataPLiftable PAssetClass AssetClass)
type PlutusRepr PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PlutusRepr PAssetClass = PlutusRepr (DeriveDataPLiftable PAssetClass AssetClass)
type DPTStrat PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type DPTStrat PAssetClass = PlutusTypeNewtype
type PContravariant' PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PContravariant' PAssetClass = All2 PContravariant'' (PCode PAssetClass)
type PCovariant' PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PCovariant' PAssetClass = All2 PCovariant'' (PCode PAssetClass)
type PInner PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type PInner PAssetClass = DerivedPInner (DPTStrat PAssetClass) PAssetClass
type PVariant' PAssetClass Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PVariant' PAssetClass = All2 PVariant'' (PCode PAssetClass)
type PTryFromExcess PData PAssetClass Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData PAssetClass = PTryFromExcess PData (PInner PAssetClass)
type PTryFromExcess PData (PAsData PAssetClass) Source # 
Instance details

Defined in Plutarch.LedgerApi.Value

type PTryFromExcess PData (PAsData PAssetClass) = PTryFromExcess PData (PInner (PAsData PAssetClass))
type Rep (PAssetClass s) Source #

@since WIP

Instance details

Defined in Plutarch.LedgerApi.Value

type Rep (PAssetClass s) = D1 ('MetaData "PAssetClass" "Plutarch.LedgerApi.Value" "plutarch-ledger-api-3.2.1-6pZLN6XlvMZ4r7ZEuopoAx" 'True) (C1 ('MetaCons "PAssetClass" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataNewtype (PBuiltinPair (PAsData PCurrencySymbol) (PAsData PTokenName)))))))

Functions

Creation

PCurrencySymbol

padaSymbol :: forall (s :: S). Term s PCurrencySymbol Source #

The PCurrencySymbol of the Ada currency.

Since: 2.1.1

padaSymbolData :: forall (s :: S). Term s (PAsData PCurrencySymbol) Source #

Data-encoded PCurrencySymbol of the Ada currency.

Since: 2.1.1

PTokenName

padaToken :: Term s PTokenName Source #

The PTokenName of the Ada currency.

Since: 2.1.1

PValue

psingleton :: forall (s :: S). Term s (PCurrencySymbol :--> (PTokenName :--> (PInteger :--> PValue 'Sorted 'NonZero))) Source #

Construct a singleton PValue containing only the given quantity of the given currency.

Since: 2.1.1

psingletonData :: forall (s :: S). Term s (PAsData PCurrencySymbol :--> (PAsData PTokenName :--> (PAsData PInteger :--> PValue 'Sorted 'NonZero))) Source #

Construct a singleton PValue containing only the given quantity of the given currency, taking data-encoded parameters.

Since: 2.1.1

pconstantPositiveSingleton :: forall (s :: S). (forall (s' :: S). Term s' PCurrencySymbol) -> (forall (s' :: S). Term s' PTokenName) -> (forall (s' :: S). Term s' PInteger) -> Term s (PValue 'Sorted 'Positive) Source #

Construct a constant singleton PValue containing only the given positive quantity of the given currency.

Since: 2.1.1

Transformation

passertPositive :: forall (kg :: KeyGuarantees) (ag :: AmountGuarantees) (s :: S). Term s (PValue kg ag :--> PValue kg 'Positive) Source #

Given a PValue, either construct another PValue with the same contents and a proof that all amounts in it are positive, or error.

Since: 2.0.0

passertSorted :: forall (anyKey :: KeyGuarantees) (anyAmount :: AmountGuarantees) (s :: S). Term s (PValue anyKey anyAmount :--> PValue 'Sorted 'NonZero) Source #

Assert the value is properly sorted and normalized.

Since: 2.1.1

pforgetPositive :: forall (a :: AmountGuarantees) (k :: KeyGuarantees) (s :: S). Term s (PValue k 'Positive) -> Term s (PValue k a) Source #

'Forget' that a Value has an only-positive guarantee.

Since: 2.0.0

pforgetSorted :: forall (a :: AmountGuarantees) (k :: KeyGuarantees) (s :: S). Term s (PValue 'Sorted a) -> Term s (PValue k a) Source #

Forget the knowledge of all value's guarantees.

Since: 2.1.1

pnormalize :: forall (any :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted any :--> PValue 'Sorted 'NonZero) Source #

Normalize the argument to contain no zero quantity nor empty token map.

Since: 2.0.0

padaOnlyValue :: forall (v :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted v :--> PValue 'Sorted v) Source #

Strip all non-Ada from a PValue.

Since: 2.1.1

pnoAdaValue :: forall (v :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted v :--> PValue 'Sorted v) Source #

Strip all Ada from a PValue.

Since: 2.1.1

Partial ordering

pcheckBinRel :: forall (any0 :: AmountGuarantees) (any1 :: AmountGuarantees) (s :: S). Term s ((PInteger :--> (PInteger :--> PBool)) :--> (PValue 'Sorted any0 :--> (PValue 'Sorted any1 :--> PBool))) Source #

Given a description of a relation on amounts, check whether that relation holds over sorted PValues.

Important note

This is intended for use with boolean comparison functions, which must define at least a partial order (total orders and equivalences are acceptable as well). Use of this with anything else is not guaranteed to give anything resembling a sensible answer. Use with extreme care.

Since: 2.0.0

Combination

pleftBiasedCurrencyUnion :: forall (any0 :: AmountGuarantees) (any1 :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted any0 :--> (PValue 'Sorted any1 :--> PValue 'Sorted 'NoGuarantees)) Source #

Combine two PValues, taking the tokens from the left only, if a currency occurs on both sides.

Since: 2.1.1

pleftBiasedTokenUnion :: forall (any0 :: AmountGuarantees) (any1 :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted any0 :--> (PValue 'Sorted any1 :--> PValue 'Sorted 'NoGuarantees)) Source #

Combine two PValues, taking the tokens from the left only, if a token name of the same currency occurs on both sides.

Prefer this over 'punionResolvingCollisionsWith NonCommutative # plam const'. It is equivalent, but performs better.

Since: 2.1.1

punionResolvingCollisionsWith :: forall (any0 :: AmountGuarantees) (any1 :: AmountGuarantees) (s :: S). Commutativity -> Term s ((PInteger :--> (PInteger :--> PInteger)) :--> (PValue 'Sorted any0 :--> (PValue 'Sorted any1 :--> PValue 'Sorted 'NoGuarantees))) Source #

Combine two PValues applying the given function to any pair of quantities with the same asset class. Note that the result is _not_ normalized and may contain zero quantities.

Since: 2.0.0

punionResolvingCollisionsWithData :: forall (any0 :: AmountGuarantees) (any1 :: AmountGuarantees) (s :: S). Commutativity -> Term s ((PAsData PInteger :--> (PAsData PInteger :--> PAsData PInteger)) :--> (PValue 'Sorted any0 :--> (PValue 'Sorted any1 :--> PValue 'Sorted 'NoGuarantees))) Source #

Combine two PValues applying the given function to any pair of data-encoded quantities with the same asset class. Note that the result is _not_ normalized and may contain zero quantities.

Since: 2.1.1

Queries

pvalueOf :: forall (anyKey :: KeyGuarantees) (anyAmount :: AmountGuarantees) (s :: S). Term s (PValue anyKey anyAmount :--> (PCurrencySymbol :--> (PTokenName :--> PInteger))) Source #

Get the quantity of the given currency in the PValue.

Since: 2.1.1

plovelaceValueOf :: forall (v :: AmountGuarantees) (s :: S). Term s (PValue 'Sorted v :--> PInteger) Source #

Get the amount of Lovelace in the PValue.

Since: 2.1.1

pisAdaOnlyValue :: forall (s :: S). Term s (PValue 'Sorted 'Positive :--> PBool) Source #

Test if the value contains nothing but Ada

Since: 2.1.1