question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Vasil branch produces incorrect witnesses

See original GitHub issue

It looks like the vasil branch of nami properly understands babbage era transaction (at least, the ones that have all the babbage era features set to use the *None constructors from cardano-api) - however, I believe it creates the witnesses improperly, as subsequent transaction submission towards testnet yields:

ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (WrappedShelleyEraFailure (InvalidWitnessesUTXOW [VKey (VerKeyEd25519DSIGN ...)])))])

When I try to manually sign with a private key using cardano-serialization-lib 11.0.0-rc.1, with effectively the same logic nami uses under the hood - everything works fine and the transaction goes through.

Since the issue probably lies in the cardano-multiplatform-lib wasm files used by nami, I’m unsure where exactly to look to try and quickly fix it via a PR.

Issue Analytics

  • State:closed
  • Created a year ago
  • Reactions:1
  • Comments:19 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
alessandrokonradcommented, Aug 25, 2022

@TotallyNotChase I just updated the vasil branch for Nami. It should support now the legacy output serialization. Actually Nami makes now the witness on the raw cbor encoded tx body that is provided. So it should work for any tx.

And you may wanna check out Lucid 0.5.4 which also has the legacy output support now. Lemme know how all of this goes.

1reaction
TotallyNotChasecommented, Aug 25, 2022

However I don’t like it actually that I’m forced to serialise transactions in a certain way although the specifications do allow me differently

Completely understandable. Sometimes the ecosystem just chooses the fundamentally wrong thing… and we devs have to just follow by also doing the wrong thing. In this particular case though, I’d argue the specification shouldn’t leave room for ambiguity, and yet it does.

Maybe wallets should sign the raw body instead of serialising it on their own and then sign it which results in wrong witnesses obviously.

I always asked myself why this isn’t what all the wallets do. Just seems a lot more cryptographically reasonable to me.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chase issues - Git Memory
Is your enhancement request related to a problem? Please describe. HLS currently does not seem to ... Vasil branch produces incorrect witnesses. 8...
Read more >
The Vasil Hard Fork — From a dApp Builder's Perspective
A blockchain can undergo multiple hard forks. For example, Bitcoin has had four major hard fork events: Segregated Witness (SegWit), Bitcoin Classic, Bitcoin ......
Read more >
Vasil HF PlutusV2 Tests · Issue #1079 - GitHub
Can spend output with inline datum attached and this removes it from ledger state · Is invalid to include datum as both witness...
Read more >
2008 Human Rights Report: Georgia - 2009—2017 State.gov
The constitution of the Georgian republic provides for an executive branch that reports to the president, a unicameral Parliament, ...
Read more >
Making Law and Policy that Work - Penal Reform International
become a problem in all societies. ... from an early draft produced by Conor Foley and Mel ... or laws that intend to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found