Skip to content

Commit 060cc49

Browse files
committed
Propagate removal of type level tags SimpleScriptV1 and SimpleSccriptV2
in cardano-cli
1 parent a4badce commit 060cc49

File tree

3 files changed

+19
-37
lines changed

3 files changed

+19
-37
lines changed

Diff for: cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2084,7 +2084,7 @@ pTxIn balance =
20842084
:: TxIn
20852085
-> ScriptWitnessFiles WitCtxTxIn
20862086
createSimpleReferenceScriptWitnessFiles refTxIn =
2087-
let simpleLang = AnyScriptLanguage (SimpleScriptLanguage SimpleScriptV2)
2087+
let simpleLang = AnyScriptLanguage SimpleScriptLanguage
20882088
in SimpleReferenceScriptWitnessFiles refTxIn simpleLang Nothing
20892089

20902090
pPlutusReferenceScriptWitness :: BalanceTxExecUnits -> Parser (ScriptWitnessFiles WitCtxTxIn)
@@ -2273,7 +2273,7 @@ pMintMultiAsset balanceExecUnits =
22732273
-> PolicyId
22742274
-> ScriptWitnessFiles WitCtxMint
22752275
createSimpleMintingReferenceScriptWitnessFiles refTxIn pid =
2276-
let simpleLang = AnyScriptLanguage (SimpleScriptLanguage SimpleScriptV2)
2276+
let simpleLang = AnyScriptLanguage SimpleScriptLanguage
22772277
in SimpleReferenceScriptWitnessFiles refTxIn simpleLang (Just pid)
22782278

22792279
pPlutusMintReferenceScriptWitnessFiles

Diff for: cardano-cli/src/Cardano/CLI/Shelley/Run/Read.hs

+12-30
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,8 @@ readScriptWitness era' (SimpleScriptWitnessFile (ScriptFile scriptFile)) = do
210210
readFileScriptInAnyLang scriptFile
211211
ScriptInEra langInEra script' <- validateScriptSupportedInEra era' script
212212
case script' of
213-
SimpleScript version sscript ->
214-
return . SimpleScriptWitness
215-
langInEra version $ SScript sscript
213+
SimpleScript sscript ->
214+
return . SimpleScriptWitness langInEra $ SScript sscript
216215

217216
-- If the supplied cli flags were for a simple script (i.e. the user did
218217
-- not supply the datum, redeemer or ex units), but the script file turns
@@ -261,7 +260,7 @@ readScriptWitness era' (PlutusReferenceScriptWitnessFiles refTxIn
261260
case scriptLanguageSupportedInEra era' anyScriptLanguage of
262261
Just sLangInEra ->
263262
case languageOfScriptLanguageInEra sLangInEra of
264-
SimpleScriptLanguage _v ->
263+
SimpleScriptLanguage ->
265264
-- TODO: We likely need another datatype eg data ReferenceScriptWitness lang
266265
-- in order to make this branch unrepresentable.
267266
error "readScriptWitness: Should not be possible to specify a simple script"
@@ -286,8 +285,8 @@ readScriptWitness era' (SimpleReferenceScriptWitnessFiles refTxIn
286285
case scriptLanguageSupportedInEra era' anyScriptLanguage of
287286
Just sLangInEra ->
288287
case languageOfScriptLanguageInEra sLangInEra of
289-
SimpleScriptLanguage v ->
290-
return . SimpleScriptWitness sLangInEra v
288+
SimpleScriptLanguage ->
289+
return . SimpleScriptWitness sLangInEra
291290
$ SReferenceScript refTxIn (unPolicyId <$> mPid)
292291
PlutusScriptLanguage{} ->
293292
error "readScriptWitness: Should not be possible to specify a plutus script"
@@ -398,12 +397,11 @@ deserialiseScriptInAnyLang bs =
398397
--
399398
case deserialiseFromJSON AsTextEnvelope bs of
400399
Left _ ->
401-
-- The SimpleScript language has the property that it is backwards
402-
-- compatible, so we can parse as the latest version and then downgrade
403-
-- to the minimum version that has all the features actually used.
404-
case deserialiseFromJSON (AsSimpleScript AsSimpleScriptV2) bs of
405-
Left err -> Left (ScriptDecodeSimpleScriptError err)
406-
Right script -> Right (toMinimumSimpleScriptVersion script)
400+
-- In addition to the TextEnvelope format, we also try to
401+
-- deserialize the JSON representation of SimpleScripts.
402+
case Aeson.eitherDecodeStrict' bs of
403+
Left err -> Left (ScriptDecodeSimpleScriptError $ JsonDecodeError err)
404+
Right script -> Right $ ScriptInAnyLang SimpleScriptLanguage $ SimpleScript script
407405

408406
Right te ->
409407
case deserialiseFromTextEnvelopeAnyOf textEnvTypes te of
@@ -415,11 +413,8 @@ deserialiseScriptInAnyLang bs =
415413
-- script version.
416414
textEnvTypes :: [FromSomeType HasTextEnvelope ScriptInAnyLang]
417415
textEnvTypes =
418-
[ FromSomeType (AsScript AsSimpleScriptV1)
419-
(ScriptInAnyLang (SimpleScriptLanguage SimpleScriptV1))
420-
421-
, FromSomeType (AsScript AsSimpleScriptV2)
422-
(ScriptInAnyLang (SimpleScriptLanguage SimpleScriptV2))
416+
[ FromSomeType (AsScript AsSimpleScript)
417+
(ScriptInAnyLang SimpleScriptLanguage)
423418

424419
, FromSomeType (AsScript AsPlutusScriptV1)
425420
(ScriptInAnyLang (PlutusScriptLanguage PlutusScriptV1))
@@ -428,19 +423,6 @@ deserialiseScriptInAnyLang bs =
428423
(ScriptInAnyLang (PlutusScriptLanguage PlutusScriptV2))
429424
]
430425

431-
toMinimumSimpleScriptVersion :: SimpleScript SimpleScriptV2
432-
-> ScriptInAnyLang
433-
toMinimumSimpleScriptVersion s =
434-
-- TODO alonzo: this will need to be adjusted when more versions are added
435-
-- with appropriate helper functions it can probably be done in an
436-
-- era-generic style
437-
case adjustSimpleScriptVersion SimpleScriptV1 s of
438-
Nothing -> ScriptInAnyLang (SimpleScriptLanguage SimpleScriptV2)
439-
(SimpleScript SimpleScriptV2 s)
440-
Just s' -> ScriptInAnyLang (SimpleScriptLanguage SimpleScriptV1)
441-
(SimpleScript SimpleScriptV1 s')
442-
443-
444426
-- Tx & TxBody
445427

446428
newtype CddlTx = CddlTx {unCddlTx :: InAnyCardanoEra Tx} deriving (Show, Eq)

Diff for: cardano-cli/src/Cardano/CLI/Shelley/Run/Transaction.hs

+5-5
Original file line numberDiff line numberDiff line change
@@ -866,8 +866,8 @@ getAllReferenceInputs txins mintWitnesses certFiles withdrawals readOnlyRefIns =
866866
case sWit of
867867
PlutusScriptWitness _ _ (PReferenceScript refIn _) _ _ _ -> Just refIn
868868
PlutusScriptWitness _ _ PScript{} _ _ _ -> Nothing
869-
SimpleScriptWitness _ _ (SReferenceScript refIn _) -> Just refIn
870-
SimpleScriptWitness _ _ SScript{} -> Nothing
869+
SimpleScriptWitness _ (SReferenceScript refIn _) -> Just refIn
870+
SimpleScriptWitness _ SScript{} -> Nothing
871871

872872
toAddressInAnyEra
873873
:: CardanoEra era
@@ -1020,9 +1020,9 @@ createTxMintValue era (val, scriptWitnesses) =
10201020
witnessesExtra = Set.elems (witnessesProvided Set.\\ witnessesNeeded)
10211021

10221022
scriptWitnessPolicyId :: ScriptWitness witctx era -> Maybe PolicyId
1023-
scriptWitnessPolicyId (SimpleScriptWitness _ version (SScript script)) =
1024-
Just . scriptPolicyId $ SimpleScript version script
1025-
scriptWitnessPolicyId (SimpleScriptWitness _ _ (SReferenceScript _ mPid)) =
1023+
scriptWitnessPolicyId (SimpleScriptWitness _ (SScript script)) =
1024+
Just . scriptPolicyId $ SimpleScript script
1025+
scriptWitnessPolicyId (SimpleScriptWitness _ (SReferenceScript _ mPid)) =
10261026
PolicyId <$> mPid
10271027
scriptWitnessPolicyId (PlutusScriptWitness _ version (PScript script) _ _ _) =
10281028
Just . scriptPolicyId $ PlutusScript version script

0 commit comments

Comments
 (0)