{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Cardano.CLI.Compatible.Transaction.Command
( CompatibleTransactionCmds (..)
, renderCompatibleTransactionCmd
)
where
import Cardano.Api
import Cardano.Api.Experimental
import Cardano.CLI.EraBased.Script.Type
import Cardano.CLI.Type.Common
import Cardano.CLI.Type.Governance
import Data.Text (Text)
data CompatibleTransactionCmds era
= CreateCompatibleSignedTransaction
(ShelleyBasedEra era)
[TxIn]
[TxOutAnyEra]
!(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
!( Maybe
(Featured ConwayEraOnwards era [(ProposalFile In, Maybe (ScriptRequirements ProposalItem))])
)
![(VoteFile In, Maybe (ScriptRequirements VoterItem))]
[WitnessSigningData]
(Maybe NetworkId)
!Coin
![(CertificateFile, Maybe (ScriptRequirements CertItem))]
!(File () Out)
renderCompatibleTransactionCmd :: CompatibleTransactionCmds era -> Text
renderCompatibleTransactionCmd :: forall era. CompatibleTransactionCmds era -> Text
renderCompatibleTransactionCmd = \case
CreateCompatibleSignedTransaction{} -> Text
"compatible transaction signed-transaction"