ElementsProject / ElementsProject/elements

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

Abierto
#999 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
1.2k
Forks
416
Merge medio
1 d 23 h
PR fusionados (30 d)
15

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza por los puntos de entrada del análisis de argumentos RPC de blindrawtransaction y rawblindrawtransaction, y luego compara cómo gestionan asset_commitments con la forma documentada de un commitment nulo. Se considerará terminado cuando ambos RPC acepten de forma coherente los commitments nulos documentados como cadenas vacías, y la documentación de los RPC y la verificación relevante se hayan actualizado en consecuencia.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
api, backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.