* Use Jonas Nick's musig2 branch
* Reformat c code (no functional changes)
* Implement musig2
* Add documentation to musig2 functions (#97)
Usage of the Musig2 functions isn't intuitive at all, especially with
the key aggregation cache and session data. It's important to provide
accurate documentation to help users understand how to correctly produce
musig2 signatures.
We also change argument names to match Kotlin best practices instead of
using the same argument names as C functions.
* Add musig2 reference tests (no functional changes)
---------
Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
* Upgrade JNI interface
* Input signatures can be DER or compact format, output signatures are always in compact format
* Input public keys can be compressed or uncompressed, output public keys are always uncompressed
* Name and parameters match libsecp256k1's
* JNI implementation is now straightforward
No more ByteBuffers
Exceptions are thrown in case of failures
* Update src/nativeMain/kotlin/fr/acinq/secp256k1/Secp256k1Native.kt
* Add public key compression method
Co-authored-by: Salomon BRYS <salomon.brys@gmail.com>