Skip to content

Commit 3aa5132

Browse files
committed
Evaluate: redeemer and datum args depends on the plutus ledger language version.
1 parent d4fc0c8 commit 3aa5132

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

plutus-script-evaluation/lib/Evaluate.hs

+8-4
Original file line numberDiff line numberDiff line change
@@ -192,16 +192,20 @@ inputFromRecord evalCtxRef MkScriptEvaluationRecord'{..} = do
192192
Left err -> fail $ "Failed to deserialise script: " <> show err
193193
Right script -> pure script
194194

195+
let seiData :: [Data]
196+
seiData =
197+
let addRedeemerDatum =
198+
case seLedgerLanguage of
199+
PlutusV3 -> id
200+
_ -> maybe id (:) seDatum . maybe id (:) seRedeemer
201+
in deserialise . BSL.fromStrict <$> addRedeemerDatum [seScriptContext]
195202
pure
196203
MkScriptEvaluationInput
197204
{ seiPlutusLedgerLanguage = seLedgerLanguage
198205
, seiMajorProtocolVersion = seMajorProtocolVersion
199206
, seiEvaluationContext
200207
, seiScript
201-
, seiData =
202-
(deserialise . BSL.fromStrict <$>)
203-
. maybe id (:) seDatum
204-
$ maybe id (:) seRedeemer [seScriptContext]
208+
, seiData
205209
, seiExBudget = ExBudget seExecBudgetCpu seExecBudgetMem
206210
, seiEvaluationSuccess = seEvaluatedSuccessfully
207211
, seiBlock = seBlockNo

0 commit comments

Comments
 (0)