Anastasia-Labs / lucid-evolution

https://anastasia-labs.github.io/lucid-evolution/
37 stars 10 forks source link

Some transactions fail on Trezor #196

Open SynthLuvr opened 1 month ago

SynthLuvr commented 1 month ago

image

It's believed this is caused because lucid-evolution doesn't conform to CIP-21, specifically:

The keys in every map must be sorted from lowest value to highest.

SynthLuvr commented 1 month ago

Confirmed that if transactions are transformed via cardano-hw-cli, then they work.

It is due to lucid-evolution not conforming to CIP-21. The workaround I have:

  1. Build transaction via lucid-evolution
  2. Complete tx with empty signature
  3. Convert to CBOR
  4. Transform CBOR via cardano-hw-cli
  5. Pass transformed CBOR back into lucid via fromTx
  6. Continue as per usual
solidsnakedev commented 1 month ago

Thanks for the report will look into it

SynthLuvr commented 2 weeks ago

Beginning with lucid-evolution 0.3.10, due to #236, transactions with datums are no longer compatible with cardano-hw-cli. This means that lucid-evolution is now mostly unusable with some hardware wallets

SynthLuvr commented 2 weeks ago

The transformation by cardano-hw-cli is successful, but the produced CBOR is invalid:

Transaction::from_bytes: Deserialization failed in Transaction.witness_set.TransactionWitnessSet.plutus_datums.NonemptySet.PlutusData.ConstrPlutusData.ConstrPlutusData.fields.PlutusData.Bytes because: Out of range: 203 - must be in range 0 - 64

Opened https://github.com/vacuumlabs/cardano-hw-cli/issues/179