ElementsProject / ElementsProject/elements
Non-witness transactions cannot include issuances
- Langage dominant
- C++
- Étoiles
- 1.2k
- Forks
- 416
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 15
Description
Transaction serialization requires that witness-empty transactions have empty witness vectors for inputs and outputs. While fixing the OOB access in VerifyAmounts we accidentally softforked out the ability to have issuances in transactions with no other witness data. In real-life usage this is fairly unlikely, since any blinding, any segwit signatures, and any peg-in data make this not true.
related: https://github.com/ElementsProject/elements/pull/472
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start by reading the transaction serialization rules described in the issue and the VerifyAmounts path, then compare the related pull request #472. The fix is complete when transactions containing issuances can serialize and verify without any other witness data, while witness-empty transactions still preserve their required empty witness vectors.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- blockchain
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100