ElementsProject / ElementsProject/elements

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

オープン
#922 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
1.2k
フォーク
416
平均マージ
1日 23時間
マージ済み PR(30日)
15

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

src/confidential_validation.cpp の 282-284 行目から始め、rawissueasset とその他の issuance RPC のエントリポイントを追って、legacy output がどのように検証に到達するかを確認します。完了条件は、issuance RPC が legacy output を、わかりにくい witness-data エラーではなく明確なエラーで拒否し、許可された issuance パスには影響がないことです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
blockchain
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。