10
10
#include "TWJNI.h"
11
11
12
12
jbyteArray JNICALL Java_com_trustwallet_core_AnySigner_sign (JNIEnv * env , jclass thisClass , jbyteArray input , jobject coin ) {
13
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , coin , "coin" );
13
14
jclass coinClass = (* env )-> GetObjectClass (env , coin );
14
15
jmethodID coinValueMethodID = (* env )-> GetMethodID (env , coinClass , "value" , "()I" );
15
16
uint32_t coinValue = (* env )-> CallIntMethod (env , coin , coinValueMethodID );
16
17
18
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , input , "input" );
17
19
TWData * inputData = TWDataCreateWithJByteArray (env , input );
18
20
TWData * outputData = TWAnySignerSign (inputData , coinValue );
19
21
jbyteArray resultData = TWDataJByteArray (outputData , env );
@@ -22,18 +24,23 @@ jbyteArray JNICALL Java_com_trustwallet_core_AnySigner_sign(JNIEnv *env, jclass
22
24
}
23
25
24
26
jboolean JNICALL Java_com_trustwallet_core_AnySigner_supportsJson (JNIEnv * env , jclass thisClass , jobject coin ) {
27
+ JNI_CHECK_NULL_AND_RETURN_ZERO (env , coin , "coin" );
25
28
jclass coinClass = (* env )-> GetObjectClass (env , coin );
26
29
jmethodID coinValueMethodID = (* env )-> GetMethodID (env , coinClass , "value" , "()I" );
27
30
uint32_t coinValue = (* env )-> CallIntMethod (env , coin , coinValueMethodID );
28
31
return TWAnySignerSupportsJSON (coinValue );
29
32
}
30
33
31
34
jstring JNICALL Java_com_trustwallet_core_AnySigner_signJson (JNIEnv * env , jclass thisClass , jstring json , jbyteArray key , jobject coin ) {
35
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , coin , "coin" );
32
36
jclass coinClass = (* env )-> GetObjectClass (env , coin );
33
37
jmethodID coinValueMethodID = (* env )-> GetMethodID (env , coinClass , "value" , "()I" );
34
38
uint32_t coinValue = (* env )-> CallIntMethod (env , coin , coinValueMethodID );
35
39
40
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , json , "json" );
36
41
TWString * jsonString = TWStringCreateWithJString (env , json );
42
+
43
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , key , "key" );
37
44
TWData * keyData = TWDataCreateWithJByteArray (env , key );
38
45
TWString * result = TWAnySignerSignJSON (jsonString , keyData , coinValue );
39
46
TWDataDelete (keyData );
@@ -42,10 +49,12 @@ jstring JNICALL Java_com_trustwallet_core_AnySigner_signJson(JNIEnv *env, jclass
42
49
}
43
50
44
51
jbyteArray JNICALL Java_com_trustwallet_core_AnySigner_plan (JNIEnv * env , jclass thisClass , jbyteArray input , jobject coin ) {
52
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , coin , "coin" );
45
53
jclass coinClass = (* env )-> GetObjectClass (env , coin );
46
54
jmethodID coinValueMethodID = (* env )-> GetMethodID (env , coinClass , "value" , "()I" );
47
55
uint32_t coinValue = (* env )-> CallIntMethod (env , coin , coinValueMethodID );
48
56
57
+ JNI_CHECK_NULL_AND_RETURN_NULL (env , input , "input" );
49
58
TWData * inputData = TWDataCreateWithJByteArray (env , input );
50
59
TWData * outputData = TWAnySignerPlan (inputData , coinValue );
51
60
jbyteArray resultData = TWDataJByteArray (outputData , env );
0 commit comments