module Ledger.Dijkstra.Foreign.Transaction where
open import Foreign.Convertible
open import Foreign.Convertible.Deriving
open import Foreign.HaskellTypes
open import Foreign.HaskellTypes.Deriving
import Data.String as S
open import Ledger.Prelude
open import Ledger.Prelude.Foreign.HSTypes
open import Ledger.Core.Foreign.Address
open import Ledger.Core.Foreign.Crypto.Base
open import Ledger.Dijkstra.Foreign.HSStructures
open import Ledger.Dijkstra.Foreign.Cert
open import Ledger.Dijkstra.Foreign.Gov.Core
open import Ledger.Dijkstra.Foreign.Gov
open import Ledger.Dijkstra.Foreign.PParams
open import Ledger.Dijkstra.Foreign.Account
instance
HsTy-Tag = autoHsType Tag ⊣ withName "Tag"
Conv-Tag = autoConvert Tag
instance
HsTy-NativeScript = autoHsType NativeScript
{-# TERMINATING #-}
Conv-NativeScript = autoConvert NativeScript
HsTy-HSNativeScript = autoHsType HSNativeScript
Conv-HSNativeScript = autoConvert HSNativeScript
HsTy-HSPlutusScript = autoHsType HSPlutusScript
Conv-HSPlutusScript = autoConvert HSPlutusScript
HsTy-TxWitnesses = autoHsType TxWitnesses ⊣ withConstructor "MkTxWitnesses"
• fieldPrefix "txw"
Conv-TxWitnesses = autoConvert TxWitnesses
unquoteDecl = do
hsTypeAlias Redeemer
hsTypeAlias RedeemerPtr
record TxBodySub : Type where
field
txIns : ℙ TxIn
referenceInputs : ℙ TxIn
txOuts : Ix ⇀ TxOut
txId : TxId
txCerts : List DCert
txWithdrawals : Withdrawals
txVldt : Maybe Slot × Maybe Slot
txADhash : Maybe ADHash
txDonation : Donations
txGovVotes : List GovVote
txGovProposals : List GovProposal
txNetworkId : Maybe Network
currentTreasury : Maybe Coin
mint : Value
scriptIntegrityHash : Maybe ScriptHash
txGuards : ℙ Credential
txRequiredTopLevelGuards : ℙ (Credential × Maybe Datum)
txDirectDeposits : DirectDeposits
txBalanceIntervals : AccountBalanceIntervals
instance
convTxBodySub : Convertible (TxBody TxLevelSub) TxBodySub
convTxBodySub = λ where
.to b → record { TxBody b }
.from b → record { TxBodySub b }
HsTy-TxBodySub = autoHsType TxBodySub ⊣ withConstructor "MkTxBodySub"
• fieldPrefix "txbsub"
Conv-TxBodySub' = autoConvert TxBodySub
HsTy-TxBodySub' : HasHsType (TxBody TxLevelSub)
HsTy-TxBodySub' = MkHsType (TxBody TxLevelSub) (HsType TxBodySub)
Conv-TxBodySub'' : Convertible (TxBody TxLevelSub) (HsType TxBodySub)
Conv-TxBodySub'' = convTxBodySub ⨾ Conv-TxBodySub'
record TxSub : Type where
field
txBody : TxBody TxLevelSub
txWitnesses : TxWitnesses
txSize : ℕ
isValid : ⊤
txAuxData : Maybe AuxiliaryData
instance
convTxSub : Convertible (Tx TxLevelSub) TxSub
convTxSub = λ where
.to t → record { Tx t }
.from t → record { TxSub t }
HsTy-TxSub = autoHsType TxSub ⊣ withConstructor "MkTxSub"
• fieldPrefix "txsub"
Conv-TxSub' = autoConvert TxSub
HsTy-TxSub' : HasHsType (Tx TxLevelSub)
HsTy-TxSub' = MkHsType (Tx TxLevelSub) (HsType TxSub)
Conv-TxSub'' : Convertible (Tx TxLevelSub) (HsType TxSub)
Conv-TxSub'' = convTxSub ⨾ Conv-TxSub'
record TxBodyTop : Type where
field
txIns : ℙ TxIn
referenceInputs : ℙ TxIn
collateralInputs : ℙ TxIn
txOuts : Ix ⇀ TxOut
txId : TxId
txCerts : List DCert
txFee : Fees
txWithdrawals : Withdrawals
txVldt : Maybe Slot × Maybe Slot
txADhash : Maybe ADHash
txDonation : Donations
txGovVotes : List GovVote
txGovProposals : List GovProposal
txNetworkId : Maybe Network
currentTreasury : Maybe Coin
mint : Value
scriptIntegrityHash : Maybe ScriptHash
txSubTransactions : List (Tx TxLevelSub)
txGuards : ℙ Credential
txDirectDeposits : DirectDeposits
txBalanceIntervals : AccountBalanceIntervals
instance
convTxBodyTop : Convertible (TxBody TxLevelTop) TxBodyTop
convTxBodyTop = λ where
.to b → record { TxBody b }
.from b → record { TxBodyTop b }
HsTy-TxBodyTop = autoHsType TxBodyTop ⊣ withConstructor "MkTxBodyTop"
• fieldPrefix "txbtop"
Conv-TxBodyTop' = autoConvert TxBodyTop
HsTy-TxBodyTop' : HasHsType (TxBody TxLevelTop)
HsTy-TxBodyTop' = MkHsType (TxBody TxLevelTop) (HsType TxBodyTop)
Conv-TxBodyTop'' : Convertible (TxBody TxLevelTop) (HsType TxBodyTop)
Conv-TxBodyTop'' = convTxBodyTop ⨾ Conv-TxBodyTop'
record TxTop : Type where
field
txBody : TxBody TxLevelTop
txWitnesses : TxWitnesses
txSize : ℕ
isValid : Bool
txAuxData : Maybe AuxiliaryData
instance
convTxTop : Convertible (Tx TxLevelTop) TxTop
convTxTop = λ where
.to t → record { Tx t }
.from t → record { TxTop t }
HsTy-TxTop = autoHsType TxTop ⊣ withConstructor "MkTxTop"
• fieldPrefix "txtop"
Conv-TxTop' = autoConvert TxTop
HsTy-TxTop' : HasHsType (Tx TxLevelTop)
HsTy-TxTop' = MkHsType (Tx TxLevelTop) (HsType TxTop)
Conv-TxTop'' : Convertible (Tx TxLevelTop) (HsType TxTop)
Conv-TxTop'' = convTxTop ⨾ Conv-TxTop'
unquoteDecl = do
hsTypeAlias TxId
hsTypeAlias Ix
hsTypeAlias TxIn
hsTypeAlias ExUnits
hsTypeAlias P1Script
hsTypeAlias P2Script ⊣ withName "P2Script"
hsTypeAlias Script
hsTypeAlias Datum
hsTypeAlias DataHash ⊣ withName "DataHash"
hsTypeAlias Value
hsTypeAlias TxOut
hsTypeAlias ScriptHash
hsTypeAlias AuxiliaryData
hsTypeAlias Withdrawals