atlas-cardano
Copyright(c) 2023 GYELD GMBH
LicenseApache 2.0
Maintainer[email protected]
Stabilitydevelop
Safe HaskellNone
LanguageGHC2021

GeniusYield.Types.Script

Description

 
Synopsis

Validator

type GYValidator (v :: PlutusVersion) = GYScript v #

Deprecated: Use GYScript.

File operations

writeValidator :: forall (v :: PlutusVersion). FilePath -> GYValidator v -> IO () #

Writes a validator to a file.

readValidator :: forall (v :: PlutusVersion). SingPlutusVersionI v => FilePath -> IO (GYValidator v) #

Reads a validator from a file.

Selectors

ValidatorHash

type GYValidatorHash = GYScriptHash #

Deprecated: Use GYScriptHash.

validatorHashFromPlutus :: ScriptHash -> Either PlutusToCardanoError GYValidatorHash #

>>> validatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0"
Right (GYScriptHash "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0")
>>> validatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7"
Left (DeserialiseRawBytesError {ptceTag = "validatorHashFromPlutus: cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7, error: SerialiseAsRawBytesError {unSerialiseAsRawBytesError = \"Unable to deserialise ScriptHash\"}"})

ScriptHash

data GYScriptHash #

Instances

Instances details
FromJSON GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

ToJSON GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

PrintfArg GYScriptHash #
>>> printf "%s" ("cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0" :: GYScriptHash)
cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

IsString GYScriptHash #
>>> "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0" :: GYScriptHash
GYScriptHash "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0"
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

Show GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

Eq GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

Ord GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

ToHttpApiData GYScriptHash # 
Instance details

Defined in GeniusYield.Types.Script.ScriptHash

scriptHashFromLedger :: ScriptHash -> GYScriptHash #

Convert from corresponding ledger representation.

scriptHashToLedger :: GYScriptHash -> ScriptHash #

Convert to corresponding ledger representation.

MintingPolicy

type GYMintingPolicy (v :: PlutusVersion) = GYScript v #

Deprecated: Use GYScript.

File operations

writeMintingPolicy :: forall (v :: PlutusVersion). FilePath -> GYMintingPolicy v -> IO () #

Writes a minting policy to a file.

readMintingPolicy :: forall (v :: PlutusVersion). SingPlutusVersionI v => FilePath -> IO (GYMintingPolicy v) #

Reads a minting policy from a file.

Selectors

MintingPolicyId

data GYMintingPolicyId #

Minting policy identifier, also a currency symbol.

Instances

Instances details
FromJSON GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

FromJSONKey GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

ToJSON GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

ToJSONKey GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

IsString GYMintingPolicyId #
>>> fromString "ff80aaaf03a273b8f5c558168dc0e2377eea810badbae6eceefc14ef" :: GYMintingPolicyId
"ff80aaaf03a273b8f5c558168dc0e2377eea810badbae6eceefc14ef"
Instance details

Defined in GeniusYield.Types.Script

Show GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

Eq GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

Ord GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

FromHttpApiData GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

ToHttpApiData GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

ToParamSchema GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

ToSchema GYMintingPolicyId # 
Instance details

Defined in GeniusYield.Types.Script

mintingPolicyIdFromCurrencySymbol :: CurrencySymbol -> Either PlutusToCardanoError GYMintingPolicyId #

>>> mintingPolicyIdFromCurrencySymbol $ mintingPolicyIdToCurrencySymbol "ff80aaaf03a273b8f5c558168dc0e2377eea810badbae6eceefc14ef"
Right "ff80aaaf03a273b8f5c558168dc0e2377eea810badbae6eceefc14ef"

mintingPolicyIdCurrencySymbol :: GYMintingPolicyId -> CurrencySymbol #

Deprecated: Use mintingPolicyIdToCurrencySymbol.

StakeValidator

type GYStakeValidator (v :: PlutusVersion) = GYScript v #

Deprecated: Use GYScript.

Stake validator selectors

StakeValidatorHash

type GYStakeValidatorHash = GYScriptHash #

Deprecated: Use GYScriptHash.

stakeValidatorHashFromPlutus :: ScriptHash -> Either PlutusToCardanoError GYStakeValidatorHash #

>>> stakeValidatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0"
Right (GYScriptHash "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7d0")
>>> stakeValidatorHashFromPlutus "cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7"
Left (DeserialiseRawBytesError {ptceTag = "stakeValidatorHashFromPlutus: cabdd19b58d4299fde05b53c2c0baf978bf9ade734b490fc0cc8b7, error: SerialiseAsRawBytesError {unSerialiseAsRawBytesError = \"Unable to deserialise ScriptHash\"}"})

File operations

writeStakeValidator :: forall (v :: PlutusVersion). FilePath -> GYStakeValidator v -> IO () #

Writes a stake validator to a file.

readStakeValidator :: forall (v :: PlutusVersion). SingPlutusVersionI v => FilePath -> IO (GYStakeValidator v) #

Reads a stake validator from a file.

Script

data GYScript (v :: PlutusVersion) #

Plutus script

Instances

Instances details
GCompare GYScript # 
Instance details

Defined in GeniusYield.Types.Script

Methods

gcompare :: forall (a :: PlutusVersion) (b :: PlutusVersion). GYScript a -> GYScript b -> GOrdering a b #

GEq GYScript # 
Instance details

Defined in GeniusYield.Types.Script

Methods

geq :: forall (a :: PlutusVersion) (b :: PlutusVersion). GYScript a -> GYScript b -> Maybe (a :~: b) #

GShow GYScript # 
Instance details

Defined in GeniusYield.Types.Script

Methods

gshowsPrec :: forall (a :: PlutusVersion). Int -> GYScript a -> ShowS #

Show (GYScript v) # 
Instance details

Defined in GeniusYield.Types.Script

Methods

showsPrec :: Int -> GYScript v -> ShowS #

show :: GYScript v -> String #

showList :: [GYScript v] -> ShowS #

Eq (GYScript v) #

Equality and comparison are on script hash.

As hash is cryptographicly strong, and GYScript constructor is not exposed, this works great.

Instance details

Defined in GeniusYield.Types.Script

Methods

(==) :: GYScript v -> GYScript v -> Bool #

(/=) :: GYScript v -> GYScript v -> Bool #

Ord (GYScript v) # 
Instance details

Defined in GeniusYield.Types.Script

Methods

compare :: GYScript v -> GYScript v -> Ordering #

(<) :: GYScript v -> GYScript v -> Bool #

(<=) :: GYScript v -> GYScript v -> Bool #

(>) :: GYScript v -> GYScript v -> Bool #

(>=) :: GYScript v -> GYScript v -> Bool #

max :: GYScript v -> GYScript v -> GYScript v #

min :: GYScript v -> GYScript v -> GYScript v #

eqScript :: forall (u :: PlutusVersion) (v :: PlutusVersion). GYScript u -> GYScript v -> Bool #

Heterogeneous script equality. Preferably use Eq instance when possible.

compareScript :: forall (u :: PlutusVersion) (v :: PlutusVersion). GYScript u -> GYScript v -> Ordering #

Heterogeneous script comparison. Preferably use Ord instance when possible.

hashScript :: forall (v :: PlutusVersion). GYScript v -> GYScriptHash #

Deprecated: Use scriptHash.

applyParam :: forall p (v :: PlutusVersion). (ToData p, SingPlutusVersionI v) => GYScript v -> p -> GYScript v #

Apply a (data-encoded) parameter to a script.

File operations

writeScript :: forall (v :: PlutusVersion). FilePath -> GYScript v -> IO () #

Writes a script to a file.

readScript :: forall (v :: PlutusVersion). SingPlutusVersionI v => FilePath -> IO (GYScript v) #

Reads a script from a file.

readScript' :: forall (v :: PlutusVersion). SingPlutusVersionI v => ByteString -> Either TextEnvelopeError (GYScript v) #

Reads a script as represented by a ByteString.

Any Script

data GYAnyScript where #

Type encapsulating both simple and plutus scripts.

Simple Script