module Ledger.Conway.Foreign.Cert where
open import Foreign.Convertible
open import Foreign.Convertible.Deriving
open import Foreign.HaskellTypes
open import Foreign.HaskellTypes.Deriving
open import Ledger.Prelude
open import Ledger.Prelude.Foreign.HSTypes
open import Ledger.Conway.Foreign.HSStructures hiding (CertEnv; DCert) renaming (⟦_,_,_⟧ᶜˢ to ⟦_,_,_⟧ᶜˢ'; CertState to CertState')
open import Ledger.Conway.Foreign.Certs
open import Ledger.Conway.Conformance.Certs.Properties govStructure
using ( Computational-CERT
; Computational-CERTS
)
open import Ledger.Conway.Conformance.Certs govStructure
open Computational
instance
HsTy-CertState = autoHsType CertState ⊣ withConstructor "MkCertState"
Conv-CertState = autoConvert CertState
Conv-CertState-CertState' : Convertible CertState CertState'
Conv-CertState-CertState' .to $\begin{pmatrix} \,\href{Ledger.Conway.Foreign.Cert.html#869}{\htmlId{869}{\htmlClass{Bound}{\text{dState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#878}{\htmlId{878}{\htmlClass{Bound}{\text{pState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#887}{\htmlId{887}{\htmlClass{Bound}{\text{gState}}}}\, \end{pmatrix}$ = $\begin{pmatrix} \,\href{Foreign.Convertible.html#150}{\htmlId{905}{\htmlClass{Field}{\text{to}}}}\, \,\href{Ledger.Conway.Foreign.Cert.html#869}{\htmlId{908}{\htmlClass{Bound}{\text{dState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#878}{\htmlId{917}{\htmlClass{Bound}{\text{pState}}}}\, \\ \,\href{Foreign.Convertible.html#150}{\htmlId{926}{\htmlClass{Field}{\text{to}}}}\, \,\href{Ledger.Conway.Foreign.Cert.html#887}{\htmlId{929}{\htmlClass{Bound}{\text{gState}}}}\, \end{pmatrix}$
Conv-CertState-CertState' .from $\begin{pmatrix} \,\href{Ledger.Conway.Foreign.Cert.html#977}{\htmlId{977}{\htmlClass{Bound}{\text{dState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#986}{\htmlId{986}{\htmlClass{Bound}{\text{pState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#995}{\htmlId{995}{\htmlClass{Bound}{\text{gState}}}}\, \end{pmatrix}$ = $\begin{pmatrix} \,\href{Foreign.Convertible.html#171}{\htmlId{1011}{\htmlClass{Field}{\text{from}}}}\, \,\href{Ledger.Conway.Foreign.Cert.html#977}{\htmlId{1016}{\htmlClass{Bound}{\text{dState}}}}\, \\ \,\href{Ledger.Conway.Foreign.Cert.html#986}{\htmlId{1025}{\htmlClass{Bound}{\text{pState}}}}\, \\ \,\href{Foreign.Convertible.html#171}{\htmlId{1034}{\htmlClass{Field}{\text{from}}}}\, \,\href{Ledger.Conway.Foreign.Cert.html#995}{\htmlId{1039}{\htmlClass{Bound}{\text{gState}}}}\, \end{pmatrix}$
certs-step : HsType (CertEnv → CertState → List DCert → ComputationResult String CertState)
certs-step = to (compute Computational-CERTS)
{-# COMPILE GHC certs-step as certsStep #-}
cert-step : HsType (CertEnv → CertState → DCert → ComputationResult String CertState)
cert-step = to (compute Computational-CERT)
{-# COMPILE GHC cert-step as certStep #-}