{- | Module : Singular.Registry.Blueprint Description : CIP-57 blueprint schema validation (public facade) License : Apache-2.0 Minimal CIP-57 Plutus blueprint parser and validator. Loads a @plutus.json@ blueprint file produced by the Aiken compiler, extracts type schemas and script hashes, and validates 'PlutusCore.Data.Data' values against the declared schemas. The blueprint also carries optional @compiledCode@ fields (hex-encoded double-CBOR PlutusV3 scripts). 'extractCompiledCode' decodes these into 'ShortByteString' suitable for 'PlutusBinary'. The state script is parameterized by @previousPolicies@ (a predecessor-policy allowlist) via 'applyPreviousPolicies'; the request script is parameterized by @(statePolicyId, cageToken)@ via 'applyRequestParams'. This module is the public compatibility facade: it holds no implementations of its own and re-exports the focused owners @Singular.Registry.Blueprint.Schema@ (schema and validation), @Singular.Registry.Blueprint.Params@ (parameter application) and @Singular.Registry.Blueprint.Load@ (loading and code selection). -} module Singular.Registry.Blueprint ( -- * Schema types Blueprint (..) , Validator (..) , Schema (..) , Constructor (..) -- * Loading , loadBlueprint -- * The compiled codes the four registry pins derive from , NamingCodes (..) -- * The registry partition's own compiled code (#173 A173-BOOT) , loadRegistryCodesFromEnv -- * Validation , validateData -- * Script hash extraction , extractScriptHash -- * Compiled code extraction , extractCompiledCode -- * Parameter application , applyDataParam , applyIntParam , applyBytesParam , applyOutputRef , applyPreviousPolicies , applyRequestParams ) where import Singular.Registry.Blueprint.Load ( NamingCodes (..) , extractCompiledCode , extractScriptHash , loadBlueprint , loadRegistryCodesFromEnv ) import Singular.Registry.Blueprint.Params ( applyBytesParam , applyDataParam , applyIntParam , applyOutputRef , applyPreviousPolicies , applyRequestParams ) import Singular.Registry.Blueprint.Schema ( Blueprint (..) , Constructor (..) , Schema (..) , Validator (..) , validateData )