diff --git a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java b/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java index 7312bffdb2..9c779c96e8 100644 --- a/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java +++ b/modules/react-native-status/android/src/main/java/im/status/ethereum/module/StatusModule.java @@ -667,6 +667,44 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL return UUID.randomUUID().toString(); } + @ReactMethod + public void hashTransaction(final String txArgsJSON, final Callback callback) { + Log.d(TAG, "hashTransaction"); + if (!checkAvailability()) { + callback.invoke(false); + return; + } + + Runnable r = new Runnable() { + @Override + public void run() { + String res = Statusgo.hashTransaction(txArgsJSON); + callback.invoke(res); + } + }; + + StatusThreadPoolExecutor.getInstance().execute(r); + } + + @ReactMethod + public void sendTransactionWithSignature(final String txArgsJSON, final String signature, final Callback callback) { + Log.d(TAG, "sendTransactionWithSignature"); + if (!checkAvailability()) { + callback.invoke(false); + return; + } + + Runnable r = new Runnable() { + @Override + public void run() { + String res = Statusgo.sendTransactionWithSignature(txArgsJSON, signature); + callback.invoke(res); + } + }; + + StatusThreadPoolExecutor.getInstance().execute(r); + } + @ReactMethod public void sendTransaction(final String txArgsJSON, final String password, final Callback callback) { Log.d(TAG, "sendTransaction"); diff --git a/src/status_im/native_module/core.cljs b/src/status_im/native_module/core.cljs index 02b600d834..1562c7cfc7 100644 --- a/src/status_im/native_module/core.cljs +++ b/src/status_im/native_module/core.cljs @@ -52,6 +52,12 @@ (defn send-transaction [rpcParams password callback] (native-module/send-transaction rpcParams password callback)) +(defn hash-transaction [rpcParams callback] + (native-module/hash-transaction rpcParams callback)) + +(defn send-transaction-with-signature [rpcParams sig callback] + (native-module/send-transaction-with-signature rpcParams sig callback)) + (defn send-data-notification [m callback] (native-module/send-data-notification m callback)) diff --git a/src/status_im/native_module/impl/module.cljs b/src/status_im/native_module/impl/module.cljs index f96a32b4bf..1237a1168e 100644 --- a/src/status_im/native_module/impl/module.cljs +++ b/src/status_im/native_module/impl/module.cljs @@ -100,10 +100,18 @@ (when (and @node-started status) (.signMessage status rpcParams callback))) +(defn hash-transaction [rpcParams callback] + (when (and @node-started status) + (.hashTransaction status rpcParams callback))) + (defn send-transaction [rpcParams password callback] (when (and @node-started status) (.sendTransaction status rpcParams password callback))) +(defn send-transaction-with-signature [rpcParams sig callback] + (when (and @node-started status) + (.sendTransactionWithSignature status rpcParams sig callback))) + (defn close-application [] (.closeApplication status))