Skip to content

Commit

Permalink
Web
Browse files Browse the repository at this point in the history
  • Loading branch information
hsjoberg committed Jan 18, 2021
1 parent 871ef39 commit ec89a15
Show file tree
Hide file tree
Showing 143 changed files with 5,542 additions and 615 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ google-services.json
# Lnd binaries
android/lndmobile/Lndmobile.aar
ios/Lndmobile.framework

# Web
dist
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Blixt Lightning Wallet

<a href="https://play.google.com/apps/testing/com.blixtwallet"><img alt="Get it on Google Play" width="200" height="77" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" /></a>
<a href="https://play.google.com/apps/testing/com.blixtwallet"><img alt="Get it on Google Play" width="200" height="77" src="https://blixtwallet.github.io/assets/images/google-play-badge.png" /></a>
<a href="https://testflight.apple.com/join/EXvGhRzS"><img alt="Download on the App Store" style="margin-bottom: 12px;" height="52" src="https://blixtwallet.github.io/assets/images/appstore-badge.svg" /></a>

Blixt Wallet is an open source Lightning Bitcoin Wallet for Android with focus on usability and user experience,
powered by lnd and Neutrino SPV.
Expand Down Expand Up @@ -31,15 +32,23 @@ powered by lnd and Neutrino SPV.
- [ ] URL Payments
- [ ] Pay to Username

## Known Bugs
## Build Steps

The wallet uses lnd that is young and might have bugs. Check [lnd bug list here](https://github.com/lightningnetwork/lnd/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
Blixt targets three platforms right now: Web, Android and iOS.

## Development
The web target is only used for prototyping and is not a real wallet.

Do you like React Native, Java or Lightning? Come and help out!
### Web

## Build Steps
The easiest way to build Blixt is to build the web version, because you only need Node+Yarn installed and you don't have to compile lnd as you would have for the native targets.

The web version is not used as a real wallet and is only used for fast prototyping.
It's useful if you want to make design and GUI changes.

- Install [Node](https://nodejs.org) and [Yarn](https://classic.yarnpkg.com/)
- Install Node packages: `yarn`
- Generate proto files: `yarn gen-proto`
- Start the web server: `yarn web`

### Android

Expand Down
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import "react-native-gesture-handler";

import ReactNative, { AppRegistry, YellowBox, Platform, UIManager } from "react-native";
import React from "react";
import ReactNative, { AppRegistry, YellowBox, Platform, UIManager, Text } from "react-native";
import App from "./src/App";
import {name as appName} from "./app.json";
import Long from "long";
Expand Down
35 changes: 35 additions & 0 deletions index.web.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import 'setimmediate'

import { AppRegistry, YellowBox, Platform, UIManager } from "react-native";
import App from "./src/App";
import AppConfig from "./app.json";
import Long from "long";
import protobuf from "protobufjs";
import { enableES5 } from "immer";

protobuf.util.Long = Long;
protobuf.configure();
enableES5();

YellowBox.ignoreWarnings([
// Workaround until native-base fixes their old
"Warning: component",
// We are putting functions in navigation route props
"Non-serializable values were found in the navigation state",
// Native-base doesn't have useNativeDriver for every animation
"Animated: `useNativeDriver` was not specified"
]);

if (
Platform.OS === "android" &&
UIManager.setLayoutAnimationEnabledExperimental
) {
UIManager.setLayoutAnimationEnabledExperimental(true);
}

AppRegistry.registerComponent(AppConfig.name, () => App);

AppRegistry.runApplication(AppConfig.name, {
initialProps: {},
rootTag: document.getElementById('blixt-web-root'),
})
5 changes: 0 additions & 5 deletions ios/LndMobile/LndMobile.swift
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,6 @@ class LndMobile: RCTEventEmitter {

@objc(initWallet:password:recoveryWindow:channelsBackupBase64:resolver:rejecter:)
func initWallet(_ seed: [AnyHashable], password: String, recoveryWindow: Int, channelsBackupBase64: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
NSLog("seed " + (seed as! [String]).joined())
NSLog("password " + password)
NSLog("recoveryWindow " + String(recoveryWindow))
NSLog("channelsBackupBase64 ", channelsBackupBase64)

self.walletUnlockedResolver = resolve
Lnd.shared.initWallet(
seed as! [String],
Expand Down
8 changes: 4 additions & 4 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ target 'BlixtWallet' do
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
# use_flipper!
# post_install do |installer|
# flipper_post_install(installer)
# end
end

target 'BlixtWallet-tvOS' do
Expand Down
104 changes: 5 additions & 99 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ PODS:
- boost-for-react-native (1.63.0)
- BVLinearGradient (2.5.6):
- React
- CocoaAsyncSocket (7.6.4)
- CocoaLibEvent (1.0.0)
- DoubleConversion (1.1.6)
- FBLazyVector (0.63.4)
- FBReactNativeSpec (0.63.4):
Expand All @@ -13,52 +11,6 @@ PODS:
- React-Core (= 0.63.4)
- React-jsi (= 0.63.4)
- ReactCommon/turbomodule/core (= 0.63.4)
- Flipper (0.54.0):
- Flipper-Folly (~> 2.2)
- Flipper-RSocket (~> 1.1)
- Flipper-DoubleConversion (1.1.7)
- Flipper-Folly (2.3.0):
- boost-for-react-native
- CocoaLibEvent (~> 1.0)
- Flipper-DoubleConversion
- Flipper-Glog
- OpenSSL-Universal (= 1.0.2.20)
- Flipper-Glog (0.3.6)
- Flipper-PeerTalk (0.0.4)
- Flipper-RSocket (1.1.0):
- Flipper-Folly (~> 2.2)
- FlipperKit (0.54.0):
- FlipperKit/Core (= 0.54.0)
- FlipperKit/Core (0.54.0):
- Flipper (~> 0.54.0)
- FlipperKit/CppBridge
- FlipperKit/FBCxxFollyDynamicConvert
- FlipperKit/FBDefines
- FlipperKit/FKPortForwarding
- FlipperKit/CppBridge (0.54.0):
- Flipper (~> 0.54.0)
- FlipperKit/FBCxxFollyDynamicConvert (0.54.0):
- Flipper-Folly (~> 2.2)
- FlipperKit/FBDefines (0.54.0)
- FlipperKit/FKPortForwarding (0.54.0):
- CocoaAsyncSocket (~> 7.6)
- Flipper-PeerTalk (~> 0.0.4)
- FlipperKit/FlipperKitHighlightOverlay (0.54.0)
- FlipperKit/FlipperKitLayoutPlugin (0.54.0):
- FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.54.0)
- FlipperKit/FlipperKitNetworkPlugin (0.54.0):
- FlipperKit/Core
- FlipperKit/FlipperKitReactPlugin (0.54.0):
- FlipperKit/Core
- FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0):
- FlipperKit/Core
- FlipperKit/SKIOSNetworkPlugin (0.54.0):
- FlipperKit/Core
- FlipperKit/FlipperKitNetworkPlugin
- Folly (2020.01.13.00):
- boost-for-react-native
- DoubleConversion
Expand All @@ -69,9 +21,6 @@ PODS:
- DoubleConversion
- glog
- glog (0.3.5)
- OpenSSL-Universal (1.0.2.20):
- OpenSSL-Universal/Static (= 1.0.2.20)
- OpenSSL-Universal/Static (1.0.2.20)
- Permission-LocationWhenInUse (3.0.0):
- RNPermissions
- RCTRequired (0.63.4)
Expand Down Expand Up @@ -250,7 +199,7 @@ PODS:
- React-Core
- react-native-camera/RN (3.40.0):
- React-Core
- react-native-document-picker (4.1.0):
- react-native-document-picker (4.2.0):
- React-Core
- react-native-fingerprint-scanner (6.0.0):
- React
Expand All @@ -264,7 +213,7 @@ PODS:
- React
- react-native-sqlite-storage (5.0.0):
- React
- react-native-webview (10.10.2):
- react-native-webview (11.0.2):
- React-Core
- React-RCTActionSheet (0.63.4):
- React-Core/RCTActionSheetHeaders (= 0.63.4)
Expand Down Expand Up @@ -363,33 +312,12 @@ PODS:
- React
- SwiftProtobuf (1.14.0)
- Yoga (1.14.0)
- YogaKit (1.18.1):
- Yoga (~> 1.14)

DEPENDENCIES:
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
- Flipper (~> 0.54.0)
- Flipper-DoubleConversion (= 1.1.7)
- Flipper-Folly (~> 2.2)
- Flipper-Glog (= 0.3.6)
- Flipper-PeerTalk (~> 0.0.4)
- Flipper-RSocket (~> 1.1)
- FlipperKit (~> 0.54.0)
- FlipperKit/Core (~> 0.54.0)
- FlipperKit/CppBridge (~> 0.54.0)
- FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0)
- FlipperKit/FBDefines (~> 0.54.0)
- FlipperKit/FKPortForwarding (~> 0.54.0)
- FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0)
- FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0)
- FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0)
- FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0)
- FlipperKit/FlipperKitReactPlugin (~> 0.54.0)
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0)
- FlipperKit/SKIOSNetworkPlugin (~> 0.54.0)
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- Permission-LocationWhenInUse (from `../node_modules/react-native-permissions/ios/LocationWhenInUse`)
Expand Down Expand Up @@ -447,18 +375,7 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- boost-for-react-native
- CocoaAsyncSocket
- CocoaLibEvent
- Flipper
- Flipper-DoubleConversion
- Flipper-Folly
- Flipper-Glog
- Flipper-PeerTalk
- Flipper-RSocket
- FlipperKit
- OpenSSL-Universal
- SwiftProtobuf
- YogaKit

EXTERNAL SOURCES:
BVLinearGradient:
Expand Down Expand Up @@ -573,21 +490,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
DoubleConversion: cde416483dac037923206447da6e1454df403714
FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e
FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e
Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
Flipper-Folly: e4493b013c02d9347d5e0cb4d128680239f6c78a
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
OpenSSL-Universal: ff34003318d5e1163e9529b08470708e389ffcdd
Permission-LocationWhenInUse: e2b8c40ce0f3675a521f26787ab47ebb9bace503
RCTRequired: 082f10cd3f905d6c124597fd1c14f6f2655ff65e
RCTTypeSafety: 8c9c544ecbf20337d069e4ae7fd9a377aadf504b
Expand All @@ -601,14 +508,14 @@ SPEC CHECKSUMS:
React-jsinspector: 58aef7155bc9a9683f5b60b35eccea8722a4f53a
react-native-build-config: 1130ad8668ca251b65e95e002b5b8f308a96726f
react-native-camera: 35854c4f764a4a6cf61c1c3525888b92f0fe4b31
react-native-document-picker: d870e0a41510b241d5b764e7a2b5ccf129af7967
react-native-document-picker: 44ecae7103090b6789cca010f06f5205fd1cb66e
react-native-fingerprint-scanner: ac6656f18c8e45a7459302b84da41a44ad96dbbe
react-native-geolocation: c956aeb136625c23e0dce0467664af2c437888c9
react-native-maps: f4b89da81626ad7f151a8bfcb79733295d31ce5c
react-native-safe-area-context: b6e0e284002381d2ff29fa4fff42b4d8282e3c94
react-native-slider: e99fc201cefe81270fc9d81714a7a0f5e566b168
react-native-sqlite-storage: 418ef4afc5e6df6ce3574c4617e5f0b65cffde55
react-native-webview: 0aa2cde4ee7e3e1c5fffdf64dbce9c709aa18155
react-native-webview: dfd7202ff115c44d3ea401c2f36122fb3ac79f07
React-RCTActionSheet: 89a0ca9f4a06c1f93c26067af074ccdce0f40336
React-RCTAnimation: 1bde3ecc0c104c55df246eda516e0deb03c4e49b
React-RCTBlob: a97d378b527740cc667e03ebfa183a75231ab0f0
Expand Down Expand Up @@ -637,8 +544,7 @@ SPEC CHECKSUMS:
RNVectorIcons: bc69e6a278b14842063605de32bec61f0b251a59
SwiftProtobuf: ed465ed18402f998fd117f631da27e0168e6b59c
Yoga: 4bd86afe9883422a7c4028c00e34790f560923d6
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a

PODFILE CHECKSUM: f1501ba21caa69277e0d2541cd1f0d022211f347
PODFILE CHECKSUM: f47bf9e43d9fb8736ce8ee1e59767ced7e04b8c3

COCOAPODS: 1.10.0
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module.exports = {
preset: 'react-native',
moduleFileExtensions: ['android.ts', 'android.tsx', 'ts', 'tsx', 'js', 'jsx', 'json', 'node'],
transformIgnorePatterns: [
"node_modules/(?!react-native|@shoutem|react-clone-referenced-element|native-base-shoutem-theme|react-native-camera|@react-navigation|react-navigation-tabs|react-navigation|@react-native-community\/async-storage|@react-native-community/slider|@codler\/react-native-keyboard-aware-scroll-view)",
"node_modules/(?!react-native|@shoutem|react-clone-referenced-element|native-base-shoutem-theme|react-native-camera|@react-navigation|react-navigation-tabs|react-navigation|@react-native-community\/async-storage|@react-native-community/slider|@codler\/react-native-keyboard-aware-scroll-view|@react-native-community\/picker)",
],
testPathIgnorePatterns: [
"tests/utils.ts",
Expand Down
Loading

0 comments on commit ec89a15

Please sign in to comment.