Emurgo / cardano-serialization-lib

This is a library, written in Rust, for serialization & deserialization of data structures used in Cardano's Haskell implementation of Alonzo along with useful utility functions.
Other
230 stars 124 forks source link

JSON too large numbers parsing Transaction #634

Open MarcelKlammer opened 1 year ago

MarcelKlammer commented 1 year ago

The following mainnet transaction (953dbe3cd147f1dbb69d3e8a83c3c75dcb5efbdbef18578abb380eb69e086bad) cannot be parsed using:

const cslTx = Transaction.from_hex(parsed)

cslTx.to_json()

error: to_json: Serialization error: JsValue("Integer 25098443401240647395421 too big for our JSON support")

There shouldn't be any integer involved for ValueJSON, at least parsing number values to json should be using strings instead?

tx cbor:

84ab00858258200d16e11a312d3eb079675589f2fa33d1e66d4a238de539619d0496ecf8dd61091382582019498704c3b00eb4aa960a00b457020bbedbc14db2d0cb8d25eaa689e948078c00825820d77921767af344abed860eaf1da94ac65f0f81beb82a0d5e868957fab309cf2014825820ee00ccc2df2733003d0b314e8f4cc5782856aed616d6890cf9a839143f92d57400825820ee00ccc2df2733003d0b314e8f4cc5782856aed616d6890cf9a839143f92d574020194a300581d71c63f80127de4782c341171f9b2a3da087d99504e815718ca03943b4501821a001092a8a1581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441a01cd9a95028201d8184443d87980a300581d719392bfc154f465f6788192c0176feca44c4b43318585b246712629db01821a002dc6c0a1581cc0e5564cf5786031d9053f567ec78b8383a0f2bc01318e690e0503f4a14001028201d818479f0000000000ffa300581d716a836e8bb408ef5110a7477039a9f5fc41e55be9fc7eb5464def826b01821a002dc6c0a1581c416109f322b43051b80e83075b4baa8c5af14c88acaca47d5c251820a14001028201d818587b9f1b00000197d3d553751a209b05481b0000bbd26dc5d7c01b0000022b72f9c9e81b00000001010e527e1b003bf173afe734fd9fc24a055096df302d13a9685dc24c1e223eeb7ed8000000000000ff1b0000018978dcda181b0000018978ef35509f1b00000078828e85851b0000177a4db8baf8ff1a002dc6c0ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f47058b028201d8184e9f9f0000000000ff1a0209b054ffa300581d71451e7db46cf0e46aacc15257b0af84510fe9da5bd7e28e4d37f31e8d01821a002dc6c0a2581c1cc1aceaf5c7df55e270864a60600b9f52383fe418164574ffdeeed0a14001581cf66d78b4a3cb3d37afa0ec36461e51ecbde00f26c8f0a68f94b69880a144695553441b000000197f470598028201d8184e9f9f0000000000ff1a0209b05cff82581d613b34853a70abe6bff001ccc99564880f9eb06ed3d1ecb0e7843fc7421a00136fb2021a00091162031a05dd3b9f081a05dd3a730b58200d47213be07d976df315be2061527120e6f9e22279517da98d1ffd1c75afc71f0d82825820d77921767af344abed860eaf1da94ac65f0f81beb82a0d5e868957fab309cf2014825820b9f1bd91f75d6d3d12753081039705e9bf3d448f29f0667e5268dae1fa163965010f011082581d613b34853a70abe6bff001ccc99564880f9eb06ed3d1ecb0e7843fc7421a000d5696111a002dc6c012848258204cba18dc9e06560bc4ef11d4d73d8a1451faaf42594da16869b8de297c2c912300825820da70eb2e8e5e66eaded8935283983e5496b35b2d19dde8668b8ec4b25307d96f00825820e51f0164dba6c22842e7ae8f539582c2e5b425ea6ac2e824beaa7bfb29665fba00825820fdd3f93aa9639e9a30cefc77ddc3f52c8a5671a3692e059dba6009991d0d8cfc00a30081825820a75c7dfef7ac204e1f33d5f29e7fb7b20b382be3dd61c838bda2984eddee87c75840d47ae6c71b5828979fc10db5eb581e5fdfa9813b9e632f7a5f77706845d2ccb5dd22e4eb0f3a38c8e62cf04fbfdc376e95e81f351b99c5463ee9cbe32ad9d50d048005838400011a002dc6c0821a003027351a5327037c840004d8798082197dc21a00c458a9840003d879808219a4661a00d5f2b0f5f6
lisicky commented 12 months ago

Hi @MarcelKlammer ! Thanks for letting know us about it. We will investigate it

lisicky commented 4 months ago

Hi @MarcelKlammer ! Sorry for delay, the latest CSL ( 12.0.0-alpha.22 ) have fix for it