ElementsProject / ElementsProject/elements

`blindrawtransaction` and `rawblindrawtransaction` RPCs null asset parse error

Ouverte
#999 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
1.2k
Forks
416
Merge moyen
1 j 23 h
PR mergées (30 j)
15

Description

```
blindrawtransaction "hexstring" ( ignoreblindfail ["assetcommitment",...] blind_issuances "totalblinder" )

Convert one or more outputs of a raw transaction into confidential ones using only wallet inputs.
Returns the hex-encoded raw transaction.
The output keys used can be specified by using a confidential address in createrawtransaction.
This call may add an additional 0-value unspendable output in order to balance the blinders.

Arguments:
1. hexstring (string, required) A hex-encoded raw transaction.
2. ignoreblindfail (boolean, optional, default=true) Return a transaction even when a blinding attempt fails due to number of blinded inputs/outputs.
3. asset_commitments (json array, optional) An array of input asset generators. If provided, this list must be empty, or match the final input commitment list, including ordering, to make a valid surjection proof. This list does not include generators for issuances, as these assets are inherently unblinded.
[
"assetcommitment", (string) A hex-encoded asset commitment, one for each input. Null commitments must be "".
...
]
4. blind_issuances (boolean, optional, default=true) Blind the issuances found in the raw transaction or not. All issuances will be blinded if true.
5. totalblinder (string) Ignored for now.

Result:
"hex" (string) serialized transaction

```
The doc says that Null commitments must be "", but there is no code to parse them. Users can use any dummy 66 hex valid generator string instead of null. But the rpc docs are incorrect.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les points d’entrée de l’analyse des arguments RPC de blindrawtransaction et rawblindrawtransaction, puis comparez leur gestion de asset_commitments avec la forme documentée d’un commitment nul. Le travail est considéré comme terminé lorsque les deux RPC acceptent de manière cohérente les commitments nuls documentés sous forme de chaînes vides, et que la documentation des RPC ainsi que la vérification pertinente ont été mises à jour en conséquence.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
api, backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.