Skip to content
This repository was archived by the owner on Oct 24, 2022. It is now read-only.

Commit 1490445

Browse files
Merge pull request #15 from synonymdev/backup-options
Backups, example improvements and refactors
2 parents 1ea7e63 + cc914f3 commit 1490445

21 files changed

+990
-259926
lines changed

.gitignore

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
node_modules/
22
.idea/
3-
src/lightning/router.js
4-
src/lightning/autopilot.js
5-
src/lightning/rpc.js
3+
src/rpc.*
4+
src/walletunlocker.*
65
dist/
76
**.DS_Store
87
android/build/

android/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ android {
4949
targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
5050
versionCode 1
5151
versionName "1.0"
52-
multiDexEnabled true
5352
}
5453
lintOptions {
5554
abortOnError false
@@ -75,8 +74,6 @@ dependencies {
7574
//noinspection GradleDynamicVersion
7675
implementation 'com.facebook.react:react-native:+' // From node_modules
7776
compileOnly files('libs/Lndmobile.aar')
78-
implementation 'com.google.protobuf:protobuf-java:3.13.0'
79-
implementation 'com.android.support:multidex:1.0.3'
8077
}
8178

8279
def configureReactNativePom(def pom) {

android/src/main/java/com/reactnativelightning/ReactNativeLightningModule.java

Lines changed: 15 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import java.lang.reflect.InvocationTargetException;
2727
import java.lang.reflect.Method;
2828
import java.util.ArrayList;
29-
import java.util.Arrays;
3029
import java.util.HashMap;
3130
import java.util.List;
3231
import java.util.Map;
@@ -35,11 +34,6 @@
3534
import lndmobile.Lndmobile;
3635
import lndmobile.RecvStream;
3736
import lndmobile.SendStream;
38-
import lnrpc.Walletunlocker;
39-
40-
import com.google.protobuf.ByteString;
41-
import com.google.protobuf.InvalidProtocolBufferException;
42-
import com.google.protobuf.ProtocolStringList;
4337

4438
public class ReactNativeLightningModule extends ReactContextBaseJavaModule {
4539

@@ -222,21 +216,15 @@ public void onResponse(byte[] bytes) {
222216
Log.i(TAG, "Seed generated successfully");
223217
Log.d(TAG, "Seed generated successfully");
224218

225-
try {
226-
ProtocolStringList seed = Walletunlocker.GenSeedResponse.parseFrom(bytes).getCipherSeedMnemonicList();
227-
228-
//Map seed list into a react native string array
229-
WritableArray promiseSeed = Arguments.createArray();
230-
for(int i = 0; i < seed.size(); i++){
231-
promiseSeed.pushString(seed.get(i));
232-
}
233-
234-
promise.resolve(promiseSeed);
235-
} catch (InvalidProtocolBufferException e) {
236-
Log.i(TAG, "Failed to pass genSeed response: " + e.getMessage());
237-
Log.d(TAG, "Failed to pass genSeed response: " + e.getMessage());
238-
promise.reject(e);
219+
String b64 = "";
220+
if (bytes != null && bytes.length > 0) {
221+
b64 = Base64.encodeToString(bytes, Base64.NO_WRAP);
239222
}
223+
224+
WritableMap params = Arguments.createMap();
225+
params.putString(respB64DataKey, b64);
226+
227+
promise.resolve(params);
240228
}
241229
}
242230

@@ -247,12 +235,13 @@ public void run() {
247235
Lndmobile.genSeed(request, new SeedCallback());
248236
}
249237
}
250-
Thread t = new Thread(new GenSeedTask(Walletunlocker.GenSeedRequest.newBuilder().build().toByteArray()));
238+
239+
Thread t = new Thread(new GenSeedTask(new byte[0]));
251240
t.start();
252241
}
253242

254243
@ReactMethod
255-
public void createWallet(String password, ReadableArray seed, final Promise promise) {
244+
public void createWallet(String msg, final Promise promise) {
256245
Log.i("LndNativeModule", "Initializing wallet...");
257246

258247
class InitializeWalletCallback implements Callback {
@@ -271,30 +260,19 @@ public void onResponse(byte[] bytes) {
271260
}
272261
}
273262

274-
//Map a react native ReadableArray to java string array
275-
String[] seedArray = new String[seed.size()];
276-
for (int i = 0; i < seed.size(); i++) {
277-
seedArray[i] = seed.getString(i);
278-
}
279-
280-
//Build init request
281-
Walletunlocker.InitWalletRequest.Builder initRequest = Walletunlocker.InitWalletRequest.newBuilder();
282-
initRequest.setWalletPassword(ByteString.copyFrom(password.getBytes()));
283-
initRequest.addAllCipherSeedMnemonic(Arrays.asList(seedArray));
284-
285263
class InitWalletTask implements Runnable {
286264
byte[] request;
287265
InitWalletTask(byte[] r) { request = r;}
288266
public void run() {
289267
Lndmobile.initWallet(request, new InitializeWalletCallback());
290268
}
291269
}
292-
Thread t = new Thread(new InitWalletTask(initRequest.build().toByteArray()));
270+
Thread t = new Thread(new InitWalletTask(Base64.decode(msg, Base64.NO_WRAP)));
293271
t.start();
294272
}
295273

296274
@ReactMethod
297-
public void unlockWallet(String password, final Promise promise) {
275+
public void unlockWallet(String msg, final Promise promise) {
298276
Log.i("LndNativeModule", "Unlocking wallet...");
299277

300278
class UnlockWalletCallback implements Callback {
@@ -320,18 +298,14 @@ public void onResponse(byte[] bytes) {
320298
}
321299
}
322300

323-
//Build unlock request
324-
Walletunlocker.UnlockWalletRequest.Builder unlockRequest = Walletunlocker.UnlockWalletRequest.newBuilder();
325-
unlockRequest.setWalletPassword(ByteString.copyFrom(password.getBytes()));
326-
327301
class UnlockWalletTask implements Runnable {
328302
byte[] request;
329303
UnlockWalletTask(byte[] r) { request = r;}
330304
public void run() {
331305
Lndmobile.unlockWallet(request, new UnlockWalletCallback());
332306
}
333307
}
334-
Thread t = new Thread(new UnlockWalletTask(unlockRequest.build().toByteArray()));
308+
Thread t = new Thread(new UnlockWalletTask(Base64.decode(msg, Base64.NO_WRAP)));
335309
t.start();
336310
}
337311

@@ -457,10 +431,8 @@ public void onResponse(byte[] bytes) {
457431
}
458432
}
459433

460-
byte[] b = Base64.decode(msg, Base64.NO_WRAP);
461-
462434
try {
463-
m.invoke(null, b, new NativeCallback(promise));
435+
m.invoke(null, Base64.decode(msg, Base64.NO_WRAP), new NativeCallback(promise));
464436

465437
//If LND was stopped reset state
466438
if (method.equals("StopDaemon")) {

0 commit comments

Comments
 (0)