Skip to content

Commit c4b9487

Browse files
authored
Merge pull request #4344 from input-output-hk/mpj/remove-data-valiation
Remove unnecessary validation of Data
2 parents 377c0e5 + 2efdd2c commit c4b9487

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

cardano-api/src/Cardano/Api/ScriptData.hs

+9-18
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,12 @@ validateScriptData d =
246246
[] -> Right ()
247247
err:_ -> Left err
248248
where
249-
-- collect all errors in a monoidal fold style:
250-
collect (ScriptDataNumber n) =
251-
[ ScriptDataNumberOutOfRange n
252-
| n > fromIntegral (maxBound :: Word64)
253-
|| n < negate (fromIntegral (maxBound :: Word64))
254-
]
255-
collect ScriptDataBytes{} = []
249+
-- Arbitrary size numbers are fine
250+
collect (ScriptDataNumber _) = []
251+
252+
-- Arbitrary sized bytes are fine
253+
collect (ScriptDataBytes _) = []
254+
256255
collect (ScriptDataList xs) =
257256
foldMap collect xs
258257

@@ -261,36 +260,28 @@ validateScriptData d =
261260
<> collect v)
262261
kvs
263262

263+
-- Constr tags do need to be less than a Word64
264264
collect (ScriptDataConstructor n xs) =
265265
[ ScriptDataConstructorOutOfRange n
266266
| n > fromIntegral (maxBound :: Word64) || n < 0 ]
267267
<> foldMap collect xs
268268

269269
-- | An error in script data due to an out-of-range value.
270270
--
271-
data ScriptDataRangeError =
272-
273-
-- | The number is outside the maximum range of @-2^64-1 .. 2^64-1@.
274-
--
275-
ScriptDataNumberOutOfRange !Integer
271+
newtype ScriptDataRangeError =
276272

277273
-- | The number is outside the maximum range of @-2^64-1 .. 2^64-1@.
278274
--
279-
| ScriptDataConstructorOutOfRange !Integer
275+
ScriptDataConstructorOutOfRange Integer
280276
deriving (Eq, Show)
281277

282278
instance Error ScriptDataRangeError where
283-
displayError (ScriptDataNumberOutOfRange n) =
284-
"Number in script data value "
285-
<> show n
286-
<> " is outside the range -(2^64-1) .. 2^64-1."
287279
displayError (ScriptDataConstructorOutOfRange n) =
288280
"Constructor numbers in script data value "
289281
<> show n
290282
<> " is outside the range 0 .. 2^64-1."
291283

292284

293-
294285
-- ----------------------------------------------------------------------------
295286
-- JSON conversion
296287
--

0 commit comments

Comments
 (0)