ElementsProject / ElementsProject/elements

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

Aperta
#999 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
1.2k
Fork
416
Merge medio
1g 23h
PR unite (30g)
15

Descrizione

```
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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dai punti di ingresso dell'analisi degli argomenti RPC per blindrawtransaction e rawblindrawtransaction, quindi confronta la gestione di asset_commitments con la forma documentata di un commitment nullo. Il lavoro è completato quando entrambi gli RPC accettano in modo coerente i commitment nulli documentati come stringhe vuote e la documentazione degli RPC e la verifica pertinente sono state aggiornate di conseguenza.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.