Skip to content

Usage of PlutusData for Datum deserialization is unclear #320

Closed
@while0x1

Description

@while0x1

Describe the bug

Pycardano 0.10.0 cannot create an inline datum from CBOR hex - PlutusData().from_cbor(<CBOR_HEX>)

pycardano.exception.DeserializeException: Unexpected constructor ID for <class 'pycardano.plutus.PlutusData'>. Expect None, got 121 instead.

To Reproduce
Find an Inline datum from a blockfrost request - create an empty PlutusData() object , empty = PlutusData()
inline_datum = empty.from_cbor(<cbor_hex>)

empty = PlutusData()
d = empty.from_cbor('d8799f581c7876ebac44945a88855442692b86400776e0a2987c5f54a19b457d86d8799f4040ff1b000000012a05f200d8799f1a001e84801a002191c01a0016e360d8799f19271000193a981a000249f0194e201a0006ddd01961a8d8799fd8799f581c0c8b9cc1657e5139be7a331036c5499f0c2dc09fd8680e9773e4a01affd8799fd8799fd8799f581c6e0defd3cf3a4307652e956b3ca65789ca5b7836ae5494ebc546ad8affffffffff1a001e84801a02faf0801a02faf0801a002dc6c01a000ab34ed8799f1a0006ddd01975301a000124f81a002dc6c0ffffd8799f581c8fef2d34078659493ce161a6c7fba4b56afefa8535296a5743f695874441414441ff1b000000012a05f2001a00011af11b00000052aeaea7801b0000006673cc7c5b1b0000018de01f5008582046ffb569dc0d84d965733a5ff92bb7b2244a6f72d4726558e49d1d41ad4fbc8fd8799f581c13dfcd07acf9c62ae28f7578e637210dddd7f77b393d0983b89c270758202f426424960c554bf256c1e7f2ee74013271613fd6cffdbe1b2f337600ed774cffd8799f581c13dfcd07acf9c62ae28f7578e637210dddd7f77b393d0983b89c270758202f426424960c554bf256c1e7f2ee74013271613fd6cffdbe1b2f337600ed774cffd87a80ff')

Expected behavior
Pycardano 0.8.0 serialises the CBOR_HEX to create the object and deals with the CBOR tags appropriately , Pycardano 0.10.0 fails with error

Environment and software version (please complete the following information):

  • PyCardano Version [e.g. 0.8.0]
  • PyCardano Version [e.g. 0.10.0]

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions