diff --git a/.changes/20260813_173839_cardano-cli_mateusz.galazyn_cardano_api_compatible_tx.yml b/.changes/20260813_173839_cardano-cli_mateusz.galazyn_cardano_api_compatible_tx.yml new file mode 100644 index 0000000000..eb6a4ef9a8 --- /dev/null +++ b/.changes/20260813_173839_cardano-cli_mateusz.galazyn_cardano_api_compatible_tx.yml @@ -0,0 +1,6 @@ +project: cardano-cli +pr: 1408 +kind: + - feature +description: | + Adapt compatible transaction building to the new cardano-api CompatibleTxBodyContent record API, add missing Bech32InvalidUtf8 error handling in KES key parsing, and add --protocol-params-file and --tx-in-collateral options to `compatible transaction signed-transaction` so transactions with plutus witnesses can be built. diff --git a/cabal.project b/cabal.project index 3bb37cdadf..93c5419d52 100644 --- a/cabal.project +++ b/cabal.project @@ -74,6 +74,14 @@ write-ghc-environment-files: always -- Do NOT add more source-repository-package stanzas here unless they are strictly -- temporary! Please read the section in CONTRIBUTING about updating dependencies. +source-repository-package + type: git + location: https://github.com/input-output-hk/cardano-api.git + tag: 26aaf4a878a46bf398a2e88e8bd88f307dd20587 + --sha256: sha256-yiKKAY4Uru3nAJBeZy/c3kES8vwcq/vU3xSPx2Z4+i8= + subdir: + cardano-api + -- cabal-allow-newer begin if impl(ghc >= 9.14) allow-newer: diff --git a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Command.hs b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Command.hs index f756c2afb3..53c69b6485 100644 --- a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Command.hs +++ b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Command.hs @@ -24,6 +24,8 @@ data CompatibleTransactionCmds era = CreateCompatibleSignedTransaction (ShelleyBasedEra era) [TxIn] + [TxIn] + -- ^ Collateral inputs [TxOutAnyEra] !(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile))) !( Maybe @@ -37,6 +39,8 @@ data CompatibleTransactionCmds era -- ^ Tx fee ![(CertificateFile, Maybe AnyNonAssetScript)] -- ^ stake registering certs + !(Maybe ProtocolParamsFile) + -- ^ Needed to compute the script integrity hash when plutus witnesses are present. !(File () Out) renderCompatibleTransactionCmd :: CompatibleTransactionCmds era -> Text diff --git a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Option.hs b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Option.hs index 40c7d62c11..10349515f9 100644 --- a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Option.hs +++ b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Option.hs @@ -50,6 +50,7 @@ pCompatibleSignedTransaction pCompatibleSignedTransaction env sbe = CreateCompatibleSignedTransaction sbe <$> many pTxInOnly + <*> many pTxInCollateral <*> many (pTxOutEraAware sbe) <*> pFeatured (toCardanoEra sbe) (optional pUpdateProposalFile) <*> pFeatured (toCardanoEra sbe) (many (pProposalFile ManualBalance)) @@ -58,6 +59,7 @@ pCompatibleSignedTransaction env sbe = <*> optional (pNetworkId env) <*> pTxFee <*> many (pCertificateFile ManualBalance) + <*> optional pProtocolParamsFile <*> pOutputFile pTxInOnly :: Parser TxIn diff --git a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Run.hs b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Run.hs index e488964a05..83a0045890 100644 --- a/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Run.hs +++ b/cardano-cli/src/Cardano/CLI/Compatible/Transaction/Run.hs @@ -35,10 +35,14 @@ import Cardano.CLI.EraBased.Script.Vote.Read import Cardano.CLI.EraBased.Transaction.Run import Cardano.CLI.Read import Cardano.CLI.Type.Common +import Cardano.CLI.Type.Error.ProtocolParamsError import Control.Monad +import Data.Aeson qualified as A +import Data.ByteString.Lazy.Char8 qualified as LBS import Data.Map.Ordered.Strict qualified as OMap import Data.Map.Strict qualified as Map +import Data.Text qualified as Text import Lens.Micro runCompatibleTransactionCmd @@ -49,6 +53,7 @@ runCompatibleTransactionCmd ( CreateCompatibleSignedTransaction sbe ins + insCollateral outs mUpdateProposal mProposalProcedure @@ -57,6 +62,7 @@ runCompatibleTransactionCmd mNetworkId fee certificates + mProtocolParamsFile outputFp ) = shelleyBasedEraConstraints sbe $ do sks <- mapM (fromEitherIOCli . readWitnessSigningData) witnesses @@ -107,9 +113,22 @@ runCompatibleTransactionCmd let txCerts = mkTxCertificatesSbe sbe certsAndMaybeScriptWits + protocolParams <- mapM (readCompatibleProtocolParams sbe) mProtocolParamsFile + transaction@(ShelleyTx _ ledgerTx) <- fromEitherCli $ - createCompatibleTx sbe ins allOuts extraDatums fee protocolUpdates votes txCerts + createCompatibleTx sbe $ + (defaultCompatibleTxBodyContent sbe) + { compatibleTxIns = map (,Exp.AnyKeyWitnessPlaceholder) ins + , compatibleTxOuts = allOuts + , compatibleTxSupplementalDatums = extraDatums + , compatibleTxFee = fee + , compatibleTxProtocolUpdate = protocolUpdates + , compatibleTxVotingProcedures = votes + , compatibleTxCertificates = txCerts + , compatibleTxInsCollateral = insCollateral + , compatibleTxProtocolParams = protocolParams + } let txBody = ledgerTx ^. L.bodyTxL @@ -127,6 +146,23 @@ runCompatibleTransactionCmd fromEitherIOCli $ writeTxFileTextEnvelope sbe outputFp signedTx +-- | Read protocol parameters from a JSON file, in whatever Shelley-based era +-- is currently in scope. Needed by 'createCompatibleTx' to compute the script +-- integrity hash when plutus witnesses (e.g. a plutus-witnessed certificate) +-- are present. +readCompatibleProtocolParams + :: ShelleyBasedEra era + -> ProtocolParamsFile + -> CIO e (L.PParams (ShelleyLedgerEra era)) +readCompatibleProtocolParams sbe (ProtocolParamsFile fpath) = + fromExceptTCli $ do + bytes <- + handleIOExceptT (ProtocolParamsErrorFile . FileIOError fpath) $ + LBS.readFile fpath + firstExceptT (ProtocolParamsErrorJSON fpath . Text.pack) . hoistEither $ + shelleyBasedEraConstraints sbe $ + A.eitherDecode' bytes + readCertificateScriptWitnesses' :: ShelleyBasedEra era -> [(CertificateFile, Maybe AnyNonAssetScript)] diff --git a/cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs b/cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs index 2da5c31d0f..07025ee1a8 100644 --- a/cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs +++ b/cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs @@ -1955,6 +1955,7 @@ pKesVerificationKey = Left err@(Bech32DataPartToBytesError _) -> Left $ displayError err Left err@(Bech32DeserialiseFromBytesError _) -> Left $ displayError err Left err@(Bech32WrongPrefix _ _) -> Left $ displayError err + Left err@(Bech32InvalidUtf8 _) -> Left $ displayError err -- The input was not valid Bech32. Attempt to deserialise it as hex. Left (Bech32DecodingError _) -> first diff --git a/cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs b/cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs index 9da22e9bf4..c6b4a53da3 100644 --- a/cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs +++ b/cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs @@ -30,7 +30,7 @@ import Cardano.Api.Experimental.Certificate ( KESPeriod (..) , OperationalCertificateIssueCounter (..) ) -import Cardano.Api.Ledger (StandardCrypto, StrictMaybe (SNothing)) +import Cardano.Api.Ledger (StrictMaybe (SNothing)) import Cardano.Api.Ledger qualified as L import Cardano.CLI.Byron.Genesis (NewDirectory (NewDirectory)) diff --git a/cardano-cli/src/Cardano/CLI/Type/Output.hs b/cardano-cli/src/Cardano/CLI/Type/Output.hs index c73df5a988..baa218532c 100644 --- a/cardano-cli/src/Cardano/CLI/Type/Output.hs +++ b/cardano-cli/src/Cardano/CLI/Type/Output.hs @@ -218,11 +218,11 @@ instance ToJSON QueryTipLocalStateOutput where . ("syncProgress" ..=? mSyncProgress a) ) [] - ChainTip slotNo blockHeader blockNo -> + ChainTip slotNo blockHeader blockNumber -> object $ ( ("slot" ..= slotNo) . ("hash" ..= serialiseToRawBytesHexText blockHeader) - . ("block" ..= blockNo) + . ("block" ..= blockNumber) . ("era" ..=? mEra a) . ("epoch" ..=? mEpoch a) . ("slotInEpoch" ..=? mSlotInEpoch a) @@ -241,12 +241,12 @@ instance ToJSON QueryTipLocalStateOutput where . ("syncProgress" ..=? mSyncProgress a) ) [] - ChainTip slotNo blockHeader blockNo -> + ChainTip slotNo blockHeader blockNumber -> pairs $ mconcat $ ( ("slot" ..= slotNo) . ("hash" ..= serialiseToRawBytesHexText blockHeader) - . ("block" ..= blockNo) + . ("block" ..= blockNumber) . ("era" ..=? mEra a) . ("epoch" ..=? mEpoch a) . ("slotInEpoch" ..=? mSlotInEpoch a) diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help.cli index 942fd57f70..35b1a9d9c4 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help.cli @@ -5908,6 +5908,7 @@ Usage: cardano-cli compatible shelley transaction signed-transaction Usage: cardano-cli compatible shelley transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -5935,6 +5936,7 @@ Usage: cardano-cli compatible shelley transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. @@ -6119,6 +6121,7 @@ Usage: cardano-cli compatible allegra transaction signed-transaction Usage: cardano-cli compatible allegra transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -6146,6 +6149,7 @@ Usage: cardano-cli compatible allegra transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. @@ -6330,6 +6334,7 @@ Usage: cardano-cli compatible mary transaction signed-transaction Usage: cardano-cli compatible mary transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -6357,6 +6362,7 @@ Usage: cardano-cli compatible mary transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. @@ -6541,6 +6547,7 @@ Usage: cardano-cli compatible alonzo transaction signed-transaction Usage: cardano-cli compatible alonzo transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -6576,6 +6583,7 @@ Usage: cardano-cli compatible alonzo transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. @@ -6767,6 +6775,7 @@ Usage: cardano-cli compatible babbage transaction signed-transaction Usage: cardano-cli compatible babbage transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -6805,6 +6814,7 @@ Usage: cardano-cli compatible babbage transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. @@ -6993,6 +7003,7 @@ Usage: cardano-cli compatible conway transaction signed-transaction Usage: cardano-cli compatible conway transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -7063,6 +7074,7 @@ Usage: cardano-cli compatible conway transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_allegra_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_allegra_transaction_signed-transaction.cli index 8d79f298d1..e6b0ef6653 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_allegra_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_allegra_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible allegra transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -27,12 +28,14 @@ Usage: cardano-cli compatible allegra transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -86,5 +89,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_alonzo_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_alonzo_transaction_signed-transaction.cli index f726603ba4..bc681b13dd 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_alonzo_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_alonzo_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible alonzo transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -35,12 +36,14 @@ Usage: cardano-cli compatible alonzo transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -121,5 +124,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_babbage_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_babbage_transaction_signed-transaction.cli index d09f823c3a..337655f68c 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_babbage_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_babbage_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible babbage transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -38,12 +39,14 @@ Usage: cardano-cli compatible babbage transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -137,5 +140,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_conway_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_conway_transaction_signed-transaction.cli index ba1c9ae39c..9445b82556 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_conway_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_conway_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible conway transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE [ --tx-out-datum-hash HASH | --tx-out-datum-hash-cbor-file CBOR_FILE @@ -70,12 +71,14 @@ Usage: cardano-cli compatible conway transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -232,5 +235,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_mary_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_mary_transaction_signed-transaction.cli index 7aa8cded67..69ca2f2efd 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_mary_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_mary_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible mary transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -27,12 +28,14 @@ Usage: cardano-cli compatible mary transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -86,5 +89,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_shelley_transaction_signed-transaction.cli b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_shelley_transaction_signed-transaction.cli index 2368e50b27..52e8d355c4 100644 --- a/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_shelley_transaction_signed-transaction.cli +++ b/cardano-cli/test/cardano-cli-golden/files/golden/help/compatible_shelley_transaction_signed-transaction.cli @@ -1,5 +1,6 @@ Usage: cardano-cli compatible shelley transaction signed-transaction [--tx-in TX_IN] + [--tx-in-collateral TX_IN] [--tx-out ADDRESS VALUE] [--update-proposal-file FILEPATH] [--signing-key-file FILEPATH @@ -27,12 +28,14 @@ Usage: cardano-cli compatible shelley transaction signed-transaction ) --certificate-reference-tx-in-execution-units (INT, INT) ]] + [--protocol-params-file FILEPATH] --out-file FILEPATH Create a simple signed transaction. Available options: --tx-in TX_IN TxId#TxIx + --tx-in-collateral TX_IN TxId#TxIx --tx-out ADDRESS VALUE The transaction output as ADDRESS VALUE where ADDRESS is the Bech32-encoded address followed by the value in the multi-asset syntax (including simply @@ -86,5 +89,7 @@ Available options: top-level strings and numbers. --certificate-reference-tx-in-execution-units (INT, INT) The time and space units needed by the script. + --protocol-params-file FILEPATH + Filepath of the JSON-encoded protocol parameters file --out-file FILEPATH The output file. -h,--help Show this help text diff --git a/cardano-cli/test/cardano-cli-test/Test/Cli/Compatible/Transaction/Build.hs b/cardano-cli/test/cardano-cli-test/Test/Cli/Compatible/Transaction/Build.hs index 6cbc1f3c09..f66c557eae 100644 --- a/cardano-cli/test/cardano-cli-test/Test/Cli/Compatible/Transaction/Build.hs +++ b/cardano-cli/test/cardano-cli-test/Test/Cli/Compatible/Transaction/Build.hs @@ -33,6 +33,8 @@ hprop_compatible_conway_transaction_build_one_voter_many_votes = let args = [ "--tx-in" , "6e8c947816e82627aeccb55300074f2894a2051332f62a1c8954e7b588a18be7#0" + , "--tx-in-collateral" + , "6e8c947816e82627aeccb55300074f2894a2051332f62a1c8954e7b588a18be7#1" , "--tx-out" , "addr_test1vpfwv0ezc5g8a4mkku8hhy3y3vp92t7s3ul8g778g5yegsgalc6gc+24910487859" , "--fee" @@ -45,6 +47,8 @@ hprop_compatible_conway_transaction_build_one_voter_many_votes = , "0" , "--certificate-execution-units" , "(0,0)" + , "--protocol-params-file" + , inputDir <> "calculate-min-fee/offline-protocol-params-preview.json" ] -- reference transaction