ElementsProject / ElementsProject/elements

`rawissueasset` (and other issuance RPCs) should not allow issuing asset from a legacy output

Offen
#922 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.