Merge branch 'master' into limpbrains-cc

This commit is contained in:
Ivan Vershigora 2020-10-28 11:55:51 +03:00
commit 357aaee2bb
9 changed files with 154 additions and 104 deletions

View file

@ -27,8 +27,4 @@ jobs:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
MERGE_LABELS: "!work in progress,!WIP,!DO NOT MERGE"
MERGE_FORKS: false
MERGE_RETRIES: 10
MERGE_RETRY_SLEEP: 1800000
MERGE_DELETE_BRANCH: true
UPDATE_RETRIES: 10
UPDATE_RETRY_SLEEP: 1800000

View file

@ -251,13 +251,13 @@ PODS:
- React
- react-native-blur (0.8.0):
- React
- react-native-camera (3.39.1):
- react-native-camera (3.40.0):
- React-Core
- react-native-camera/RCT (= 3.39.1)
- react-native-camera/RN (= 3.39.1)
- react-native-camera/RCT (3.39.1):
- react-native-camera/RCT (= 3.40.0)
- react-native-camera/RN (= 3.40.0)
- react-native-camera/RCT (3.40.0):
- React-Core
- react-native-camera/RN (3.39.1):
- react-native-camera/RN (3.40.0):
- React-Core
- react-native-document-picker (3.5.4):
- React
@ -679,7 +679,7 @@ SPEC CHECKSUMS:
React-jsinspector: 8e68ffbfe23880d3ee9bafa8be2777f60b25cbe2
react-native-blue-crypto: 23f1558ad3d38d7a2edb7e2f6ed1bc520ed93e56
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
react-native-camera: fc1296181b2d393ea698164869070c96d8625129
react-native-camera: 5c1fbfecf63b802b8ca4a71c60d30a71550fb348
react-native-document-picker: c5752781fbc0c126c627c1549b037c139444a4cf
react-native-fingerprint-scanner: c68136ca57e3704d7bdf5faa554ea535ce15b1d0
react-native-geolocation: cbd9d6bd06bac411eed2671810f454d4908484a8

View file

@ -295,6 +295,8 @@
"cpfp_exp": "Wir werden eine andere Transaktion erzeugen, welche deine unbestätigte Transaktion ausgibt. Die gesamten Kosten werden höher als bei der ursprünglichen Transaktion sein, daher sollte sie schneller gemined werden. Dies wird CPFP genannt - Child Pays For Parent.",
"cpfp_no_bump": "Keine TRX-Gebührenerhöhung möglich",
"cpfp_title": "TRX-Gebühr erhöhen (CPFP)",
"details_balance_hide": "Guthaben verbergen",
"details_balance_show": "Guthaben zeigen",
"details_block": "Blockhöhe",
"details_copy": "Kopieren",
"details_from": "Eingehend",

36
package-lock.json generated
View file

@ -5832,18 +5832,18 @@
"integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="
},
"@types/react": {
"version": "16.9.49",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz",
"integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==",
"version": "16.9.53",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.53.tgz",
"integrity": "sha512-4nW60Sd4L7+WMXH1D6jCdVftuW7j4Za6zdp6tJ33Rqv0nk1ZAmQKML9ZLD4H0dehA3FZxXR/GM8gXplf82oNGw==",
"requires": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
"@types/react-native": {
"version": "0.63.19",
"resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.19.tgz",
"integrity": "sha512-iUcejWDCw5gBIezDtSWBpkbB3piIMZau7FAfQqhObCJpCm/7QgVof/aKIP0fCkADYz/qGmIZATMX8kjAS7TVbw==",
"version": "0.63.30",
"resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.30.tgz",
"integrity": "sha512-8/PrOjuUaPTCfMeW12ubseZPUGdbRhxYDa/aT+0D0KWVTe60b4H/gJrcfJmBXC6EcCFcimuTzQCv8/S03slYqA==",
"requires": {
"@types/react": "*"
}
@ -7073,9 +7073,9 @@
"integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU="
},
"bignumber.js": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
"integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A=="
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz",
"integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA=="
},
"binary-extensions": {
"version": "1.13.1",
@ -7101,9 +7101,9 @@
}
},
"bip32": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.5.tgz",
"integrity": "sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g==",
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz",
"integrity": "sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==",
"requires": {
"@types/node": "10.12.18",
"bs58check": "^2.1.1",
@ -8217,9 +8217,9 @@
}
},
"csstype": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz",
"integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag=="
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.4.tgz",
"integrity": "sha512-xc8DUsCLmjvCfoD7LTGE0ou2MIWLx0K9RCZwSHMOdynqRsP4MtUcLeqh1HcQ2dInwDTqn+3CE0/FZh1et+p4jA=="
},
"dashdash": {
"version": "1.14.1",
@ -18024,9 +18024,9 @@
"from": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428"
},
"react-native-elements": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.1.tgz",
"integrity": "sha512-eoEXVbBIvxqh+xuOEyu6EOZTOgBpNEgrZkB39TjApOFiH4fCTyYV9uFZ3nwBsuIpL5H0C3JiVh7MW4jfBkND/g==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz",
"integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==",
"requires": {
"@types/react-native-vector-icons": "^6.4.5",
"color": "^3.1.0",

View file

@ -83,9 +83,9 @@
"bc-bech32": "file:blue_modules/bc-bech32",
"bc-ur": "file:blue_modules/bc-ur",
"bech32": "1.1.4",
"bignumber.js": "9.0.0",
"bignumber.js": "9.0.1",
"bip21": "2.0.3",
"bip32": "2.0.5",
"bip32": "2.0.6",
"bip39": "2.6.0",
"bitcoinjs-lib": "5.2.0",
"bolt11": "1.2.7",
@ -123,7 +123,7 @@
"react-native-default-preference": "1.4.3",
"react-native-device-info": "6.2.0",
"react-native-document-picker": "git+https://github.com/BlueWallet/react-native-document-picker.git#3684d4fcc2bc0b47c32be39024e4796004c3e428",
"react-native-elements": "2.3.1",
"react-native-elements": "2.3.2",
"react-native-fingerprint-scanner": "git+https://github.com/BlueWallet/react-native-fingerprint-scanner.git#ce644673681716335d786727bab998f7e632ab5e",
"react-native-fs": "2.16.6",
"react-native-gesture-handler": "1.8.0",

View file

@ -4,77 +4,21 @@ import { View, TextInput, StyleSheet } from 'react-native';
import { AppStorage } from '../../class';
import AsyncStorage from '@react-native-community/async-storage';
import { ScrollView } from 'react-native-gesture-handler';
import { BlueLoading, BlueSpacing20, BlueButton, SafeBlueArea, BlueCard, BlueText, BlueNavigationStyle } from '../../BlueComponents';
import {
BlueLoading,
BlueSpacing20,
BlueButton,
SafeBlueArea,
BlueCard,
BlueText,
BlueNavigationStyle,
BlueButtonLink,
} from '../../BlueComponents';
import { BlueCurrentTheme } from '../../components/themes';
import PropTypes from 'prop-types';
import loc from '../../loc';
const BlueElectrum = require('../../blue_modules/BlueElectrum');
const styles = StyleSheet.create({
root: {
flex: 1,
},
status: {
textAlign: 'center',
color: BlueCurrentTheme.colors.feeText,
marginBottom: 4,
},
connectWrap: {
width: 'auto',
height: 34,
flexWrap: 'wrap',
justifyContent: 'center',
flexDirection: 'row',
},
container: {
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 16,
paddingRight: 16,
borderRadius: 20,
},
containerConnected: {
backgroundColor: BlueCurrentTheme.colors.feeLabel,
},
containerDisconnected: {
backgroundColor: '#F8D2D2',
},
textConnected: {
color: BlueCurrentTheme.colors.feeValue,
fontWeight: 'bold',
},
textDisconnected: {
color: '#D0021B',
fontWeight: 'bold',
},
hostname: {
textAlign: 'center',
color: BlueCurrentTheme.colors.foregroundColor,
},
explain: {
color: BlueCurrentTheme.colors.feeText,
marginBottom: -24,
},
inputWrap: {
flexDirection: 'row',
borderColor: BlueCurrentTheme.colors.formBorder,
borderBottomColor: BlueCurrentTheme.colors.formBorder,
borderWidth: 1,
borderBottomWidth: 0.5,
backgroundColor: BlueCurrentTheme.colors.inputBackgroundColor,
minHeight: 44,
height: 44,
alignItems: 'center',
borderRadius: 4,
},
inputText: {
flex: 1,
marginHorizontal: 8,
minHeight: 36,
color: '#81868e',
height: 36,
},
});
export default class ElectrumSettings extends Component {
constructor(props) {
super(props);
@ -147,6 +91,23 @@ export default class ElectrumSettings extends Component {
});
};
onBarScanned = value => {
var [host, port, type] = value.split(':');
this.setState({ host: host });
type === 's' ? this.setState({ sslPort: port }) : this.setState({ port: port });
};
importScan = () => {
this.props.navigation.navigate('ScanQRCodeRoot', {
screen: 'ScanQRCode',
params: {
launchedBy: this.props.route.name,
onBarScanned: this.onBarScanned,
showFileImportButton: true,
},
});
};
render() {
return (
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={styles.root}>
@ -211,7 +172,8 @@ export default class ElectrumSettings extends Component {
underlineColorAndroid="transparent"
/>
</View>
<BlueSpacing20 />
<BlueButtonLink title={loc.wallets.import_scan_qr} onPress={this.importScan} />
<BlueSpacing20 />
{this.state.isLoading ? <BlueLoading /> : <BlueButton onPress={this.save} title={loc.settings.save} />}
</BlueCard>
@ -221,7 +183,83 @@ export default class ElectrumSettings extends Component {
}
}
ElectrumSettings.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func,
goBack: PropTypes.func,
}),
route: PropTypes.shape({
name: PropTypes.string,
}),
};
ElectrumSettings.navigationOptions = () => ({
...BlueNavigationStyle(),
title: loc.settings.electrum_settings,
});
const styles = StyleSheet.create({
root: {
flex: 1,
},
status: {
textAlign: 'center',
color: BlueCurrentTheme.colors.feeText,
marginBottom: 4,
},
connectWrap: {
width: 'auto',
height: 34,
flexWrap: 'wrap',
justifyContent: 'center',
flexDirection: 'row',
},
container: {
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 16,
paddingRight: 16,
borderRadius: 20,
},
containerConnected: {
backgroundColor: BlueCurrentTheme.colors.feeLabel,
},
containerDisconnected: {
backgroundColor: '#F8D2D2',
},
textConnected: {
color: BlueCurrentTheme.colors.feeValue,
fontWeight: 'bold',
},
textDisconnected: {
color: '#D0021B',
fontWeight: 'bold',
},
hostname: {
textAlign: 'center',
color: BlueCurrentTheme.colors.foregroundColor,
},
explain: {
color: BlueCurrentTheme.colors.feeText,
marginBottom: -24,
},
inputWrap: {
flexDirection: 'row',
borderColor: BlueCurrentTheme.colors.formBorder,
borderBottomColor: BlueCurrentTheme.colors.formBorder,
borderWidth: 1,
borderBottomWidth: 0.5,
backgroundColor: BlueCurrentTheme.colors.inputBackgroundColor,
minHeight: 44,
height: 44,
alignItems: 'center',
borderRadius: 4,
},
inputText: {
flex: 1,
marginHorizontal: 8,
minHeight: 36,
color: '#81868e',
height: 36,
},
});

View file

@ -2,8 +2,7 @@
import React, { useState, useEffect, useCallback } from 'react';
import { View, TextInput, Linking, StyleSheet } from 'react-native';
import { Button } from 'react-native-elements';
import { useTheme } from '@react-navigation/native';
import { useTheme, useNavigation, useRoute } from '@react-navigation/native';
import { AppStorage } from '../../class';
import AsyncStorage from '@react-native-community/async-storage';
import {
@ -14,6 +13,7 @@ import {
BlueNavigationStyle,
BlueLoadingHook,
BlueTextHooks,
BlueButtonLink,
} from '../../BlueComponents';
import { LightningCustodianWallet } from '../../class/wallets/lightning-custodian-wallet';
import loc from '../../loc';
@ -51,6 +51,8 @@ const LightningSettings = () => {
const [isLoading, setIsLoading] = useState(true);
const [URI, setURI] = useState();
const { colors } = useTheme();
const route = useRoute();
const navigation = useNavigation();
useEffect(() => {
AsyncStorage.getItem(AppStorage.LNDHUB)
@ -79,6 +81,18 @@ const LightningSettings = () => {
setIsLoading(false);
}, [URI]);
const importScan = () => {
navigation.navigate('ScanQRCodeRoot', {
screen: 'ScanQRCode',
params: {
launchedBy: route.name,
onBarScanned: setLndhubURI,
showFileImportButton: true,
},
});
};
return (
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={styles.root}>
<BlueCard>
@ -115,6 +129,7 @@ const LightningSettings = () => {
/>
</View>
<BlueButtonLink title={loc.wallets.import_scan_qr} onPress={importScan} />
<BlueSpacing20 />
{isLoading ? <BlueLoadingHook /> : <BlueButton onPress={save} title={loc.settings.save} />}
</BlueCard>

View file

@ -116,8 +116,7 @@ BuyBitcoin.navigate = async wallet => {
if (Platform.OS === 'ios') {
InAppBrowser.isAvailable()
.then(_value => {
InAppBrowser.close();
InAppBrowser.open(uri, { dismissButtonStyle: 'done' });
InAppBrowser.open(uri, { dismissButtonStyle: 'done', modalEnabled: true, animated: true });
})
.catch(error => {
console.log(error);

View file

@ -339,7 +339,7 @@ const WalletTransactions = () => {
wallet.current.getBalance() > 0 ? (
<TouchableOpacity
onPress={async () => {
Linking.openURL('https://bluewallet.current.io/marketplace/');
Linking.openURL('https://bluewallet.io/marketplace/');
}}
style={[styles.marketplaceButton1, stylesHook.marketplaceButton1]}
>