plutus-ledger-1.2.0.0: Wallet API
Safe HaskellNone
LanguageHaskell2010

Ledger.Typed.Scripts

Synopsis

Documentation

data Language #

Constructors

PlutusV1 
PlutusV2 

Instances

Instances details
Bounded Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Enum Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Eq Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Ord Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Show Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Ix Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Generic Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Associated Types

type Rep Language :: Type -> Type Source #

NFData Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Methods

rnf :: Language -> () Source #

NoThunks Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Methods

noThunks :: Context -> Language -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> Language -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy Language -> String

FromCBOR Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Methods

fromCBOR :: Decoder s Language

label :: Proxy Language -> Text

ToCBOR Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

Methods

toCBOR :: Language -> Encoding

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Language -> Size

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Language] -> Size

type Rep Language 
Instance details

Defined in Cardano.Ledger.Alonzo.Language

type Rep Language = D1 ('MetaData "Language" "Cardano.Ledger.Alonzo.Language" "cardano-ledger-alonzo-0.1.0.0-9kQ50A9XcYDHq5wCBkTOc6" 'False) (C1 ('MetaCons "PlutusV1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PlutusV2" 'PrefixI 'False) (U1 :: Type -> Type))

data Versioned script #

Constructors

Versioned 

Fields

Instances

Instances details
Functor Versioned 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

fmap :: (a -> b) -> Versioned a -> Versioned b Source #

(<$) :: a -> Versioned b -> Versioned a Source #

Eq script => Eq (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

(==) :: Versioned script -> Versioned script -> Bool Source #

(/=) :: Versioned script -> Versioned script -> Bool Source #

Ord script => Ord (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

compare :: Versioned script -> Versioned script -> Ordering Source #

(<) :: Versioned script -> Versioned script -> Bool Source #

(<=) :: Versioned script -> Versioned script -> Bool Source #

(>) :: Versioned script -> Versioned script -> Bool Source #

(>=) :: Versioned script -> Versioned script -> Bool Source #

max :: Versioned script -> Versioned script -> Versioned script Source #

min :: Versioned script -> Versioned script -> Versioned script Source #

Show script => Show (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

showsPrec :: Int -> Versioned script -> ShowS Source #

show :: Versioned script -> String Source #

showList :: [Versioned script] -> ShowS Source #

Generic (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Associated Types

type Rep (Versioned script) :: Type -> Type Source #

Methods

from :: Versioned script -> Rep (Versioned script) x Source #

to :: Rep (Versioned script) x -> Versioned script Source #

Serialise script => Serialise (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

encode :: Versioned script -> Encoding

decode :: Decoder s (Versioned script)

encodeList :: [Versioned script] -> Encoding

decodeList :: Decoder s [Versioned script]

FromJSON script => FromJSON (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

parseJSON :: Value -> Parser (Versioned script)

parseJSONList :: Value -> Parser [Versioned script]

ToJSON script => ToJSON (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

toJSON :: Versioned script -> Value

toEncoding :: Versioned script -> Encoding

toJSONList :: [Versioned script] -> Value

toEncodingList :: [Versioned script] -> Encoding

Pretty script => Pretty (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

Methods

pretty :: Versioned script -> Doc ann #

prettyList :: [Versioned script] -> Doc ann #

type Rep (Versioned script) 
Instance details

Defined in Plutus.Script.Utils.Scripts

type Rep (Versioned script) = D1 ('MetaData "Versioned" "Plutus.Script.Utils.Scripts" "plutus-script-utils-1.2.0.0-5TpLCy32WGLK5IaOxcwe9j" 'False) (C1 ('MetaCons "Versioned" 'PrefixI 'True) (S1 ('MetaSel ('Just "unversioned") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 script) :*: S1 ('MetaSel ('Just "version") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Language)))

class UnsafeFromData sc => IsScriptContext sc where #

Minimal complete definition

Nothing

Methods

mkUntypedValidator :: (UnsafeFromData d, UnsafeFromData r) => (d -> r -> sc -> Bool) -> UntypedValidator #

mkUntypedStakeValidator :: UnsafeFromData r => (r -> sc -> Bool) -> UntypedStakeValidator #

mkUntypedMintingPolicy :: UnsafeFromData r => (r -> sc -> Bool) -> UntypedMintingPolicy #

Instances

Instances details
IsScriptContext ScriptContext 
Instance details

Defined in Plutus.Script.Utils.Typed

Methods

mkUntypedValidator :: (UnsafeFromData d, UnsafeFromData r) => (d -> r -> ScriptContext -> Bool) -> UntypedValidator #

mkUntypedStakeValidator :: UnsafeFromData r => (r -> ScriptContext -> Bool) -> UntypedStakeValidator #

mkUntypedMintingPolicy :: UnsafeFromData r => (r -> ScriptContext -> Bool) -> UntypedMintingPolicy #

IsScriptContext ScriptContext 
Instance details

Defined in Plutus.Script.Utils.Typed

Methods

mkUntypedValidator :: (UnsafeFromData d, UnsafeFromData r) => (d -> r -> ScriptContext -> Bool) -> UntypedValidator #

mkUntypedStakeValidator :: UnsafeFromData r => (r -> ScriptContext -> Bool) -> UntypedStakeValidator #

mkUntypedMintingPolicy :: UnsafeFromData r => (r -> ScriptContext -> Bool) -> UntypedMintingPolicy #

data TypedValidator a #

Instances

Instances details
Eq (TypedValidator a) 
Instance details

Defined in Plutus.Script.Utils.Typed

Show (TypedValidator a) 
Instance details

Defined in Plutus.Script.Utils.Typed

Generic (TypedValidator a) 
Instance details

Defined in Plutus.Script.Utils.Typed

Associated Types

type Rep (TypedValidator a) :: Type -> Type Source #

FromJSON (TypedValidator a) 
Instance details

Defined in Ledger.Typed.Scripts.Orphans

Methods

parseJSON :: Value -> Parser (TypedValidator a)

parseJSONList :: Value -> Parser [TypedValidator a]

ToJSON (TypedValidator a) 
Instance details

Defined in Ledger.Typed.Scripts.Orphans

Methods

toJSON :: TypedValidator a -> Value

toEncoding :: TypedValidator a -> Encoding

toJSONList :: [TypedValidator a] -> Value

toEncodingList :: [TypedValidator a] -> Encoding

type Rep (TypedValidator a) 
Instance details

Defined in Plutus.Script.Utils.Typed

type Rep (TypedValidator a) = D1 ('MetaData "TypedValidator" "Plutus.Script.Utils.Typed" "plutus-script-utils-1.2.0.0-5TpLCy32WGLK5IaOxcwe9j" 'False) (C1 ('MetaCons "TypedValidator" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tvValidator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Versioned Validator)) :*: S1 ('MetaSel ('Just "tvValidatorHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ValidatorHash)) :*: (S1 ('MetaSel ('Just "tvForwardingMPS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Versioned MintingPolicy)) :*: S1 ('MetaSel ('Just "tvForwardingMPSHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MintingPolicyHash))))

type UntypedValidator = BuiltinData -> BuiltinData -> BuiltinData -> () #

class ValidatorTypes a #

Associated Types

type RedeemerType a #

type RedeemerType a = ()

type DatumType a #

type DatumType a = ()

Instances

Instances details
ValidatorTypes Void 
Instance details

Defined in Plutus.Script.Utils.Typed

Associated Types

type RedeemerType Void #

type DatumType Void #

ValidatorTypes Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Associated Types

type RedeemerType Any #

type DatumType Any #

type family DatumType a #

Instances

Instances details
type DatumType Void 
Instance details

Defined in Plutus.Script.Utils.Typed

type DatumType Any 
Instance details

Defined in Plutus.Script.Utils.Typed

type DatumType Any = BuiltinData

type family RedeemerType a #

Instances

Instances details
type RedeemerType Void 
Instance details

Defined in Plutus.Script.Utils.Typed

type RedeemerType Any 
Instance details

Defined in Plutus.Script.Utils.Typed

type RedeemerType Any = BuiltinData

validatorCardanoAddress :: NetworkId -> TypedValidator a -> AddressInEra BabbageEra #

data Any #

Instances

Instances details
Eq Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Methods

(==) :: Any -> Any -> Bool Source #

(/=) :: Any -> Any -> Bool Source #

Show Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Generic Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Associated Types

type Rep Any :: Type -> Type Source #

Methods

from :: Any -> Rep Any x Source #

to :: Rep Any x -> Any Source #

ToJSON Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Methods

toJSON :: Any -> Value

toEncoding :: Any -> Encoding

toJSONList :: [Any] -> Value

toEncodingList :: [Any] -> Encoding

ValidatorTypes Any 
Instance details

Defined in Plutus.Script.Utils.Typed

Associated Types

type RedeemerType Any #

type DatumType Any #

type Rep Any 
Instance details

Defined in Plutus.Script.Utils.Typed

type Rep Any = D1 ('MetaData "Any" "Plutus.Script.Utils.Typed" "plutus-script-utils-1.2.0.0-5TpLCy32WGLK5IaOxcwe9j" 'False) (V1 :: Type -> Type)
type DatumType Any 
Instance details

Defined in Plutus.Script.Utils.Typed

type DatumType Any = BuiltinData
type RedeemerType Any 
Instance details

Defined in Plutus.Script.Utils.Typed

type RedeemerType Any = BuiltinData

type ScriptContextV2 = ScriptContext #

type UntypedMintingPolicy = BuiltinData -> BuiltinData -> () #

type UntypedStakeValidator = BuiltinData -> BuiltinData -> () #

data MintingPolicy #

Instances

Instances details
Eq MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep MintingPolicy :: Type -> Type Source #

NFData MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: MintingPolicy -> () Source #

Serialise MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

encode :: MintingPolicy -> Encoding

decode :: Decoder s MintingPolicy

encodeList :: [MintingPolicy] -> Encoding

decodeList :: Decoder s [MintingPolicy]

FromJSON MintingPolicy 
Instance details

Defined in Ledger.Scripts.Orphans

Methods

parseJSON :: Value -> Parser MintingPolicy

parseJSONList :: Value -> Parser [MintingPolicy]

ToJSON MintingPolicy 
Instance details

Defined in Ledger.Scripts.Orphans

Methods

toJSON :: MintingPolicy -> Value

toEncoding :: MintingPolicy -> Encoding

toJSONList :: [MintingPolicy] -> Value

toEncodingList :: [MintingPolicy] -> Encoding

Pretty MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: MintingPolicy -> Doc ann #

prettyList :: [MintingPolicy] -> Doc ann #

type Rep MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep MintingPolicy = D1 ('MetaData "MintingPolicy" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-6EvbyJiK8IAAVEtnIJDu5Z" 'True) (C1 ('MetaCons "MintingPolicy" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMintingPolicy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Script)))

data Validator #

Instances

Instances details
Eq Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep Validator :: Type -> Type Source #

NFData Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: Validator -> () Source #

Serialise Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

encode :: Validator -> Encoding

decode :: Decoder s Validator

encodeList :: [Validator] -> Encoding

decodeList :: Decoder s [Validator]

FromJSON Validator 
Instance details

Defined in Ledger.Scripts.Orphans

Methods

parseJSON :: Value -> Parser Validator

parseJSONList :: Value -> Parser [Validator]

ToJSON Validator 
Instance details

Defined in Ledger.Scripts.Orphans

Methods

toJSON :: Validator -> Value

toEncoding :: Validator -> Encoding

toJSONList :: [Validator] -> Value

toEncodingList :: [Validator] -> Encoding

Pretty Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: Validator -> Doc ann #

prettyList :: [Validator] -> Doc ann #

type Rep Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Validator = D1 ('MetaData "Validator" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-6EvbyJiK8IAAVEtnIJDu5Z" 'True) (C1 ('MetaCons "Validator" 'PrefixI 'True) (S1 ('MetaSel ('Just "getValidator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Script)))

data ConnectionError #

Instances

Instances details
Eq ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

Ord ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

Show ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

Generic ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

Associated Types

type Rep ConnectionError :: Type -> Type Source #

FromJSON ConnectionError 
Instance details

Defined in Ledger.Typed.Scripts.Orphans

Methods

parseJSON :: Value -> Parser ConnectionError

parseJSONList :: Value -> Parser [ConnectionError]

ToJSON ConnectionError 
Instance details

Defined in Ledger.Typed.Scripts.Orphans

Methods

toJSON :: ConnectionError -> Value

toEncoding :: ConnectionError -> Encoding

toJSONList :: [ConnectionError] -> Value

toEncodingList :: [ConnectionError] -> Encoding

Pretty ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

Methods

pretty :: ConnectionError -> Doc ann #

prettyList :: [ConnectionError] -> Doc ann #

type Rep ConnectionError 
Instance details

Defined in Plutus.Script.Utils.V1.Typed.Scripts.Validators

type Rep ConnectionError = D1 ('MetaData "ConnectionError" "Plutus.Script.Utils.V1.Typed.Scripts.Validators" "plutus-script-utils-1.2.0.0-5TpLCy32WGLK5IaOxcwe9j" 'False) ((C1 ('MetaCons "WrongValidatorAddress" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Address) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Address)) :+: (C1 ('MetaCons "WrongOutType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WrongOutTypeError)) :+: C1 ('MetaCons "WrongValidatorType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "WrongRedeemerType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)) :+: C1 ('MetaCons "WrongDatumType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData))) :+: (C1 ('MetaCons "NoDatum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOutRef) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatumHash)) :+: C1 ('MetaCons "UnknownRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOutRef)))))

unsafeMkTypedValidator :: Versioned Validator -> TypedValidator Any Source #

Make a TypedValidator (with no type constraints) from an untyped Validator script.

mkTypedValidator :: CompiledCode (ValidatorType a) -> CompiledCode (ValidatorType a -> UntypedValidator) -> TypedValidator a #

mkTypedValidatorParam :: forall a param. Lift DefaultUni param => CompiledCode (param -> ValidatorType a) -> CompiledCode (ValidatorType a -> UntypedValidator) -> param -> TypedValidator a #