Sub-second rounding errors can cause `L1+` failures in Marlowe's Plutus validator
bwbush opened this issue · comments
Report from a user:
There is something strange with the --invalid-before / --invalid-hereafter arguments to marlowe-cli.
If I give a milli-second number like this 1661791959315, it fails. If I then edit it, to zero-out the millis part (ie replace last 3 digits with a zero), like this: 1661791959000 then the transaction succeeds.See included snap: left one fails, right one succeeds.
The error that is reported is:
TxBodyScriptExecutionError [(ScriptWitnessIndexTxIn 2,ScriptErrorEvaluationFailed (CekError An error has occurred: User error:
The provided Plutus code called 'error'.) ["L1","L1+","PT5"])]Note: marlowe-cli 0.0.4.4 used on testnet (MAGIC=1567) with the escrow contract.