66
77using namespace jni_utils ;
88
9- static jobject serializeMasterRotatingSignatures (
10- JNIEnv *env, const session::pro_backend::MasterRotatingSignatures &sigs) {
11- JavaLocalRef<jclass> result_class (
12- env,
13- env->FindClass (
14- " network/loki/messenger/libsession_util/pro/BackendRequests$MasterRotatingSignatures" ));
15-
16- return env->NewObject (
17- result_class.get (),
18- env->GetMethodID (result_class.get (), " <init>" , " ([B[B)V" ),
19- util::bytes_from_span (env, sigs.master_sig ),
20- util::bytes_from_span (env, sigs.rotating_sig )
21- );
22- }
23-
249extern " C"
25- JNIEXPORT jobject JNICALL
26- Java_network_loki_messenger_libsession_1util_pro_BackendRequests_signAddProPaymentRequest (
10+ JNIEXPORT jstring JNICALL
11+ Java_network_loki_messenger_libsession_1util_pro_BackendRequests_buildAddProPaymentRequestJson (
2712 JNIEnv *env, jobject thiz, jint version, jbyteArray master_private_key,
2813 jbyteArray rotating_private_key, jint payment_provider, jstring payment_id,
2914 jstring order_id) {
30- return run_catching_cxx_exception_or_throws<jobject >(env, [=] {
31- auto sigs = session::pro_backend::AddProPaymentRequest::build_sigs (
32- static_cast <std:: uint8_t >( version) ,
15+ return run_catching_cxx_exception_or_throws<jstring >(env, [=]() {
16+ auto json = session::pro_backend::AddProPaymentRequest::build_to_json (
17+ version,
3318 JavaByteArrayRef (env, master_private_key).get (),
3419 JavaByteArrayRef (env, rotating_private_key).get (),
35- static_cast <SESSION_PRO_BACKEND_PAYMENT_PROVIDER>(
36- payment_provider),
20+ static_cast <SESSION_PRO_BACKEND_PAYMENT_PROVIDER>(payment_provider),
3721 JavaStringRef (env, payment_id).get_raw (),
3822 JavaStringRef (env, order_id).get_raw ());
3923
40- return serializeMasterRotatingSignatures (env, sigs );
24+ return util::jstringFromOptional (env, json );
4125 });
4226}
4327
4428extern " C"
45- JNIEXPORT jobject JNICALL
46- Java_network_loki_messenger_libsession_1util_pro_BackendRequests_signGetProProofRequest (JNIEnv *env,
47- jobject thiz,
48- jint version,
49- jbyteArray master_private_key,
50- jbyteArray rotating_private_key,
51- jlong unix_ts_ms) {
52- return run_catching_cxx_exception_or_throws<jobject>(env, [=] {
53- auto sigs = session::pro_backend::GetProProofRequest::build_sigs (
29+ JNIEXPORT jstring JNICALL
30+ Java_network_loki_messenger_libsession_1util_pro_BackendRequests_buildGetProProofRequestJson (
31+ JNIEnv *env, jobject thiz, jint version, jbyteArray master_private_key,
32+ jbyteArray rotating_private_key, jlong now_ms) {
33+ return run_catching_cxx_exception_or_throws<jstring>(env, [=]() {
34+ auto json = session::pro_backend::GetProProofRequest::build_to_json (
5435 version,
5536 JavaByteArrayRef (env, master_private_key).get (),
5637 JavaByteArrayRef (env, rotating_private_key).get (),
57- std::chrono::sys_time<std::chrono::milliseconds>{
58- std::chrono::milliseconds{unix_ts_ms}}
38+ std::chrono::sys_time<std::chrono::milliseconds> {
39+ std::chrono::milliseconds (now_ms)
40+ }
5941 );
6042
61- return serializeMasterRotatingSignatures (env, sigs );
43+ return util::jstringFromOptional (env, json );
6244 });
6345}
6446
6547extern " C"
66- JNIEXPORT jbyteArray JNICALL
67- Java_network_loki_messenger_libsession_1util_pro_BackendRequests_signGetProStatusRequest (
68- JNIEnv *env, jobject thiz, jint version, jbyteArray master_private_key , jlong now_ms,
48+ JNIEXPORT jstring JNICALL
49+ Java_network_loki_messenger_libsession_1util_pro_BackendRequests_buildGetProStatusRequestJson (
50+ JNIEnv *env, jobject thiz, jint version, jbyteArray pro_master_private_key , jlong now_ms,
6951 jint count) {
70- return run_catching_cxx_exception_or_throws<jbyteArray>(env, [=] {
71- auto sig = session::pro_backend::GetProStatusRequest::build_sig (
72- static_cast <std::uint8_t >(version),
73- JavaByteArrayRef (env, master_private_key).get (),
74- std::chrono::sys_time<std::chrono::milliseconds>{
75- std::chrono::milliseconds{now_ms}},
76- static_cast <std::uint32_t >(count)
52+ return run_catching_cxx_exception_or_throws<jstring>(env, [=]() {
53+ auto json = session::pro_backend::GetProStatusRequest::build_to_json (
54+ version,
55+ JavaByteArrayRef (env, pro_master_private_key).get (),
56+ std::chrono::sys_time<std::chrono::milliseconds> {
57+ std::chrono::milliseconds (now_ms)
58+ },
59+ static_cast <uint32_t >(count)
7760 );
7861
79- return util::bytes_from_span (env, sig );
62+ return util::jstringFromOptional (env, json );
8063 });
8164}
0 commit comments