Think about to interpreter API design for checksigfromstack
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- rust
- Área
- backend-api-design
Línea de trabajo
Comienza con el punto de entrada checksigfromstack y el manejo de firmas basado en closures existente descrito en el issue. Lee la discusión del pull request enlazado, compara las opciones de API enumeradas y confirma que el diseño elegido maneja tanto los sighashes de firmas normales como la interpretación de miniscript sin comprobaciones innecesarias; se considera terminado cuando la dirección de la API está acordada y documentada o implementada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
So, to handle the existing checksigs we have the user pass in a closure. There were two reasons for this
- To check normal signatures you need to compute a sighash, which is hard to do from the interpreter
- I wanted to be able to interpret miniscripts without checking the signatrues, since this is really expensive and doesn't give you much value if you're checking things that are in the chain anyway
I have a couple thoughts about how we could handle this here
- Not check the signature and offer no way to do so (this seems like a bad idea)
- Make the user pass a second closure in for this (ughh)
- Adapt the existing closure to take a message hash (ugly, doesn't really match the existing closure signature)
- Replace the existing closure with an optional secp context argument (but then how can we compute the sighash for normal checksigs?)
- Require our signatures to have R = P = 1, and then we can verify the signature with :P
None of these are really clean, but I'm leaning toward adding a second closure to the API.
Originally posted by @apoelstra in https://github.com/sanket1729/elements-miniscript/pull/4#discussion_r584986887
- Lenguaje dominante
- Rust
- Estrellas
- 15
- Forks
- 17
- Merge medio
- 19 h 36 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ElementsProject/elements-miniscript
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
ElementsProject/elements-miniscript#80 · 4 comentarios ·
-
Can this test be uncommented?Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
ElementsProject/elements-miniscript#72 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
ElementsProject/elements-miniscript#69 · 2 comentarios ·
Todos los issues de ElementsProject/elements-miniscript
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
linebender/parley#849 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
boxlite-ai/boxlite#1729 ·
Los mantenedores suelen responder en 1 día
-
external
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
langchain-ai/docs#6255 ·
Los mantenedores suelen responder en 1 día
-
P2 testing
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día