17 Commits

Author SHA1 Message Date
kngako
d74895079d Fix for handling ids33 in JNI 2024-08-21 21:35:27 +02:00
kngako
e6cba2b505 A few JNI fixes 2024-08-21 18:35:41 +02:00
kngako
6e578d43d7 More logic for the JNI stuff 2024-08-19 22:14:27 +02:00
kngako
32ee077995 Improve pointer handling logic 2024-08-14 09:14:34 +02:00
kngako
41ddd40691 Return byteArray instead of array of byteArrays 2024-08-13 01:41:45 +02:00
kngako
28d255daca Knock out some todos 2024-08-12 02:55:41 +02:00
kngako
5c4186770f Fix comments on secp256k1_frost_partial_sig_agg 2024-08-07 03:09:20 +02:00
kngako
86d7d9835f Handle inputs/outputs and nulls correctly. 2024-08-07 02:48:25 +02:00
kngako
e7ec7b7478 Update Secp256k1CFunctions.h 2024-08-06 02:13:12 +02:00
kngako
3c01a2aad4 Use frost in Secp256k1 native logic 2024-08-04 23:53:28 +02:00
Fabrice Drouin
202b0c94b6
Add support for musig2 (#93)
* 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>
2024-02-14 13:28:22 +01:00
Fabrice Drouin
ac7d4983d5
Export Schnorr signature API (#32)
Implement Schnorr signatures (BIP 340)
2021-11-23 17:38:46 +01:00
Bastien Teinturier
f695e7453d
Clean up and enrich tests (#35)
* Harmonize parameter names
* Document methods
* Replace pubKeyAdd with pubKeyCombine
* Clean-up tests
2021-10-26 17:16:36 +02:00
Salomon BRYS
6c850eb2c4
Native jni build (#5)
* Each native library is in its own jar. Got rid of cross compilation. The project is `secp256k1` and not `secp256k1-kmp`.

* Updated CI to use all 3 OS VMs

Co-authored-by: Salomon BRYS <salomon@kodein.net>
2020-07-09 14:54:34 +02:00
sstone
08d1692932 Add compact2der() method 2020-07-02 21:39:33 +02:00
Fabrice Drouin
3ee2635d93
Upgrade JNI interface (#1)
* 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>
2020-07-02 17:52:21 +02:00
Salomon BRYS
3b3d67a4fe JNI built in JNI 2020-07-01 18:26:24 +02:00