mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-24 07:28:07 +01:00
Merge branch 'master' into limpbrains-cc
This commit is contained in:
commit
357aaee2bb
9 changed files with 154 additions and 104 deletions
4
.github/workflows/automerge.yml
vendored
4
.github/workflows/automerge.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
36
package-lock.json
generated
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
});
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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]}
|
||||
>
|
||||
|
|
Loading…
Add table
Reference in a new issue