add granular script querying support

This commit is contained in:
Emily Martins 2022-06-21 20:53:20 +02:00
parent bea444f7d6
commit 6a4b945375
5 changed files with 89 additions and 7 deletions

View file

@ -109,6 +109,15 @@ deriving via
instance
(Aeson.FromJSON Plutus.ValidatorHash)
deriving via
(AsBase16Bytes Plutus.BuiltinByteString)
instance
(Aeson.ToJSON Plutus.BuiltinByteString)
deriving via
(AsBase16Bytes Plutus.BuiltinByteString)
instance
(Aeson.FromJSON Plutus.BuiltinByteString)
deriving via
(AsBase16Codec Plutus.Validator)
instance

View file

@ -9,6 +9,7 @@ module Agora.ScriptInfo (
-- * Types
PolicyInfo (..),
ValidatorInfo (..),
ScriptInfo (..),
-- * Introduction functions
mkValidatorInfo,
@ -19,8 +20,17 @@ import Agora.Aeson.Orphans ()
import Data.Aeson qualified as Aeson
import GHC.Generics qualified as GHC
import Plutarch.Api.V1 (PMintingPolicy, PValidator, mintingPolicySymbol, mkMintingPolicy, mkValidator, validatorHash)
import PlutusLedgerApi.V1 (MintingPolicy, Validator, ValidatorHash)
import PlutusLedgerApi.V1.Value (CurrencySymbol)
import PlutusLedgerApi.V1 (BuiltinByteString, CurrencySymbol (unCurrencySymbol), MintingPolicy, Script, Validator, ValidatorHash, unMintingPolicyScript)
-- | Bundle containing a 'Script' and its hash.
data ScriptInfo = ScriptInfo
{ script :: Script
-- ^ The validator script.
, hash :: BuiltinByteString
-- ^ Hash of the script.
}
deriving stock (Show, Eq, GHC.Generic)
deriving anyclass (Aeson.ToJSON, Aeson.FromJSON)
{- | Bundle containing a 'Validator' and its hash.