ElementsProject / ElementsProject/elements
`rawissueasset` (and other issuance RPCs) should not allow issuing asset from a legacy output
- Vorherrschende Sprache
- C++
- Sterne
- 1.2k
- Forks
- 416
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 15
Beschreibung
In https://github.com/ElementsProject/elements/blob/18fadbafcceff70a7d328ca739e09004dc51e37a/src/confidential_validation.cpp#L282-L284 we check, when issuing assets, that a transaction has witness data attached to it, which can result in confusing errors when users try to issue assets starting from legacy outputs.
In general we want to discourage legacy outputs anyway except when absolutely necessary (e.g. when using `signmessage`, since we do not yet have a BIP322 implementation for Elements), since they are more costly to the user, addresses have worse checksumming properties, and they are more complex for implementors to work with. Narrowing this RPC will nudge us in that direction while also replacing a confusing footgun with a clear error message.
Beitragsleitfaden
Rechercherichtung
Beginne in src/confidential_validation.cpp bei den Zeilen 282-284 und verfolge dann rawissueasset sowie die anderen Einstiegspunkte der Issuance-RPCs, um zu sehen, wie Legacy-Ausgaben die Validierung erreichen. Als abgeschlossen gilt die Arbeit, wenn Issuance-RPCs Legacy-Ausgaben mit einem eindeutigen Fehler statt des verwirrenden Witness-Datenfehlers ablehnen, während der erlaubte Issuance-Pfad unbeeinträchtigt bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- blockchain
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100