Skip to content

Plutus Data in Transaction can also be NonEmptyOrderedSet #450

@KINGH242

Description

@KINGH242

When working with transactions generated from other libraries, the plutus_data in the transaction can also be a NonEmptyOrderedSet. This can result in an error when PyCardano parses a signed transaction to submit to the blockchain because the script_data_hash will not match the computed hash.

https://github.com/IntersectMBO/cardano-ledger/blob/3fa847bd67a6d1c3c2d5960578c993487e9883b0/eras/conway/impl/cddl-files/conway.cddl#L650

To Reproduce
Create a transaction containing plutus_data using Eternl, like a swap. Download unsigned transaction, then sign using PyCardano. Submit to blockchain and it will fail with PPViewHashsesDontMatch

Expected behavior
Should be able to handle transactions with plutus_data as a NonEmptyOrderedSet.

Additional context
I am currently working on a fix. Will submit pull request when done.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions