Getting started with unit tests

This commit is contained in:
kngako
2024-08-18 01:27:04 +02:00
parent 32ee077995
commit e7f074d36e
6 changed files with 263 additions and 24 deletions

View File

@@ -1359,8 +1359,8 @@ JNIEXPORT jobjectArray JNICALL Java_fr_acinq_secp256k1_Secp256k1CFunctions_secp2
{
secp256k1_context *ctx = (secp256k1_context *)jctx;
secp256k1_frost_share *shares;
secp256k1_pubkey* vss_commitment;
secp256k1_frost_share **shares;
secp256k1_pubkey **vss_commitment;
jbyte* pok64;
size_t size;
@@ -1420,11 +1420,37 @@ JNIEXPORT jobjectArray JNICALL Java_fr_acinq_secp256k1_Secp256k1CFunctions_secp2
jobjectArray output = (*penv)->NewObjectArray(penv, 2, jobjectArray, NULL);
output[0] = (*penv)->NewObjectArray(penv, jn_participants, jbyteArray, NULL);
jobjectArray jshares = (*penv)->NewObjectArray(penv, jn_participants, jbyteArray, NULL);
// Copy shares into jshares
unsigned char out32[32];
for (i = 0; i < jn_participants; i++)
{
result = secp256k1_frost_share_serialize(ctx, out32, shares[i]);
CHECKRESULT(!result, "secp256k1_frost_share_serialize failed");
output[1] = (*penv)->NewObjectArray(penv, jthreshold, jbyteArray, NULL);
jbyteArray jshare = (*penv)->NewByteArray(penv, 32);
copy_bytes_to_java(penv, jshare, 32, out32);
jshares[i] = jshare;
}
output[0] = jshares;
jobjectArray jvss_commitment = (*penv)->NewObjectArray(penv, jthreshold, jbyteArray, NULL);
// Copy vss_commitment into jvss_commitment
for (i = 0; i < jn_participants; i++)
{
// need share object...
result = secp256k1_xonly_pubkey_serialize(ctx, out32, vss_commitment[i]);
CHECKRESULT(!result, "secp256k1_xonly_pubkey_serialize failed");
jbyteArray jpubkey = (*penv)->NewByteArray(penv, 32);
copy_bytes_to_java(penv, jpubkey, 32, out32);
jvss_commitment[i] = jpubkey;
}
output[1] = jvss_commitment;
// TODO: Copy over the required data...
return output;
}