mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-24 07:28:07 +01:00
Merge branch 'master' into renovate/ngraveio-bc-ur-1.x
This commit is contained in:
commit
d7d138dab5
100 changed files with 1332 additions and 841 deletions
43
App.js
43
App.js
|
@ -254,36 +254,23 @@ const App = () => {
|
||||||
BlueClipboard()
|
BlueClipboard()
|
||||||
.getClipboardContent()
|
.getClipboardContent()
|
||||||
.then(clipboard => {
|
.then(clipboard => {
|
||||||
if (Platform.OS === 'ios' || Platform.OS === 'macos') {
|
ActionSheet.showActionSheetWithOptions(
|
||||||
ActionSheet.showActionSheetWithOptions(
|
{
|
||||||
{
|
|
||||||
options: [loc._.cancel, loc._.continue],
|
|
||||||
title: loc._.clipboard,
|
|
||||||
message: contentType === ClipboardContentType.BITCOIN ? loc.wallets.clipboard_bitcoin : loc.wallets.clipboard_lightning,
|
|
||||||
cancelButtonIndex: 0,
|
|
||||||
},
|
|
||||||
buttonIndex => {
|
|
||||||
if (buttonIndex === 1) {
|
|
||||||
handleOpenURL({ url: clipboard });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
ActionSheet.showActionSheetWithOptions({
|
|
||||||
buttons: [
|
|
||||||
{ text: loc._.cancel, style: 'cancel', onPress: () => {} },
|
|
||||||
{
|
|
||||||
text: loc._.continue,
|
|
||||||
style: 'default',
|
|
||||||
onPress: () => {
|
|
||||||
handleOpenURL({ url: clipboard });
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
title: loc._.clipboard,
|
title: loc._.clipboard,
|
||||||
message: contentType === ClipboardContentType.BITCOIN ? loc.wallets.clipboard_bitcoin : loc.wallets.clipboard_lightning,
|
message: contentType === ClipboardContentType.BITCOIN ? loc.wallets.clipboard_bitcoin : loc.wallets.clipboard_lightning,
|
||||||
});
|
options: [loc._.cancel, loc._.continue],
|
||||||
}
|
cancelButtonIndex: 0,
|
||||||
|
},
|
||||||
|
buttonIndex => {
|
||||||
|
switch (buttonIndex) {
|
||||||
|
case 0: // Cancel
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
handleOpenURL({ url: clipboard });
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,6 @@ const createHash = require('create-hash');
|
||||||
let usedBucketNum = false;
|
let usedBucketNum = false;
|
||||||
let savingInProgress = 0; // its both a flag and a counter of attempts to write to disk
|
let savingInProgress = 0; // its both a flag and a counter of attempts to write to disk
|
||||||
const prompt = require('./helpers/prompt');
|
const prompt = require('./helpers/prompt');
|
||||||
const BlueElectrum = require('./blue_modules/BlueElectrum');
|
|
||||||
BlueElectrum.connectMain();
|
|
||||||
|
|
||||||
class AppStorage {
|
class AppStorage {
|
||||||
static FLAG_ENCRYPTED = 'data_encrypted';
|
static FLAG_ENCRYPTED = 'data_encrypted';
|
||||||
|
|
|
@ -36,42 +36,6 @@ if (aspectRatio > 1.6) {
|
||||||
isIpad = true;
|
isIpad = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SecondButton = forwardRef((props, ref) => {
|
|
||||||
const { colors } = useTheme();
|
|
||||||
let backgroundColor = props.backgroundColor ? props.backgroundColor : colors.buttonBlueBackgroundColor;
|
|
||||||
let fontColor = colors.buttonTextColor;
|
|
||||||
if (props.disabled === true) {
|
|
||||||
backgroundColor = colors.buttonDisabledBackgroundColor;
|
|
||||||
fontColor = colors.buttonDisabledTextColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<TouchableOpacity
|
|
||||||
accessibilityRole="button"
|
|
||||||
style={{
|
|
||||||
borderWidth: 0.7,
|
|
||||||
borderColor: 'transparent',
|
|
||||||
backgroundColor,
|
|
||||||
minHeight: 45,
|
|
||||||
height: 45,
|
|
||||||
maxHeight: 45,
|
|
||||||
borderRadius: 25,
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingHorizontal: 16,
|
|
||||||
flexGrow: 1,
|
|
||||||
}}
|
|
||||||
{...props}
|
|
||||||
ref={ref}
|
|
||||||
>
|
|
||||||
<View style={{ flexDirection: 'row', justifyContent: 'center', alignItems: 'center' }}>
|
|
||||||
{props.icon && <Icon name={props.icon.name} type={props.icon.type} color={props.icon.color} />}
|
|
||||||
{props.title && <Text style={{ marginHorizontal: 8, fontSize: 16, color: fontColor }}>{props.title}</Text>}
|
|
||||||
</View>
|
|
||||||
</TouchableOpacity>
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
export const BitcoinButton = props => {
|
export const BitcoinButton = props => {
|
||||||
const { colors } = useTheme();
|
const { colors } = useTheme();
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { DrawerNavigationOptions, createDrawerNavigator } from '@react-navigation/drawer';
|
import { DrawerNavigationOptions, createDrawerNavigator } from '@react-navigation/drawer';
|
||||||
import { NativeStackNavigationOptions, createNativeStackNavigator } from '@react-navigation/native-stack';
|
import { NativeStackNavigationOptions, createNativeStackNavigator } from '@react-navigation/native-stack';
|
||||||
import React, { useMemo } from 'react';
|
import React, { useContext, useMemo } from 'react';
|
||||||
import { Dimensions, I18nManager, Platform, useWindowDimensions } from 'react-native';
|
import { Dimensions, I18nManager, Platform, useWindowDimensions } from 'react-native';
|
||||||
|
|
||||||
import PlausibleDeniability from './screen/PlausibleDeniability';
|
import PlausibleDeniability from './screen/PlausibleDeniability';
|
||||||
|
@ -66,7 +66,7 @@ import PsbtMultisigQRCode from './screen/send/psbtMultisigQRCode';
|
||||||
import PsbtWithHardwareWallet from './screen/send/psbtWithHardwareWallet';
|
import PsbtWithHardwareWallet from './screen/send/psbtWithHardwareWallet';
|
||||||
import Success from './screen/send/success';
|
import Success from './screen/send/success';
|
||||||
|
|
||||||
import UnlockWith from './UnlockWith';
|
import UnlockWith from './screen/UnlockWith';
|
||||||
import { isDesktop, isHandset, isTablet } from './blue_modules/environment';
|
import { isDesktop, isHandset, isTablet } from './blue_modules/environment';
|
||||||
import navigationStyle from './components/navigationStyle';
|
import navigationStyle from './components/navigationStyle';
|
||||||
import { useTheme } from './components/themes';
|
import { useTheme } from './components/themes';
|
||||||
|
@ -83,10 +83,11 @@ import LnurlPay from './screen/lnd/lnurlPay';
|
||||||
import LnurlPaySuccess from './screen/lnd/lnurlPaySuccess';
|
import LnurlPaySuccess from './screen/lnd/lnurlPaySuccess';
|
||||||
import ScanLndInvoice from './screen/lnd/scanLndInvoice';
|
import ScanLndInvoice from './screen/lnd/scanLndInvoice';
|
||||||
import SettingsPrivacy from './screen/settings/SettingsPrivacy';
|
import SettingsPrivacy from './screen/settings/SettingsPrivacy';
|
||||||
import DrawerList from './screen/wallets/drawerList';
|
import DrawerList from './screen/wallets/DrawerList';
|
||||||
import LdkViewLogs from './screen/wallets/ldkViewLogs';
|
import LdkViewLogs from './screen/wallets/ldkViewLogs';
|
||||||
import PaymentCode from './screen/wallets/paymentCode';
|
import PaymentCode from './screen/wallets/paymentCode';
|
||||||
import PaymentCodesList from './screen/wallets/paymentCodesList';
|
import PaymentCodesList from './screen/wallets/paymentCodesList';
|
||||||
|
import { BlueStorageContext } from './blue_modules/storage-context';
|
||||||
|
|
||||||
const WalletsStack = createNativeStackNavigator();
|
const WalletsStack = createNativeStackNavigator();
|
||||||
|
|
||||||
|
@ -359,7 +360,10 @@ const ScanQRCodeRoot = () => (
|
||||||
|
|
||||||
const UnlockWithScreenStack = createNativeStackNavigator();
|
const UnlockWithScreenStack = createNativeStackNavigator();
|
||||||
const UnlockWithScreenRoot = () => (
|
const UnlockWithScreenRoot = () => (
|
||||||
<UnlockWithScreenStack.Navigator id="UnlockWithScreenRoot" screenOptions={{ headerShown: false, statusBarStyle: 'auto' }}>
|
<UnlockWithScreenStack.Navigator
|
||||||
|
id="UnlockWithScreenRoot"
|
||||||
|
screenOptions={{ headerShown: false, statusBarStyle: 'auto', autoHideHomeIndicator: true }}
|
||||||
|
>
|
||||||
<UnlockWithScreenStack.Screen name="UnlockWithScreen" component={UnlockWith} />
|
<UnlockWithScreenStack.Screen name="UnlockWithScreen" component={UnlockWith} />
|
||||||
</UnlockWithScreenStack.Navigator>
|
</UnlockWithScreenStack.Navigator>
|
||||||
);
|
);
|
||||||
|
@ -379,12 +383,17 @@ const ReorderWalletsStackRoot = () => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const DrawerListContent = (props: any) => {
|
||||||
|
return <DrawerList {...props} />;
|
||||||
|
};
|
||||||
|
|
||||||
const Drawer = createDrawerNavigator();
|
const Drawer = createDrawerNavigator();
|
||||||
const DrawerRoot = () => {
|
const DrawerRoot = () => {
|
||||||
const dimensions = useWindowDimensions();
|
const dimensions = useWindowDimensions();
|
||||||
const isLargeScreen = useMemo(() => {
|
const isLargeScreen = useMemo(() => {
|
||||||
return Platform.OS === 'android' ? isTablet() : (dimensions.width >= Dimensions.get('screen').width / 2 && isTablet()) || isDesktop;
|
return Platform.OS === 'android' ? isTablet() : (dimensions.width >= Dimensions.get('screen').width / 2 && isTablet()) || isDesktop;
|
||||||
}, [dimensions.width]);
|
}, [dimensions.width]);
|
||||||
|
|
||||||
const drawerStyle: DrawerNavigationOptions = useMemo(
|
const drawerStyle: DrawerNavigationOptions = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
drawerPosition: I18nManager.isRTL ? 'right' : 'left',
|
drawerPosition: I18nManager.isRTL ? 'right' : 'left',
|
||||||
|
@ -395,7 +404,7 @@ const DrawerRoot = () => {
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Drawer.Navigator screenOptions={drawerStyle} drawerContent={DrawerList}>
|
<Drawer.Navigator screenOptions={drawerStyle} drawerContent={DrawerListContent}>
|
||||||
<Drawer.Screen
|
<Drawer.Screen
|
||||||
name="Navigation"
|
name="Navigation"
|
||||||
component={Navigation}
|
component={Navigation}
|
||||||
|
@ -481,25 +490,22 @@ const LappBrowserStackRoot = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const InitStack = createNativeStackNavigator();
|
const InitStack = createNativeStackNavigator();
|
||||||
const InitRoot = () => (
|
const InitRoot = () => {
|
||||||
<InitStack.Navigator initialRouteName="UnlockWithScreenRoot">
|
const { walletsInitialized } = useContext(BlueStorageContext);
|
||||||
<InitStack.Screen name="UnlockWithScreenRoot" component={UnlockWithScreenRoot} options={{ headerShown: false }} />
|
return (
|
||||||
<InitStack.Screen
|
<InitStack.Navigator initialRouteName="UnlockWithScreenRoot" screenOptions={{ animationTypeForReplace: 'push' }}>
|
||||||
name="ReorderWallets"
|
{!walletsInitialized ? (
|
||||||
component={ReorderWalletsStackRoot}
|
<InitStack.Screen name="UnlockWithScreenRoot" component={UnlockWithScreenRoot} options={{ headerShown: false }} />
|
||||||
options={{
|
) : (
|
||||||
headerShown: false,
|
<InitStack.Screen
|
||||||
gestureEnabled: false,
|
name={isHandset ? 'Navigation' : 'DrawerRoot'}
|
||||||
presentation: 'modal',
|
component={isHandset ? Navigation : DrawerRoot}
|
||||||
}}
|
options={{ headerShown: false }}
|
||||||
/>
|
/>
|
||||||
<InitStack.Screen
|
)}
|
||||||
name={isHandset ? 'Navigation' : 'DrawerRoot'}
|
</InitStack.Navigator>
|
||||||
component={isHandset ? Navigation : DrawerRoot}
|
);
|
||||||
options={{ headerShown: false, animationTypeForReplace: 'push' }}
|
};
|
||||||
/>
|
|
||||||
</InitStack.Navigator>
|
|
||||||
);
|
|
||||||
|
|
||||||
export type ViewEditMultisigCosignersStackParamsList = {
|
export type ViewEditMultisigCosignersStackParamsList = {
|
||||||
ViewEditMultisigCosigners: { walletId: string };
|
ViewEditMultisigCosigners: { walletId: string };
|
||||||
|
@ -594,7 +600,7 @@ const Navigation = () => {
|
||||||
<RootStack.Screen
|
<RootStack.Screen
|
||||||
name="ViewEditMultisigCosignersRoot"
|
name="ViewEditMultisigCosignersRoot"
|
||||||
component={ViewEditMultisigCosignersRoot}
|
component={ViewEditMultisigCosignersRoot}
|
||||||
options={{ ...NavigationDefaultOptions, ...StatusBarLightOptions }}
|
options={{ ...NavigationDefaultOptions, ...StatusBarLightOptions, gestureEnabled: false, fullScreenGestureEnabled: false }}
|
||||||
/>
|
/>
|
||||||
<RootStack.Screen
|
<RootStack.Screen
|
||||||
name="WalletXpubRoot"
|
name="WalletXpubRoot"
|
||||||
|
@ -623,6 +629,15 @@ const Navigation = () => {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<RootStack.Screen name="PaymentCodeRoot" component={PaymentCodeStackRoot} options={NavigationDefaultOptions} />
|
<RootStack.Screen name="PaymentCodeRoot" component={PaymentCodeStackRoot} options={NavigationDefaultOptions} />
|
||||||
|
<InitStack.Screen
|
||||||
|
name="ReorderWallets"
|
||||||
|
component={ReorderWalletsStackRoot}
|
||||||
|
options={{
|
||||||
|
headerShown: false,
|
||||||
|
gestureEnabled: false,
|
||||||
|
presentation: 'modal',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
</RootStack.Navigator>
|
</RootStack.Navigator>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -23,6 +23,6 @@ where `76ed479` is a latest commit in this version. replace the version as well.
|
||||||
* test the build on a real device. We have accounts with browserstack where you can do so.
|
* test the build on a real device. We have accounts with browserstack where you can do so.
|
||||||
* its imperative that you run selftest and it gives you OK. note which build you are testing
|
* its imperative that you run selftest and it gives you OK. note which build you are testing
|
||||||
* go to appcenter.ms, find this exact build under `master` builds, and press `Distribute` -> `Store` -> `Production`.
|
* go to appcenter.ms, find this exact build under `master` builds, and press `Distribute` -> `Store` -> `Production`.
|
||||||
in `Release notes` write the release, this field is to smaller than iOS, so you need to keep it bellow 500 characters.
|
in `Release notes` write the release, this field is smaller than iOS, so you need to keep it bellow 500 characters.
|
||||||
* now just wait till appcenter displays a message that it is succesfully distributed
|
* now just wait till appcenter displays a message that it is successfully distributed
|
||||||
* noice!
|
* noice!
|
||||||
|
|
|
@ -4,7 +4,6 @@ export const startIfNotStarted = jest.fn(async (key, value, callback) => {
|
||||||
return 666;
|
return 666;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
export const get = jest.fn();
|
export const get = jest.fn();
|
||||||
export const post = jest.fn();
|
export const post = jest.fn();
|
||||||
export const deleteMock = jest.fn();
|
export const deleteMock = jest.fn();
|
||||||
|
@ -15,4 +14,4 @@ const mock = jest.fn().mockImplementation(() => {
|
||||||
return { startIfNotStarted, get, post, delete: deleteMock, stopIfRunning, getDaemonStatus };
|
return { startIfNotStarted, get, post, delete: deleteMock, stopIfRunning, getDaemonStatus };
|
||||||
});
|
});
|
||||||
|
|
||||||
export default mock;
|
export default mock;
|
|
@ -79,7 +79,7 @@ android {
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "6.5.8"
|
versionName "6.6.0"
|
||||||
testBuildType System.getProperty('testBuildType', 'debug')
|
testBuildType System.getProperty('testBuildType', 'debug')
|
||||||
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,6 @@ A.ENUM = {
|
||||||
CREATED_WALLET: 'CREATED_WALLET',
|
CREATED_WALLET: 'CREATED_WALLET',
|
||||||
CREATED_LIGHTNING_WALLET: 'CREATED_LIGHTNING_WALLET',
|
CREATED_LIGHTNING_WALLET: 'CREATED_LIGHTNING_WALLET',
|
||||||
APP_UNSUSPENDED: 'APP_UNSUSPENDED',
|
APP_UNSUSPENDED: 'APP_UNSUSPENDED',
|
||||||
NAVIGATED_TO_WALLETS_HODLHODL: 'NAVIGATED_TO_WALLETS_HODLHODL',
|
|
||||||
};
|
};
|
||||||
|
|
||||||
A.setOptOut = value => {
|
A.setOptOut = value => {
|
||||||
|
|
|
@ -5,8 +5,8 @@ import { getApplicationName, getVersion, getSystemName, getSystemVersion, hasGms
|
||||||
import AsyncStorage from '@react-native-async-storage/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
import loc from '../loc';
|
import loc from '../loc';
|
||||||
import { requestNotifications } from 'react-native-permissions';
|
import { requestNotifications } from 'react-native-permissions';
|
||||||
|
import PushNotification from 'react-native-push-notification';
|
||||||
|
|
||||||
const PushNotification = require('react-native-push-notification');
|
|
||||||
const constants = require('./constants');
|
const constants = require('./constants');
|
||||||
const PUSH_TOKEN = 'PUSH_TOKEN';
|
const PUSH_TOKEN = 'PUSH_TOKEN';
|
||||||
const GROUNDCONTROL_BASE_URI = 'GROUNDCONTROL_BASE_URI';
|
const GROUNDCONTROL_BASE_URI = 'GROUNDCONTROL_BASE_URI';
|
||||||
|
@ -245,7 +245,9 @@ function Notifications(props) {
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
Notifications.abandonPermissions();
|
console.log('Abandoning notifications Permissions...');
|
||||||
|
PushNotification.abandonPermissions();
|
||||||
|
console.log('Abandoned notifications Permissions...');
|
||||||
return postCall;
|
return postCall;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -324,6 +326,9 @@ function Notifications(props) {
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
console.log('Abandoning notifications Permissions...');
|
||||||
|
PushNotification.abandonPermissions();
|
||||||
|
console.log('Abandoned notifications Permissions...');
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,12 @@ export const BlueStorageProvider = ({ children }) => {
|
||||||
BlueElectrum.isDisabled().then(setIsElectrumDisabled);
|
BlueElectrum.isDisabled().then(setIsElectrumDisabled);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (walletsInitialized) {
|
||||||
|
BlueElectrum.connectMain();
|
||||||
|
}
|
||||||
|
}, [walletsInitialized]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log(`Privacy blur: ${isPrivacyBlurEnabled}`);
|
console.log(`Privacy blur: ${isPrivacyBlurEnabled}`);
|
||||||
if (!isPrivacyBlurEnabled) {
|
if (!isPrivacyBlurEnabled) {
|
||||||
|
@ -211,15 +217,11 @@ export const BlueStorageProvider = ({ children }) => {
|
||||||
const startAndDecrypt = BlueApp.startAndDecrypt;
|
const startAndDecrypt = BlueApp.startAndDecrypt;
|
||||||
const encryptStorage = BlueApp.encryptStorage;
|
const encryptStorage = BlueApp.encryptStorage;
|
||||||
const sleep = BlueApp.sleep;
|
const sleep = BlueApp.sleep;
|
||||||
const setHodlHodlApiKey = BlueApp.setHodlHodlApiKey;
|
|
||||||
const getHodlHodlApiKey = BlueApp.getHodlHodlApiKey;
|
|
||||||
const createFakeStorage = BlueApp.createFakeStorage;
|
const createFakeStorage = BlueApp.createFakeStorage;
|
||||||
const decryptStorage = BlueApp.decryptStorage;
|
const decryptStorage = BlueApp.decryptStorage;
|
||||||
const isPasswordInUse = BlueApp.isPasswordInUse;
|
const isPasswordInUse = BlueApp.isPasswordInUse;
|
||||||
const cachedPassword = BlueApp.cachedPassword;
|
const cachedPassword = BlueApp.cachedPassword;
|
||||||
const setIsAdvancedModeEnabled = BlueApp.setIsAdvancedModeEnabled;
|
const setIsAdvancedModeEnabled = BlueApp.setIsAdvancedModeEnabled;
|
||||||
const getHodlHodlSignatureKey = BlueApp.getHodlHodlSignatureKey;
|
|
||||||
const addHodlHodlContract = BlueApp.addHodlHodlContract;
|
|
||||||
const setDoNotTrack = BlueApp.setDoNotTrack;
|
const setDoNotTrack = BlueApp.setDoNotTrack;
|
||||||
const isDoNotTrackEnabled = BlueApp.isDoNotTrackEnabled;
|
const isDoNotTrackEnabled = BlueApp.isDoNotTrackEnabled;
|
||||||
const getItem = BlueApp.getItem;
|
const getItem = BlueApp.getItem;
|
||||||
|
@ -247,20 +249,16 @@ export const BlueStorageProvider = ({ children }) => {
|
||||||
fetchWalletTransactions,
|
fetchWalletTransactions,
|
||||||
fetchAndSaveWalletTransactions,
|
fetchAndSaveWalletTransactions,
|
||||||
isStorageEncrypted,
|
isStorageEncrypted,
|
||||||
getHodlHodlSignatureKey,
|
|
||||||
encryptStorage,
|
encryptStorage,
|
||||||
startAndDecrypt,
|
startAndDecrypt,
|
||||||
cachedPassword,
|
cachedPassword,
|
||||||
addHodlHodlContract,
|
|
||||||
getBalance,
|
getBalance,
|
||||||
walletsInitialized,
|
walletsInitialized,
|
||||||
setWalletsInitialized,
|
setWalletsInitialized,
|
||||||
refreshAllWalletTransactions,
|
refreshAllWalletTransactions,
|
||||||
sleep,
|
sleep,
|
||||||
setHodlHodlApiKey,
|
|
||||||
createFakeStorage,
|
createFakeStorage,
|
||||||
resetWallets,
|
resetWallets,
|
||||||
getHodlHodlApiKey,
|
|
||||||
decryptStorage,
|
decryptStorage,
|
||||||
isPasswordInUse,
|
isPasswordInUse,
|
||||||
setIsAdvancedModeEnabled,
|
setIsAdvancedModeEnabled,
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
import { Linking, Alert } from 'react-native';
|
import { Linking, Alert } from 'react-native';
|
||||||
import { getSystemName } from 'react-native-device-info';
|
|
||||||
import loc from '../loc';
|
import loc from '../loc';
|
||||||
|
import { isDesktop } from '../blue_modules/environment';
|
||||||
const isDesktop: boolean = getSystemName() === 'Mac OS X';
|
|
||||||
|
|
||||||
export const openPrivacyDesktopSettings = () => {
|
export const openPrivacyDesktopSettings = () => {
|
||||||
if (isDesktop) {
|
if (isDesktop) {
|
||||||
|
|
|
@ -97,7 +97,7 @@ export class HDSegwitBech32Transaction {
|
||||||
/**
|
/**
|
||||||
* Checks that tx belongs to a wallet and also
|
* Checks that tx belongs to a wallet and also
|
||||||
* tx value is < 0, which means its a spending transaction
|
* tx value is < 0, which means its a spending transaction
|
||||||
* definately initiated by us, can be RBF'ed.
|
* definitely initiated by us, can be RBF'ed.
|
||||||
*
|
*
|
||||||
* @returns {Promise<boolean>}
|
* @returns {Promise<boolean>}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -75,7 +75,7 @@ export default class PayjoinTransaction {
|
||||||
if (result === '') {
|
if (result === '') {
|
||||||
// TODO: Improve the wording of this error message
|
// TODO: Improve the wording of this error message
|
||||||
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
presentAlert({ message: 'Something was wrong with the payjoin transaction, the original transaction sucessfully broadcast.' });
|
presentAlert({ message: 'Something was wrong with the payjoin transaction, the original transaction successfully broadcast.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,10 +167,6 @@ export class AbstractWallet {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
allowHodlHodlTrading(): boolean {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
allowPayJoin(): boolean {
|
allowPayJoin(): boolean {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,10 +175,6 @@ export class HDAezeedWallet extends AbstractHDElectrumWallet {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
allowHodlHodlTrading() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
allowRBF() {
|
allowRBF() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,10 +15,6 @@ export class HDSegwitBech32Wallet extends AbstractHDElectrumWallet {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
allowHodlHodlTrading() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
allowRBF() {
|
allowRBF() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,6 @@ export class HDSegwitP2SHWallet extends AbstractHDElectrumWallet {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
allowHodlHodlTrading() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
allowMasterFingerprint() {
|
allowMasterFingerprint() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,10 +235,6 @@ export class WatchOnlyWallet extends LegacyWallet {
|
||||||
return this.getAddress() === address;
|
return this.getAddress() === address;
|
||||||
}
|
}
|
||||||
|
|
||||||
allowHodlHodlTrading() {
|
|
||||||
return this.isHd();
|
|
||||||
}
|
|
||||||
|
|
||||||
allowMasterFingerprint() {
|
allowMasterFingerprint() {
|
||||||
return this.getSecret().startsWith('zpub');
|
return this.getSecret().startsWith('zpub');
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ interface BottomModalProps {
|
||||||
avoidKeyboard?: boolean;
|
avoidKeyboard?: boolean;
|
||||||
allowBackdropPress?: boolean;
|
allowBackdropPress?: boolean;
|
||||||
isVisible: boolean;
|
isVisible: boolean;
|
||||||
|
coverScreen?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BottomModal: React.FC<BottomModalProps> = ({
|
const BottomModal: React.FC<BottomModalProps> = ({
|
||||||
|
@ -40,6 +41,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
|
||||||
isVisible,
|
isVisible,
|
||||||
avoidKeyboard = false,
|
avoidKeyboard = false,
|
||||||
allowBackdropPress = true,
|
allowBackdropPress = true,
|
||||||
|
coverScreen = true,
|
||||||
...props
|
...props
|
||||||
}) => {
|
}) => {
|
||||||
const { height: valueWindowHeight, width: valueWindowWidth } = useWindowDimensions();
|
const { height: valueWindowHeight, width: valueWindowWidth } = useWindowDimensions();
|
||||||
|
@ -60,6 +62,7 @@ const BottomModal: React.FC<BottomModalProps> = ({
|
||||||
onBackButtonPress={handleBackButtonPress}
|
onBackButtonPress={handleBackButtonPress}
|
||||||
onBackdropPress={handleBackdropPress}
|
onBackdropPress={handleBackdropPress}
|
||||||
isVisible={isVisible}
|
isVisible={isVisible}
|
||||||
|
coverScreen={coverScreen}
|
||||||
{...props}
|
{...props}
|
||||||
accessibilityViewIsModal
|
accessibilityViewIsModal
|
||||||
avoidKeyboard={avoidKeyboard}
|
avoidKeyboard={avoidKeyboard}
|
||||||
|
|
|
@ -60,8 +60,8 @@ const styles = StyleSheet.create({
|
||||||
button: {
|
button: {
|
||||||
borderWidth: 0.7,
|
borderWidth: 0.7,
|
||||||
minHeight: 45,
|
minHeight: 45,
|
||||||
height: 45,
|
height: 48,
|
||||||
maxHeight: 45,
|
maxHeight: 48,
|
||||||
borderRadius: 25,
|
borderRadius: 25,
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
|
@ -76,7 +76,7 @@ const styles = StyleSheet.create({
|
||||||
text: {
|
text: {
|
||||||
marginHorizontal: 8,
|
marginHorizontal: 8,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import React from 'react';
|
import React, { useRef } from 'react';
|
||||||
|
|
||||||
import { View, StyleSheet, Text, TouchableOpacity, ActivityIndicator } from 'react-native';
|
import { View, StyleSheet, Text, TouchableOpacity, ActivityIndicator, findNodeHandle } from 'react-native';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Icon } from 'react-native-elements';
|
import { Icon } from 'react-native-elements';
|
||||||
import { useTheme } from './themes';
|
import { useTheme } from './themes';
|
||||||
|
import ActionSheetOptions from '../screen/ActionSheet.common';
|
||||||
|
import ActionSheet from '../screen/ActionSheet';
|
||||||
export const MultipleStepsListItemDashType = Object.freeze({ none: 0, top: 1, bottom: 2, topAndBottom: 3 });
|
export const MultipleStepsListItemDashType = Object.freeze({ none: 0, top: 1, bottom: 2, topAndBottom: 3 });
|
||||||
export const MultipleStepsListItemButtohType = Object.freeze({ partial: 0, full: 1 });
|
export const MultipleStepsListItemButtohType = Object.freeze({ partial: 0, full: 1 });
|
||||||
|
|
||||||
|
@ -15,6 +17,8 @@ const MultipleStepsListItem = props => {
|
||||||
circledText = '',
|
circledText = '',
|
||||||
leftText = '',
|
leftText = '',
|
||||||
checked = false,
|
checked = false,
|
||||||
|
useActionSheet = false,
|
||||||
|
actionSheetOptions = null, // Default to null or appropriate default
|
||||||
} = props;
|
} = props;
|
||||||
const stylesHook = StyleSheet.create({
|
const stylesHook = StyleSheet.create({
|
||||||
provideKeyButton: {
|
provideKeyButton: {
|
||||||
|
@ -36,6 +40,29 @@ const MultipleStepsListItem = props => {
|
||||||
color: colors.alternativeTextColor,
|
color: colors.alternativeTextColor,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const selfRef = useRef(null); // Create a ref for the component itself
|
||||||
|
|
||||||
|
const handleOnPressForActionSheet = () => {
|
||||||
|
if (useActionSheet && actionSheetOptions) {
|
||||||
|
// Clone options to modify them
|
||||||
|
let modifiedOptions = { ...actionSheetOptions };
|
||||||
|
|
||||||
|
// Use 'selfRef' if the component uses its own ref, or 'ref' if it's using forwarded ref
|
||||||
|
const anchor = findNodeHandle(selfRef.current);
|
||||||
|
|
||||||
|
if (anchor) {
|
||||||
|
// Attach the anchor only if it exists
|
||||||
|
modifiedOptions = { ...modifiedOptions, anchor };
|
||||||
|
}
|
||||||
|
|
||||||
|
ActionSheet.showActionSheetWithOptions(modifiedOptions, buttonIndex => {
|
||||||
|
// Call the original onPress function, if provided, and not cancelled
|
||||||
|
if (buttonIndex !== -1 && props.button.onPress) {
|
||||||
|
props.button.onPress(buttonIndex);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const renderDashes = () => {
|
const renderDashes = () => {
|
||||||
switch (dashes) {
|
switch (dashes) {
|
||||||
|
@ -106,11 +133,12 @@ const MultipleStepsListItem = props => {
|
||||||
{props.button.buttonType === undefined ||
|
{props.button.buttonType === undefined ||
|
||||||
(props.button.buttonType === MultipleStepsListItemButtohType.full && (
|
(props.button.buttonType === MultipleStepsListItemButtohType.full && (
|
||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
|
ref={useActionSheet ? selfRef : null}
|
||||||
testID={props.button.testID}
|
testID={props.button.testID}
|
||||||
accessibilityRole="button"
|
accessibilityRole="button"
|
||||||
disabled={props.button.disabled}
|
disabled={props.button.disabled}
|
||||||
style={[styles.provideKeyButton, stylesHook.provideKeyButton, buttonOpacity]}
|
style={[styles.provideKeyButton, stylesHook.provideKeyButton, buttonOpacity]}
|
||||||
onPress={props.button.onPress}
|
onPress={useActionSheet ? handleOnPressForActionSheet : props.button.onPress}
|
||||||
>
|
>
|
||||||
<Text style={[styles.provideKeyButtonText, stylesHook.provideKeyButtonText]}>{props.button.text}</Text>
|
<Text style={[styles.provideKeyButtonText, stylesHook.provideKeyButtonText]}>{props.button.text}</Text>
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
|
@ -157,6 +185,8 @@ MultipleStepsListItem.propTypes = {
|
||||||
checked: PropTypes.bool,
|
checked: PropTypes.bool,
|
||||||
leftText: PropTypes.string,
|
leftText: PropTypes.string,
|
||||||
showActivityIndicator: PropTypes.bool,
|
showActivityIndicator: PropTypes.bool,
|
||||||
|
useActionSheet: PropTypes.bool,
|
||||||
|
actionSheetOptions: PropTypes.shape(ActionSheetOptions),
|
||||||
dashes: PropTypes.number,
|
dashes: PropTypes.number,
|
||||||
button: PropTypes.shape({
|
button: PropTypes.shape({
|
||||||
text: PropTypes.string,
|
text: PropTypes.string,
|
||||||
|
|
64
components/SecondButton.tsx
Normal file
64
components/SecondButton.tsx
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
import React, { forwardRef } from 'react';
|
||||||
|
import { useTheme } from './themes';
|
||||||
|
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
||||||
|
import { Icon } from 'react-native-elements';
|
||||||
|
|
||||||
|
type IconProps = {
|
||||||
|
name: string;
|
||||||
|
type: string;
|
||||||
|
color: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type SecondButtonProps = {
|
||||||
|
backgroundColor?: string;
|
||||||
|
disabled?: boolean;
|
||||||
|
icon?: IconProps;
|
||||||
|
title?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const SecondButton = forwardRef<TouchableOpacity, SecondButtonProps>((props, ref) => {
|
||||||
|
const { colors } = useTheme();
|
||||||
|
let backgroundColor = props.backgroundColor ? props.backgroundColor : colors.buttonGrayBackgroundColor;
|
||||||
|
let fontColor = colors.secondButtonTextColor;
|
||||||
|
if (props.disabled === true) {
|
||||||
|
backgroundColor = colors.buttonDisabledBackgroundColor;
|
||||||
|
fontColor = colors.buttonDisabledTextColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<TouchableOpacity accessibilityRole="button" style={[styles.button, { backgroundColor }]} {...props} ref={ref}>
|
||||||
|
<View style={styles.view}>
|
||||||
|
{props.icon && <Icon name={props.icon.name} type={props.icon.type} color={props.icon.color} />}
|
||||||
|
{props.title && <Text style={[styles.text, { color: fontColor }]}>{props.title}</Text>}
|
||||||
|
</View>
|
||||||
|
</TouchableOpacity>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
button: {
|
||||||
|
minHeight: 45,
|
||||||
|
height: 48,
|
||||||
|
maxHeight: 48,
|
||||||
|
borderRadius: 7,
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
paddingHorizontal: 16,
|
||||||
|
flexGrow: 1,
|
||||||
|
},
|
||||||
|
content: {
|
||||||
|
flexDirection: 'row',
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
marginHorizontal: 8,
|
||||||
|
fontSize: 16,
|
||||||
|
fontWeight: '600',
|
||||||
|
},
|
||||||
|
view: {
|
||||||
|
flexDirection: 'row',
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
},
|
||||||
|
});
|
|
@ -1,13 +1,13 @@
|
||||||
import React, { useRef, useEffect, forwardRef } from 'react';
|
import React, { useRef, useEffect, forwardRef } from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { TouchableOpacity } from 'react-native';
|
import { Pressable } from 'react-native';
|
||||||
import showPopupMenu from '../blue_modules/showPopupMenu';
|
import showPopupMenu from '../blue_modules/showPopupMenu';
|
||||||
|
|
||||||
const ToolTipMenu = (props, ref) => {
|
const ToolTipMenu = (props, ref) => {
|
||||||
const menuRef = useRef();
|
const menuRef = useRef();
|
||||||
const disabled = props.disabled ?? false;
|
const disabled = props.disabled ?? false;
|
||||||
const isMenuPrimaryAction = props.isMenuPrimaryAction ?? false;
|
const isMenuPrimaryAction = props.isMenuPrimaryAction ?? false;
|
||||||
|
const enableAndroidRipple = props.enableAndroidRipple ?? true;
|
||||||
const buttonStyle = props.buttonStyle ?? {};
|
const buttonStyle = props.buttonStyle ?? {};
|
||||||
const handleToolTipSelection = selection => {
|
const handleToolTipSelection = selection => {
|
||||||
props.onPressMenuItem(selection.id);
|
props.onPressMenuItem(selection.id);
|
||||||
|
@ -39,19 +39,21 @@ const ToolTipMenu = (props, ref) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TouchableOpacity
|
<Pressable
|
||||||
style={buttonStyle}
|
{...(enableAndroidRipple ? { android_ripple: { color: 'lightgrey' } } : {})}
|
||||||
ref={menuRef}
|
ref={menuRef}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
style={buttonStyle}
|
||||||
{...(isMenuPrimaryAction ? { onPress: showMenu } : { onPress: props.onPress, onLongPress: showMenu })}
|
{...(isMenuPrimaryAction ? { onPress: showMenu } : { onPress: props.onPress, onLongPress: showMenu })}
|
||||||
>
|
>
|
||||||
{props.children}
|
{props.children}
|
||||||
</TouchableOpacity>
|
</Pressable>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default forwardRef(ToolTipMenu);
|
export default forwardRef(ToolTipMenu);
|
||||||
ToolTipMenu.propTypes = {
|
ToolTipMenu.propTypes = {
|
||||||
|
enableAndroidRipple: PropTypes.bool,
|
||||||
actions: PropTypes.object.isRequired,
|
actions: PropTypes.object.isRequired,
|
||||||
children: PropTypes.node.isRequired,
|
children: PropTypes.node.isRequired,
|
||||||
onPressMenuItem: PropTypes.func.isRequired,
|
onPressMenuItem: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -55,10 +55,9 @@ const ToolTipMenu = (props, ref) => {
|
||||||
menuTitle,
|
menuTitle,
|
||||||
menuItems,
|
menuItems,
|
||||||
}}
|
}}
|
||||||
style={buttonStyle}
|
|
||||||
>
|
>
|
||||||
{props.onPress ? (
|
{props.onPress ? (
|
||||||
<TouchableOpacity accessibilityRole="button" onPress={props.onPress}>
|
<TouchableOpacity accessibilityRole="button" style={buttonStyle} onPress={props.onPress}>
|
||||||
{props.children}
|
{props.children}
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
) : (
|
) : (
|
||||||
|
|
|
@ -166,6 +166,7 @@ const TransactionsNavigationHeader: React.FC<TransactionsNavigationHeaderProps>
|
||||||
{wallet.getLabel()}
|
{wallet.getLabel()}
|
||||||
</Text>
|
</Text>
|
||||||
<ToolTipMenu
|
<ToolTipMenu
|
||||||
|
enableAndroidRipple={false}
|
||||||
onPress={changeWalletBalanceUnit}
|
onPress={changeWalletBalanceUnit}
|
||||||
ref={menuRef}
|
ref={menuRef}
|
||||||
title={`${loc.wallets.balance} (${
|
title={`${loc.wallets.balance} (${
|
||||||
|
|
|
@ -14,6 +14,7 @@ export const BlueDefaultTheme = {
|
||||||
borderTopColor: 'rgba(0, 0, 0, 0.1)',
|
borderTopColor: 'rgba(0, 0, 0, 0.1)',
|
||||||
buttonBackgroundColor: '#ccddf9',
|
buttonBackgroundColor: '#ccddf9',
|
||||||
buttonTextColor: '#0c2550',
|
buttonTextColor: '#0c2550',
|
||||||
|
secondButtonTextColor: '#50555C',
|
||||||
buttonAlternativeTextColor: '#2f5fb3',
|
buttonAlternativeTextColor: '#2f5fb3',
|
||||||
buttonDisabledBackgroundColor: '#eef0f4',
|
buttonDisabledBackgroundColor: '#eef0f4',
|
||||||
buttonDisabledTextColor: '#9aa0aa',
|
buttonDisabledTextColor: '#9aa0aa',
|
||||||
|
@ -22,6 +23,7 @@ export const BlueDefaultTheme = {
|
||||||
alternativeTextColor: '#9aa0aa',
|
alternativeTextColor: '#9aa0aa',
|
||||||
alternativeTextColor2: '#0f5cc0',
|
alternativeTextColor2: '#0f5cc0',
|
||||||
buttonBlueBackgroundColor: '#ccddf9',
|
buttonBlueBackgroundColor: '#ccddf9',
|
||||||
|
buttonGrayBackgroundColor: '#EEEEEE',
|
||||||
incomingBackgroundColor: '#d2f8d6',
|
incomingBackgroundColor: '#d2f8d6',
|
||||||
incomingForegroundColor: '#37c0a1',
|
incomingForegroundColor: '#37c0a1',
|
||||||
outgoingBackgroundColor: '#f8d2d2',
|
outgoingBackgroundColor: '#f8d2d2',
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2 KiB |
|
@ -83,8 +83,8 @@
|
||||||
B4A29A322B55C990002A67DF /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B468CC34D5B41F3950078EF /* libsqlite3.0.tbd */; };
|
B4A29A322B55C990002A67DF /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B468CC34D5B41F3950078EF /* libsqlite3.0.tbd */; };
|
||||||
B4A29A352B55C990002A67DF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6DF25A9E249DB97E001D06F5 /* LaunchScreen.storyboard */; };
|
B4A29A352B55C990002A67DF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6DF25A9E249DB97E001D06F5 /* LaunchScreen.storyboard */; };
|
||||||
B4A29A372B55C990002A67DF /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
B4A29A372B55C990002A67DF /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||||
B4A29A3A2B55C990002A67DF /* BlueWalletWatch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = B40D4E30225841EC00428FCC /* BlueWalletWatch.app */; };
|
B4A29A3A2B55C990002A67DF /* BlueWalletWatch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = B40D4E30225841EC00428FCC /* BlueWalletWatch.app */; platformFilter = ios; };
|
||||||
B4A29A3C2B55C990002A67DF /* Stickers.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 6D2A6461258BA92C0092292B /* Stickers.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
B4A29A3C2B55C990002A67DF /* Stickers.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 6D2A6461258BA92C0092292B /* Stickers.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
B4A29A3D2B55C990002A67DF /* WidgetsExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 6DD4109C266CADF10087DE03 /* WidgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
B4A29A3D2B55C990002A67DF /* WidgetsExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 6DD4109C266CADF10087DE03 /* WidgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
B4AB21072B61D8CA0080440C /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4AB21062B61D8CA0080440C /* SplashScreen.swift */; };
|
B4AB21072B61D8CA0080440C /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4AB21062B61D8CA0080440C /* SplashScreen.swift */; };
|
||||||
B4AB21092B61DC3F0080440C /* SplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = B4AB21082B61DC3F0080440C /* SplashScreen.m */; };
|
B4AB21092B61DC3F0080440C /* SplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = B4AB21082B61DC3F0080440C /* SplashScreen.m */; };
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
B4AB225E2B02AD12001F4328 /* XMLParserDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4AB225C2B02AD12001F4328 /* XMLParserDelegate.swift */; };
|
B4AB225E2B02AD12001F4328 /* XMLParserDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4AB225C2B02AD12001F4328 /* XMLParserDelegate.swift */; };
|
||||||
B4EE583C226703320003363C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B40D4E35225841ED00428FCC /* Assets.xcassets */; };
|
B4EE583C226703320003363C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B40D4E35225841ED00428FCC /* Assets.xcassets */; };
|
||||||
C59F90CE0D04D3E4BB39BC5D /* libPods-BlueWalletUITests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F02C2F7CA3591E4E0B06EBA /* libPods-BlueWalletUITests.a */; };
|
C59F90CE0D04D3E4BB39BC5D /* libPods-BlueWalletUITests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F02C2F7CA3591E4E0B06EBA /* libPods-BlueWalletUITests.a */; };
|
||||||
C978A716948AB7DEC5B6F677 /* (null) in Frameworks */ = {isa = PBXBuildFile; };
|
C978A716948AB7DEC5B6F677 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
|
||||||
E5D4794B26781FC0007838C1 /* fiatUnits.json in Resources */ = {isa = PBXBuildFile; fileRef = 6DD410AD266CAF1F0087DE03 /* fiatUnits.json */; };
|
E5D4794B26781FC0007838C1 /* fiatUnits.json in Resources */ = {isa = PBXBuildFile; fileRef = 6DD410AD266CAF1F0087DE03 /* fiatUnits.json */; };
|
||||||
E5D4794C26781FC1007838C1 /* fiatUnits.json in Resources */ = {isa = PBXBuildFile; fileRef = 6DD410AD266CAF1F0087DE03 /* fiatUnits.json */; };
|
E5D4794C26781FC1007838C1 /* fiatUnits.json in Resources */ = {isa = PBXBuildFile; fileRef = 6DD410AD266CAF1F0087DE03 /* fiatUnits.json */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
@ -407,7 +407,7 @@
|
||||||
files = (
|
files = (
|
||||||
782F075B5DD048449E2DECE9 /* libz.tbd in Frameworks */,
|
782F075B5DD048449E2DECE9 /* libz.tbd in Frameworks */,
|
||||||
764B49B1420D4AEB8109BF62 /* libsqlite3.0.tbd in Frameworks */,
|
764B49B1420D4AEB8109BF62 /* libsqlite3.0.tbd in Frameworks */,
|
||||||
C978A716948AB7DEC5B6F677 /* (null) in Frameworks */,
|
C978A716948AB7DEC5B6F677 /* BuildFile in Frameworks */,
|
||||||
773E382FE62E836172AAB98B /* libPods-BlueWallet.a in Frameworks */,
|
773E382FE62E836172AAB98B /* libPods-BlueWallet.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -1031,7 +1031,7 @@
|
||||||
);
|
);
|
||||||
mainGroup = 83CBB9F61A601CBA00E9B192;
|
mainGroup = 83CBB9F61A601CBA00E9B192;
|
||||||
packageReferences = (
|
packageReferences = (
|
||||||
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */,
|
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode.git" */,
|
||||||
B41B76832B66B2FF002C48D5 /* XCRemoteSwiftPackageReference "bugsnag-cocoa" */,
|
B41B76832B66B2FF002C48D5 /* XCRemoteSwiftPackageReference "bugsnag-cocoa" */,
|
||||||
);
|
);
|
||||||
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
|
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
|
||||||
|
@ -1536,6 +1536,7 @@
|
||||||
};
|
};
|
||||||
B4A29A222B55C990002A67DF /* PBXTargetDependency */ = {
|
B4A29A222B55C990002A67DF /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
|
platformFilter = ios;
|
||||||
target = B40D4E2F225841EC00428FCC /* BlueWalletWatch */;
|
target = B40D4E2F225841EC00428FCC /* BlueWalletWatch */;
|
||||||
targetProxy = B4A29A232B55C990002A67DF /* PBXContainerItemProxy */;
|
targetProxy = B4A29A232B55C990002A67DF /* PBXContainerItemProxy */;
|
||||||
};
|
};
|
||||||
|
@ -1545,6 +1546,7 @@
|
||||||
};
|
};
|
||||||
B4A29A262B55C990002A67DF /* PBXTargetDependency */ = {
|
B4A29A262B55C990002A67DF /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
|
platformFilter = ios;
|
||||||
target = 6D2A6460258BA92C0092292B /* Stickers */;
|
target = 6D2A6460258BA92C0092292B /* Stickers */;
|
||||||
targetProxy = B4A29A272B55C990002A67DF /* PBXContainerItemProxy */;
|
targetProxy = B4A29A272B55C990002A67DF /* PBXContainerItemProxy */;
|
||||||
};
|
};
|
||||||
|
@ -1600,7 +1602,7 @@
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = A7W54YZ4WU;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = A7W54YZ4WU;
|
||||||
|
@ -1625,7 +1627,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1660,7 +1662,7 @@
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = A7W54YZ4WU;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = A7W54YZ4WU;
|
||||||
|
@ -1680,7 +1682,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1712,12 +1714,11 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1730,14 +1731,14 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.Stickers;
|
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.Stickers;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development io.bluewallet.bluewallet.Stickers";
|
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore io.bluewallet.bluewallet.Stickers";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
SUPPORTS_MACCATALYST = NO;
|
SUPPORTS_MACCATALYST = NO;
|
||||||
|
@ -1755,13 +1756,12 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1774,7 +1774,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.Stickers;
|
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.Stickers;
|
||||||
|
@ -1799,14 +1799,13 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_ENTITLEMENTS = WidgetsExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = WidgetsExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1825,7 +1824,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
|
@ -1855,7 +1854,6 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_ENTITLEMENTS = WidgetsExtension.entitlements;
|
CODE_SIGN_ENTITLEMENTS = WidgetsExtension.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
@ -1863,7 +1861,7 @@
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -1882,7 +1880,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.MarketWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.MarketWidget;
|
||||||
|
@ -2035,7 +2033,7 @@
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -2052,7 +2050,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
|
@ -2085,7 +2083,7 @@
|
||||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Distribution";
|
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -2102,7 +2100,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.watch.extension;
|
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.watch.extension;
|
||||||
|
@ -2134,7 +2132,7 @@
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -2147,7 +2145,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
|
@ -2182,7 +2180,7 @@
|
||||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Distribution";
|
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "iPhone Distribution";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
|
@ -2195,7 +2193,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.watch;
|
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.watch;
|
||||||
|
@ -2223,11 +2221,10 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||||
|
@ -2274,12 +2271,11 @@
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 1703112830;
|
CURRENT_PROJECT_VERSION = 1703112840;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||||
|
@ -2318,7 +2314,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = BlueWallet/BlueWallet.entitlements;
|
CODE_SIGN_ENTITLEMENTS = BlueWallet/BlueWallet.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -2342,7 +2338,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -2372,7 +2368,7 @@
|
||||||
CODE_SIGN_ENTITLEMENTS = BlueWallet/BlueWalletRelease.entitlements;
|
CODE_SIGN_ENTITLEMENTS = BlueWallet/BlueWalletRelease.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1703115000;
|
CURRENT_PROJECT_VERSION = 1703116000;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -2391,7 +2387,7 @@
|
||||||
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
"$(SDKROOT)/System/iOSSupport/usr/lib/swift",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 6.5.8;
|
MARKETING_VERSION = 6.6.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -2489,7 +2485,7 @@
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
/* Begin XCRemoteSwiftPackageReference section */
|
/* Begin XCRemoteSwiftPackageReference section */
|
||||||
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */ = {
|
6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode.git" */ = {
|
||||||
isa = XCRemoteSwiftPackageReference;
|
isa = XCRemoteSwiftPackageReference;
|
||||||
repositoryURL = "https://github.com/EFPrefix/EFQRCode.git";
|
repositoryURL = "https://github.com/EFPrefix/EFQRCode.git";
|
||||||
requirement = {
|
requirement = {
|
||||||
|
@ -2510,7 +2506,7 @@
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
6DFC806F24EA0B6C007B8700 /* EFQRCode */ = {
|
6DFC806F24EA0B6C007B8700 /* EFQRCode */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
package = 6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode" */;
|
package = 6DFC806E24EA0B6C007B8700 /* XCRemoteSwiftPackageReference "EFQRCode.git" */;
|
||||||
productName = EFQRCode;
|
productName = EFQRCode;
|
||||||
};
|
};
|
||||||
B41B76842B66B2FF002C48D5 /* Bugsnag */ = {
|
B41B76842B66B2FF002C48D5 /* Bugsnag */ = {
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
shouldAutocreateTestPlan = "YES">
|
shouldAutocreateTestPlan = "YES">
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
launchStyle = "0"
|
launchStyle = "0"
|
||||||
|
|
|
@ -20,7 +20,17 @@
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// Set the appType based on the current platform
|
||||||
|
#if TARGET_OS_MACCATALYST
|
||||||
|
BugsnagConfiguration *config = [BugsnagConfiguration loadConfig];
|
||||||
|
config.appType = @"macOS";
|
||||||
|
// Start Bugsnag with the configuration
|
||||||
|
[Bugsnag startWithConfiguration:config];
|
||||||
|
#else
|
||||||
[Bugsnag start];
|
[Bugsnag start];
|
||||||
|
#endif
|
||||||
|
|
||||||
[self copyDeviceUID];
|
[self copyDeviceUID];
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] addObserver:self
|
[[NSUserDefaults standardUserDefaults] addObserver:self
|
||||||
|
@ -134,8 +144,10 @@
|
||||||
[builder removeMenuForIdentifier:UIMenuToolbar];
|
[builder removeMenuForIdentifier:UIMenuToolbar];
|
||||||
|
|
||||||
// File -> Add Wallet (Command + A)
|
// File -> Add Wallet (Command + A)
|
||||||
UIKeyCommand *addWalletCommand = [UIKeyCommand keyCommandWithInput:@"A" modifierFlags:UIKeyModifierCommand action:@selector(addWalletAction:)];
|
UIKeyCommand *addWalletCommand = [UIKeyCommand keyCommandWithInput:@"A"
|
||||||
[addWalletCommand setTitle:@"Add Wallet"];
|
modifierFlags:UIKeyModifierCommand | UIKeyModifierShift
|
||||||
|
action:@selector(addWalletAction:)];
|
||||||
|
[addWalletCommand setTitle:@"Add Wallet"];
|
||||||
|
|
||||||
// File -> Import Wallet
|
// File -> Import Wallet
|
||||||
UIKeyCommand *importWalletCommand = [UIKeyCommand keyCommandWithInput:@"I" modifierFlags:UIKeyModifierCommand action:@selector(importWalletAction:)];
|
UIKeyCommand *importWalletCommand = [UIKeyCommand keyCommandWithInput:@"I" modifierFlags:UIKeyModifierCommand action:@selector(importWalletAction:)];
|
||||||
|
|
|
@ -77,9 +77,6 @@ post_install do |installer|
|
||||||
installer,
|
installer,
|
||||||
:mac_catalyst_enabled => true
|
:mac_catalyst_enabled => true
|
||||||
)
|
)
|
||||||
|
|
||||||
pod 'Bugsnag'
|
|
||||||
plugin 'cocoapods-bugsnag'
|
|
||||||
installer.pods_project.targets.each do |target|
|
installer.pods_project.targets.each do |target|
|
||||||
target.build_configurations.each do |config|
|
target.build_configurations.each do |config|
|
||||||
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
PODS:
|
PODS:
|
||||||
- boost (1.76.0)
|
- boost (1.76.0)
|
||||||
- BugsnagReactNative (7.22.5):
|
- BugsnagReactNative (7.22.6):
|
||||||
- React-Core
|
- React-Core
|
||||||
- BVLinearGradient (2.8.3):
|
- BVLinearGradient (2.8.3):
|
||||||
- React-Core
|
- React-Core
|
||||||
|
@ -21,8 +21,8 @@ PODS:
|
||||||
- hermes-engine/Pre-built (0.72.11)
|
- hermes-engine/Pre-built (0.72.11)
|
||||||
- libevent (2.1.12)
|
- libevent (2.1.12)
|
||||||
- lottie-ios (4.4.1)
|
- lottie-ios (4.4.1)
|
||||||
- lottie-react-native (6.6.0):
|
- lottie-react-native (6.7.0):
|
||||||
- lottie-ios (~> 4.4.0)
|
- lottie-ios (~> 4.4.1)
|
||||||
- React-Core
|
- React-Core
|
||||||
- PasscodeAuth (1.0.0):
|
- PasscodeAuth (1.0.0):
|
||||||
- React
|
- React
|
||||||
|
@ -336,7 +336,7 @@ PODS:
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-idle-timer (2.1.6):
|
- react-native-idle-timer (2.1.6):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-image-picker (7.1.0):
|
- react-native-image-picker (7.1.1):
|
||||||
- RCT-Folly (= 2021.07.22.00)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-ios-context-menu (1.15.3):
|
- react-native-ios-context-menu (1.15.3):
|
||||||
|
@ -469,7 +469,7 @@ PODS:
|
||||||
- React-perflogger (= 0.72.11)
|
- React-perflogger (= 0.72.11)
|
||||||
- ReactNativeCameraKit (13.0.0):
|
- ReactNativeCameraKit (13.0.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RealmJS (12.6.0):
|
- RealmJS (12.6.2):
|
||||||
- React
|
- React
|
||||||
- rn-ldk (0.8.4):
|
- rn-ldk (0.8.4):
|
||||||
- React-Core
|
- React-Core
|
||||||
|
@ -504,7 +504,7 @@ PODS:
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNReactNativeHapticFeedback (2.2.0):
|
- RNReactNativeHapticFeedback (2.2.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNReanimated (3.7.2):
|
- RNReanimated (3.8.0):
|
||||||
- RCT-Folly (= 2021.07.22.00)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core
|
- React-Core
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
|
@ -525,7 +525,6 @@ PODS:
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||||
- Bugsnag
|
|
||||||
- "BugsnagReactNative (from `../node_modules/@bugsnag/react-native`)"
|
- "BugsnagReactNative (from `../node_modules/@bugsnag/react-native`)"
|
||||||
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
|
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
|
||||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
|
@ -783,7 +782,7 @@ EXTERNAL SOURCES:
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
|
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
|
||||||
BugsnagReactNative: 2f3550f37f30b9701e3517bf17743b676b5a2fb1
|
BugsnagReactNative: 366a7e11c0bcf34842e54f40b15dd937cb267aa7
|
||||||
BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3
|
BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3
|
||||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||||
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
|
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
|
||||||
|
@ -794,7 +793,7 @@ SPEC CHECKSUMS:
|
||||||
hermes-engine: c22b4cc0bb1d1603b9e4faf83732be227baa55bc
|
hermes-engine: c22b4cc0bb1d1603b9e4faf83732be227baa55bc
|
||||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
||||||
lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494
|
lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494
|
||||||
lottie-react-native: 00ac19344296ae018260aabd14d6b36dd816b0e2
|
lottie-react-native: e3205322282d72e23efb3bff3287d0bd16fb1b01
|
||||||
PasscodeAuth: 3e88093ff46c31a952d8b36c488240de980517be
|
PasscodeAuth: 3e88093ff46c31a952d8b36c488240de980517be
|
||||||
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
|
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
|
||||||
RCTRequired: 4a524af1769a10608bf423aa8c0804b10f84aec8
|
RCTRequired: 4a524af1769a10608bf423aa8c0804b10f84aec8
|
||||||
|
@ -816,7 +815,7 @@ SPEC CHECKSUMS:
|
||||||
react-native-bw-file-access: b232fd1d902521ca046f3fc5990ab1465e1878d7
|
react-native-bw-file-access: b232fd1d902521ca046f3fc5990ab1465e1878d7
|
||||||
react-native-document-picker: 3599b238843369026201d2ef466df53f77ae0452
|
react-native-document-picker: 3599b238843369026201d2ef466df53f77ae0452
|
||||||
react-native-idle-timer: f7f651542b39dce9b9473e4578cb64a255075f17
|
react-native-idle-timer: f7f651542b39dce9b9473e4578cb64a255075f17
|
||||||
react-native-image-picker: 5e076db26cd81660cfb6db5bcf517cfa12054d45
|
react-native-image-picker: 76bf9cf742bebbaac4ee4c0385be374c034a556c
|
||||||
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
|
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
|
||||||
react-native-qrcode-local-image: 35ccb306e4265bc5545f813e54cc830b5d75bcfc
|
react-native-qrcode-local-image: 35ccb306e4265bc5545f813e54cc830b5d75bcfc
|
||||||
react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846
|
react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846
|
||||||
|
@ -843,7 +842,7 @@ SPEC CHECKSUMS:
|
||||||
React-utils: cc09672a1517d768cfc545f245c78a1cae87fd49
|
React-utils: cc09672a1517d768cfc545f245c78a1cae87fd49
|
||||||
ReactCommon: cadee954951b13f7550766c0074dd38af2da3575
|
ReactCommon: cadee954951b13f7550766c0074dd38af2da3575
|
||||||
ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb
|
ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb
|
||||||
RealmJS: a62dc7a1f94b888fe9e8712cd650167ad97dc636
|
RealmJS: 385df5ee940d96f1de26b1dab153e325633d3052
|
||||||
rn-ldk: 0d8749d98cc5ce67302a32831818c116b67f7643
|
rn-ldk: 0d8749d98cc5ce67302a32831818c116b67f7643
|
||||||
RNCAsyncStorage: 10591b9e0a91eaffee14e69b3721009759235125
|
RNCAsyncStorage: 10591b9e0a91eaffee14e69b3721009759235125
|
||||||
RNCClipboard: 60fed4b71560d7bfe40e9d35dea9762b024da86d
|
RNCClipboard: 60fed4b71560d7bfe40e9d35dea9762b024da86d
|
||||||
|
@ -860,7 +859,7 @@ SPEC CHECKSUMS:
|
||||||
RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93
|
RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93
|
||||||
RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a
|
RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a
|
||||||
RNReactNativeHapticFeedback: ec56a5f81c3941206fd85625fa669ffc7b4545f9
|
RNReactNativeHapticFeedback: ec56a5f81c3941206fd85625fa669ffc7b4545f9
|
||||||
RNReanimated: ab1295f59541cb26000d394b4b4aea72cb7ca448
|
RNReanimated: 5afba582037b0dae040a5f927dec7fdd18e430c3
|
||||||
RNScreens: 3c5b9f4a9dcde752466854b6109b79c0e205dad3
|
RNScreens: 3c5b9f4a9dcde752466854b6109b79c0e205dad3
|
||||||
RNShare: 859ff710211285676b0bcedd156c12437ea1d564
|
RNShare: 859ff710211285676b0bcedd156c12437ea1d564
|
||||||
RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396
|
RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396
|
||||||
|
@ -869,6 +868,6 @@ SPEC CHECKSUMS:
|
||||||
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
|
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
|
||||||
Yoga: 76b2d5677fc9694bae53c80d0cccfc55719064a3
|
Yoga: 76b2d5677fc9694bae53c80d0cccfc55719064a3
|
||||||
|
|
||||||
PODFILE CHECKSUM: e0fda52578c203cfa975067c3570c97082471d84
|
PODFILE CHECKSUM: d43800c8d806b1d14ba325886c4b71fff2938408
|
||||||
|
|
||||||
COCOAPODS: 1.14.3
|
COCOAPODS: 1.14.3
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
"seed": "عبارة الاسترداد",
|
"seed": "عبارة الاسترداد",
|
||||||
"success": "نجاح",
|
"success": "نجاح",
|
||||||
"wallet_key": "مفتاح المحفظة",
|
"wallet_key": "مفتاح المحفظة",
|
||||||
"file_saved": "تم حفظ الملف {filePath} في {destination}.",
|
|
||||||
"downloads_folder": "مجلد التنزيلات",
|
|
||||||
"close": "اغلاق",
|
"close": "اغلاق",
|
||||||
"change_input_currency": "تغيير عملة الادخال",
|
"change_input_currency": "تغيير عملة الادخال",
|
||||||
"refresh": "تحديث",
|
"refresh": "تحديث",
|
||||||
|
@ -431,7 +429,6 @@
|
||||||
"no_ln_wallet_error": "قبل دفع البرقية، يجب عليك أولاً إضافة محفظة برق.",
|
"no_ln_wallet_error": "قبل دفع البرقية، يجب عليك أولاً إضافة محفظة برق.",
|
||||||
"looks_like_bip38": "يبدوا ان هذا مفتاح خاص محمي بكلمة مرور (BIP38).",
|
"looks_like_bip38": "يبدوا ان هذا مفتاح خاص محمي بكلمة مرور (BIP38).",
|
||||||
"reorder_title": "إعادة ترتيب المحافظ",
|
"reorder_title": "إعادة ترتيب المحافظ",
|
||||||
"reorder_instructions": "اضغط باستمرار على اي محفظة لتحريكها عبر القائمة",
|
|
||||||
"please_continue_scanning": "الرجاء متابعة الفحص.",
|
"please_continue_scanning": "الرجاء متابعة الفحص.",
|
||||||
"select_no_bitcoin": "لا توجد محافظ بتكوين متاحة حاليًا.",
|
"select_no_bitcoin": "لا توجد محافظ بتكوين متاحة حاليًا.",
|
||||||
"select_no_bitcoin_exp": "تحتاج إلى محفظة بتكوين لإعادة تعبئة محافظ البرق. يُرجى إنشاء محفظة أو استيراد واحدة.",
|
"select_no_bitcoin_exp": "تحتاج إلى محفظة بتكوين لإعادة تعبئة محافظ البرق. يُرجى إنشاء محفظة أو استيراد واحدة.",
|
||||||
|
|
|
@ -14,10 +14,7 @@
|
||||||
"save": "Захаваць",
|
"save": "Захаваць",
|
||||||
"seed": "Семя",
|
"seed": "Семя",
|
||||||
"success": "Посьпех",
|
"success": "Посьпех",
|
||||||
"wallet_key": "Ключ ад кашалька",
|
"wallet_key": "Ключ ад кашалька"
|
||||||
"invalid_animated_qr_code_fragment": "Несапраўдны фрагмент аніміраванага QR-коду. Калі ласка, паспрабуйце яшчэ раз.",
|
|
||||||
"file_saved": "Файл {filePath} быў захаваны ў вашым месцы {destination}.",
|
|
||||||
"downloads_folder": "Папка Запамповак"
|
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Папярэджанне"
|
"default": "Папярэджанне"
|
||||||
|
@ -46,7 +43,6 @@
|
||||||
"no_channels": "Няма каналаў",
|
"no_channels": "Няма каналаў",
|
||||||
"close_channel": "Зачыніць канал",
|
"close_channel": "Зачыніць канал",
|
||||||
"new_channel": "Новы канал",
|
"new_channel": "Новы канал",
|
||||||
"errorInvoiceExpired": "Тэрмін дзеяння рахункі скончыўся",
|
|
||||||
"expired": "Скончыўся",
|
"expired": "Скончыўся",
|
||||||
"open_channel": "Адкрыць Канал"
|
"open_channel": "Адкрыць Канал"
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,9 +13,7 @@
|
||||||
"save": "Запази",
|
"save": "Запази",
|
||||||
"seed": "Сиид",
|
"seed": "Сиид",
|
||||||
"success": "Успех",
|
"success": "Успех",
|
||||||
"wallet_key": "Парола на портфейла",
|
"wallet_key": "Парола на портфейла"
|
||||||
"file_saved": "Файлът {filePath} беше запазен в {destination}.",
|
|
||||||
"downloads_folder": "Папка с изтегляния"
|
|
||||||
},
|
},
|
||||||
"azteco": {
|
"azteco": {
|
||||||
"codeIs": "Цода на вашият ваучър е",
|
"codeIs": "Цода на вашият ваучър е",
|
||||||
|
|
108
loc/bqi.json
108
loc/bqi.json
|
@ -2,8 +2,10 @@
|
||||||
"_": {
|
"_": {
|
||||||
"bad_password": "رزم زبال نؽ. زه نۊ تفره کو.",
|
"bad_password": "رزم زبال نؽ. زه نۊ تفره کو.",
|
||||||
"cancel": "لقو",
|
"cancel": "لقو",
|
||||||
|
"continue": "ادامه",
|
||||||
"clipboard": "ویرگه",
|
"clipboard": "ویرگه",
|
||||||
"enter_password": "رزمته بزن",
|
"enter_password": "رزمته بزن",
|
||||||
|
"of": "{number} زه {total}",
|
||||||
"ok": "هری",
|
"ok": "هری",
|
||||||
"yes": "هری",
|
"yes": "هری",
|
||||||
"no": "نه",
|
"no": "نه",
|
||||||
|
@ -11,22 +13,29 @@
|
||||||
"success": "سر ٱنجوم گرهڌ",
|
"success": "سر ٱنجوم گرهڌ",
|
||||||
"wallet_key": "کیلیت کیف پیل",
|
"wallet_key": "کیلیت کیف پیل",
|
||||||
"close": "بستن",
|
"close": "بستن",
|
||||||
|
"change_input_currency": "آلشتکاری ارز وۊرۊڌی",
|
||||||
"refresh": "وانۊ کردن",
|
"refresh": "وانۊ کردن",
|
||||||
"more": "بیشتر",
|
"more": "بیشتر",
|
||||||
"pick_image": "پسند شؽوات ز شؽوات مال",
|
"pick_image": "پسند شؽوات ز شؽوات مال",
|
||||||
"pick_file": "پسند فایل"
|
"pick_file": "پسند فایل",
|
||||||
|
"enter_amount": "مقدار نه بزن",
|
||||||
|
"qr_custom_input_button": "سی زیڌن وۊرۊڌی سفارشی، 10 کرت ریس بزن"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "هوشتار"
|
"default": "هوشتار"
|
||||||
},
|
},
|
||||||
"azteco": {
|
"azteco": {
|
||||||
|
"codeIs": "کوڌ تخفیف ایسا",
|
||||||
"redeem": "ازاف کردن وه کیف پیل",
|
"redeem": "ازاف کردن وه کیف پیل",
|
||||||
"success": "سر ٱنجوم گرهڌ"
|
"success": "سر ٱنجوم گرهڌ"
|
||||||
},
|
},
|
||||||
"entropy": {
|
"entropy": {
|
||||||
"save": "زفت کردن"
|
"save": "زفت کردن",
|
||||||
|
"title": "آنتروپی",
|
||||||
|
"undo": "وورگشتن به هالت پؽشی"
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
|
"broadcast": "انتشار ٱنجوم نوابی.",
|
||||||
"error": "ختا",
|
"error": "ختا",
|
||||||
"network": "ختا شبکه"
|
"network": "ختا شبکه"
|
||||||
},
|
},
|
||||||
|
@ -35,16 +44,25 @@
|
||||||
"inactive": "قیر فعال",
|
"inactive": "قیر فعال",
|
||||||
"channels": "تورگیل",
|
"channels": "تورگیل",
|
||||||
"no_channels": "بؽ تورگه",
|
"no_channels": "بؽ تورگه",
|
||||||
|
"claim_balance": "تسویه مۉجۊڌی {balance}",
|
||||||
"close_channel": "بستن تورگه",
|
"close_channel": "بستن تورگه",
|
||||||
"new_channel": "تورگه نۊ",
|
"new_channel": "تورگه نۊ",
|
||||||
|
"errorInvoiceExpired": "سۊرت هساو مونقزی وابیڌه.",
|
||||||
"force_close_channel": "بستن اجباری تورگه؟",
|
"force_close_channel": "بستن اجباری تورگه؟",
|
||||||
|
"expired": "مونقزی وابیڌه",
|
||||||
|
"node_alias": "نوم موستعار گره",
|
||||||
|
"payButton": "پرداخت",
|
||||||
|
"payment": "پرداخت",
|
||||||
"placeholder": "سۊرت هساو یا آدرس",
|
"placeholder": "سۊرت هساو یا آدرس",
|
||||||
"open_channel": "گۊشیڌن تورگه",
|
"open_channel": "گۊشیڌن تورگه",
|
||||||
"are_you_sure_open_channel": "زه گۊشیڌن ای تورگه اتمینۉ داری؟",
|
"are_you_sure_open_channel": "زه گۊشیڌن ای تورگه اتمینۉ داری؟",
|
||||||
"potentialFee": "کارمزد ائتمالی: {fee}",
|
"potentialFee": "کارمزد ائتمالی: {fee}",
|
||||||
|
"remote_host": "میزبۉ ره دیر",
|
||||||
"refill": "پور کردن",
|
"refill": "پور کردن",
|
||||||
|
"reconnect_peer": "منپیز دوارته به همتا",
|
||||||
|
"refill_create": "سی ادامه، یه کیف پیل بیت کوین سی پور کردن وورکل کۊنین.",
|
||||||
"refill_external": "پور کردن وا کیف پیل خارجی",
|
"refill_external": "پور کردن وا کیف پیل خارجی",
|
||||||
"refill_lnd_balance": "پور کردن موجۊڌی کیف پیل لایتنینگ",
|
"refill_lnd_balance": "پور کردن مۉجۊڌی کیف پیل لایتنینگ",
|
||||||
"title": "دؽوۉداری دارایی",
|
"title": "دؽوۉداری دارایی",
|
||||||
"can_send": "تره فشنه",
|
"can_send": "تره فشنه",
|
||||||
"can_receive": "تره گره",
|
"can_receive": "تره گره",
|
||||||
|
@ -54,45 +72,76 @@
|
||||||
"additional_info": "دۉسمندیا بیشتر",
|
"additional_info": "دۉسمندیا بیشتر",
|
||||||
"for": "سی:",
|
"for": "سی:",
|
||||||
"lightning_invoice": "سۊرت هساو لایتنینگ",
|
"lightning_invoice": "سۊرت هساو لایتنینگ",
|
||||||
"open_direct_channel": "تورگه موستقیمی وا ای گره واز کو:"
|
"open_direct_channel": "تورگه موستقیمی وا ای گره بوگوش:",
|
||||||
|
"sats": "ساتۊشی پرداخت کو.",
|
||||||
|
"wasnt_paid_and_expired": "ای سۊرت هساو پرداخت نوابیڌه ۉ مونقزی وابیڌه."
|
||||||
},
|
},
|
||||||
"plausibledeniability": {
|
"plausibledeniability": {
|
||||||
|
"create_fake_storage": "وورکل جاگه رزم ناڌه وابیڌه سی زفت کردن",
|
||||||
|
"create_password": "یه رزم وورکل کۊنین",
|
||||||
|
"password_should_not_match": "رزم هونی به کار اروه. یه رزم دیری نه به کار بگر.",
|
||||||
|
"passwords_do_not_match": "رزمات جۊر یک نؽڌن، زه نۊ امتهانسۉ کو.",
|
||||||
"retype_password": "رزمنه زه نۊ هؽل کو",
|
"retype_password": "رزمنه زه نۊ هؽل کو",
|
||||||
"success": "سر ٱنجوم گرهڌ"
|
"success": "سر ٱنجوم گرهڌ"
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ok": "خا، هو ناْ هؽل کردوم.",
|
"ask_no": "نه، مو نڌاروم.",
|
||||||
"ok_lnd": "خا، هونه زفت کردوم."
|
"ask_yes": "هری، مو داروم.",
|
||||||
|
"ok": "خا، هو نه هؽل کردوم.",
|
||||||
|
"ok_lnd": "خا، هونه زفت کردوم.",
|
||||||
|
"title": "کیف پیل ایسا وورکل وابی."
|
||||||
},
|
},
|
||||||
"receive": {
|
"receive": {
|
||||||
"details_create": "ورکل",
|
"details_create": "وورکل",
|
||||||
|
"details_setAmount": "گرؽڌن وا مقدار",
|
||||||
"details_share": "یک رسۊوی",
|
"details_share": "یک رسۊوی",
|
||||||
"header": "گرؽڌن"
|
"header": "گرؽڌن",
|
||||||
|
"maxSats": "بیشترین مقدار {max} ساتۊشی هڌ.",
|
||||||
|
"maxSatsFull": "بیشترین مقدار {max} ساتۊشی یا {currency} هڌ.",
|
||||||
|
"minSats": "کمترین مقدار {min} ساتۊشی هڌ.",
|
||||||
|
"minSatsFull": "کمترین مقدار {min} ساتۊشی یا {currency} هڌ."
|
||||||
},
|
},
|
||||||
"send": {
|
"send": {
|
||||||
|
"broadcastButton": "انتشار",
|
||||||
"broadcastError": "ختا",
|
"broadcastError": "ختا",
|
||||||
|
"broadcastNone": "هگزادسیمال تراکونش نه بزن",
|
||||||
"broadcastPending": "مندیر سی زفت",
|
"broadcastPending": "مندیر سی زفت",
|
||||||
"broadcastSuccess": "سر ٱنجوم گرهڌ",
|
"broadcastSuccess": "سر ٱنجوم گرهڌ",
|
||||||
|
"confirm_header": "تاییڌ",
|
||||||
"confirm_sendNow": "هیم سکو بفشن",
|
"confirm_sendNow": "هیم سکو بفشن",
|
||||||
|
"create_amount": "مقدار",
|
||||||
|
"create_broadcast": "انتشار",
|
||||||
|
"create_copy": "لف گیری وو دیندا مونتشر کو",
|
||||||
"create_fee": "کارمزد",
|
"create_fee": "کارمزد",
|
||||||
"create_memo": "ویرداشت",
|
"create_memo": "ویرداشت",
|
||||||
|
"create_satoshi_per_vbyte": "ساتۊشی سی هر بایت مجازی",
|
||||||
"create_to": "وه",
|
"create_to": "وه",
|
||||||
"create_tx_size": "هندا تراکونش",
|
"create_tx_size": "هندا تراکونش",
|
||||||
"details_address": "آدرس",
|
"details_address": "آدرس",
|
||||||
"details_adv_full": "زه پوی موجۊڌی استفاڌه کو",
|
"details_adv_full": "زه پوی مۉجۊڌی استفاڌه کو",
|
||||||
"details_adv_full_sure": "اخۊی زه پوی موجۊڌی کیف پیلت سی ای تراکونش استفاڌه کۊنی؟",
|
"details_adv_full_sure": "اخۊی زه پوی مۉجۊڌی کیف پیلت سی ای تراکونش استفاڌه کۊنی؟",
|
||||||
"details_create": "ورکل سۊرت هساو",
|
"details_amount_field_is_not_valid": " مقدار زبال نؽ.",
|
||||||
|
"details_amount_field_is_less_than_minimum_amount_sat": "مقدارؽ که زیڌیه قلوه کم هڌ. مقدار نه وا بیشتر زه 500 ساتۊشی زنی.",
|
||||||
|
"details_create": "وورکل سۊرت هساو",
|
||||||
|
"details_error_decode": "نا مۉفق منه گۊشیڌن رزم آدرس بیت کوین",
|
||||||
|
"details_fee_field_is_not_valid": "کارمزد زبال نؽ.",
|
||||||
|
"details_next": "نیایی",
|
||||||
"details_note_placeholder": "ویرداشت به خوت",
|
"details_note_placeholder": "ویرداشت به خوت",
|
||||||
"details_scan": "اسکن",
|
"details_scan": "اسکن",
|
||||||
"details_scan_hint": "سی اسکن یا به من اوردن مقسد، دو کرت بزن ریس",
|
"details_scan_hint": "سی اسکن یا به من اوردن مقسد، دو کرت بزن ریس",
|
||||||
"details_unrecognized_file_format": "قالو فایل نشناخته",
|
"details_unrecognized_file_format": "قالو فایل نشناخته",
|
||||||
"dynamic_init": "هونی رئس اونه",
|
"dynamic_init": "هونی رئس اونه",
|
||||||
|
"dynamic_next": "نیایی",
|
||||||
|
"dynamic_prev": "دیندایی",
|
||||||
"dynamic_stop": "واڌاشتن",
|
"dynamic_stop": "واڌاشتن",
|
||||||
"fee_10m": "10 دؽقه",
|
"fee_10m": "10 دؽقه",
|
||||||
"fee_1d": "1 رۊز",
|
"fee_1d": "1 رۊز",
|
||||||
"fee_3h": "3 ساعت",
|
"fee_3h": "3 ساعت",
|
||||||
"fee_custom": "سفارشی",
|
"fee_custom": "سفارشی",
|
||||||
"fee_fast": "زل",
|
"fee_fast": "زل",
|
||||||
|
"fee_medium": "منجا",
|
||||||
|
"fee_slow": "کوند",
|
||||||
|
"header": "فشناڌن",
|
||||||
"input_clear": "روفتن",
|
"input_clear": "روفتن",
|
||||||
"input_done": "ٱنجوم وابی",
|
"input_done": "ٱنجوم وابی",
|
||||||
"input_paste": "جا وندن",
|
"input_paste": "جا وندن",
|
||||||
|
@ -100,24 +149,31 @@
|
||||||
"psbt_sign": "امزا کردن تراکونش",
|
"psbt_sign": "امزا کردن تراکونش",
|
||||||
"open_settings": "گۊشیڌن سامووا",
|
"open_settings": "گۊشیڌن سامووا",
|
||||||
"permission_storage_later": "دینداتر زوم بپورس.",
|
"permission_storage_later": "دینداتر زوم بپورس.",
|
||||||
|
"permission_storage_title": "موجوز دسرسی به جاگه زفت کردن",
|
||||||
"psbt_clipboard": "لف گیری منه ویرگه",
|
"psbt_clipboard": "لف گیری منه ویرگه",
|
||||||
|
"psbt_tx_export": "گرؽڌن جۊر فایل",
|
||||||
"psbt_tx_open": "گۊشیڌن تراکونش امزا وابیڌه",
|
"psbt_tx_open": "گۊشیڌن تراکونش امزا وابیڌه",
|
||||||
|
"psbt_tx_scan": "اسکن تراکونش امزا وابیڌه",
|
||||||
|
"reset_amount": "وورنشۊوی مقدار",
|
||||||
|
"reset_amount_confirm": "اخۊی مقدار نه وورنشۊوی؟",
|
||||||
"success_done": "ٱنجوم وابی"
|
"success_done": "ٱنجوم وابی"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"about": "زبار",
|
"about": "زبار",
|
||||||
"about_awesome": "ورکل وابیڌه وا بؽڌرینا",
|
"about_awesome": "ورکل وابیڌه وا بؽڌرینا",
|
||||||
|
"about_backup": "همیشه زه کیلیتا خوتۉ نوخسه لادرار بگیرین!",
|
||||||
"about_license": "پروانه ام آی تی",
|
"about_license": "پروانه ام آی تی",
|
||||||
"about_release_notes": "ویرداشتا انتشار",
|
"about_release_notes": "ویرداشتا انتشار",
|
||||||
"about_review": "سی ایما یه واجۊری بنین",
|
"about_review": "سی ایما یه واجۊری بنین",
|
||||||
"performance_score": "امتیاز کارکرد: {num}",
|
"performance_score": "امتیاز کارکرد: {num}",
|
||||||
"run_performance_test": "واجۊری کارکرد",
|
"run_performance_test": "واجۊری کارکرد",
|
||||||
"about_selftest": "ره وندن خوس آزمایی",
|
"about_selftest": "ره وندن خوس آزمایی",
|
||||||
"about_selftest_electrum_disabled": "خوس آزمایی منه هالت آفلاین منه دسرس نؽ. هالت آفلاین نه قیر فعال کو و زه نۊ تفره کو.",
|
"about_selftest_electrum_disabled": "خوس آزمایی منه هالت آفلاین منه دسرس نؽ. هالت آفلاین نه قیر فعال کو ۉ زه نۊ تفره کو.",
|
||||||
|
"about_selftest_ok": "پوی واجۊریا منی به خۊوی ٱنجوم وابین. کیف پیل به خۊوی کار اکونه.",
|
||||||
"about_sm_github": "گیت هاب",
|
"about_sm_github": "گیت هاب",
|
||||||
"about_sm_discord": "سرور دیسکورد",
|
"about_sm_discord": "سرور دیسکورد",
|
||||||
"about_sm_telegram": "تورگه تلگرام",
|
"about_sm_telegram": "تورگه تلگرام",
|
||||||
"about_sm_twitter": "ایما نه منه توییتر وه دین کنین",
|
"about_sm_twitter": "ایما نه منه توییتر وه دین کۊنین",
|
||||||
"advanced_options": "گۊزینیل پؽش رئڌه",
|
"advanced_options": "گۊزینیل پؽش رئڌه",
|
||||||
"biometrics": "بیومتریک",
|
"biometrics": "بیومتریک",
|
||||||
"biom_conf_identity": "هۊویته خوته تاییڌ کو.",
|
"biom_conf_identity": "هۊویته خوته تاییڌ کو.",
|
||||||
|
@ -126,11 +182,17 @@
|
||||||
"currency_fetch_error": "منه گرؽڌن نرخ سی واهڌ پیل پسند بیڌه یه ختا پؽش اووڌ.",
|
"currency_fetch_error": "منه گرؽڌن نرخ سی واهڌ پیل پسند بیڌه یه ختا پؽش اووڌ.",
|
||||||
"default_info": "دۉسمندیا پؽش فرز",
|
"default_info": "دۉسمندیا پؽش فرز",
|
||||||
"default_title": "موقه ره وندن",
|
"default_title": "موقه ره وندن",
|
||||||
|
"default_wallets": "نیشتن پوی کیفا پیل",
|
||||||
"electrum_connected": "منپیز",
|
"electrum_connected": "منپیز",
|
||||||
"electrum_connected_not": "بؽ منپیز",
|
"electrum_connected_not": "بؽ منپیز",
|
||||||
|
"lndhub_uri": "سی نمووه، {example}",
|
||||||
|
"electrum_host": "سی نمووه، {example}",
|
||||||
"electrum_offline_mode": "هالت آفلاین",
|
"electrum_offline_mode": "هالت آفلاین",
|
||||||
"use_ssl": "SSL نه به کار بگر",
|
"use_ssl": "SSL نه به کار بگر",
|
||||||
|
"set_electrum_server_as_default": "{server} سی سرور پؽش فرز الکترام ساموو بۊوه؟",
|
||||||
|
"set_lndhub_as_default": "{server} سی سرور پؽش فرز LNDHub ساموو بۊوه؟",
|
||||||
"electrum_settings_server": "سرور الکترام",
|
"electrum_settings_server": "سرور الکترام",
|
||||||
|
"electrum_settings_explain": "سی استفاڌه زه سامووا پؽش فرز، بؽلین پتی بمهنه.",
|
||||||
"electrum_status": "وزیت",
|
"electrum_status": "وزیت",
|
||||||
"electrum_clear_alert_title": "ویرگار پاک بۊ؟",
|
"electrum_clear_alert_title": "ویرگار پاک بۊ؟",
|
||||||
"electrum_clear_alert_message": "اخۊی ویرگار سرورا الکترام نه پاک کۊنی؟",
|
"electrum_clear_alert_message": "اخۊی ویرگار سرورا الکترام نه پاک کۊنی؟",
|
||||||
|
@ -138,11 +200,14 @@
|
||||||
"electrum_clear_alert_ok": "هری",
|
"electrum_clear_alert_ok": "هری",
|
||||||
"electrum_select": "پسند",
|
"electrum_select": "پسند",
|
||||||
"electrum_reset": "ورگندن به پؽش فرز",
|
"electrum_reset": "ورگندن به پؽش فرز",
|
||||||
|
"electrum_unable_to_connect": "نا مۉفق منه منپیز به {server}",
|
||||||
"electrum_history": "ویرگار سرور",
|
"electrum_history": "ویرگار سرور",
|
||||||
|
"electrum_reset_to_default": "الن اخۊی سامووا الکترام نه به هالت پؽش فرز وورنشۊوی کۊنی؟",
|
||||||
"electrum_clear": "روفتن",
|
"electrum_clear": "روفتن",
|
||||||
|
"encrypt_decrypt": "رزم گوشایی جاگه زفت کردن",
|
||||||
"encrypt_title": "امنیت",
|
"encrypt_title": "امنیت",
|
||||||
"encrypt_use": "{type} نه وه کار بگر",
|
"encrypt_use": "{type} نه به کار بگر",
|
||||||
"general": "پوی ولاتی",
|
"general": "پوی وولاتی",
|
||||||
"general_adv_mode": "هالت پؽش رئڌه",
|
"general_adv_mode": "هالت پؽش رئڌه",
|
||||||
"header": "سامووا",
|
"header": "سامووا",
|
||||||
"language": "زۉ",
|
"language": "زۉ",
|
||||||
|
@ -165,22 +230,25 @@
|
||||||
"ask_me_later": "دینداتر زوم بپورس."
|
"ask_me_later": "دینداتر زوم بپورس."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"copy_link": "لف گیری لینک",
|
"copy_link": "لف گیری لینگ",
|
||||||
"cpfp_create": "ورکل",
|
"cpfp_create": "وورکل",
|
||||||
"details_copy": "لف گیری",
|
"details_copy": "لف گیری",
|
||||||
"date": "ویرگار",
|
"date": "ویرگار",
|
||||||
"details_received": "گرؽڌه وابیڌه",
|
"details_received": "گرؽڌه وابیڌه",
|
||||||
"pending": "مندیر سی زفت"
|
"pending": "مندیر سی زفت",
|
||||||
|
"open_url_error": "نا مۉفق منه گۊشیڌن لینگ وا مۊرۊرگر پؽش فرز. مۊرۊرگر پؽش فرز خوته آلشت کو ۉ زه نۊ تفره کو."
|
||||||
},
|
},
|
||||||
"wallets": {
|
"wallets": {
|
||||||
"add_bitcoin": "بیت کوین",
|
"add_bitcoin": "بیت کوین",
|
||||||
"add_create": "ورکل",
|
"add_create": "وورکل",
|
||||||
"details_address": "آدرس",
|
"details_address": "آدرس",
|
||||||
"details_save": "زفت کردن"
|
"details_save": "زفت کردن"
|
||||||
},
|
},
|
||||||
"multisig": {
|
"multisig": {
|
||||||
|
"confirm": "تاییڌ",
|
||||||
|
"header": "فشناڌن",
|
||||||
"share": "یک رسۊوی",
|
"share": "یک رسۊوی",
|
||||||
"create": "ورکل",
|
"create": "وورکل",
|
||||||
"co_sign_transaction": "امزا کردن تراکونش",
|
"co_sign_transaction": "امزا کردن تراکونش",
|
||||||
"ms_help_title5": "هالت پؽش رئڌه"
|
"ms_help_title5": "هالت پؽش رئڌه"
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
"seed": "Llavor",
|
"seed": "Llavor",
|
||||||
"success": "Èxit",
|
"success": "Èxit",
|
||||||
"wallet_key": "Clau del moneder",
|
"wallet_key": "Clau del moneder",
|
||||||
"file_saved": "Fitxer {filePath} s'ha guardat al teu {destination}.",
|
|
||||||
"downloads_folder": "Carpeta de descàrregues",
|
|
||||||
"close": "Tancar",
|
"close": "Tancar",
|
||||||
"change_input_currency": "Canviar moneda d'entrada",
|
"change_input_currency": "Canviar moneda d'entrada",
|
||||||
"refresh": "Refresca",
|
"refresh": "Refresca",
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"seed": "Seed",
|
"seed": "Seed",
|
||||||
"success": "Úspěch",
|
"success": "Úspěch",
|
||||||
"wallet_key": "Klíč peněženky",
|
"wallet_key": "Klíč peněženky",
|
||||||
|
"invalid_animated_qr_code_fragment": "Neplatný animovaný fragment QRCode, zkuste to prosím znovu.",
|
||||||
"close": "Zavřít",
|
"close": "Zavřít",
|
||||||
"change_input_currency": "Změnit vstupní měnu",
|
"change_input_currency": "Změnit vstupní měnu",
|
||||||
"refresh": "Obnovit",
|
"refresh": "Obnovit",
|
||||||
|
@ -54,6 +55,7 @@
|
||||||
"claim_balance": "Požadovat zůstatek {balance}",
|
"claim_balance": "Požadovat zůstatek {balance}",
|
||||||
"close_channel": "Zavřít kanál",
|
"close_channel": "Zavřít kanál",
|
||||||
"new_channel": "Nový kanál",
|
"new_channel": "Nový kanál",
|
||||||
|
"errorInvoiceExpired": "Faktura vypršela.",
|
||||||
"force_close_channel": "Vynutit uzavření kanálu?",
|
"force_close_channel": "Vynutit uzavření kanálu?",
|
||||||
"expired": "Expirováno",
|
"expired": "Expirováno",
|
||||||
"node_alias": "Alias uzlu",
|
"node_alias": "Alias uzlu",
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
"payButton": "Zaplatit",
|
"payButton": "Zaplatit",
|
||||||
"placeholder": "Faktura nebo adresa",
|
"placeholder": "Faktura nebo adresa",
|
||||||
"open_channel": "Otevřít kanál",
|
"open_channel": "Otevřít kanál",
|
||||||
|
"funding_amount_placeholder": "Výše financování, např. 0.001",
|
||||||
"opening_channnel_for_from": "Otevření kanálu pro peněženku {forWalletLabel}, financováním z {fromWalletLabel}",
|
"opening_channnel_for_from": "Otevření kanálu pro peněženku {forWalletLabel}, financováním z {fromWalletLabel}",
|
||||||
"are_you_sure_open_channel": "Jste si jisti, že chcete tento kanál otevřít?",
|
"are_you_sure_open_channel": "Jste si jisti, že chcete tento kanál otevřít?",
|
||||||
"potentialFee": "Potenciální poplatek: {fee}",
|
"potentialFee": "Potenciální poplatek: {fee}",
|
||||||
|
@ -83,6 +86,7 @@
|
||||||
"open_direct_channel": "Otevřít přímý kanál s tímto uzlem:",
|
"open_direct_channel": "Otevřít přímý kanál s tímto uzlem:",
|
||||||
"please_pay_between_and": "Zaplaťte prosím mezi {min} a {max}.",
|
"please_pay_between_and": "Zaplaťte prosím mezi {min} a {max}.",
|
||||||
"please_pay": "Prosím zaplaťte",
|
"please_pay": "Prosím zaplaťte",
|
||||||
|
"preimage": "Předobraz",
|
||||||
"sats": "sats.",
|
"sats": "sats.",
|
||||||
"wasnt_paid_and_expired": "Tato faktura nebyla zaplacena a její platnost vypršela."
|
"wasnt_paid_and_expired": "Tato faktura nebyla zaplacena a její platnost vypršela."
|
||||||
},
|
},
|
||||||
|
@ -100,6 +104,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "Uložili jste záložní větu vaší peněženky? Tato záložní věta je vyžadována pro přístup k vašim finančním prostředkům pro případ ztráty tohoto zařízení. Bez záložní věty budou vaše prostředky trvale ztraceny.",
|
"ask": "Uložili jste záložní větu vaší peněženky? Tato záložní věta je vyžadována pro přístup k vašim finančním prostředkům pro případ ztráty tohoto zařízení. Bez záložní věty budou vaše prostředky trvale ztraceny.",
|
||||||
|
"ask_no": "Ne, neuložil.",
|
||||||
|
"ask_yes": "Ano, uložil.",
|
||||||
"ok": "Dobře, napsal jsem ji",
|
"ok": "Dobře, napsal jsem ji",
|
||||||
"ok_lnd": "Dobře, uložil jsem to.",
|
"ok_lnd": "Dobře, uložil jsem to.",
|
||||||
"text": "Věnujte prosím chvíli zapsaní si této mnemotechnické fráze na kousek papíru.\nJe to vaše záloha a můžete ji použít k obnovení peněženky.",
|
"text": "Věnujte prosím chvíli zapsaní si této mnemotechnické fráze na kousek papíru.\nJe to vaše záloha a můžete ji použít k obnovení peněženky.",
|
||||||
|
@ -152,6 +158,7 @@
|
||||||
"details_create": "Vytvořit fakturu",
|
"details_create": "Vytvořit fakturu",
|
||||||
"details_error_decode": "Bitcoinovou adresu nelze dekódovat",
|
"details_error_decode": "Bitcoinovou adresu nelze dekódovat",
|
||||||
"details_fee_field_is_not_valid": "Poplatek není správně vyplněn",
|
"details_fee_field_is_not_valid": "Poplatek není správně vyplněn",
|
||||||
|
"details_frozen": "{amount} BTC je zmraženo.",
|
||||||
"details_next": "Další",
|
"details_next": "Další",
|
||||||
"details_no_signed_tx": "Vybraný soubor neobsahuje transakci, kterou lze importovat.",
|
"details_no_signed_tx": "Vybraný soubor neobsahuje transakci, kterou lze importovat.",
|
||||||
"details_note_placeholder": "Poznámka pro sebe",
|
"details_note_placeholder": "Poznámka pro sebe",
|
||||||
|
@ -183,6 +190,7 @@
|
||||||
"permission_camera_message": "K použití fotoaparátu potřebujeme vaše povolení",
|
"permission_camera_message": "K použití fotoaparátu potřebujeme vaše povolení",
|
||||||
"psbt_sign": "Podepsat transakci",
|
"psbt_sign": "Podepsat transakci",
|
||||||
"open_settings": "Otevřít nastavení",
|
"open_settings": "Otevřít nastavení",
|
||||||
|
"permission_storage_later": "Zeptejte se mě později.",
|
||||||
"permission_storage_message": "BlueWallet potřebuje vaše oprávnění k přístupu k vašemu úložišti, aby mohl tento soubor uložit.",
|
"permission_storage_message": "BlueWallet potřebuje vaše oprávnění k přístupu k vašemu úložišti, aby mohl tento soubor uložit.",
|
||||||
"permission_storage_denied_message": "BlueWallet nemůže tento soubor uložit. Otevřete prosím nastavení zařízení a povolte funkci Oprávnění k ukládání.",
|
"permission_storage_denied_message": "BlueWallet nemůže tento soubor uložit. Otevřete prosím nastavení zařízení a povolte funkci Oprávnění k ukládání.",
|
||||||
"permission_storage_title": "Povolení k přístupu do úložiště",
|
"permission_storage_title": "Povolení k přístupu do úložiště",
|
||||||
|
@ -193,6 +201,7 @@
|
||||||
"outdated_rate": "Kurz byl naposledy aktualizován: {date}",
|
"outdated_rate": "Kurz byl naposledy aktualizován: {date}",
|
||||||
"psbt_tx_open": "Otevřít podepsanou transakci",
|
"psbt_tx_open": "Otevřít podepsanou transakci",
|
||||||
"psbt_tx_scan": "Skenovat podepsanou transakci",
|
"psbt_tx_scan": "Skenovat podepsanou transakci",
|
||||||
|
"qr_error_no_qrcode": "Ve vybraném obrázku se nám nepodařilo najít kód QR. Ujistěte se, že obrázek obsahuje pouze QR kód a žádný další obsah, například text nebo tlačítka.",
|
||||||
"reset_amount": "Resetovat částku",
|
"reset_amount": "Resetovat částku",
|
||||||
"reset_amount_confirm": "Chcete částku vynulovat?",
|
"reset_amount_confirm": "Chcete částku vynulovat?",
|
||||||
"success_done": "Hotovo",
|
"success_done": "Hotovo",
|
||||||
|
@ -231,6 +240,7 @@
|
||||||
"default_wallets": "Zobrazit všechny peněženky",
|
"default_wallets": "Zobrazit všechny peněženky",
|
||||||
"electrum_connected": "Připojeno",
|
"electrum_connected": "Připojeno",
|
||||||
"electrum_connected_not": "Nepřipojeno",
|
"electrum_connected_not": "Nepřipojeno",
|
||||||
|
"electrum_error_connect": "Nelze se připojit k poskytovanému serveru Electrum",
|
||||||
"lndhub_uri": "Např. {example}",
|
"lndhub_uri": "Např. {example}",
|
||||||
"electrum_host": "Např. {example}",
|
"electrum_host": "Např. {example}",
|
||||||
"electrum_offline_mode": "Offline režim",
|
"electrum_offline_mode": "Offline režim",
|
||||||
|
@ -288,6 +298,7 @@
|
||||||
"privacy_read_clipboard": "Kopírovat ze schránky",
|
"privacy_read_clipboard": "Kopírovat ze schránky",
|
||||||
"privacy_system_settings": "Systémová nastavení",
|
"privacy_system_settings": "Systémová nastavení",
|
||||||
"privacy_quickactions": "Zástupci peněženky",
|
"privacy_quickactions": "Zástupci peněženky",
|
||||||
|
"privacy_quickactions_explanation": "Dlouhý stisk ikony BlueWallet na vaší výchozí obrazovce zobrazí váš zůstatek.",
|
||||||
"privacy_clipboard_explanation": "Pokud se ve vaší schránce nachází adresa nebo faktura, zadejte zástupce.",
|
"privacy_clipboard_explanation": "Pokud se ve vaší schránce nachází adresa nebo faktura, zadejte zástupce.",
|
||||||
"privacy_do_not_track": "Zakázat Analytiku",
|
"privacy_do_not_track": "Zakázat Analytiku",
|
||||||
"privacy_do_not_track_explanation": "Informace o výkonu a spolehlivosti nebudou odeslány k analýze.",
|
"privacy_do_not_track_explanation": "Informace o výkonu a spolehlivosti nebudou odeslány k analýze.",
|
||||||
|
@ -297,13 +308,16 @@
|
||||||
"selfTest": "Autotest",
|
"selfTest": "Autotest",
|
||||||
"save": "Uložit",
|
"save": "Uložit",
|
||||||
"saved": "Uloženo",
|
"saved": "Uloženo",
|
||||||
|
"success_transaction_broadcasted": "Úspěch! Vaše transakce byla odvysílána!",
|
||||||
"total_balance": "Celkový zůstatek",
|
"total_balance": "Celkový zůstatek",
|
||||||
"total_balance_explanation": "Zobrazte celkový zůstatek všech vašich peněženek na widgetech na domovské obrazovce.",
|
"total_balance_explanation": "Zobrazte celkový zůstatek všech vašich peněženek na widgetech na domovské obrazovce.",
|
||||||
"widgets": "Widgety",
|
"widgets": "Widgety",
|
||||||
"tools": "Nástroje"
|
"tools": "Nástroje"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "Chcete dostávat oznámení o příchozích platbách?"
|
"would_you_like_to_receive_notifications": "Chcete dostávat oznámení o příchozích platbách?",
|
||||||
|
"no_and_dont_ask": "Ne, a už se mě znovu neptejte.",
|
||||||
|
"ask_me_later": "Zeptejte se mě později."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "Tuto transakci nahradíme takovou, která vám zaplatí a bude mít vyšší poplatky. Tím se zruší aktuální transakce. Toto se nazývá RBF – Replace by Fee.",
|
"cancel_explain": "Tuto transakci nahradíme takovou, která vám zaplatí a bude mít vyšší poplatky. Tím se zruší aktuální transakce. Toto se nazývá RBF – Replace by Fee.",
|
||||||
|
@ -376,6 +390,7 @@
|
||||||
"details_advanced": "Pokročilé",
|
"details_advanced": "Pokročilé",
|
||||||
"details_are_you_sure": "Jste si jistý?",
|
"details_are_you_sure": "Jste si jistý?",
|
||||||
"details_connected_to": "Připojeno k",
|
"details_connected_to": "Připojeno k",
|
||||||
|
"details_del_wb_err": "Poskytnutá částka zůstatku neodpovídá zůstatku této peněženky. Prosím zkuste to znovu.",
|
||||||
"details_del_wb_q": "Tato peněženka má zůstatek. Než budete pokračovat, uvědomte si, že bez přístupové fráze této peněženky nebudete moci získat prostředky zpět. Abyste se vyhnuli náhodnému odstranění, zadejte prosím zůstatek peněženky ve výši {balance} satoshi.",
|
"details_del_wb_q": "Tato peněženka má zůstatek. Než budete pokračovat, uvědomte si, že bez přístupové fráze této peněženky nebudete moci získat prostředky zpět. Abyste se vyhnuli náhodnému odstranění, zadejte prosím zůstatek peněženky ve výši {balance} satoshi.",
|
||||||
"details_delete": "Smazat",
|
"details_delete": "Smazat",
|
||||||
"details_delete_wallet": "Smazat peněženku",
|
"details_delete_wallet": "Smazat peněženku",
|
||||||
|
@ -412,9 +427,16 @@
|
||||||
"import_discovery_subtitle": "Zvolte si objevenou peněženku",
|
"import_discovery_subtitle": "Zvolte si objevenou peněženku",
|
||||||
"import_discovery_derivation": "Použít vlastní derivační cestu",
|
"import_discovery_derivation": "Použít vlastní derivační cestu",
|
||||||
"import_discovery_no_wallets": "Nebyly nalezeny žádné peněženky.",
|
"import_discovery_no_wallets": "Nebyly nalezeny žádné peněženky.",
|
||||||
|
"import_derivation_found": "Nalezeno",
|
||||||
|
"import_derivation_found_not": "Nenalezeno",
|
||||||
|
"import_derivation_loading": "Načítání...",
|
||||||
|
"import_derivation_subtitle": "Zadejte vlastní derivační cestu a my se pokusíme objevit vaši peněženku.",
|
||||||
"import_derivation_title": "Derivační cesta",
|
"import_derivation_title": "Derivační cesta",
|
||||||
|
"import_derivation_unknown": "Neznámá",
|
||||||
|
"import_wrong_path": "Špatná derivační cesta",
|
||||||
"list_create_a_button": "Přidat nyní",
|
"list_create_a_button": "Přidat nyní",
|
||||||
"list_create_a_wallet": "Přidat peněženku",
|
"list_create_a_wallet": "Přidat peněženku",
|
||||||
|
"list_create_a_wallet_text": "Je to zdarma a můžete jich vytvořit \nkolik budete chtít.",
|
||||||
"list_empty_txs1": "Zde budou zobrazeny vaše transakce,",
|
"list_empty_txs1": "Zde budou zobrazeny vaše transakce,",
|
||||||
"list_empty_txs1_lightning": "Lightning peněženka by měla být použita pro vaše každodenní transakce. Poplatky jsou nespravedlivě levné a rychlost je vysoká.",
|
"list_empty_txs1_lightning": "Lightning peněženka by měla být použita pro vaše každodenní transakce. Poplatky jsou nespravedlivě levné a rychlost je vysoká.",
|
||||||
"list_empty_txs2": "Začněte s peněženkou.",
|
"list_empty_txs2": "Začněte s peněženkou.",
|
||||||
|
@ -429,7 +451,6 @@
|
||||||
"no_ln_wallet_error": "Před zaplacením Lightning faktury musíte nejprve přidat Lightning peněženku.",
|
"no_ln_wallet_error": "Před zaplacením Lightning faktury musíte nejprve přidat Lightning peněženku.",
|
||||||
"looks_like_bip38": "Tohle vypadá jako soukromý klíč chráněný heslem (BIP38)",
|
"looks_like_bip38": "Tohle vypadá jako soukromý klíč chráněný heslem (BIP38)",
|
||||||
"reorder_title": "Seřadit peěženky",
|
"reorder_title": "Seřadit peěženky",
|
||||||
"reorder_instructions": "Klepněte a podržte peněženku a přetáhněte ji po seznamu.",
|
|
||||||
"please_continue_scanning": "Pokračujte ve skenování",
|
"please_continue_scanning": "Pokračujte ve skenování",
|
||||||
"select_no_bitcoin": "V současné době nejsou k dispozici žádné bitcoinové peněženky.",
|
"select_no_bitcoin": "V současné době nejsou k dispozici žádné bitcoinové peněženky.",
|
||||||
"select_no_bitcoin_exp": "Bitcoinová peněženka je vyžadována pro doplnění Lightning peněženky. Vytvořte nebo importujte jednu.",
|
"select_no_bitcoin_exp": "Bitcoinová peněženka je vyžadována pro doplnění Lightning peněženky. Vytvořte nebo importujte jednu.",
|
||||||
|
@ -479,14 +500,20 @@
|
||||||
"quorum_header": "Kvorum",
|
"quorum_header": "Kvorum",
|
||||||
"of": "z",
|
"of": "z",
|
||||||
"wallet_type": "Typ peněženky",
|
"wallet_type": "Typ peněženky",
|
||||||
|
"invalid_mnemonics": "Zdá se, že tato mnemotechnická fráze není platná.",
|
||||||
|
"invalid_cosigner": "Neplatná data spolupodepisujícího",
|
||||||
"not_a_multisignature_xpub": "Toto není xpub z vícepodpisové peněženky!",
|
"not_a_multisignature_xpub": "Toto není xpub z vícepodpisové peněženky!",
|
||||||
|
"invalid_cosigner_format": "Nesprávný spolupodepsaný: toto není spolupodepsaný pro {format} formát.",
|
||||||
"create_new_key": "Vytvořit novou",
|
"create_new_key": "Vytvořit novou",
|
||||||
"scan_or_open_file": "Naskenujte nebo otevřete soubor",
|
"scan_or_open_file": "Naskenujte nebo otevřete soubor",
|
||||||
"i_have_mnemonics": "Mám seed pro tento klíč...",
|
"i_have_mnemonics": "Mám seed pro tento klíč...",
|
||||||
"type_your_mnemonics": "Vložte seed k importu stávajícího klíče uložiště",
|
"type_your_mnemonics": "Vložte seed k importu stávajícího klíče uložiště",
|
||||||
|
"this_is_cosigners_xpub": "Toto je xpub spolupodepisujícího připravený k importu do jiné peněženky. Je bezpečné ho sdílet.",
|
||||||
"wallet_key_created": "Klíč k uložišti byl vytvořen. Udělejte si chvíli a bezpečně zálohujte svůj mnemotechnický seed",
|
"wallet_key_created": "Klíč k uložišti byl vytvořen. Udělejte si chvíli a bezpečně zálohujte svůj mnemotechnický seed",
|
||||||
"are_you_sure_seed_will_be_lost": "Opravdu? Vaš mnemotechnický seed budou ztracen, pokud nemáte zálohu",
|
"are_you_sure_seed_will_be_lost": "Opravdu? Vaš mnemotechnický seed budou ztracen, pokud nemáte zálohu",
|
||||||
"forget_this_seed": "Zapomeňte na tento seed a použijte XPUB",
|
"forget_this_seed": "Zapomeňte na tento seed a použijte XPUB",
|
||||||
|
"view_edit_cosigners": "Zobrazit/upravit spolupodepisující",
|
||||||
|
"this_cosigner_is_already_imported": "Tento spolupodepisující je již importován.",
|
||||||
"export_signed_psbt": "Exportovat podepsanou PSBT",
|
"export_signed_psbt": "Exportovat podepsanou PSBT",
|
||||||
"input_fp": "Zadejte otisk prstu",
|
"input_fp": "Zadejte otisk prstu",
|
||||||
"input_fp_explain": "Přeskočit a použít výchozí (00000000)",
|
"input_fp_explain": "Přeskočit a použít výchozí (00000000)",
|
||||||
|
@ -511,12 +538,14 @@
|
||||||
"owns": "{label} vlastní {address}",
|
"owns": "{label} vlastní {address}",
|
||||||
"enter_address": "Zadat adresu",
|
"enter_address": "Zadat adresu",
|
||||||
"check_address": "Zkontrolovat adresu",
|
"check_address": "Zkontrolovat adresu",
|
||||||
"no_wallet_owns_address": "Žádná z dostupných peněženek nevlastní uvedenou adresu."
|
"no_wallet_owns_address": "Žádná z dostupných peněženek nevlastní uvedenou adresu.",
|
||||||
|
"view_qrcode": "Zobrazit QR kód"
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "Změnit",
|
"change": "Změnit",
|
||||||
"coins_selected": "Vybrané mince ({number})",
|
"coins_selected": "Vybrané mince ({number})",
|
||||||
"selected_summ": "{value} vybráno",
|
"selected_summ": "{value} vybráno",
|
||||||
|
"empty": "Na této peněžence nejsou v tuto chvíli žádné mince.",
|
||||||
"freeze": "Zmrazit",
|
"freeze": "Zmrazit",
|
||||||
"freezeLabel": "Zmrazit",
|
"freezeLabel": "Zmrazit",
|
||||||
"freezeLabel_un": "Uvolnit",
|
"freezeLabel_un": "Uvolnit",
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"seed": "Seed",
|
"seed": "Seed",
|
||||||
"success": "Erfolg",
|
"success": "Erfolg",
|
||||||
"wallet_key": "Wallet Schlüssel",
|
"wallet_key": "Wallet Schlüssel",
|
||||||
|
"invalid_animated_qr_code_fragment": "Ungültig animiertes QR-Code-Fragment. Bitte erneut versuchen.",
|
||||||
"close": "Schließen",
|
"close": "Schließen",
|
||||||
"change_input_currency": "Eingangswährung ändern",
|
"change_input_currency": "Eingangswährung ändern",
|
||||||
"refresh": "Aktualisieren",
|
"refresh": "Aktualisieren",
|
||||||
|
@ -54,6 +55,7 @@
|
||||||
"claim_balance": "Saldo von {balance} beanspruchen",
|
"claim_balance": "Saldo von {balance} beanspruchen",
|
||||||
"close_channel": "Kanal schließen",
|
"close_channel": "Kanal schließen",
|
||||||
"new_channel": "Neuer Kanal",
|
"new_channel": "Neuer Kanal",
|
||||||
|
"errorInvoiceExpired": "Rechnung verfallen.",
|
||||||
"force_close_channel": "Kanal zwangsweise schließen?",
|
"force_close_channel": "Kanal zwangsweise schließen?",
|
||||||
"expired": "Abgelaufen",
|
"expired": "Abgelaufen",
|
||||||
"node_alias": "Knoten-Alias",
|
"node_alias": "Knoten-Alias",
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
"payButton": "Zahlen",
|
"payButton": "Zahlen",
|
||||||
"placeholder": "Rechnung oder Adresse",
|
"placeholder": "Rechnung oder Adresse",
|
||||||
"open_channel": "Kanal öffnen",
|
"open_channel": "Kanal öffnen",
|
||||||
|
"funding_amount_placeholder": "Finanzierungsbetrag, z.B. 0.001",
|
||||||
"opening_channnel_for_from": "Kanal für Wallet {forWalletLabel} finanziert durch Wallet {fromWalletLabel} eröffnen.",
|
"opening_channnel_for_from": "Kanal für Wallet {forWalletLabel} finanziert durch Wallet {fromWalletLabel} eröffnen.",
|
||||||
"are_you_sure_open_channel": "Diesen Kanal definitiv eröffnen?",
|
"are_you_sure_open_channel": "Diesen Kanal definitiv eröffnen?",
|
||||||
"potentialFee": "Geschätzte Gebühr: {fee}",
|
"potentialFee": "Geschätzte Gebühr: {fee}",
|
||||||
|
@ -83,6 +86,7 @@
|
||||||
"open_direct_channel": "Direkten Kanal zu diesem Knoten eröffnen:",
|
"open_direct_channel": "Direkten Kanal zu diesem Knoten eröffnen:",
|
||||||
"please_pay_between_and": "Zahlen Sie zwischen {min} und {max}",
|
"please_pay_between_and": "Zahlen Sie zwischen {min} und {max}",
|
||||||
"please_pay": "Bitte zahle",
|
"please_pay": "Bitte zahle",
|
||||||
|
"preimage": "Urbild",
|
||||||
"sats": "sats",
|
"sats": "sats",
|
||||||
"wasnt_paid_and_expired": "Diese Rechnung ist unbezahlt abgelaufen."
|
"wasnt_paid_and_expired": "Diese Rechnung ist unbezahlt abgelaufen."
|
||||||
},
|
},
|
||||||
|
@ -100,6 +104,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "Hast du die Wiederherstellungs-Phrase deines Wallets gesichert? Ohne Sie kannst du nicht mehr auf deine bitcoin zugreifen und sie wären für immer verloren, sollte dein Gerät verloren oder kaputt gehen.",
|
"ask": "Hast du die Wiederherstellungs-Phrase deines Wallets gesichert? Ohne Sie kannst du nicht mehr auf deine bitcoin zugreifen und sie wären für immer verloren, sollte dein Gerät verloren oder kaputt gehen.",
|
||||||
|
"ask_no": "Nein, habe ich nicht.",
|
||||||
|
"ask_yes": "Ja, habe ich.",
|
||||||
"ok": "Ok, ich habe sie notiert.",
|
"ok": "Ok, ich habe sie notiert.",
|
||||||
"ok_lnd": "Die Sicherung ist erstellt.",
|
"ok_lnd": "Die Sicherung ist erstellt.",
|
||||||
"text": "Nimm Dir Zeit die mnemonischen Wörter auf ein Papier zu schreiben.\nDie Wörter sind dein Backup zur Wallet-Wiederherstellung.",
|
"text": "Nimm Dir Zeit die mnemonischen Wörter auf ein Papier zu schreiben.\nDie Wörter sind dein Backup zur Wallet-Wiederherstellung.",
|
||||||
|
@ -152,6 +158,7 @@
|
||||||
"details_create": "Erstellen",
|
"details_create": "Erstellen",
|
||||||
"details_error_decode": "Bitcoin-Adresse kann nicht dekodiert werden",
|
"details_error_decode": "Bitcoin-Adresse kann nicht dekodiert werden",
|
||||||
"details_fee_field_is_not_valid": "Gebühreneingabe ist nicht korrekt",
|
"details_fee_field_is_not_valid": "Gebühreneingabe ist nicht korrekt",
|
||||||
|
"details_frozen": "{amount} BTC ist eingefroren.",
|
||||||
"details_next": "Weiter",
|
"details_next": "Weiter",
|
||||||
"details_no_signed_tx": "Die ausgewählte Datei enthält keine importierbare signierte Transaktion.",
|
"details_no_signed_tx": "Die ausgewählte Datei enthält keine importierbare signierte Transaktion.",
|
||||||
"details_note_placeholder": "Eigene Bezeichnung",
|
"details_note_placeholder": "Eigene Bezeichnung",
|
||||||
|
@ -183,6 +190,7 @@
|
||||||
"permission_camera_message": "BlueWallet braucht Deine Erlaubnis, um die Kamera zu nutzen.",
|
"permission_camera_message": "BlueWallet braucht Deine Erlaubnis, um die Kamera zu nutzen.",
|
||||||
"psbt_sign": "Transaktion signieren",
|
"psbt_sign": "Transaktion signieren",
|
||||||
"open_settings": "Einstellungen öffnen",
|
"open_settings": "Einstellungen öffnen",
|
||||||
|
"permission_storage_later": "Später beantworten.",
|
||||||
"permission_storage_message": "BlueWallet braucht zur Speicherung dieser Datei die Erlaubnis auf den internen Speicher zuzugreifen.",
|
"permission_storage_message": "BlueWallet braucht zur Speicherung dieser Datei die Erlaubnis auf den internen Speicher zuzugreifen.",
|
||||||
"permission_storage_denied_message": "BlueWallet kann die Datei nicht speichern. Dazu in den Systemeinstellungen der App BlueWallet das Recht erteilen, den internen Speicher zu verwenden.",
|
"permission_storage_denied_message": "BlueWallet kann die Datei nicht speichern. Dazu in den Systemeinstellungen der App BlueWallet das Recht erteilen, den internen Speicher zu verwenden.",
|
||||||
"permission_storage_title": "Speicherzugriffsrecht",
|
"permission_storage_title": "Speicherzugriffsrecht",
|
||||||
|
@ -193,6 +201,7 @@
|
||||||
"outdated_rate": "Kurs zuletzt aktualisiert: {date}",
|
"outdated_rate": "Kurs zuletzt aktualisiert: {date}",
|
||||||
"psbt_tx_open": "Öffne signierte Transaktion.",
|
"psbt_tx_open": "Öffne signierte Transaktion.",
|
||||||
"psbt_tx_scan": "Signierte Transaktion scannen",
|
"psbt_tx_scan": "Signierte Transaktion scannen",
|
||||||
|
"qr_error_no_qrcode": "Der QR-Code konnte nicht ausgelesen werden. Achte darauf, dass er ohne zusätzliche Inhalte wie Text, Grafiken oder Bilder vorliegt.",
|
||||||
"reset_amount": "Betrag zurücksetzen",
|
"reset_amount": "Betrag zurücksetzen",
|
||||||
"reset_amount_confirm": "Möchten Du den Betrag zurücksetzen?",
|
"reset_amount_confirm": "Möchten Du den Betrag zurücksetzen?",
|
||||||
"success_done": "Fertig",
|
"success_done": "Fertig",
|
||||||
|
@ -231,6 +240,7 @@
|
||||||
"default_wallets": "Alle Wallets anzeigen",
|
"default_wallets": "Alle Wallets anzeigen",
|
||||||
"electrum_connected": "Verbunden",
|
"electrum_connected": "Verbunden",
|
||||||
"electrum_connected_not": "Nicht verbunden",
|
"electrum_connected_not": "Nicht verbunden",
|
||||||
|
"electrum_error_connect": "Keine Verbindung zum angegebenen Electrum-Server möglich.",
|
||||||
"lndhub_uri": "Z.b., {example}",
|
"lndhub_uri": "Z.b., {example}",
|
||||||
"electrum_host": "Z.b., {example}",
|
"electrum_host": "Z.b., {example}",
|
||||||
"electrum_offline_mode": "Offline-Modus",
|
"electrum_offline_mode": "Offline-Modus",
|
||||||
|
@ -288,6 +298,7 @@
|
||||||
"privacy_read_clipboard": "Zwischenablage lesen",
|
"privacy_read_clipboard": "Zwischenablage lesen",
|
||||||
"privacy_system_settings": "Systemeinstellungen",
|
"privacy_system_settings": "Systemeinstellungen",
|
||||||
"privacy_quickactions": "Walletverknüpfungen",
|
"privacy_quickactions": "Walletverknüpfungen",
|
||||||
|
"privacy_quickactions_explanation": "Halte auf dem Startbildschirm das BlueWallet App-Symbol gedrückt, um rasch deinen Saldo zu sehen.",
|
||||||
"privacy_clipboard_explanation": "Nutzt Rechnungen und Adressen in der Zwischenablage zum Senden.",
|
"privacy_clipboard_explanation": "Nutzt Rechnungen und Adressen in der Zwischenablage zum Senden.",
|
||||||
"privacy_do_not_track": "Diagnosedaten ausschalten",
|
"privacy_do_not_track": "Diagnosedaten ausschalten",
|
||||||
"privacy_do_not_track_explanation": "Leistungs- und Zuverlässigkeitsinformationen nicht zur Analyse einreichen.",
|
"privacy_do_not_track_explanation": "Leistungs- und Zuverlässigkeitsinformationen nicht zur Analyse einreichen.",
|
||||||
|
@ -297,13 +308,16 @@
|
||||||
"selfTest": "Selbsttest",
|
"selfTest": "Selbsttest",
|
||||||
"save": "Speichern",
|
"save": "Speichern",
|
||||||
"saved": "Gespeichert",
|
"saved": "Gespeichert",
|
||||||
|
"success_transaction_broadcasted": "Erfolg! Diene Transaktion wurde übertragen.",
|
||||||
"total_balance": "Gesamtes Guthaben",
|
"total_balance": "Gesamtes Guthaben",
|
||||||
"total_balance_explanation": "Zeigt das Wallet Guthaben auf dem Widget deiner Homepage",
|
"total_balance_explanation": "Zeigt das Wallet Guthaben auf dem Widget deiner Homepage",
|
||||||
"widgets": "Widgets",
|
"widgets": "Widgets",
|
||||||
"tools": "Werkzeuge"
|
"tools": "Werkzeuge"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "Möchten Sie bei Zahlungseingängen eine Benachrichtigung erhalten?"
|
"would_you_like_to_receive_notifications": "Möchten Sie bei Zahlungseingängen eine Benachrichtigung erhalten?",
|
||||||
|
"no_and_dont_ask": "Nein und nicht erneut fragen.",
|
||||||
|
"ask_me_later": "Später beantworten."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "BlueWallet ersetzt diese Transaktion durch eine mit höherer Gebühr, welche den Betrag an Dich zurücküberweist. Die aktuelle Transaktion wird dadurch effektiv abgebrochen. Dieses Verfahren wird RBF - Replace By Fee - genannt.",
|
"cancel_explain": "BlueWallet ersetzt diese Transaktion durch eine mit höherer Gebühr, welche den Betrag an Dich zurücküberweist. Die aktuelle Transaktion wird dadurch effektiv abgebrochen. Dieses Verfahren wird RBF - Replace By Fee - genannt.",
|
||||||
|
@ -376,6 +390,7 @@
|
||||||
"details_advanced": "Fortgeschritten",
|
"details_advanced": "Fortgeschritten",
|
||||||
"details_are_you_sure": "Bist du dir sicher?",
|
"details_are_you_sure": "Bist du dir sicher?",
|
||||||
"details_connected_to": "Verbunden mit",
|
"details_connected_to": "Verbunden mit",
|
||||||
|
"details_del_wb_err": "Das angegebene Guthaben deckt sich nicht mit dem Guthaben des Wallet. Bitte versuche es erneut.",
|
||||||
"details_del_wb_q": "Dieses Wallet enthält noch bitcoin. Ohne vorhandenes Backup der mnemonischen Phrase sind diese unwiederbringlich verloren. Um ein versehentliches Löschen zu vermeiden, gib bitte das Wallet-Guthaben von {balance} Satoshis ein.",
|
"details_del_wb_q": "Dieses Wallet enthält noch bitcoin. Ohne vorhandenes Backup der mnemonischen Phrase sind diese unwiederbringlich verloren. Um ein versehentliches Löschen zu vermeiden, gib bitte das Wallet-Guthaben von {balance} Satoshis ein.",
|
||||||
"details_delete": "Löschen",
|
"details_delete": "Löschen",
|
||||||
"details_delete_wallet": "Wallet löschen",
|
"details_delete_wallet": "Wallet löschen",
|
||||||
|
@ -412,9 +427,16 @@
|
||||||
"import_discovery_subtitle": "Wallet aus Trefferliste wählen",
|
"import_discovery_subtitle": "Wallet aus Trefferliste wählen",
|
||||||
"import_discovery_derivation": "Eigener Ableitungspfad wählen",
|
"import_discovery_derivation": "Eigener Ableitungspfad wählen",
|
||||||
"import_discovery_no_wallets": "Es wurden keine Wallets gefunden.",
|
"import_discovery_no_wallets": "Es wurden keine Wallets gefunden.",
|
||||||
|
"import_derivation_found": "Gefunden",
|
||||||
|
"import_derivation_found_not": "Nicht gefunden",
|
||||||
|
"import_derivation_loading": "Lade...",
|
||||||
|
"import_derivation_subtitle": "Eigener Ableitungspfad zur Ermittlung der genutzten Wallet eingeben.",
|
||||||
"import_derivation_title": "Ableitungspfad",
|
"import_derivation_title": "Ableitungspfad",
|
||||||
|
"import_derivation_unknown": "Unbekannt",
|
||||||
|
"import_wrong_path": "Falscher Ableitungspfad",
|
||||||
"list_create_a_button": "Jetzt hinzufügen",
|
"list_create_a_button": "Jetzt hinzufügen",
|
||||||
"list_create_a_wallet": "Wallet hinzufügen",
|
"list_create_a_wallet": "Wallet hinzufügen",
|
||||||
|
"list_create_a_wallet_text": "Wallets sind kostenlos. \nErstelle so viel du magst.",
|
||||||
"list_empty_txs1": "Deine Transaktionen erscheinen hier",
|
"list_empty_txs1": "Deine Transaktionen erscheinen hier",
|
||||||
"list_empty_txs1_lightning": "Verwende das Lightning Wallet für Deine täglichen Bezahlungen. Lightning Transaktionen sind konkurrenzlos günstig und verblüffend schnell.",
|
"list_empty_txs1_lightning": "Verwende das Lightning Wallet für Deine täglichen Bezahlungen. Lightning Transaktionen sind konkurrenzlos günstig und verblüffend schnell.",
|
||||||
"list_empty_txs2": "Beginne mit deinem Wallet.",
|
"list_empty_txs2": "Beginne mit deinem Wallet.",
|
||||||
|
@ -429,7 +451,6 @@
|
||||||
"no_ln_wallet_error": "Vor Bezahlung einer Lightning Rechnung zuerst ein Lightning Wallet eröffnen.",
|
"no_ln_wallet_error": "Vor Bezahlung einer Lightning Rechnung zuerst ein Lightning Wallet eröffnen.",
|
||||||
"looks_like_bip38": "Passwortgeschützter Privatschlüssel (BIP38) erkannt.",
|
"looks_like_bip38": "Passwortgeschützter Privatschlüssel (BIP38) erkannt.",
|
||||||
"reorder_title": "Wallets neu ordnen",
|
"reorder_title": "Wallets neu ordnen",
|
||||||
"reorder_instructions": "Tippen und halten Sie eine Wallet, um sie umzuplatzieren.",
|
|
||||||
"please_continue_scanning": "Bitte Scanvorgang fortsetzten",
|
"please_continue_scanning": "Bitte Scanvorgang fortsetzten",
|
||||||
"select_no_bitcoin": "Es sind momentan keine Bitcoin Wallets verfügbar.",
|
"select_no_bitcoin": "Es sind momentan keine Bitcoin Wallets verfügbar.",
|
||||||
"select_no_bitcoin_exp": "Eine Bitcoin Wallet ist Voraussetzung dafür, um eine Lightning Wallet zu befüllen. Bitte erstelle oder importiere eines.",
|
"select_no_bitcoin_exp": "Eine Bitcoin Wallet ist Voraussetzung dafür, um eine Lightning Wallet zu befüllen. Bitte erstelle oder importiere eines.",
|
||||||
|
@ -479,14 +500,20 @@
|
||||||
"quorum_header": "Signaturfähigkeit",
|
"quorum_header": "Signaturfähigkeit",
|
||||||
"of": "von",
|
"of": "von",
|
||||||
"wallet_type": "Typ des Wallets",
|
"wallet_type": "Typ des Wallets",
|
||||||
|
"invalid_mnemonics": "Ungültige mnemonische Phrase.",
|
||||||
|
"invalid_cosigner": "Die Mitsignierer Daten sind ungültig",
|
||||||
"not_a_multisignature_xpub": "Dies ist keine XPUB eines Multisignatur-Wallet!",
|
"not_a_multisignature_xpub": "Dies ist keine XPUB eines Multisignatur-Wallet!",
|
||||||
|
"invalid_cosigner_format": "Falscher Mitsignierer: Dies ist kein Mitsignierer für das Format {format}.",
|
||||||
"create_new_key": "Neuerstellen",
|
"create_new_key": "Neuerstellen",
|
||||||
"scan_or_open_file": "Datei scannen oder öffnen",
|
"scan_or_open_file": "Datei scannen oder öffnen",
|
||||||
"i_have_mnemonics": "Seed des Schlüssels importieren",
|
"i_have_mnemonics": "Seed des Schlüssels importieren",
|
||||||
"type_your_mnemonics": "Seed zum Import deines Tresorschlüssels eingeben",
|
"type_your_mnemonics": "Seed zum Import deines Tresorschlüssels eingeben",
|
||||||
|
"this_is_cosigners_xpub": "Dies ist der xPub für Mitsigierer zum Import in ein anderes Wallet. Er kann sicher mit anderen geteilt werden.",
|
||||||
"wallet_key_created": "Dein Tresorschlüssel wurde erstellt. Nimm dir Zeit ein sicheres Backup des mnemonischen Seeds herzustellen. ",
|
"wallet_key_created": "Dein Tresorschlüssel wurde erstellt. Nimm dir Zeit ein sicheres Backup des mnemonischen Seeds herzustellen. ",
|
||||||
"are_you_sure_seed_will_be_lost": "Bist du sicher? Dein mnemonischer Seed ist ohne Backup verloren!",
|
"are_you_sure_seed_will_be_lost": "Bist du sicher? Dein mnemonischer Seed ist ohne Backup verloren!",
|
||||||
"forget_this_seed": "Seed vergessen und xPub verwenden.",
|
"forget_this_seed": "Seed vergessen und xPub verwenden.",
|
||||||
|
"view_edit_cosigners": "Mitsignierer Anzeigen/Bearbeiten",
|
||||||
|
"this_cosigner_is_already_imported": "Dieser Mitsignierer ist schon vorhanden.",
|
||||||
"export_signed_psbt": "Signierte PSBT exportieren",
|
"export_signed_psbt": "Signierte PSBT exportieren",
|
||||||
"input_fp": "Fingerabdruckkennung eingeben",
|
"input_fp": "Fingerabdruckkennung eingeben",
|
||||||
"input_fp_explain": "Überspringen, um den Standard zu verwenden (00000000)",
|
"input_fp_explain": "Überspringen, um den Standard zu verwenden (00000000)",
|
||||||
|
@ -511,12 +538,14 @@
|
||||||
"owns": "{label} besitzt {address}",
|
"owns": "{label} besitzt {address}",
|
||||||
"enter_address": "Adresse eingeben",
|
"enter_address": "Adresse eingeben",
|
||||||
"check_address": "Adresse prüfen",
|
"check_address": "Adresse prüfen",
|
||||||
"no_wallet_owns_address": "Keines der verfügbaren Wallet besitzt die eingegebene Adresse."
|
"no_wallet_owns_address": "Keines der verfügbaren Wallet besitzt die eingegebene Adresse.",
|
||||||
|
"view_qrcode": "QR-Code anzeigen"
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "Ändern",
|
"change": "Ändern",
|
||||||
"coins_selected": "Anz. gewählte Münzen ({number})",
|
"coins_selected": "Anz. gewählte Münzen ({number})",
|
||||||
"selected_summ": "{value} ausgewählt",
|
"selected_summ": "{value} ausgewählt",
|
||||||
|
"empty": "Dieses Wallet hat aktuell keine Münzen.",
|
||||||
"freeze": "einfrieren",
|
"freeze": "einfrieren",
|
||||||
"freezeLabel": "Einfrieren",
|
"freezeLabel": "Einfrieren",
|
||||||
"freezeLabel_un": "Entblocken",
|
"freezeLabel_un": "Entblocken",
|
||||||
|
|
|
@ -326,7 +326,8 @@
|
||||||
"wallet_type": "Τύπος πορτοφολιου",
|
"wallet_type": "Τύπος πορτοφολιου",
|
||||||
"create_new_key": "Δημιουργία νέου",
|
"create_new_key": "Δημιουργία νέου",
|
||||||
"scan_or_open_file": "Σάρωση ή άνοιγμα αρχείου",
|
"scan_or_open_file": "Σάρωση ή άνοιγμα αρχείου",
|
||||||
"ms_help": "Βοήθεια"
|
"ms_help": "Βοήθεια",
|
||||||
|
"ms_help_title5": "Enable advanced mode"
|
||||||
},
|
},
|
||||||
"is_it_my_address": {
|
"is_it_my_address": {
|
||||||
"title": "Είναι δική μου διεύθυνση;",
|
"title": "Είναι δική μου διεύθυνση;",
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
"continue": "Continue",
|
"continue": "Continue",
|
||||||
"clipboard": "Clipboard",
|
"clipboard": "Clipboard",
|
||||||
|
"discard_changes": "Discard changes?",
|
||||||
|
"discard_changes_explain": "You have unsaved changes. Are you sure you want to discard them and leave the screen?",
|
||||||
"enter_password": "Enter password",
|
"enter_password": "Enter password",
|
||||||
"never": "Never",
|
"never": "Never",
|
||||||
"of": "{number} of {total}",
|
"of": "{number} of {total}",
|
||||||
|
@ -23,7 +25,8 @@
|
||||||
"pick_image": "Choose image from library",
|
"pick_image": "Choose image from library",
|
||||||
"pick_file": "Choose a file",
|
"pick_file": "Choose a file",
|
||||||
"enter_amount": "Enter amount",
|
"enter_amount": "Enter amount",
|
||||||
"qr_custom_input_button": "Tap 10 times to enter custom input"
|
"qr_custom_input_button": "Tap 10 times to enter custom input",
|
||||||
|
"unlock": "Unlock"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Alert"
|
"default": "Alert"
|
||||||
|
@ -228,6 +231,7 @@
|
||||||
"about_sm_twitter": "Follow us on Twitter",
|
"about_sm_twitter": "Follow us on Twitter",
|
||||||
"advanced_options": "Advanced Options",
|
"advanced_options": "Advanced Options",
|
||||||
"biometrics": "Biometrics",
|
"biometrics": "Biometrics",
|
||||||
|
"biometrics_no_longer_available": "Your device settings have changed and no longer match the selected security settings in the app. Please re-enable biometrics or passcode, then restart the app to apply these changes.",
|
||||||
"biom_10times": "You have attempted to enter your password 10 times. Would you like to reset your storage? This will remove all wallets and decrypt your storage.",
|
"biom_10times": "You have attempted to enter your password 10 times. Would you like to reset your storage? This will remove all wallets and decrypt your storage.",
|
||||||
"biom_conf_identity": "Please confirm your identity.",
|
"biom_conf_identity": "Please confirm your identity.",
|
||||||
"biom_no_passcode": "Your device does not have a passcode. In order to proceed, please configure a passcode in the Settings app.",
|
"biom_no_passcode": "Your device does not have a passcode. In order to proceed, please configure a passcode in the Settings app.",
|
||||||
|
|
55
loc/es.json
55
loc/es.json
|
@ -14,10 +14,7 @@
|
||||||
"save": "Guardar",
|
"save": "Guardar",
|
||||||
"seed": "Semilla",
|
"seed": "Semilla",
|
||||||
"success": "Completado",
|
"success": "Completado",
|
||||||
"wallet_key": "Llave de la cartera",
|
"wallet_key": "Llave de la cartera"
|
||||||
"invalid_animated_qr_code_fragment" : "Fragmento de código QR inválido. Por favor inténtalo de nuevo.",
|
|
||||||
"file_saved": "El archivo {filePath} se ha guardado en tu {destination}.",
|
|
||||||
"downloads_folder": "Carpeta de descargas"
|
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Atención"
|
"default": "Atención"
|
||||||
|
@ -42,23 +39,20 @@
|
||||||
"network": "Error de red"
|
"network": "Error de red"
|
||||||
},
|
},
|
||||||
"lnd": {
|
"lnd": {
|
||||||
"active":"Activo",
|
"active": "Activo",
|
||||||
"inactive":"Inactivo",
|
"inactive": "Inactivo",
|
||||||
"channels": "Canales",
|
"channels": "Canales",
|
||||||
"no_channels": "Sin canales",
|
"no_channels": "Sin canales",
|
||||||
"claim_balance": "Reclamar saldo {balance}",
|
"claim_balance": "Reclamar saldo {balance}",
|
||||||
"close_channel": "Cerrar canal",
|
"close_channel": "Cerrar canal",
|
||||||
"new_channel" : "Nuevo canal",
|
"new_channel": "Nuevo canal",
|
||||||
"errorInvoiceExpired": "Factura expirada",
|
|
||||||
"force_close_channel": "¿Forzar el cierre del canal?",
|
"force_close_channel": "¿Forzar el cierre del canal?",
|
||||||
"expired": "Expirado",
|
"expired": "Expirado",
|
||||||
"node_alias": "Alias del nodo",
|
"node_alias": "Alias del nodo",
|
||||||
"expiresIn": "Expira en {time} minutos",
|
"expiresIn": "Expira en {time} minutos",
|
||||||
"payButton": "Pagar",
|
"payButton": "Pagar",
|
||||||
"placeholder": "Factura o dirección",
|
|
||||||
"open_channel": "Abrir canal",
|
"open_channel": "Abrir canal",
|
||||||
"funding_amount_placeholder": "Importe de la financiación, por ejemplo 0,001",
|
"opening_channnel_for_from": "Abrir canal para la cartera {forWalletLabel}, financiado desde {fromWalletLabel}",
|
||||||
"opening_channnel_for_from":"Abrir canal para la cartera {forWalletLabel}, financiado desde {fromWalletLabel}",
|
|
||||||
"are_you_sure_open_channel": "¿Estás seguro de que quieres abrir este canal?",
|
"are_you_sure_open_channel": "¿Estás seguro de que quieres abrir este canal?",
|
||||||
"potentialFee": "Comisión estimada: {fee}",
|
"potentialFee": "Comisión estimada: {fee}",
|
||||||
"remote_host": "Host remoto",
|
"remote_host": "Host remoto",
|
||||||
|
@ -80,7 +74,6 @@
|
||||||
"open_direct_channel": "Abrir un canal directo con este nodo:",
|
"open_direct_channel": "Abrir un canal directo con este nodo:",
|
||||||
"please_pay_between_and": "Paga entre {min} y {max}",
|
"please_pay_between_and": "Paga entre {min} y {max}",
|
||||||
"please_pay": "Por favor, pague",
|
"please_pay": "Por favor, pague",
|
||||||
"preimage": "Preimage",
|
|
||||||
"sats": "sats.",
|
"sats": "sats.",
|
||||||
"wasnt_paid_and_expired": "Esta factura no fue pagada y ha expirado."
|
"wasnt_paid_and_expired": "Esta factura no fue pagada y ha expirado."
|
||||||
},
|
},
|
||||||
|
@ -98,10 +91,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "¿Has guardado la frase de respaldo de tu cartera? Esta frase de respaldo es necesaria para acceder a tus fondos si pierdes este dispositivo. Sin la frase de respaldo, tus fondos se perderán permanentemente.",
|
"ask": "¿Has guardado la frase de respaldo de tu cartera? Esta frase de respaldo es necesaria para acceder a tus fondos si pierdes este dispositivo. Sin la frase de respaldo, tus fondos se perderán permanentemente.",
|
||||||
"ask_no": "No, no lo he hecho",
|
"ok": "OK, ya la he anotado.",
|
||||||
"ask_yes": "Sí, lo he hecho",
|
"ok_lnd": "OK, lo he guardado.",
|
||||||
"ok": "OK, ya lo he anotado",
|
|
||||||
"ok_lnd": "OK, lo he guardado",
|
|
||||||
"text": "Por favor, apunta esta frase mnemotécnica en un papel. Será tu copia de seguridad y te permitirá restaurar la cartera en otro dispositivo.",
|
"text": "Por favor, apunta esta frase mnemotécnica en un papel. Será tu copia de seguridad y te permitirá restaurar la cartera en otro dispositivo.",
|
||||||
"text_lnd": "Por favor guarda la copia de seguridad de esta cartera. Te permitirá restaurarla en caso de pérdida.",
|
"text_lnd": "Por favor guarda la copia de seguridad de esta cartera. Te permitirá restaurarla en caso de pérdida.",
|
||||||
"title": "Tu cartera ha sido creada"
|
"title": "Tu cartera ha sido creada"
|
||||||
|
@ -152,7 +143,6 @@
|
||||||
"details_create": "Crear factura",
|
"details_create": "Crear factura",
|
||||||
"details_error_decode": "No se ha podido decodificar la dirección de Bitcoin",
|
"details_error_decode": "No se ha podido decodificar la dirección de Bitcoin",
|
||||||
"details_fee_field_is_not_valid": "La comisión introducida no es válida",
|
"details_fee_field_is_not_valid": "La comisión introducida no es válida",
|
||||||
"details_frozen": "{amount} de BTC está congelado",
|
|
||||||
"details_next": "Siguiente",
|
"details_next": "Siguiente",
|
||||||
"details_no_signed_tx": "El archivo seleccionado no contiene una transacción que se pueda importar.",
|
"details_no_signed_tx": "El archivo seleccionado no contiene una transacción que se pueda importar.",
|
||||||
"details_note_placeholder": "Nota personal",
|
"details_note_placeholder": "Nota personal",
|
||||||
|
@ -184,7 +174,6 @@
|
||||||
"permission_camera_message": "Necesitamos permiso para usar tu cámara.",
|
"permission_camera_message": "Necesitamos permiso para usar tu cámara.",
|
||||||
"psbt_sign": "Firmar una transacción",
|
"psbt_sign": "Firmar una transacción",
|
||||||
"open_settings": "Abrir configuración",
|
"open_settings": "Abrir configuración",
|
||||||
"permission_storage_later": "Pregúntame luego",
|
|
||||||
"permission_storage_message": "BlueWallet necesita permiso de acceso a tu almacenamiento para guardar este archivo.",
|
"permission_storage_message": "BlueWallet necesita permiso de acceso a tu almacenamiento para guardar este archivo.",
|
||||||
"permission_storage_denied_message": "BlueWallet no puede guardar este archivo. Por favor, abre los ajustes de tu dispositivo y permite el acceso al almacenamiento.",
|
"permission_storage_denied_message": "BlueWallet no puede guardar este archivo. Por favor, abre los ajustes de tu dispositivo y permite el acceso al almacenamiento.",
|
||||||
"permission_storage_title": "Permiso de acceso al almacenamiento",
|
"permission_storage_title": "Permiso de acceso al almacenamiento",
|
||||||
|
@ -195,7 +184,6 @@
|
||||||
"outdated_rate": "Fecha de la última actualización de la tarifa de cambio: {date}",
|
"outdated_rate": "Fecha de la última actualización de la tarifa de cambio: {date}",
|
||||||
"psbt_tx_open": "Abrir transacción firmada",
|
"psbt_tx_open": "Abrir transacción firmada",
|
||||||
"psbt_tx_scan": "Escanear transacción firmada",
|
"psbt_tx_scan": "Escanear transacción firmada",
|
||||||
"qr_error_no_qrcode": "No hemos podido encontrar un código QR en la imagen seleccionada. Por favor asegúrate de que la imagen solo contiene un código QR y no otro tipo de contendido, como texto o botones.",
|
|
||||||
"reset_amount": "Cantidad predeterminada",
|
"reset_amount": "Cantidad predeterminada",
|
||||||
"reset_amount_confirm": "¿Quieres volver a la cantidad predeterminada?",
|
"reset_amount_confirm": "¿Quieres volver a la cantidad predeterminada?",
|
||||||
"success_done": "Completado",
|
"success_done": "Completado",
|
||||||
|
@ -232,7 +220,6 @@
|
||||||
"default_wallets": "Ver todas las carteras",
|
"default_wallets": "Ver todas las carteras",
|
||||||
"electrum_connected": "Conectado",
|
"electrum_connected": "Conectado",
|
||||||
"electrum_connected_not": "Desconectado",
|
"electrum_connected_not": "Desconectado",
|
||||||
"electrum_error_connect": "No se ha podido conectar al servidor de Electrum",
|
|
||||||
"lndhub_uri": "Ej.: {example}",
|
"lndhub_uri": "Ej.: {example}",
|
||||||
"electrum_host": "Ej.: {example}",
|
"electrum_host": "Ej.: {example}",
|
||||||
"electrum_offline_mode": "Modo offline",
|
"electrum_offline_mode": "Modo offline",
|
||||||
|
@ -275,13 +262,12 @@
|
||||||
"lightning_error_lndhub_uri": "LndHub URI no válida",
|
"lightning_error_lndhub_uri": "LndHub URI no válida",
|
||||||
"lightning_saved": "Tus cambios se han guardado correctamente",
|
"lightning_saved": "Tus cambios se han guardado correctamente",
|
||||||
"lightning_settings": "Configuración de Lightning",
|
"lightning_settings": "Configuración de Lightning",
|
||||||
"lightning_settings_explain": "Para conectar a tu propio nodo LND, por favor instala LndHub y escribe su URL aquí, en la pantalla de configuración. Las carteras creadas tras guardar los cambios se conectarán al LNDHub especificado.",
|
|
||||||
"network": "Red",
|
"network": "Red",
|
||||||
"network_broadcast": "Emitir transacción",
|
"network_broadcast": "Emitir transacción",
|
||||||
"network_electrum": "Servidor Electrum",
|
"network_electrum": "Servidor Electrum",
|
||||||
"not_a_valid_uri": "URI no válida",
|
"not_a_valid_uri": "URI no válida",
|
||||||
"notifications": "Notificaciones",
|
"notifications": "Notificaciones",
|
||||||
"open_link_in_explorer" : "Abrir enlace en el navegador",
|
"open_link_in_explorer": "Abrir enlace en el navegador",
|
||||||
"password": "Contraseña",
|
"password": "Contraseña",
|
||||||
"password_explain": "Crea la contraseña que usarás para descifrar el almacenamiento",
|
"password_explain": "Crea la contraseña que usarás para descifrar el almacenamiento",
|
||||||
"passwords_do_not_match": "Contraseñas deben ser iguales",
|
"passwords_do_not_match": "Contraseñas deben ser iguales",
|
||||||
|
@ -290,7 +276,6 @@
|
||||||
"privacy_read_clipboard": "Leer portapapeles",
|
"privacy_read_clipboard": "Leer portapapeles",
|
||||||
"privacy_system_settings": "Configuración del sistema",
|
"privacy_system_settings": "Configuración del sistema",
|
||||||
"privacy_quickactions": "Atajos para tus carteras",
|
"privacy_quickactions": "Atajos para tus carteras",
|
||||||
"privacy_quickactions_explanation": "Toca y mantén pulsado el icono de BlueWallet en tu pantalla de inicio para ver rápidamente el balance de tu cartera.",
|
|
||||||
"privacy_clipboard_explanation": "Muestra atajos si encuentra direcciones o facturas en tu portapapeles.",
|
"privacy_clipboard_explanation": "Muestra atajos si encuentra direcciones o facturas en tu portapapeles.",
|
||||||
"privacy_do_not_track": "Desabilitar Analytics",
|
"privacy_do_not_track": "Desabilitar Analytics",
|
||||||
"privacy_do_not_track_explanation": "Los datos sobre funcionamiento y fiabilidad no serán enviados para ser analizados.",
|
"privacy_do_not_track_explanation": "Los datos sobre funcionamiento y fiabilidad no serán enviados para ser analizados.",
|
||||||
|
@ -300,16 +285,13 @@
|
||||||
"selfTest": "Self-Test",
|
"selfTest": "Self-Test",
|
||||||
"save": "Guardar",
|
"save": "Guardar",
|
||||||
"saved": "Guardado",
|
"saved": "Guardado",
|
||||||
"success_transaction_broadcasted" : "¡Listo! ¡Tu transacción ha sido emitida!",
|
|
||||||
"total_balance": "Balance total",
|
"total_balance": "Balance total",
|
||||||
"total_balance_explanation": "Muestra el balance total de todas tus carteras en los widgets de tu pantalla principal.",
|
"total_balance_explanation": "Muestra el balance total de todas tus carteras en los widgets de tu pantalla principal.",
|
||||||
"widgets": "Widgets",
|
"widgets": "Widgets",
|
||||||
"tools": "Herramientas"
|
"tools": "Herramientas"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "¿Quires recibir notificaciones cuando detectemos transferencias entrantes?",
|
"would_you_like_to_receive_notifications": "¿Quires recibir notificaciones cuando detectemos transferencias entrantes?"
|
||||||
"no_and_dont_ask": "No, y no vuelvas a preguntarme",
|
|
||||||
"ask_me_later": "Pregúntame después"
|
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "Reemplazaremos esta transacción con una que te pague y tenga tarifas más altas. Esto cancela efectivamente la transacción actual. Esto se llama RBF—Reemplazo por comisión.",
|
"cancel_explain": "Reemplazaremos esta transacción con una que te pague y tenga tarifas más altas. Esto cancela efectivamente la transacción actual. Esto se llama RBF—Reemplazo por comisión.",
|
||||||
|
@ -382,7 +364,6 @@
|
||||||
"details_advanced": "Avanzado",
|
"details_advanced": "Avanzado",
|
||||||
"details_are_you_sure": "¿Estás seguro?",
|
"details_are_you_sure": "¿Estás seguro?",
|
||||||
"details_connected_to": "Conectado a",
|
"details_connected_to": "Conectado a",
|
||||||
"details_del_wb_err": "El balance introducido no coincide con el balance de esta cartera. Por favor, inténtelo de nuevo.",
|
|
||||||
"details_del_wb_q": "Esta cartera tiene saldo. Antes de proceder, ten en cuenta que no podrás recuperar los fondos sin la semilla de esta cartera. Para evitar el borrado accidental, por favor introduce los {balance} satoshis que contiene esta cartera.",
|
"details_del_wb_q": "Esta cartera tiene saldo. Antes de proceder, ten en cuenta que no podrás recuperar los fondos sin la semilla de esta cartera. Para evitar el borrado accidental, por favor introduce los {balance} satoshis que contiene esta cartera.",
|
||||||
"details_delete": "Eliminar",
|
"details_delete": "Eliminar",
|
||||||
"details_delete_wallet": "Borrar cartera",
|
"details_delete_wallet": "Borrar cartera",
|
||||||
|
@ -418,16 +399,9 @@
|
||||||
"import_discovery_subtitle": "Elige una cartera descubierta",
|
"import_discovery_subtitle": "Elige una cartera descubierta",
|
||||||
"import_discovery_derivation": "Utilizar una ruta de derivación personalizada",
|
"import_discovery_derivation": "Utilizar una ruta de derivación personalizada",
|
||||||
"import_discovery_no_wallets": "No se encontraron carteras.",
|
"import_discovery_no_wallets": "No se encontraron carteras.",
|
||||||
"import_derivation_found": "encontrada",
|
|
||||||
"import_derivation_found_not": "no encontrada",
|
|
||||||
"import_derivation_loading": "cargando...",
|
|
||||||
"import_derivation_subtitle": "Introduce la ruta de derivación personalizada e intentaremos de descubrir tu cartera",
|
|
||||||
"import_derivation_title": "Ruta de derivación",
|
"import_derivation_title": "Ruta de derivación",
|
||||||
"import_derivation_unknown": "desconocida",
|
|
||||||
"import_wrong_path": "ruta de derivación incorrecta",
|
|
||||||
"list_create_a_button": "Añadir",
|
"list_create_a_button": "Añadir",
|
||||||
"list_create_a_wallet": "Añadir cartera",
|
"list_create_a_wallet": "Añadir cartera",
|
||||||
"list_create_a_wallet_text": "Es gratis y puedes crear\ntodas las que quieras",
|
|
||||||
"list_empty_txs1": "Tus transacciones aparecerán aquí",
|
"list_empty_txs1": "Tus transacciones aparecerán aquí",
|
||||||
"list_empty_txs1_lightning": "Usa carteras Lightning para tus transacciones diarias. Tienen comisiones muy bajas y una velocidad de vértigo.",
|
"list_empty_txs1_lightning": "Usa carteras Lightning para tus transacciones diarias. Tienen comisiones muy bajas y una velocidad de vértigo.",
|
||||||
"list_empty_txs2": "Empieza con tu cartera.",
|
"list_empty_txs2": "Empieza con tu cartera.",
|
||||||
|
@ -442,7 +416,6 @@
|
||||||
"no_ln_wallet_error": "Antes de pagar una factura Lightning, primero debe agregar una cartera Lightning.",
|
"no_ln_wallet_error": "Antes de pagar una factura Lightning, primero debe agregar una cartera Lightning.",
|
||||||
"looks_like_bip38": "Parece que esto es una llave privada protegida con contraseña (BIP38).",
|
"looks_like_bip38": "Parece que esto es una llave privada protegida con contraseña (BIP38).",
|
||||||
"reorder_title": "Reorganizar carteras",
|
"reorder_title": "Reorganizar carteras",
|
||||||
"reorder_instructions": "Toca y arrastra una wallet a lo largo de la lista.",
|
|
||||||
"please_continue_scanning": "Por favor, continúa escaneando.",
|
"please_continue_scanning": "Por favor, continúa escaneando.",
|
||||||
"select_no_bitcoin": "No hay carteras de Bitcoin disponibles.",
|
"select_no_bitcoin": "No hay carteras de Bitcoin disponibles.",
|
||||||
"select_no_bitcoin_exp": "Una cartera de Bitcoin es necesaria para recargar una cartera Lightning. Por favor, cree o importe una.",
|
"select_no_bitcoin_exp": "Una cartera de Bitcoin es necesaria para recargar una cartera Lightning. Por favor, cree o importe una.",
|
||||||
|
@ -492,20 +465,14 @@
|
||||||
"quorum_header": "quórum",
|
"quorum_header": "quórum",
|
||||||
"of": "de",
|
"of": "de",
|
||||||
"wallet_type": "Tipo de cartera",
|
"wallet_type": "Tipo de cartera",
|
||||||
"invalid_mnemonics": "Esta frase mnemotécnica no es válida",
|
|
||||||
"invalid_cosigner": "Los datos del co-firmante no son válidos",
|
|
||||||
"not_a_multisignature_xpub": "¡Esto no es el XPUB de una cartera multifirma!",
|
"not_a_multisignature_xpub": "¡Esto no es el XPUB de una cartera multifirma!",
|
||||||
"invalid_cosigner_format": "Co-firmante incorrecto: no es un co-firmante de {format}.",
|
|
||||||
"create_new_key": "Crear una nueva",
|
"create_new_key": "Crear una nueva",
|
||||||
"scan_or_open_file": "Escanear o abrir archivo",
|
"scan_or_open_file": "Escanear o abrir archivo",
|
||||||
"i_have_mnemonics": "Tengo una semilla para esta llave.",
|
"i_have_mnemonics": "Tengo una semilla para esta llave.",
|
||||||
"type_your_mnemonics": "Introduce una semilla para importar la llave de tu Vault",
|
"type_your_mnemonics": "Introduce una semilla para importar la llave de tu Vault",
|
||||||
"this_is_cosigners_xpub": "Este es el XPUB del co-firmante, listo para ser importado en otra cartera. Es seguro compartirla.",
|
|
||||||
"wallet_key_created": "La clave de tu Vault ha sido creada. Tómate un momento para anotar la semilla mnemotécnica.",
|
"wallet_key_created": "La clave de tu Vault ha sido creada. Tómate un momento para anotar la semilla mnemotécnica.",
|
||||||
"are_you_sure_seed_will_be_lost": "¿Estás seguro? Tu semilla mnemotécnica se perderá si no tienes una copia de seguridad",
|
"are_you_sure_seed_will_be_lost": "¿Estás seguro? Tu semilla mnemotécnica se perderá si no tienes una copia de seguridad",
|
||||||
"forget_this_seed": "Olvida esta semilla y usa XPUB",
|
"forget_this_seed": "Olvida esta semilla y usa XPUB",
|
||||||
"view_edit_cosigners": "Ver/editar co-firmantes",
|
|
||||||
"this_cosigner_is_already_imported": "Este co-firmante ya ha sido importado",
|
|
||||||
"export_signed_psbt": "Exportar PSBT firmado",
|
"export_signed_psbt": "Exportar PSBT firmado",
|
||||||
"input_fp": "introduce la huella dactilar",
|
"input_fp": "introduce la huella dactilar",
|
||||||
"input_fp_explain": "Déjalo en blanco para usar el predeterminado (00000000)",
|
"input_fp_explain": "Déjalo en blanco para usar el predeterminado (00000000)",
|
||||||
|
@ -530,14 +497,12 @@
|
||||||
"owns": "{address} pertenece a {label}",
|
"owns": "{address} pertenece a {label}",
|
||||||
"enter_address": "Introduce la dirección",
|
"enter_address": "Introduce la dirección",
|
||||||
"check_address": "Comprobar dirección",
|
"check_address": "Comprobar dirección",
|
||||||
"no_wallet_owns_address": "Ninguna de las carteras disponibles posee la dirección proporcionada.",
|
"no_wallet_owns_address": "Ninguna de las carteras disponibles posee la dirección proporcionada."
|
||||||
"view_qrcode": "Ver código QR"
|
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "Cambio",
|
"change": "Cambio",
|
||||||
"coins_selected": "({number}) monedas (coins) seleccionadas",
|
"coins_selected": "({number}) monedas (coins) seleccionadas",
|
||||||
"selected_summ": "{value} seleccionado",
|
"selected_summ": "{value} seleccionado",
|
||||||
"empty": "Esta cartera no tiene fondos en este momento",
|
|
||||||
"freeze": "Congelar",
|
"freeze": "Congelar",
|
||||||
"freezeLabel": "Congelar",
|
"freezeLabel": "Congelar",
|
||||||
"freezeLabel_un": "Descongelar",
|
"freezeLabel_un": "Descongelar",
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"continue": "Continúa",
|
"continue": "Continúa",
|
||||||
"clipboard": "Portapapeles",
|
"clipboard": "Portapapeles",
|
||||||
|
"discard_changes": "¿Descartar cambios?",
|
||||||
|
"discard_changes_explain": "Tienes cambios sin guardar. ¿Estás seguro de que quieres descartarlos y salir de la pantalla?",
|
||||||
"enter_password": "Ingresar contraseña",
|
"enter_password": "Ingresar contraseña",
|
||||||
"never": "Nunca",
|
"never": "Nunca",
|
||||||
"of": "{number} de {total}",
|
"of": "{number} de {total}",
|
||||||
|
@ -23,7 +25,8 @@
|
||||||
"pick_image": "Elegir imagen de la biblioteca",
|
"pick_image": "Elegir imagen de la biblioteca",
|
||||||
"pick_file": "Escoge un archivo",
|
"pick_file": "Escoge un archivo",
|
||||||
"enter_amount": "Ingresa la cantidad",
|
"enter_amount": "Ingresa la cantidad",
|
||||||
"qr_custom_input_button": "Pulsa 10 veces para ingresar una entrada personalizada"
|
"qr_custom_input_button": "Pulsa 10 veces para ingresar una entrada personalizada",
|
||||||
|
"unlock": "Desbloquear"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Alerta"
|
"default": "Alerta"
|
||||||
|
@ -228,6 +231,7 @@
|
||||||
"about_sm_twitter": "Siguenos en Twitter",
|
"about_sm_twitter": "Siguenos en Twitter",
|
||||||
"advanced_options": "Opciones Avanzadas",
|
"advanced_options": "Opciones Avanzadas",
|
||||||
"biometrics": "Biometría",
|
"biometrics": "Biometría",
|
||||||
|
"biometrics_no_longer_available": "La configuración de tu dispositivo cambió y ya no coincide con la configuración de seguridad seleccionada en la aplicación. Vuelve a habilitar los datos biométricos o el código de acceso, luego reinicia la aplicación para aplicar estos cambios.",
|
||||||
"biom_10times": "Has intentado ingresar tu contraseña 10 veces. ¿Te gustaría restablecer tu almacenamiento? Esto eliminará todas las billeteras y descifrará tu almacenamiento.",
|
"biom_10times": "Has intentado ingresar tu contraseña 10 veces. ¿Te gustaría restablecer tu almacenamiento? Esto eliminará todas las billeteras y descifrará tu almacenamiento.",
|
||||||
"biom_conf_identity": "Por favor confirma tu identidad.",
|
"biom_conf_identity": "Por favor confirma tu identidad.",
|
||||||
"biom_no_passcode": "Tu dispositivo no tiene un código de acceso. Para continuar, configura un código de acceso en la aplicación Configuración.",
|
"biom_no_passcode": "Tu dispositivo no tiene un código de acceso. Para continuar, configura un código de acceso en la aplicación Configuración.",
|
||||||
|
|
|
@ -13,8 +13,7 @@
|
||||||
"save": "Salvesta",
|
"save": "Salvesta",
|
||||||
"seed": "Seeme",
|
"seed": "Seeme",
|
||||||
"success": "Toiming õnnestus",
|
"success": "Toiming õnnestus",
|
||||||
"wallet_key": "Rahakoti võti",
|
"wallet_key": "Rahakoti võti"
|
||||||
"invalid_animated_qr_code_fragment": "Vale animeeritud QR-koodi fragment. Palun proovi uuesti."
|
|
||||||
},
|
},
|
||||||
"azteco": {
|
"azteco": {
|
||||||
"codeIs": "Sinu vautšeri kood on",
|
"codeIs": "Sinu vautšeri kood on",
|
||||||
|
|
44
loc/fa.json
44
loc/fa.json
|
@ -15,9 +15,6 @@
|
||||||
"seed": "سید",
|
"seed": "سید",
|
||||||
"success": "موفقیتآمیز بود",
|
"success": "موفقیتآمیز بود",
|
||||||
"wallet_key": "کلید کیف پول",
|
"wallet_key": "کلید کیف پول",
|
||||||
"invalid_animated_qr_code_fragment": "کد QR جزئی متحرک نامعتبر است. لطفاً دوباره امتحان کنید.",
|
|
||||||
"file_saved": "فایل {filePath} در {destination} شما ذخیره شد.",
|
|
||||||
"downloads_folder": "پوشهٔ دانلودها",
|
|
||||||
"close": "بستن",
|
"close": "بستن",
|
||||||
"change_input_currency": "ویرایش ارز ورودی",
|
"change_input_currency": "ویرایش ارز ورودی",
|
||||||
"refresh": "تازهسازی",
|
"refresh": "تازهسازی",
|
||||||
|
@ -57,7 +54,6 @@
|
||||||
"claim_balance": "تسویهٔ موجودی {balance}",
|
"claim_balance": "تسویهٔ موجودی {balance}",
|
||||||
"close_channel": "بستن کانال",
|
"close_channel": "بستن کانال",
|
||||||
"new_channel": "کانال جدید",
|
"new_channel": "کانال جدید",
|
||||||
"errorInvoiceExpired": "صورتحساب منقضی شد",
|
|
||||||
"force_close_channel": "بستن اجباری کانال؟",
|
"force_close_channel": "بستن اجباری کانال؟",
|
||||||
"expired": "منقضیشده",
|
"expired": "منقضیشده",
|
||||||
"node_alias": "نام مستعار گره",
|
"node_alias": "نام مستعار گره",
|
||||||
|
@ -66,7 +62,6 @@
|
||||||
"payment": "پرداخت",
|
"payment": "پرداخت",
|
||||||
"placeholder": "صورتحساب یا آدرس",
|
"placeholder": "صورتحساب یا آدرس",
|
||||||
"open_channel": "بازکردن کانال",
|
"open_channel": "بازکردن کانال",
|
||||||
"funding_amount_placeholder": "مقدار تأمین وجه، برای مثال، ۰٫۰۰۱",
|
|
||||||
"opening_channnel_for_from": "درحال بازکردن کانال برای کیف پول {forWalletLabel}، با تأمین وجه از {fromWalletLabel}",
|
"opening_channnel_for_from": "درحال بازکردن کانال برای کیف پول {forWalletLabel}، با تأمین وجه از {fromWalletLabel}",
|
||||||
"are_you_sure_open_channel": "آیا از بازکردن این کانال اطمینان دارید؟",
|
"are_you_sure_open_channel": "آیا از بازکردن این کانال اطمینان دارید؟",
|
||||||
"potentialFee": "کارمزد احتمالی: {fee}",
|
"potentialFee": "کارمزد احتمالی: {fee}",
|
||||||
|
@ -89,7 +84,6 @@
|
||||||
"open_direct_channel": "کانال مستقیمی با این گره باز کن:",
|
"open_direct_channel": "کانال مستقیمی با این گره باز کن:",
|
||||||
"please_pay_between_and": "لطفاً بین {min} و {max} بپردازید",
|
"please_pay_between_and": "لطفاً بین {min} و {max} بپردازید",
|
||||||
"please_pay": "لطفاً",
|
"please_pay": "لطفاً",
|
||||||
"preimage": "پیشنگاره",
|
|
||||||
"sats": "ساتوشی بپردازید.",
|
"sats": "ساتوشی بپردازید.",
|
||||||
"wasnt_paid_and_expired": "این صورتحساب پرداخت نشده و منقضی شده است."
|
"wasnt_paid_and_expired": "این صورتحساب پرداخت نشده و منقضی شده است."
|
||||||
},
|
},
|
||||||
|
@ -107,8 +101,6 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "آیا کلمههای پشتیبان کیف پول خود را ذخیره کردهاید؟ درصورت ازدستدادن این دستگاه، این کلمههای پشتیبان برای دسترسی به دارایی شما لازم هستند. بدون کلمههای پشتیبان، دارایی شما برای همیشه ازدست خواهد رفت.",
|
"ask": "آیا کلمههای پشتیبان کیف پول خود را ذخیره کردهاید؟ درصورت ازدستدادن این دستگاه، این کلمههای پشتیبان برای دسترسی به دارایی شما لازم هستند. بدون کلمههای پشتیبان، دارایی شما برای همیشه ازدست خواهد رفت.",
|
||||||
"ask_no": "خیر، نکردهام",
|
|
||||||
"ask_yes": "بله، کردهام",
|
|
||||||
"ok": "خب، آن را نوشتم.",
|
"ok": "خب، آن را نوشتم.",
|
||||||
"ok_lnd": "خب، آن را ذخیره کردم.",
|
"ok_lnd": "خب، آن را ذخیره کردم.",
|
||||||
"text": "لطفاً درنگ کرده و این عبارت یادیار (mnemonic phrase) را روی یک تکه کاغذ یادداشت کنید. این کلمهها نسخهٔ پشتیبان شما هستند، و میتوانید از آنها برای بازیابی کیف پول در دستگاه دیگری استفاده کنید.",
|
"text": "لطفاً درنگ کرده و این عبارت یادیار (mnemonic phrase) را روی یک تکه کاغذ یادداشت کنید. این کلمهها نسخهٔ پشتیبان شما هستند، و میتوانید از آنها برای بازیابی کیف پول در دستگاه دیگری استفاده کنید.",
|
||||||
|
@ -161,7 +153,6 @@
|
||||||
"details_create": "ایجاد صورتحساب",
|
"details_create": "ایجاد صورتحساب",
|
||||||
"details_error_decode": "ناموفق در رمزگشایی آدرس بیتکوین",
|
"details_error_decode": "ناموفق در رمزگشایی آدرس بیتکوین",
|
||||||
"details_fee_field_is_not_valid": "کارمزد معتبر نیست.",
|
"details_fee_field_is_not_valid": "کارمزد معتبر نیست.",
|
||||||
"details_frozen": "{amount} بیتکوین مسدود شده است.",
|
|
||||||
"details_next": "بعدی",
|
"details_next": "بعدی",
|
||||||
"details_no_signed_tx": "فایل انتخابشده حاوی تراکنشی نیست که بتوان آن را وارد کرد.",
|
"details_no_signed_tx": "فایل انتخابشده حاوی تراکنشی نیست که بتوان آن را وارد کرد.",
|
||||||
"details_note_placeholder": "یادداشت به خود",
|
"details_note_placeholder": "یادداشت به خود",
|
||||||
|
@ -193,7 +184,6 @@
|
||||||
"permission_camera_message": "برای استفاده از دوربین به اجازهٔ شما نیاز داریم.",
|
"permission_camera_message": "برای استفاده از دوربین به اجازهٔ شما نیاز داریم.",
|
||||||
"psbt_sign": "امضاکردن تراکنش",
|
"psbt_sign": "امضاکردن تراکنش",
|
||||||
"open_settings": "بازکردن تنظیمات",
|
"open_settings": "بازکردن تنظیمات",
|
||||||
"permission_storage_later": "بعداً از من بپرس",
|
|
||||||
"permission_storage_message": "برنامهٔ BlueWallet جهت ذخیرهٔ این فایل به اجازهٔ شما برای دسترسی به فضای ذخیرهسازی نیاز دارد.",
|
"permission_storage_message": "برنامهٔ BlueWallet جهت ذخیرهٔ این فایل به اجازهٔ شما برای دسترسی به فضای ذخیرهسازی نیاز دارد.",
|
||||||
"permission_storage_denied_message": "برنامهٔ BlueWallet قادر به ذخیرهٔ این فایل نیست. لطفاً تنظیمات دستگاه خود را باز کرده و «اجازهٔ ذخیرهسازی» (Storage Permission) را فعال کنید.",
|
"permission_storage_denied_message": "برنامهٔ BlueWallet قادر به ذخیرهٔ این فایل نیست. لطفاً تنظیمات دستگاه خود را باز کرده و «اجازهٔ ذخیرهسازی» (Storage Permission) را فعال کنید.",
|
||||||
"permission_storage_title": "مجوز دسترسی به فضای ذخیرهسازی",
|
"permission_storage_title": "مجوز دسترسی به فضای ذخیرهسازی",
|
||||||
|
@ -204,7 +194,6 @@
|
||||||
"outdated_rate": "آخرین بهروزرسانی نرخ: {date}",
|
"outdated_rate": "آخرین بهروزرسانی نرخ: {date}",
|
||||||
"psbt_tx_open": "بازکردن تراکنش امضاشده",
|
"psbt_tx_open": "بازکردن تراکنش امضاشده",
|
||||||
"psbt_tx_scan": "اسکن تراکنش امضاشده",
|
"psbt_tx_scan": "اسکن تراکنش امضاشده",
|
||||||
"qr_error_no_qrcode": "قادر به یافتن کد QR در تصویر انتخابشده نبودیم. اطمینان حاصل کنید که تصویر تنها حاوی کد QR بوده و محتوای اضافیای همچون متن یا دکمه درون آن وجود ندارد.",
|
|
||||||
"reset_amount": "بازنشانی مقدار",
|
"reset_amount": "بازنشانی مقدار",
|
||||||
"reset_amount_confirm": "آیا میخواهید مقدار را بازنشانی کنید؟",
|
"reset_amount_confirm": "آیا میخواهید مقدار را بازنشانی کنید؟",
|
||||||
"success_done": "انجام شد",
|
"success_done": "انجام شد",
|
||||||
|
@ -243,7 +232,6 @@
|
||||||
"default_wallets": "مشاهدهٔ همهٔ کیف پولها",
|
"default_wallets": "مشاهدهٔ همهٔ کیف پولها",
|
||||||
"electrum_connected": "متصل",
|
"electrum_connected": "متصل",
|
||||||
"electrum_connected_not": "عدم اتصال",
|
"electrum_connected_not": "عدم اتصال",
|
||||||
"electrum_error_connect": "نمیتوان به سرور الکترام ارائهشده متصل شد",
|
|
||||||
"lndhub_uri": "بهعنوان مثال، {example}",
|
"lndhub_uri": "بهعنوان مثال، {example}",
|
||||||
"electrum_host": "بهعنوان مثال، {example}",
|
"electrum_host": "بهعنوان مثال، {example}",
|
||||||
"electrum_offline_mode": "حالت آفلاین",
|
"electrum_offline_mode": "حالت آفلاین",
|
||||||
|
@ -311,16 +299,13 @@
|
||||||
"selfTest": "خودآزمایی",
|
"selfTest": "خودآزمایی",
|
||||||
"save": "ذخیره",
|
"save": "ذخیره",
|
||||||
"saved": "ذخیره شد",
|
"saved": "ذخیره شد",
|
||||||
"success_transaction_broadcasted": "موفقیتآمیز بود! تراکنش شما منتشر شد!",
|
|
||||||
"total_balance": "موجودی کل",
|
"total_balance": "موجودی کل",
|
||||||
"total_balance_explanation": "نمایش موجودی کل تمام کیف پولهای شما در ابزارکهای صفحهٔ اصلی",
|
"total_balance_explanation": "نمایش موجودی کل تمام کیف پولهای شما در ابزارکهای صفحهٔ اصلی",
|
||||||
"widgets": "ابزارکها",
|
"widgets": "ابزارکها",
|
||||||
"tools": "ابزارها"
|
"tools": "ابزارها"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "آیا میخواهید هنگام دریافت وجه اعلان دریافت کنید؟",
|
"would_you_like_to_receive_notifications": "آیا میخواهید هنگام دریافت وجه اعلان دریافت کنید؟"
|
||||||
"no_and_dont_ask": "نه، و دیگر از من نپرس",
|
|
||||||
"ask_me_later": "بعداً از من بپرس"
|
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "ما این تراکنش را با تراکنشی که گیرندهٔ آن شما هستید و کارمزد بیشتری دارد جایگزین خواهیم کرد. این درعمل تراکنش کنونی را لغو میکند. این کار Replace by Fee (بهاختصار RBF) نام دارد—جایگزینی با کارمزد.",
|
"cancel_explain": "ما این تراکنش را با تراکنشی که گیرندهٔ آن شما هستید و کارمزد بیشتری دارد جایگزین خواهیم کرد. این درعمل تراکنش کنونی را لغو میکند. این کار Replace by Fee (بهاختصار RBF) نام دارد—جایگزینی با کارمزد.",
|
||||||
|
@ -393,7 +378,6 @@
|
||||||
"details_advanced": "پیشرفته",
|
"details_advanced": "پیشرفته",
|
||||||
"details_are_you_sure": "مطمئن هستید؟",
|
"details_are_you_sure": "مطمئن هستید؟",
|
||||||
"details_connected_to": "متصل به",
|
"details_connected_to": "متصل به",
|
||||||
"details_del_wb_err": "مقدار موجودی ارائهشده با موجودی این کیف پول مطابقت ندارد. لطفاً دوباره تلاش کنید.",
|
|
||||||
"details_del_wb_q": "این کیف پول دارای موجودی است. قبل از ادامه، لطفاً توجه داشته باشید که بدون عبارت سید این کیف پول، قادر به بازیابی دارایی آن نخواهید بود. بهمنظور جلوگیری از حذف تصادفی این کیف پول، لطفاً موجودی کیف پول خود معادل {balance} ساتوشی را وارد کنید.",
|
"details_del_wb_q": "این کیف پول دارای موجودی است. قبل از ادامه، لطفاً توجه داشته باشید که بدون عبارت سید این کیف پول، قادر به بازیابی دارایی آن نخواهید بود. بهمنظور جلوگیری از حذف تصادفی این کیف پول، لطفاً موجودی کیف پول خود معادل {balance} ساتوشی را وارد کنید.",
|
||||||
"details_delete": "حذف",
|
"details_delete": "حذف",
|
||||||
"details_delete_wallet": "حذف کیف پول",
|
"details_delete_wallet": "حذف کیف پول",
|
||||||
|
@ -430,16 +414,9 @@
|
||||||
"import_discovery_subtitle": "کیف پول پیداشده را انتخاب کنید",
|
"import_discovery_subtitle": "کیف پول پیداشده را انتخاب کنید",
|
||||||
"import_discovery_derivation": "استفاده از مسیر اشتقاق دلخواه",
|
"import_discovery_derivation": "استفاده از مسیر اشتقاق دلخواه",
|
||||||
"import_discovery_no_wallets": "کیف پولی یافت نشد.",
|
"import_discovery_no_wallets": "کیف پولی یافت نشد.",
|
||||||
"import_derivation_found": "پیدا شد",
|
|
||||||
"import_derivation_found_not": "پیدا نشد",
|
|
||||||
"import_derivation_loading": "درحالبارگذاری…",
|
|
||||||
"import_derivation_subtitle": "مسیر اشتقاق دلخواه را وارد کرده، و ما تلاش خواهیم کرد کیف پول شما را پیدا کنیم.",
|
|
||||||
"import_derivation_title": "مسیر اشتقاق",
|
"import_derivation_title": "مسیر اشتقاق",
|
||||||
"import_derivation_unknown": "نامشخص",
|
|
||||||
"import_wrong_path": "مسیر اشتقاق نادرست",
|
|
||||||
"list_create_a_button": "هماکنون اضافه کن",
|
"list_create_a_button": "هماکنون اضافه کن",
|
||||||
"list_create_a_wallet": "افزودن کیف پول",
|
"list_create_a_wallet": "افزودن کیف پول",
|
||||||
"list_create_a_wallet_text": "مجانی است، و میتوانید هر تعداد\nکه دوست داشتید بسازید.",
|
|
||||||
"list_empty_txs1": "تراکنشهای شما در اینجا نمایش داده خواهند شد.",
|
"list_empty_txs1": "تراکنشهای شما در اینجا نمایش داده خواهند شد.",
|
||||||
"list_empty_txs1_lightning": "برای تراکنشهای روزمره بهتر است از کیف پول لایتنینگ استفاده شود. کارمزدها بهطرز غیرمنصفانهای ارزان و سرعت فوقالعاده بالاست.",
|
"list_empty_txs1_lightning": "برای تراکنشهای روزمره بهتر است از کیف پول لایتنینگ استفاده شود. کارمزدها بهطرز غیرمنصفانهای ارزان و سرعت فوقالعاده بالاست.",
|
||||||
"list_empty_txs2": "با کیف پول خود شروع کنید.",
|
"list_empty_txs2": "با کیف پول خود شروع کنید.",
|
||||||
|
@ -454,7 +431,6 @@
|
||||||
"no_ln_wallet_error": "قبل از پرداخت یک صورتحساب لایتنینگ، ابتدا باید یک کیف پول لایتنینگ اضافه کنید.",
|
"no_ln_wallet_error": "قبل از پرداخت یک صورتحساب لایتنینگ، ابتدا باید یک کیف پول لایتنینگ اضافه کنید.",
|
||||||
"looks_like_bip38": "این به کلید خصوصی محافظتشده با گذرواژه (BIP38) شباهت دارد.",
|
"looks_like_bip38": "این به کلید خصوصی محافظتشده با گذرواژه (BIP38) شباهت دارد.",
|
||||||
"reorder_title": "بازچینی کیف پولها",
|
"reorder_title": "بازچینی کیف پولها",
|
||||||
"reorder_instructions": "روی یک کیف پول بزنید و نگه دارید تا آن را در لیست جابهجا کنید.",
|
|
||||||
"please_continue_scanning": "لطفاً به اسکنکردن ادامه دهید.",
|
"please_continue_scanning": "لطفاً به اسکنکردن ادامه دهید.",
|
||||||
"select_no_bitcoin": "هیچ کیف پول بیتکوینی درحالحاضر دردسترس نیست.",
|
"select_no_bitcoin": "هیچ کیف پول بیتکوینی درحالحاضر دردسترس نیست.",
|
||||||
"select_no_bitcoin_exp": "یک کیف پول بیتکوین برای پرکردن کیف پولهای لایتنینگ نیاز است. لطفاً یکی بسازید یا وارد کنید.",
|
"select_no_bitcoin_exp": "یک کیف پول بیتکوین برای پرکردن کیف پولهای لایتنینگ نیاز است. لطفاً یکی بسازید یا وارد کنید.",
|
||||||
|
@ -479,8 +455,6 @@
|
||||||
"header": "ارسال",
|
"header": "ارسال",
|
||||||
"share": "اشتراکگذاری",
|
"share": "اشتراکگذاری",
|
||||||
"view": "مشاهده",
|
"view": "مشاهده",
|
||||||
"shared_key_detected": "امضاکنندهٔ مشترک",
|
|
||||||
"shared_key_detected_question": "یک امضاکنندهٔ با شما به اشتراک گذاشته شده، آیا میخواهید واردش کنید؟",
|
|
||||||
"manage_keys": "مدیریت کلیدها",
|
"manage_keys": "مدیریت کلیدها",
|
||||||
"how_many_signatures_can_bluewallet_make": "امضاهایی که BlueWallet میتواند ایجاد کند",
|
"how_many_signatures_can_bluewallet_make": "امضاهایی که BlueWallet میتواند ایجاد کند",
|
||||||
"signatures_required_to_spend": "امضاهای موردنیاز: {number}",
|
"signatures_required_to_spend": "امضاهای موردنیاز: {number}",
|
||||||
|
@ -506,20 +480,14 @@
|
||||||
"quorum_header": "حد نصاب",
|
"quorum_header": "حد نصاب",
|
||||||
"of": "از",
|
"of": "از",
|
||||||
"wallet_type": "نوع کیف پول",
|
"wallet_type": "نوع کیف پول",
|
||||||
"invalid_mnemonics": "بهنظر نمیرسد این عبارت یادیار (mnemonic phrase) معتبر باشد.",
|
|
||||||
"invalid_cosigner": "دادهٔ امضاکنندهٔ مشترک غیرمعتبر",
|
|
||||||
"not_a_multisignature_xpub": "این XPUB از یک کیف پول چندامضایی نیست!",
|
"not_a_multisignature_xpub": "این XPUB از یک کیف پول چندامضایی نیست!",
|
||||||
"invalid_cosigner_format": "امضاکنندهٔ مشترک نادرست: این یک امضاکنندهٔ مشترک برای قالب {format} نیست.",
|
|
||||||
"create_new_key": "جدید بسازید",
|
"create_new_key": "جدید بسازید",
|
||||||
"scan_or_open_file": "اسکن یا بازکردن فایل",
|
"scan_or_open_file": "اسکن یا بازکردن فایل",
|
||||||
"i_have_mnemonics": "من سید این کلید را دارم.",
|
"i_have_mnemonics": "من سید این کلید را دارم.",
|
||||||
"type_your_mnemonics": "سید را بنویسید تا کلید گاوصندوق فعلی خود را وارد کنید.",
|
"type_your_mnemonics": "سید را بنویسید تا کلید گاوصندوق فعلی خود را وارد کنید.",
|
||||||
"this_is_cosigners_xpub": "این XPUB امضاکنندهٔ مشترک است—آماده برای واردشدن درون یک کیف پول دیگر. بهاشتراکگذاری آن مانعی ندارد.",
|
|
||||||
"wallet_key_created": "کلید گاوصندوق شما ایجاد شد. لحظهای درنگ کرده تا با خیال راحت از سید خود نسخهٔ پشتیبان تهیه کنید.",
|
"wallet_key_created": "کلید گاوصندوق شما ایجاد شد. لحظهای درنگ کرده تا با خیال راحت از سید خود نسخهٔ پشتیبان تهیه کنید.",
|
||||||
"are_you_sure_seed_will_be_lost": "مطمئن هستید؟ درصورتیکه نسخهٔ پشتیبان نداشته باشید، سید شما ازبین خواهد رفت.",
|
"are_you_sure_seed_will_be_lost": "مطمئن هستید؟ درصورتیکه نسخهٔ پشتیبان نداشته باشید، سید شما ازبین خواهد رفت.",
|
||||||
"forget_this_seed": "این سید را فراموش و بهجای آن از XPUB استفاده کن.",
|
"forget_this_seed": "این سید را فراموش و بهجای آن از XPUB استفاده کن.",
|
||||||
"view_edit_cosigners": "مشاهده/ویرایش امضاکنندگان مشترک",
|
|
||||||
"this_cosigner_is_already_imported": "این امضاکنندهٔ مشترک قبلاً وارد شده است.",
|
|
||||||
"export_signed_psbt": "صادرکردن PSBT امضاشده",
|
"export_signed_psbt": "صادرکردن PSBT امضاشده",
|
||||||
"input_fp": "اثر انگشت را وارد کنید",
|
"input_fp": "اثر انگشت را وارد کنید",
|
||||||
"input_fp_explain": "جهت استفاده از تنظیمات پیشفرض (۰۰۰۰۰۰۰۰) رد کنید",
|
"input_fp_explain": "جهت استفاده از تنظیمات پیشفرض (۰۰۰۰۰۰۰۰) رد کنید",
|
||||||
|
@ -544,20 +512,12 @@
|
||||||
"owns": "آدرس {address} متعلق به «{label}» است.",
|
"owns": "آدرس {address} متعلق به «{label}» است.",
|
||||||
"enter_address": "آدرس را وارد کنید",
|
"enter_address": "آدرس را وارد کنید",
|
||||||
"check_address": "بررسی آدرس",
|
"check_address": "بررسی آدرس",
|
||||||
"no_wallet_owns_address": "آدرس ارائهشده متعلق به هیچکدام از کیف پولهای موجود نیست.",
|
"no_wallet_owns_address": "آدرس ارائهشده متعلق به هیچکدام از کیف پولهای موجود نیست."
|
||||||
"view_qrcode": "مشاهدهٔ کد QR"
|
|
||||||
},
|
|
||||||
"autofill_word": {
|
|
||||||
"title": "تولید کلمهٔ یادیار (mnemonic) آخر",
|
|
||||||
"enter": "عبارت یادیار (mnemonic phrase) ناقص را وارد کنید",
|
|
||||||
"generate_word": "تولید کلمهٔ آخر",
|
|
||||||
"error": "متن واردشده یک عبارت یادیار (mnemonic phrase) ناقص ۱۱ یا ۲۳ کلمهای نیست!"
|
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "باقیمانده (change)",
|
"change": "باقیمانده (change)",
|
||||||
"coins_selected": "کوینهای انتخابشده ({number})",
|
"coins_selected": "کوینهای انتخابشده ({number})",
|
||||||
"selected_summ": "انتخابشده: {value}",
|
"selected_summ": "انتخابشده: {value}",
|
||||||
"empty": "این کیف پول درحالحاضر هیچ کوینی ندارد.",
|
|
||||||
"freeze": "مسدود",
|
"freeze": "مسدود",
|
||||||
"freezeLabel": "مسدودکردن",
|
"freezeLabel": "مسدودکردن",
|
||||||
"freezeLabel_un": "عدم مسدودسازی",
|
"freezeLabel_un": "عدم مسدودسازی",
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
"save": "Tallenna",
|
"save": "Tallenna",
|
||||||
"seed": "Siemen",
|
"seed": "Siemen",
|
||||||
"success": "Onnistui",
|
"success": "Onnistui",
|
||||||
"wallet_key": "Lompakkoavain"
|
"wallet_key": "Lompakkoavain",
|
||||||
|
"invalid_animated_qr_code_fragment": "Virheellinen animoitu QRCode-fragmentti, yritä uudelleen."
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Hälytys"
|
"default": "Hälytys"
|
||||||
|
@ -46,12 +47,15 @@
|
||||||
"claim_balance": "Lunasta saldo {balance}",
|
"claim_balance": "Lunasta saldo {balance}",
|
||||||
"close_channel": "Sulje kanava",
|
"close_channel": "Sulje kanava",
|
||||||
"new_channel": "Uusi kanava",
|
"new_channel": "Uusi kanava",
|
||||||
|
"errorInvoiceExpired": "Lasku vanheni.",
|
||||||
"force_close_channel": "Pakota kanavan sulku?",
|
"force_close_channel": "Pakota kanavan sulku?",
|
||||||
"expired": "Erääntynyt",
|
"expired": "Erääntynyt",
|
||||||
"node_alias": "Solmun lempinimi",
|
"node_alias": "Solmun lempinimi",
|
||||||
"expiresIn": "Vanhenee {time} minuutissa",
|
"expiresIn": "Vanhenee {time} minuutissa",
|
||||||
"payButton": "Maksa",
|
"payButton": "Maksa",
|
||||||
|
"placeholder": "Lasku",
|
||||||
"open_channel": "Avaa kanava",
|
"open_channel": "Avaa kanava",
|
||||||
|
"funding_amount_placeholder": "Rahoitettava määrä, esimerkiksi 0.001",
|
||||||
"opening_channnel_for_from": "Ota rahoitus {fromWalletLabel}:sta kanavan avaamiseksi lompakkoon {forWalletLabel}",
|
"opening_channnel_for_from": "Ota rahoitus {fromWalletLabel}:sta kanavan avaamiseksi lompakkoon {forWalletLabel}",
|
||||||
"are_you_sure_open_channel": "Oletko varma että haluat avata tämän kanavan?",
|
"are_you_sure_open_channel": "Oletko varma että haluat avata tämän kanavan?",
|
||||||
"potentialFee": "Mahdollinen siirtokulu: {fee}",
|
"potentialFee": "Mahdollinen siirtokulu: {fee}",
|
||||||
|
@ -74,6 +78,7 @@
|
||||||
"open_direct_channel": "Avaa suora kanava tällä solmulla:",
|
"open_direct_channel": "Avaa suora kanava tällä solmulla:",
|
||||||
"please_pay_between_and": "Maksa vähintään {min} ja enintään {max}",
|
"please_pay_between_and": "Maksa vähintään {min} ja enintään {max}",
|
||||||
"please_pay": "Ole hyvä ja maksa",
|
"please_pay": "Ole hyvä ja maksa",
|
||||||
|
"preimage": "Alkukuva",
|
||||||
"sats": "sattia",
|
"sats": "sattia",
|
||||||
"wasnt_paid_and_expired": "Tätä laskua ei maksettu, ja se on vanhentunut."
|
"wasnt_paid_and_expired": "Tätä laskua ei maksettu, ja se on vanhentunut."
|
||||||
},
|
},
|
||||||
|
@ -91,6 +96,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "Oletko tallentanut lompakon varmuuskopion? Tämä varmuuskopio vaaditaan varojen käyttämiseen, jos kadotat tämän laitteen. Ilman varmuuskopiota varat menetetään lopullisesti.",
|
"ask": "Oletko tallentanut lompakon varmuuskopion? Tämä varmuuskopio vaaditaan varojen käyttämiseen, jos kadotat tämän laitteen. Ilman varmuuskopiota varat menetetään lopullisesti.",
|
||||||
|
"ask_no": "Ei, en ole.",
|
||||||
|
"ask_yes": "Kyllä, olen.",
|
||||||
"ok": "Ok, kirjoitin sen ylös",
|
"ok": "Ok, kirjoitin sen ylös",
|
||||||
"ok_lnd": "OK, olen tallentanut sen.",
|
"ok_lnd": "OK, olen tallentanut sen.",
|
||||||
"text": "Varaa hetki aikaa ja kirjoita palautuslause (mnemonic) talteen paperille.\nSe on varmuuskopiosi ja voit käyttää sitä lompakon palauttamiseen.",
|
"text": "Varaa hetki aikaa ja kirjoita palautuslause (mnemonic) talteen paperille.\nSe on varmuuskopiosi ja voit käyttää sitä lompakon palauttamiseen.",
|
||||||
|
@ -143,6 +150,7 @@
|
||||||
"details_create": "Luo Lasku",
|
"details_create": "Luo Lasku",
|
||||||
"details_error_decode": "Bitcoin-osoitetta ei voida dekoodata ",
|
"details_error_decode": "Bitcoin-osoitetta ei voida dekoodata ",
|
||||||
"details_fee_field_is_not_valid": "Siirtomaksu ei ole pätevä",
|
"details_fee_field_is_not_valid": "Siirtomaksu ei ole pätevä",
|
||||||
|
"details_frozen": "{amount} BTC on jäädytetty.",
|
||||||
"details_next": "Seuraava",
|
"details_next": "Seuraava",
|
||||||
"details_no_signed_tx": "Valittu tiedosto ei sisällä tuotavaa siirtotapahtumaa.",
|
"details_no_signed_tx": "Valittu tiedosto ei sisällä tuotavaa siirtotapahtumaa.",
|
||||||
"details_note_placeholder": "muistiinpano itselle",
|
"details_note_placeholder": "muistiinpano itselle",
|
||||||
|
@ -174,6 +182,7 @@
|
||||||
"permission_camera_message": "Tarvitsemme lupasi kameran käyttöön",
|
"permission_camera_message": "Tarvitsemme lupasi kameran käyttöön",
|
||||||
"psbt_sign": "Allekirjoita siirtotapahtuma",
|
"psbt_sign": "Allekirjoita siirtotapahtuma",
|
||||||
"open_settings": "Avaa Asetukset",
|
"open_settings": "Avaa Asetukset",
|
||||||
|
"permission_storage_later": "Kysy Minulta Myöhemmin.",
|
||||||
"permission_storage_message": "BlueWallet tarvitsee lupasi käyttääkseen tallennustilaasi tämän tiedoston tallentamiseksi.",
|
"permission_storage_message": "BlueWallet tarvitsee lupasi käyttääkseen tallennustilaasi tämän tiedoston tallentamiseksi.",
|
||||||
"permission_storage_denied_message": "BlueWallet ei voinut tallettaa tätä tiedostoa. Aseta laitteesi sallimaan tallentaminen kyttkemällä Storage Permission päälle.",
|
"permission_storage_denied_message": "BlueWallet ei voinut tallettaa tätä tiedostoa. Aseta laitteesi sallimaan tallentaminen kyttkemällä Storage Permission päälle.",
|
||||||
"permission_storage_title": "Tallennustilan käyttöoikeus",
|
"permission_storage_title": "Tallennustilan käyttöoikeus",
|
||||||
|
@ -184,6 +193,7 @@
|
||||||
"outdated_rate": "Vaihtokurssi päivitettiin viimeksi: {date}",
|
"outdated_rate": "Vaihtokurssi päivitettiin viimeksi: {date}",
|
||||||
"psbt_tx_open": "Avaa allekirjoitettu siirtotapahtuma",
|
"psbt_tx_open": "Avaa allekirjoitettu siirtotapahtuma",
|
||||||
"psbt_tx_scan": "Skannaa allekirjoitettu siirtotapahtuma",
|
"psbt_tx_scan": "Skannaa allekirjoitettu siirtotapahtuma",
|
||||||
|
"qr_error_no_qrcode": "Kuvasta ei löytynyt QR-koodia. Varmista että kuva sisältää ainoastaan QR-koodin eikä muita tietoja kuten tekstia tai nappeja.",
|
||||||
"reset_amount": "Nollaa määrä",
|
"reset_amount": "Nollaa määrä",
|
||||||
"reset_amount_confirm": "Haluaisitko nollata määrän?",
|
"reset_amount_confirm": "Haluaisitko nollata määrän?",
|
||||||
"success_done": "Valmis",
|
"success_done": "Valmis",
|
||||||
|
@ -222,6 +232,7 @@
|
||||||
"default_wallets": "Näytä Kaikki Lompakot",
|
"default_wallets": "Näytä Kaikki Lompakot",
|
||||||
"electrum_connected": "Yhdistetty",
|
"electrum_connected": "Yhdistetty",
|
||||||
"electrum_connected_not": "Ei yhteyttä",
|
"electrum_connected_not": "Ei yhteyttä",
|
||||||
|
"electrum_error_connect": "Ei voida yhdistää tarjottuun Electrum-palvelimeen",
|
||||||
"lndhub_uri": "esim, {example}",
|
"lndhub_uri": "esim, {example}",
|
||||||
"electrum_host": "esim, {example}",
|
"electrum_host": "esim, {example}",
|
||||||
"electrum_offline_mode": "Offline-tila",
|
"electrum_offline_mode": "Offline-tila",
|
||||||
|
@ -279,6 +290,7 @@
|
||||||
"privacy_read_clipboard": "Lue Leikepöytä",
|
"privacy_read_clipboard": "Lue Leikepöytä",
|
||||||
"privacy_system_settings": "Järjestelmäasetukset",
|
"privacy_system_settings": "Järjestelmäasetukset",
|
||||||
"privacy_quickactions": "Lompakon Pikanäppäimet",
|
"privacy_quickactions": "Lompakon Pikanäppäimet",
|
||||||
|
"privacy_quickactions_explanation": "Kosketa ja pidä Aloitusnäytön BlueWallet-sovelluskuvaketta nähdäksesi nopeasti lompakon saldon.",
|
||||||
"privacy_clipboard_explanation": "Toimita pikakuvakkeet, jos leikepöydältä löytyy osoite tai lasku.",
|
"privacy_clipboard_explanation": "Toimita pikakuvakkeet, jos leikepöydältä löytyy osoite tai lasku.",
|
||||||
"privacy_do_not_track": "Poista analytiikka käytöstä",
|
"privacy_do_not_track": "Poista analytiikka käytöstä",
|
||||||
"privacy_do_not_track_explanation": "Suorituskyky- ja luotettavuustietoja ei lähtetä analysoitavaksi.",
|
"privacy_do_not_track_explanation": "Suorituskyky- ja luotettavuustietoja ei lähtetä analysoitavaksi.",
|
||||||
|
@ -288,13 +300,16 @@
|
||||||
"selfTest": "Itsetestaus ",
|
"selfTest": "Itsetestaus ",
|
||||||
"save": "Tallenna",
|
"save": "Tallenna",
|
||||||
"saved": "Tallennettu",
|
"saved": "Tallennettu",
|
||||||
|
"success_transaction_broadcasted": "Siirtotapahtumasi on lähetetty onnistuneesti!",
|
||||||
"total_balance": "Kokonaissaldo",
|
"total_balance": "Kokonaissaldo",
|
||||||
"total_balance_explanation": "Näytä kaikkien lompakoiden kokonaissaldo aloitusnäytön widgeteissä.",
|
"total_balance_explanation": "Näytä kaikkien lompakoiden kokonaissaldo aloitusnäytön widgeteissä.",
|
||||||
"widgets": "Widgetit",
|
"widgets": "Widgetit",
|
||||||
"tools": "Työkalut"
|
"tools": "Työkalut"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "Haluatko saada ilmoituksia, kun saat saapuvia maksuja?"
|
"would_you_like_to_receive_notifications": "Haluatko saada ilmoituksia, kun saat saapuvia maksuja?",
|
||||||
|
"no_and_dont_ask": "En, ja Älä Kysy Minulta Uudelleen.",
|
||||||
|
"ask_me_later": "Kysy Minulta Myöhemmin."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "Korvaamme tämän siirtotapahtuman sellaisella, joka maksaa sinulle ja jossa on korkeammat siirtomaksut. Tämä käytännössä peruuttaa nykyisen siirtotapahtuman. Tätä kutsutaan nimellä RBF-Replace by Fee.",
|
"cancel_explain": "Korvaamme tämän siirtotapahtuman sellaisella, joka maksaa sinulle ja jossa on korkeammat siirtomaksut. Tämä käytännössä peruuttaa nykyisen siirtotapahtuman. Tätä kutsutaan nimellä RBF-Replace by Fee.",
|
||||||
|
@ -367,6 +382,7 @@
|
||||||
"details_advanced": "Edistynyt",
|
"details_advanced": "Edistynyt",
|
||||||
"details_are_you_sure": "Oletko varma?",
|
"details_are_you_sure": "Oletko varma?",
|
||||||
"details_connected_to": "Yhdistetty",
|
"details_connected_to": "Yhdistetty",
|
||||||
|
"details_del_wb_err": "Annettu saldo ei vastaa tämän lompakon saldoa. Yritä uudelleen.",
|
||||||
"details_del_wb_q": "Lompakossa on varoja. Ennenkuin jatkat, ymmärrä että tarvitset lompakon palautukseen tulevaisuudeessa palautuslauseen. Varmistaaksemme ettet tuhoa lompakkoa vahingossa, tulee sinun syöttää saldosi {balance} satosheina.",
|
"details_del_wb_q": "Lompakossa on varoja. Ennenkuin jatkat, ymmärrä että tarvitset lompakon palautukseen tulevaisuudeessa palautuslauseen. Varmistaaksemme ettet tuhoa lompakkoa vahingossa, tulee sinun syöttää saldosi {balance} satosheina.",
|
||||||
"details_delete": "Poista",
|
"details_delete": "Poista",
|
||||||
"details_delete_wallet": "Poista lompakko",
|
"details_delete_wallet": "Poista lompakko",
|
||||||
|
@ -403,9 +419,16 @@
|
||||||
"import_discovery_subtitle": "Valitse löydetty lompakko",
|
"import_discovery_subtitle": "Valitse löydetty lompakko",
|
||||||
"import_discovery_derivation": "Vaihtoehtoinen derivation path",
|
"import_discovery_derivation": "Vaihtoehtoinen derivation path",
|
||||||
"import_discovery_no_wallets": "Lompakkoja ei löytynyt",
|
"import_discovery_no_wallets": "Lompakkoja ei löytynyt",
|
||||||
|
"import_derivation_found": "löytyi",
|
||||||
|
"import_derivation_found_not": "Ei löytynyt",
|
||||||
|
"import_derivation_loading": "Ladataan...",
|
||||||
|
"import_derivation_subtitle": "Syötä vaihtoehtoinen derivation path, niin yritämme etsiä lompakkosi.",
|
||||||
"import_derivation_title": "Derivation path",
|
"import_derivation_title": "Derivation path",
|
||||||
|
"import_derivation_unknown": "Tuntematon",
|
||||||
|
"import_wrong_path": "Väärä derivation path",
|
||||||
"list_create_a_button": "Lisää nyt",
|
"list_create_a_button": "Lisää nyt",
|
||||||
"list_create_a_wallet": "Lisää lompakko",
|
"list_create_a_wallet": "Lisää lompakko",
|
||||||
|
"list_create_a_wallet_text": "Se on ilmainen ja voit luoda\nniin monta kuin haluat.",
|
||||||
"list_empty_txs1": "Siirtotapahtumasi näkyvät tässä,",
|
"list_empty_txs1": "Siirtotapahtumasi näkyvät tässä,",
|
||||||
"list_empty_txs1_lightning": "Salamalompakkoa voit käyttää päivittäisiin siirtoihin. Siirtomaksut ovat kohtuuttoman halvat ja se toimii todella nopeasti.",
|
"list_empty_txs1_lightning": "Salamalompakkoa voit käyttää päivittäisiin siirtoihin. Siirtomaksut ovat kohtuuttoman halvat ja se toimii todella nopeasti.",
|
||||||
"list_empty_txs2": "Aloita lompakostasi. ",
|
"list_empty_txs2": "Aloita lompakostasi. ",
|
||||||
|
@ -420,7 +443,6 @@
|
||||||
"no_ln_wallet_error": "Ennen kuin maksat Salamalaskun, sinun on ensin lisättävä Salamalompakko.",
|
"no_ln_wallet_error": "Ennen kuin maksat Salamalaskun, sinun on ensin lisättävä Salamalompakko.",
|
||||||
"looks_like_bip38": "Tämä näyttää salasanalla suojatulta yksityiseltä avaimelta (BIP38)",
|
"looks_like_bip38": "Tämä näyttää salasanalla suojatulta yksityiseltä avaimelta (BIP38)",
|
||||||
"reorder_title": "Järjestele Lompakot",
|
"reorder_title": "Järjestele Lompakot",
|
||||||
"reorder_instructions": "Siirrä listalla, ensin napauttamalla ja pitämällä, sitten vetäen.",
|
|
||||||
"please_continue_scanning": "Jatka skannausta",
|
"please_continue_scanning": "Jatka skannausta",
|
||||||
"select_no_bitcoin": "Bitcoin-lompakkoa ei tällä hetkellä ole saatavana.",
|
"select_no_bitcoin": "Bitcoin-lompakkoa ei tällä hetkellä ole saatavana.",
|
||||||
"select_no_bitcoin_exp": "Bitcoin-lompakkoa vaaditaan Salamalompakkojen täyttämiseksi. Luo tai tuo yksi.",
|
"select_no_bitcoin_exp": "Bitcoin-lompakkoa vaaditaan Salamalompakkojen täyttämiseksi. Luo tai tuo yksi.",
|
||||||
|
@ -470,14 +492,20 @@
|
||||||
"quorum_header": "Quorum",
|
"quorum_header": "Quorum",
|
||||||
"of": "n",
|
"of": "n",
|
||||||
"wallet_type": "Lompakon tyyppi",
|
"wallet_type": "Lompakon tyyppi",
|
||||||
|
"invalid_mnemonics": "Tämä muistilauseke ei näytä olevan pätevä.",
|
||||||
|
"invalid_cosigner": "Virheellinen kanssa-allekirjoittajan tieto",
|
||||||
"not_a_multisignature_xpub": "Tämä ei ole xpub multisignature-lompakosta!",
|
"not_a_multisignature_xpub": "Tämä ei ole xpub multisignature-lompakosta!",
|
||||||
|
"invalid_cosigner_format": "Virheellinen allekirjoittaja: tämä ei ole muodon {format} allekirjoittaja.",
|
||||||
"create_new_key": "Luo Uusi",
|
"create_new_key": "Luo Uusi",
|
||||||
"scan_or_open_file": "Skannaa tai avaa tiedosto",
|
"scan_or_open_file": "Skannaa tai avaa tiedosto",
|
||||||
"i_have_mnemonics": "Minulla on siemen tälle avaimelle...",
|
"i_have_mnemonics": "Minulla on siemen tälle avaimelle...",
|
||||||
"type_your_mnemonics": "Lisää siemen tuodaksesi Vault-avaimesi",
|
"type_your_mnemonics": "Lisää siemen tuodaksesi Vault-avaimesi",
|
||||||
|
"this_is_cosigners_xpub": "Tämä on allekirjoittajan xpub, joka on valmis tuotavaksi toiseen lompakkoon. On turvallista jakaa se.",
|
||||||
"wallet_key_created": "Vault-avaimesi luotiin. Käytä hetki muistisanojen turvalliseen varmuuskopioimiseen",
|
"wallet_key_created": "Vault-avaimesi luotiin. Käytä hetki muistisanojen turvalliseen varmuuskopioimiseen",
|
||||||
"are_you_sure_seed_will_be_lost": "Oletko varma? Muistisiemenesi menetetään, jos sinulla ei ole varmuuskopiota",
|
"are_you_sure_seed_will_be_lost": "Oletko varma? Muistisiemenesi menetetään, jos sinulla ei ole varmuuskopiota",
|
||||||
"forget_this_seed": "Unohda tämä siemen ja käytä XPUB:ia",
|
"forget_this_seed": "Unohda tämä siemen ja käytä XPUB:ia",
|
||||||
|
"view_edit_cosigners": "Tarkastele/Muokkaa allekirjoittajia",
|
||||||
|
"this_cosigner_is_already_imported": "Tämä allekirjoittaja on jo tuotu.",
|
||||||
"export_signed_psbt": "Vie Allekirjoitettu PSBT",
|
"export_signed_psbt": "Vie Allekirjoitettu PSBT",
|
||||||
"input_fp": "Syötä sormenjälki",
|
"input_fp": "Syötä sormenjälki",
|
||||||
"input_fp_explain": "ohita käyttääksesi oletusarvoa (00000000)",
|
"input_fp_explain": "ohita käyttääksesi oletusarvoa (00000000)",
|
||||||
|
@ -502,12 +530,14 @@
|
||||||
"owns": "{label} omistaa {address}",
|
"owns": "{label} omistaa {address}",
|
||||||
"enter_address": "Syötä osoite",
|
"enter_address": "Syötä osoite",
|
||||||
"check_address": "Tarkista osoite",
|
"check_address": "Tarkista osoite",
|
||||||
"no_wallet_owns_address": "Mikään käytettävissä olevista lompakoista ei omista annettua osoitetta."
|
"no_wallet_owns_address": "Mikään käytettävissä olevista lompakoista ei omista annettua osoitetta.",
|
||||||
|
"view_qrcode": "Näytä QR-koodi"
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "vaihto",
|
"change": "vaihto",
|
||||||
"coins_selected": "Kolikot valittu ({number})",
|
"coins_selected": "Kolikot valittu ({number})",
|
||||||
"selected_summ": "{value} valittuna",
|
"selected_summ": "{value} valittuna",
|
||||||
|
"empty": "Tässä lompakossa ei ole tällä hetkellä kolikoita.",
|
||||||
"freeze": "jäädytä",
|
"freeze": "jäädytä",
|
||||||
"freezeLabel": "Jäädytä",
|
"freezeLabel": "Jäädytä",
|
||||||
"freezeLabel_un": "Vapauta",
|
"freezeLabel_un": "Vapauta",
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"seed": "Graine",
|
"seed": "Graine",
|
||||||
"success": "Succès",
|
"success": "Succès",
|
||||||
"wallet_key": "Clé du portefeuille",
|
"wallet_key": "Clé du portefeuille",
|
||||||
|
"invalid_animated_qr_code_fragment": "Fragment du QR Code animé invalide. Veuillez réessayer.",
|
||||||
"pick_file": "Choisir un fichier",
|
"pick_file": "Choisir un fichier",
|
||||||
"enter_amount": "Entrer un montant"
|
"enter_amount": "Entrer un montant"
|
||||||
},
|
},
|
||||||
|
@ -48,6 +49,7 @@
|
||||||
"claim_balance": "Réclamer le solde {balance}",
|
"claim_balance": "Réclamer le solde {balance}",
|
||||||
"close_channel": "Fermer le canal",
|
"close_channel": "Fermer le canal",
|
||||||
"new_channel": "Nouveau canal",
|
"new_channel": "Nouveau canal",
|
||||||
|
"errorInvoiceExpired": "Requête expirée.",
|
||||||
"force_close_channel": "Forcer la fermeture du canal ?",
|
"force_close_channel": "Forcer la fermeture du canal ?",
|
||||||
"expired": "Expiré",
|
"expired": "Expiré",
|
||||||
"node_alias": "Alias du node",
|
"node_alias": "Alias du node",
|
||||||
|
@ -55,6 +57,7 @@
|
||||||
"payButton": "Payer",
|
"payButton": "Payer",
|
||||||
"placeholder": "Facture ou adresse",
|
"placeholder": "Facture ou adresse",
|
||||||
"open_channel": "Ouverture canal",
|
"open_channel": "Ouverture canal",
|
||||||
|
"funding_amount_placeholder": "Montant financement, par exemple 0,001",
|
||||||
"opening_channnel_for_from": "Canal d'ouverture pour le portefeuille {forWalletLabel}, financement depuis {fromWalletLabel}",
|
"opening_channnel_for_from": "Canal d'ouverture pour le portefeuille {forWalletLabel}, financement depuis {fromWalletLabel}",
|
||||||
"are_you_sure_open_channel": "Etes vous sûre de vouloir ouvrir ce canal?",
|
"are_you_sure_open_channel": "Etes vous sûre de vouloir ouvrir ce canal?",
|
||||||
"potentialFee": "Frais potentiels : {fee}",
|
"potentialFee": "Frais potentiels : {fee}",
|
||||||
|
@ -77,6 +80,7 @@
|
||||||
"open_direct_channel": "Ouvrir un canal direct avec ce noeud :",
|
"open_direct_channel": "Ouvrir un canal direct avec ce noeud :",
|
||||||
"please_pay_between_and": "Veuillez payer entre {min} et {max}",
|
"please_pay_between_and": "Veuillez payer entre {min} et {max}",
|
||||||
"please_pay": "Veuillez payer",
|
"please_pay": "Veuillez payer",
|
||||||
|
"preimage": "Préimage",
|
||||||
"sats": "sats",
|
"sats": "sats",
|
||||||
"wasnt_paid_and_expired": "Cette requête n'a pas été réglée et a expiré"
|
"wasnt_paid_and_expired": "Cette requête n'a pas été réglée et a expiré"
|
||||||
},
|
},
|
||||||
|
@ -94,6 +98,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "Avez-vous noté la phrase de sauvegarde de votre portefeuille ? Cette phrase de sauvegarde est nécessaire pour accéder à vos fonds en cas de perte de votre appareil. Sans ce backup, vos fonds pourraient être perdus pour toujours.",
|
"ask": "Avez-vous noté la phrase de sauvegarde de votre portefeuille ? Cette phrase de sauvegarde est nécessaire pour accéder à vos fonds en cas de perte de votre appareil. Sans ce backup, vos fonds pourraient être perdus pour toujours.",
|
||||||
|
"ask_no": "Non.",
|
||||||
|
"ask_yes": "Oui.",
|
||||||
"ok": "Ok, Je l'ai écrite sur un papier.",
|
"ok": "Ok, Je l'ai écrite sur un papier.",
|
||||||
"ok_lnd": "OK, je l'ai sauvegardée.",
|
"ok_lnd": "OK, je l'ai sauvegardée.",
|
||||||
"text": "Veuillez prendre un moment pour noter cette phrase de sauvegarde sur papier.\nC'est votre backup et vous pouvez l'utiliser pour restaurer votre portefeuille.",
|
"text": "Veuillez prendre un moment pour noter cette phrase de sauvegarde sur papier.\nC'est votre backup et vous pouvez l'utiliser pour restaurer votre portefeuille.",
|
||||||
|
@ -146,6 +152,7 @@
|
||||||
"details_create": "Créer la requête",
|
"details_create": "Créer la requête",
|
||||||
"details_error_decode": "Impossible de décoder l'adresse bitcoin",
|
"details_error_decode": "Impossible de décoder l'adresse bitcoin",
|
||||||
"details_fee_field_is_not_valid": "Champ frais invalide",
|
"details_fee_field_is_not_valid": "Champ frais invalide",
|
||||||
|
"details_frozen": "{amount} BTC est gelé.",
|
||||||
"details_next": "Suivant",
|
"details_next": "Suivant",
|
||||||
"details_no_signed_tx": "Le fichier sélectionné ne contient pas de transaction pouvant être importée.",
|
"details_no_signed_tx": "Le fichier sélectionné ne contient pas de transaction pouvant être importée.",
|
||||||
"details_note_placeholder": "note à moi même (optionnelle)",
|
"details_note_placeholder": "note à moi même (optionnelle)",
|
||||||
|
@ -177,6 +184,7 @@
|
||||||
"permission_camera_message": "Nous avons besoin de votre permission pour utiliser l'appareil photo",
|
"permission_camera_message": "Nous avons besoin de votre permission pour utiliser l'appareil photo",
|
||||||
"psbt_sign": "Signer une transaction",
|
"psbt_sign": "Signer une transaction",
|
||||||
"open_settings": "Ouvrir les paramètres",
|
"open_settings": "Ouvrir les paramètres",
|
||||||
|
"permission_storage_later": "Redemander Plus Tard.",
|
||||||
"permission_storage_message": "BlueWallet a besoin de votre permission pour accéder a votre stockage pour enregistrer ce fichier.",
|
"permission_storage_message": "BlueWallet a besoin de votre permission pour accéder a votre stockage pour enregistrer ce fichier.",
|
||||||
"permission_storage_denied_message": "BlueWallet est incapable d'enregistrer ce fichier. Veuillez ouvrir les paramètres de votre appareil et activer les autorisation de stockage.",
|
"permission_storage_denied_message": "BlueWallet est incapable d'enregistrer ce fichier. Veuillez ouvrir les paramètres de votre appareil et activer les autorisation de stockage.",
|
||||||
"permission_storage_title": "Permission d'accès au stockage pour BlueWallet",
|
"permission_storage_title": "Permission d'accès au stockage pour BlueWallet",
|
||||||
|
@ -187,6 +195,7 @@
|
||||||
"outdated_rate": "Les taux ont été mis a jour: {date}",
|
"outdated_rate": "Les taux ont été mis a jour: {date}",
|
||||||
"psbt_tx_open": "Ouvrir la transaction signée",
|
"psbt_tx_open": "Ouvrir la transaction signée",
|
||||||
"psbt_tx_scan": "Scanner la transaction signée",
|
"psbt_tx_scan": "Scanner la transaction signée",
|
||||||
|
"qr_error_no_qrcode": "Impossible de trouver un QR code dans l'image sélectionnée. Assurez-vous que l'image contienne uniquement un QR code et pas de contenu additionnel comme du texte ou des boutons.",
|
||||||
"reset_amount": "Annuler le montant",
|
"reset_amount": "Annuler le montant",
|
||||||
"reset_amount_confirm": "Voulez vous réinitialiser le montant ?",
|
"reset_amount_confirm": "Voulez vous réinitialiser le montant ?",
|
||||||
"success_done": "Terminé",
|
"success_done": "Terminé",
|
||||||
|
@ -223,6 +232,7 @@
|
||||||
"default_wallets": "Voir tous les portefeuilles",
|
"default_wallets": "Voir tous les portefeuilles",
|
||||||
"electrum_connected": "Connecté",
|
"electrum_connected": "Connecté",
|
||||||
"electrum_connected_not": "Déconnecté",
|
"electrum_connected_not": "Déconnecté",
|
||||||
|
"electrum_error_connect": "Impossible de se connecter au serveur Electrum fourni",
|
||||||
"lndhub_uri": "Par exemple, {example}",
|
"lndhub_uri": "Par exemple, {example}",
|
||||||
"electrum_host": "Par exemple, {example}",
|
"electrum_host": "Par exemple, {example}",
|
||||||
"electrum_offline_mode": "Mode hors-ligne",
|
"electrum_offline_mode": "Mode hors-ligne",
|
||||||
|
@ -280,6 +290,7 @@
|
||||||
"privacy_read_clipboard": "Lecture du presse-papier ",
|
"privacy_read_clipboard": "Lecture du presse-papier ",
|
||||||
"privacy_system_settings": "Paramètres système",
|
"privacy_system_settings": "Paramètres système",
|
||||||
"privacy_quickactions": "Raccourci Portefeuille",
|
"privacy_quickactions": "Raccourci Portefeuille",
|
||||||
|
"privacy_quickactions_explanation": "Touchez et maintenez l'icone BlueWallet sur votre écran d'accueil pour voir rapidement le solde de vos portefeuilles.",
|
||||||
"privacy_clipboard_explanation": "Fourni un raccourci si une adresse ou une facture est trouvée dans le presse-papier.",
|
"privacy_clipboard_explanation": "Fourni un raccourci si une adresse ou une facture est trouvée dans le presse-papier.",
|
||||||
"privacy_do_not_track": "Désactiver l'analyse des données",
|
"privacy_do_not_track": "Désactiver l'analyse des données",
|
||||||
"privacy_do_not_track_explanation": "Les informations de performance et de fiabilité ne seront pas soumises pour analyse.",
|
"privacy_do_not_track_explanation": "Les informations de performance et de fiabilité ne seront pas soumises pour analyse.",
|
||||||
|
@ -289,13 +300,16 @@
|
||||||
"selfTest": "Auto-test",
|
"selfTest": "Auto-test",
|
||||||
"save": "Enregistrer",
|
"save": "Enregistrer",
|
||||||
"saved": "Enregistré",
|
"saved": "Enregistré",
|
||||||
|
"success_transaction_broadcasted": "Succès! Votre transaction a été diffusée!",
|
||||||
"total_balance": "Solde total",
|
"total_balance": "Solde total",
|
||||||
"total_balance_explanation": "Afficher le solde total de tous vos portefeuilles sur l'écran d'accueil.",
|
"total_balance_explanation": "Afficher le solde total de tous vos portefeuilles sur l'écran d'accueil.",
|
||||||
"widgets": "Widgets",
|
"widgets": "Widgets",
|
||||||
"tools": "Outils"
|
"tools": "Outils"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "Voulez vous recevoir les notifications quand vous recevez des paiements entrants ?"
|
"would_you_like_to_receive_notifications": "Voulez vous recevoir les notifications quand vous recevez des paiements entrants ?",
|
||||||
|
"no_and_dont_ask": "Non, et ne pas me redemander.",
|
||||||
|
"ask_me_later": "Redemander Plus Tard."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"cancel_explain": "Nous allons remplacer cette transaction par celle où les fonds vous reviennent, avec de plus hauts frais. Cela annulera la transaction. On parle de RBF - Replace By Fee.",
|
"cancel_explain": "Nous allons remplacer cette transaction par celle où les fonds vous reviennent, avec de plus hauts frais. Cela annulera la transaction. On parle de RBF - Replace By Fee.",
|
||||||
|
@ -367,6 +381,7 @@
|
||||||
"details_advanced": "Avancé",
|
"details_advanced": "Avancé",
|
||||||
"details_are_you_sure": "Êtes vous sur?",
|
"details_are_you_sure": "Êtes vous sur?",
|
||||||
"details_connected_to": "Connecté à",
|
"details_connected_to": "Connecté à",
|
||||||
|
"details_del_wb_err": "Le solde ne correspond pas à celui du portefeuille. Veuillez réessayer.",
|
||||||
"details_del_wb_q": "Ce portefeuille a un solde non nul. Avant de continuer, veuillez noter que vous ne serez pas en mesure de récupérer vos fonds sans la phrase mnémonique du portefeuille. Pour éviter toute suppression accidentelle du portefeuille, veuillez entrer son solde de {balance} satoshis.",
|
"details_del_wb_q": "Ce portefeuille a un solde non nul. Avant de continuer, veuillez noter que vous ne serez pas en mesure de récupérer vos fonds sans la phrase mnémonique du portefeuille. Pour éviter toute suppression accidentelle du portefeuille, veuillez entrer son solde de {balance} satoshis.",
|
||||||
"details_delete": "Supprimer",
|
"details_delete": "Supprimer",
|
||||||
"details_delete_wallet": "Supprimer le portefeuille",
|
"details_delete_wallet": "Supprimer le portefeuille",
|
||||||
|
@ -401,9 +416,16 @@
|
||||||
"import_discovery_subtitle": "Choisissez un portefeuille trouvé",
|
"import_discovery_subtitle": "Choisissez un portefeuille trouvé",
|
||||||
"import_discovery_derivation": "Utiliser un chemin de dérivation personnalisé",
|
"import_discovery_derivation": "Utiliser un chemin de dérivation personnalisé",
|
||||||
"import_discovery_no_wallets": "Aucaun portefeuille trouvé.",
|
"import_discovery_no_wallets": "Aucaun portefeuille trouvé.",
|
||||||
|
"import_derivation_found": "Trouvé",
|
||||||
|
"import_derivation_found_not": "Non trouvé",
|
||||||
|
"import_derivation_loading": "Chargement...",
|
||||||
|
"import_derivation_subtitle": "Entrez le chemin de dérivation personnalisé et nous essaierons de découvrir votre portefeuille",
|
||||||
"import_derivation_title": "Chemin de dérivation",
|
"import_derivation_title": "Chemin de dérivation",
|
||||||
|
"import_derivation_unknown": "Inconnu",
|
||||||
|
"import_wrong_path": "Chemin de dérivation erroné",
|
||||||
"list_create_a_button": "Ajouter maintenant",
|
"list_create_a_button": "Ajouter maintenant",
|
||||||
"list_create_a_wallet": "Ajouter un portefeuille",
|
"list_create_a_wallet": "Ajouter un portefeuille",
|
||||||
|
"list_create_a_wallet_text": "Cest gratuit et vous pouvez en créer \nautant que vous voulez.",
|
||||||
"list_empty_txs1": "Vos transactions apparaîtront ici,",
|
"list_empty_txs1": "Vos transactions apparaîtront ici,",
|
||||||
"list_empty_txs1_lightning": "Un portefeuille Lightning devrait être utilisé pour les transactions quotidiennes. Les frais sont très bas et la vitesse est étourdissante.",
|
"list_empty_txs1_lightning": "Un portefeuille Lightning devrait être utilisé pour les transactions quotidiennes. Les frais sont très bas et la vitesse est étourdissante.",
|
||||||
"list_empty_txs2": "Commencez avec votre portefeuille.",
|
"list_empty_txs2": "Commencez avec votre portefeuille.",
|
||||||
|
@ -418,7 +440,6 @@
|
||||||
"no_ln_wallet_error": "Avant de payer une facture Ligthning, vous devez créer un portefeuille Ligthning.",
|
"no_ln_wallet_error": "Avant de payer une facture Ligthning, vous devez créer un portefeuille Ligthning.",
|
||||||
"looks_like_bip38": "Ceci ressemble a une clé privée protégée par un mot de passe (BIP38)",
|
"looks_like_bip38": "Ceci ressemble a une clé privée protégée par un mot de passe (BIP38)",
|
||||||
"reorder_title": "Trier vos portefeuilles",
|
"reorder_title": "Trier vos portefeuilles",
|
||||||
"reorder_instructions": "Appuyez et maintenez un portefeuille pour le déplacer à travers la liste.",
|
|
||||||
"please_continue_scanning": "Merci de continuer à scaner",
|
"please_continue_scanning": "Merci de continuer à scaner",
|
||||||
"select_no_bitcoin": "Il n'y a aucun portefeuille Bitcoin disponible pour le moment.",
|
"select_no_bitcoin": "Il n'y a aucun portefeuille Bitcoin disponible pour le moment.",
|
||||||
"select_no_bitcoin_exp": "Un portefeuille Bitcoin est nécessaire pour approvisionner les portefeuilles Lightning. Veuillez en créer ou en importer un.",
|
"select_no_bitcoin_exp": "Un portefeuille Bitcoin est nécessaire pour approvisionner les portefeuilles Lightning. Veuillez en créer ou en importer un.",
|
||||||
|
@ -468,14 +489,20 @@
|
||||||
"quorum_header": "Quorum",
|
"quorum_header": "Quorum",
|
||||||
"of": "de",
|
"of": "de",
|
||||||
"wallet_type": "Type portefeuille",
|
"wallet_type": "Type portefeuille",
|
||||||
|
"invalid_mnemonics": "Cette phrase mnémonique ne semble pas valide.",
|
||||||
|
"invalid_cosigner": "Données de cosigner invalides",
|
||||||
"not_a_multisignature_xpub": "Ceci n'est pas un xpub provenant d'un portefeuille multisig",
|
"not_a_multisignature_xpub": "Ceci n'est pas un xpub provenant d'un portefeuille multisig",
|
||||||
|
"invalid_cosigner_format": "Co-signeur incorrecte: Ceci nest pas un co-signeur au {format} format.",
|
||||||
"create_new_key": "Créer nouveau",
|
"create_new_key": "Créer nouveau",
|
||||||
"scan_or_open_file": "Scanner ou ouvrir fichier",
|
"scan_or_open_file": "Scanner ou ouvrir fichier",
|
||||||
"i_have_mnemonics": "J'ai une graine pour cette clé...",
|
"i_have_mnemonics": "J'ai une graine pour cette clé...",
|
||||||
"type_your_mnemonics": "Insérez une graine pour importer votre clé de coffre existante",
|
"type_your_mnemonics": "Insérez une graine pour importer votre clé de coffre existante",
|
||||||
|
"this_is_cosigners_xpub": "Ceci est l'XPUB du co-signeur, prêt a être importé dans un autre portefeuille. C'est sure de le partager.",
|
||||||
"wallet_key_created": "Votre clé de coffre a été créé. Prenez un moment pour sauvegarder votre graine sous forme de mnémonique ",
|
"wallet_key_created": "Votre clé de coffre a été créé. Prenez un moment pour sauvegarder votre graine sous forme de mnémonique ",
|
||||||
"are_you_sure_seed_will_be_lost": "Etes Vous sûr? ",
|
"are_you_sure_seed_will_be_lost": "Etes Vous sûr? ",
|
||||||
"forget_this_seed": "Oublier cette graine et utiliser l'XPUB à la place",
|
"forget_this_seed": "Oublier cette graine et utiliser l'XPUB à la place",
|
||||||
|
"view_edit_cosigners": "Voir/Editer les co-signeurs",
|
||||||
|
"this_cosigner_is_already_imported": "Ce co-signeur a été déjà importé.",
|
||||||
"export_signed_psbt": "Exporter la PSBT signée",
|
"export_signed_psbt": "Exporter la PSBT signée",
|
||||||
"input_fp": "Entrer l'empreinte",
|
"input_fp": "Entrer l'empreinte",
|
||||||
"input_fp_explain": "Passer pour utiliser celle par défaut (00000000)",
|
"input_fp_explain": "Passer pour utiliser celle par défaut (00000000)",
|
||||||
|
@ -500,12 +527,14 @@
|
||||||
"owns": "{label} possède {address}",
|
"owns": "{label} possède {address}",
|
||||||
"enter_address": "Entrez l'adresse",
|
"enter_address": "Entrez l'adresse",
|
||||||
"check_address": "Vérifiez l'adresse",
|
"check_address": "Vérifiez l'adresse",
|
||||||
"no_wallet_owns_address": "Aucun des portefeuilles ne possède l'adresse fournie."
|
"no_wallet_owns_address": "Aucun des portefeuilles ne possède l'adresse fournie.",
|
||||||
|
"view_qrcode": "Voir QRCode"
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "monnaie rendu",
|
"change": "monnaie rendu",
|
||||||
"coins_selected": "UTXO sélectionnées ({number})",
|
"coins_selected": "UTXO sélectionnées ({number})",
|
||||||
"selected_summ": "{value} sélectionnée ",
|
"selected_summ": "{value} sélectionnée ",
|
||||||
|
"empty": "Ce portefeuille ne possède aucune pièces en ce moment.",
|
||||||
"freeze": "Geler",
|
"freeze": "Geler",
|
||||||
"freezeLabel": "Gelé",
|
"freezeLabel": "Gelé",
|
||||||
"freezeLabel_un": "Dégeler",
|
"freezeLabel_un": "Dégeler",
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
"seed": "גרעין",
|
"seed": "גרעין",
|
||||||
"success": "הצלחה",
|
"success": "הצלחה",
|
||||||
"wallet_key": "מפתח ארנק",
|
"wallet_key": "מפתח ארנק",
|
||||||
"file_saved": "הקובץ {filePath} נשמר בתיקיית {destination} שלך.",
|
|
||||||
"downloads_folder": "תיקיית הורדות",
|
|
||||||
"close": "סגירה",
|
"close": "סגירה",
|
||||||
"change_input_currency": "שינוי מטבע קלט",
|
"change_input_currency": "שינוי מטבע קלט",
|
||||||
"refresh": "רענון",
|
"refresh": "רענון",
|
||||||
|
@ -427,7 +425,6 @@
|
||||||
"no_ln_wallet_error": "לפני תשלום חשבונית ברק, עלייך להוסיף ארנק ברק.",
|
"no_ln_wallet_error": "לפני תשלום חשבונית ברק, עלייך להוסיף ארנק ברק.",
|
||||||
"looks_like_bip38": "זה נראה כמו מפתח פרטי מוגן בסיסמה (BIP38)",
|
"looks_like_bip38": "זה נראה כמו מפתח פרטי מוגן בסיסמה (BIP38)",
|
||||||
"reorder_title": "ארגון ארנקים מחדש ",
|
"reorder_title": "ארגון ארנקים מחדש ",
|
||||||
"reorder_instructions": "לחצו והחזיקו ארנק כדי לגרור אותו לאורך הרשימה.",
|
|
||||||
"please_continue_scanning": "אנא המשיכו בסריקה.",
|
"please_continue_scanning": "אנא המשיכו בסריקה.",
|
||||||
"select_no_bitcoin": "אין ארנקי ביטקוין זמינים.",
|
"select_no_bitcoin": "אין ארנקי ביטקוין זמינים.",
|
||||||
"select_no_bitcoin_exp": "דרוש ארנק ביטקוין בכדי לטעון את ארנקי הברק. צרו או יבאו אחד.",
|
"select_no_bitcoin_exp": "דרוש ארנק ביטקוין בכדי לטעון את ארנקי הברק. צרו או יבאו אחד.",
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
"save": "Mentés",
|
"save": "Mentés",
|
||||||
"seed": "jelszó sorozat",
|
"seed": "jelszó sorozat",
|
||||||
"success": "Sikeres",
|
"success": "Sikeres",
|
||||||
"wallet_key": "Tárca kulcs"
|
"wallet_key": "Tárca kulcs",
|
||||||
|
"invalid_animated_qr_code_fragment": "Érvénytelen animált QR kód részlet, próbáld újra!"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Figyelem"
|
"default": "Figyelem"
|
||||||
|
@ -46,12 +47,15 @@
|
||||||
"claim_balance": "Egyenleg lefoglalása {balance}",
|
"claim_balance": "Egyenleg lefoglalása {balance}",
|
||||||
"close_channel": "Csatorna zárása",
|
"close_channel": "Csatorna zárása",
|
||||||
"new_channel": "Új csatorna",
|
"new_channel": "Új csatorna",
|
||||||
|
"errorInvoiceExpired": "A számla lejárt.",
|
||||||
"force_close_channel": "Csatorna erőltetett zárása?",
|
"force_close_channel": "Csatorna erőltetett zárása?",
|
||||||
"expired": "Lejárt",
|
"expired": "Lejárt",
|
||||||
"node_alias": "Node aliasz",
|
"node_alias": "Node aliasz",
|
||||||
"expiresIn": "{time} percen belül elévül",
|
"expiresIn": "{time} percen belül elévül",
|
||||||
"payButton": "Fizess",
|
"payButton": "Fizess",
|
||||||
|
"placeholder": "Számla",
|
||||||
"open_channel": "Csatorna nyitása",
|
"open_channel": "Csatorna nyitása",
|
||||||
|
"funding_amount_placeholder": "Feltöltési mennyiség, például 0.001",
|
||||||
"opening_channnel_for_from": "Csatornanyitás a {forWalletLabel} tárca számára, {fromWalletLabel} által finanszírozva.",
|
"opening_channnel_for_from": "Csatornanyitás a {forWalletLabel} tárca számára, {fromWalletLabel} által finanszírozva.",
|
||||||
"are_you_sure_open_channel": "Biztosan meg akarja nyitni ezt a csatornát?",
|
"are_you_sure_open_channel": "Biztosan meg akarja nyitni ezt a csatornát?",
|
||||||
"potentialFee": "Várható díj: {fee}",
|
"potentialFee": "Várható díj: {fee}",
|
||||||
|
@ -74,6 +78,7 @@
|
||||||
"open_direct_channel": "Közvetlen csatorna nyitása erre a csomópontra:",
|
"open_direct_channel": "Közvetlen csatorna nyitása erre a csomópontra:",
|
||||||
"please_pay_between_and": "Kérem fizessen {min} és {max} közötti összeget",
|
"please_pay_between_and": "Kérem fizessen {min} és {max} közötti összeget",
|
||||||
"please_pay": "Kérlek fizess",
|
"please_pay": "Kérlek fizess",
|
||||||
|
"preimage": "Pre-image (hashlock feloldáshoz)",
|
||||||
"sats": "satoshi",
|
"sats": "satoshi",
|
||||||
"wasnt_paid_and_expired": "Ezt a számlát nem fizették ki és lejárt"
|
"wasnt_paid_and_expired": "Ezt a számlát nem fizették ki és lejárt"
|
||||||
},
|
},
|
||||||
|
@ -91,6 +96,8 @@
|
||||||
},
|
},
|
||||||
"pleasebackup": {
|
"pleasebackup": {
|
||||||
"ask": "Készítettél másolatot a tárca visszaállításához szükséges jelszó sorozatról? Ez az elmentett jelszó sorozat nélkülözhetetlen ha elveszik ez az eszközt. A jelszó sorozat nélkül a pénzed végleg elveszik.",
|
"ask": "Készítettél másolatot a tárca visszaállításához szükséges jelszó sorozatról? Ez az elmentett jelszó sorozat nélkülözhetetlen ha elveszik ez az eszközt. A jelszó sorozat nélkül a pénzed végleg elveszik.",
|
||||||
|
"ask_no": "Nem, nincs.",
|
||||||
|
"ask_yes": "Igen, van.",
|
||||||
"ok": "Rendben, leírtam!",
|
"ok": "Rendben, leírtam!",
|
||||||
"ok_lnd": "OK, elmentettem.",
|
"ok_lnd": "OK, elmentettem.",
|
||||||
"text": "Kérlek írd le az alábbi biztonsági szavakat egy papírlapra. \nEz egy biztonsági mentés, amellyel helyreállíthatod a tárcádat.",
|
"text": "Kérlek írd le az alábbi biztonsági szavakat egy papírlapra. \nEz egy biztonsági mentés, amellyel helyreállíthatod a tárcádat.",
|
||||||
|
@ -119,6 +126,7 @@
|
||||||
"create_details": "Részletek",
|
"create_details": "Részletek",
|
||||||
"create_fee": "Díj",
|
"create_fee": "Díj",
|
||||||
"create_memo": "megjegyzés",
|
"create_memo": "megjegyzés",
|
||||||
|
"create_satoshi_per_vbyte": "Satoshi vbájtonként",
|
||||||
"create_this_is_hex": "Tranzakció hexadecimális formátumban, aláírva és küldésre készen.",
|
"create_this_is_hex": "Tranzakció hexadecimális formátumban, aláírva és küldésre készen.",
|
||||||
"create_to": "Címzett",
|
"create_to": "Címzett",
|
||||||
"create_tx_size": "Tranzakció mérete",
|
"create_tx_size": "Tranzakció mérete",
|
||||||
|
@ -138,12 +146,14 @@
|
||||||
"details_create": "Készíts számlát",
|
"details_create": "Készíts számlát",
|
||||||
"details_error_decode": "Nem lehet dekódolni a bitcoin címet",
|
"details_error_decode": "Nem lehet dekódolni a bitcoin címet",
|
||||||
"details_fee_field_is_not_valid": "Èrvénytelen tranzakciós díj",
|
"details_fee_field_is_not_valid": "Èrvénytelen tranzakciós díj",
|
||||||
|
"details_frozen": "{amount} BTC fagyasztva áll.",
|
||||||
"details_next": "Következő",
|
"details_next": "Következő",
|
||||||
"details_no_signed_tx": "A kiválasztott fájl nem tartalmaz importálható tranzakciót.",
|
"details_no_signed_tx": "A kiválasztott fájl nem tartalmaz importálható tranzakciót.",
|
||||||
"details_note_placeholder": "saját megjegyzés",
|
"details_note_placeholder": "saját megjegyzés",
|
||||||
"details_scan": "Szkennelés",
|
"details_scan": "Szkennelés",
|
||||||
"details_scan_hint": "Dupla érintéssel szkennelhet, vagy betölthet uticélt",
|
"details_scan_hint": "Dupla érintéssel szkennelhet, vagy betölthet uticélt",
|
||||||
"details_total_exceeds_balance": "A megadott összeg nagyobb, mint a tárca elérhető egyenlege",
|
"details_total_exceeds_balance": "A megadott összeg nagyobb, mint a tárca elérhető egyenlege",
|
||||||
|
"details_total_exceeds_balance_frozen": "A küldeni kívánt össze meghaladja az elérhető egyenlegét. Lefagyasztott érmék nem voltak használva.",
|
||||||
"details_unrecognized_file_format": "Nemismert fálj formátum",
|
"details_unrecognized_file_format": "Nemismert fálj formátum",
|
||||||
"details_wallet_before_tx": "Tranzakció előtt, először adj meg egy Bitcoin tárcát.",
|
"details_wallet_before_tx": "Tranzakció előtt, először adj meg egy Bitcoin tárcát.",
|
||||||
"dynamic_init": "Előkészítés",
|
"dynamic_init": "Előkészítés",
|
||||||
|
@ -157,6 +167,7 @@
|
||||||
"fee_custom": "beállított",
|
"fee_custom": "beállított",
|
||||||
"fee_fast": "Gyors",
|
"fee_fast": "Gyors",
|
||||||
"fee_medium": "Közepes",
|
"fee_medium": "Közepes",
|
||||||
|
"fee_replace_minvb": "A fizetendő teljes díj mértékének (satoshi per vbyte) magasabbnak kell lennie, mint {min} sat/vbyte.",
|
||||||
"fee_satvbyte": "sat/vByte-ban",
|
"fee_satvbyte": "sat/vByte-ban",
|
||||||
"fee_slow": "Lassú",
|
"fee_slow": "Lassú",
|
||||||
"header": "Küldés",
|
"header": "Küldés",
|
||||||
|
@ -167,6 +178,7 @@
|
||||||
"permission_camera_message": "Kamera használat engedélyezése",
|
"permission_camera_message": "Kamera használat engedélyezése",
|
||||||
"psbt_sign": "Egy tranzakció aláírása",
|
"psbt_sign": "Egy tranzakció aláírása",
|
||||||
"open_settings": "Beállítások megnyitása",
|
"open_settings": "Beállítások megnyitása",
|
||||||
|
"permission_storage_later": "Később.",
|
||||||
"permission_storage_message": "A fájl elmentéséhez engedélyezned kell a BlueWallet hozzáférését a háttértárhoz.",
|
"permission_storage_message": "A fájl elmentéséhez engedélyezned kell a BlueWallet hozzáférését a háttértárhoz.",
|
||||||
"permission_storage_denied_message": "BlueWallet nem képes elmenteni ezt a fájlt. Kérem nyissa meg a beállításokat és engedélyezze a tárhely hozzáférést az eszközén.",
|
"permission_storage_denied_message": "BlueWallet nem képes elmenteni ezt a fájlt. Kérem nyissa meg a beállításokat és engedélyezze a tárhely hozzáférést az eszközén.",
|
||||||
"permission_storage_title": "Háttértár hozzáférés engedélyezés",
|
"permission_storage_title": "Háttértár hozzáférés engedélyezés",
|
||||||
|
@ -177,6 +189,7 @@
|
||||||
"outdated_rate": "A ráta utoljára frissítve: {date}",
|
"outdated_rate": "A ráta utoljára frissítve: {date}",
|
||||||
"psbt_tx_open": "Aláírt tranzakció megnyitása",
|
"psbt_tx_open": "Aláírt tranzakció megnyitása",
|
||||||
"psbt_tx_scan": "Aláírt tranzakció szkennelése",
|
"psbt_tx_scan": "Aláírt tranzakció szkennelése",
|
||||||
|
"qr_error_no_qrcode": "Nem találtunk QR kódot a kiválasztott képen. Győződjön meg arról, hogy a kép csak QR kódot tartalmaz, és nem tartalmaz további tartalmat, például szöveget vagy gombokat.",
|
||||||
"reset_amount": "Összeg Visszaállítása",
|
"reset_amount": "Összeg Visszaállítása",
|
||||||
"reset_amount_confirm": "Valóban visszaállítja az összeget?",
|
"reset_amount_confirm": "Valóban visszaállítja az összeget?",
|
||||||
"success_done": "Kész!",
|
"success_done": "Kész!",
|
||||||
|
@ -205,6 +218,7 @@
|
||||||
"biom_no_passcode": "A készülék nem rendelkezik jelszóval. A folytatáshoz kérjük, konfigurálja a jelszót a Beállítások menüpontban.",
|
"biom_no_passcode": "A készülék nem rendelkezik jelszóval. A folytatáshoz kérjük, konfigurálja a jelszót a Beállítások menüpontban.",
|
||||||
"biom_remove_decrypt": "Minden pénztárcáját eltávolítjuk, és a tárolójáról visszafejtjük a titkosítást. Biztosan folytatja?",
|
"biom_remove_decrypt": "Minden pénztárcáját eltávolítjuk, és a tárolójáról visszafejtjük a titkosítást. Biztosan folytatja?",
|
||||||
"currency": "Valuta",
|
"currency": "Valuta",
|
||||||
|
"currency_source": "Árak forrása",
|
||||||
"currency_fetch_error": "Hibatörtént a ráta lekérdezésekor a kijelölt fiat pénznél.",
|
"currency_fetch_error": "Hibatörtént a ráta lekérdezésekor a kijelölt fiat pénznél.",
|
||||||
"default_desc": "Ha le van tiltva, a BlueWallet azonnal megnyitja a kiválasztott tárcát indításkor. ",
|
"default_desc": "Ha le van tiltva, a BlueWallet azonnal megnyitja a kiválasztott tárcát indításkor. ",
|
||||||
"default_info": "Alapértelmezett információ",
|
"default_info": "Alapértelmezett információ",
|
||||||
|
@ -212,6 +226,7 @@
|
||||||
"default_wallets": "Összes tárca megtekintése",
|
"default_wallets": "Összes tárca megtekintése",
|
||||||
"electrum_connected": "Kapcsolódva",
|
"electrum_connected": "Kapcsolódva",
|
||||||
"electrum_connected_not": "Nincs kapcsolat",
|
"electrum_connected_not": "Nincs kapcsolat",
|
||||||
|
"electrum_error_connect": "Nem tud csatlakozni a kiválasztott Electrum szerverhez",
|
||||||
"lndhub_uri": "P.l., {example}",
|
"lndhub_uri": "P.l., {example}",
|
||||||
"electrum_host": "P.l., {example}",
|
"electrum_host": "P.l., {example}",
|
||||||
"electrum_offline_mode": "Offline Mód",
|
"electrum_offline_mode": "Offline Mód",
|
||||||
|
@ -268,6 +283,7 @@
|
||||||
"privacy_read_clipboard": "Vágólap olvasása",
|
"privacy_read_clipboard": "Vágólap olvasása",
|
||||||
"privacy_system_settings": "Rendszer beállítások",
|
"privacy_system_settings": "Rendszer beállítások",
|
||||||
"privacy_quickactions": "tárca gyorsbillentyűk",
|
"privacy_quickactions": "tárca gyorsbillentyűk",
|
||||||
|
"privacy_quickactions_explanation": "Érintsd meg és tartsd nyomva a BlueWallet alkalmazás ikont a képernyőn a tárca egyenleg gyors megtekintéséhez.",
|
||||||
"privacy_clipboard_explanation": "Jelentsen meg opciókat, ha cím vagy számla található a vágólapon. ",
|
"privacy_clipboard_explanation": "Jelentsen meg opciókat, ha cím vagy számla található a vágólapon. ",
|
||||||
"privacy_do_not_track": "Analitika kikapcsolása",
|
"privacy_do_not_track": "Analitika kikapcsolása",
|
||||||
"privacy_do_not_track_explanation": "A teljesítményre és a megbízhatóságra vonatkozó információk nem lessznek beküldve elemzésre.",
|
"privacy_do_not_track_explanation": "A teljesítményre és a megbízhatóságra vonatkozó információk nem lessznek beküldve elemzésre.",
|
||||||
|
@ -277,15 +293,19 @@
|
||||||
"selfTest": "Önteszt",
|
"selfTest": "Önteszt",
|
||||||
"save": "Ment",
|
"save": "Ment",
|
||||||
"saved": "Elmentve",
|
"saved": "Elmentve",
|
||||||
|
"success_transaction_broadcasted": "Sikeres! A tranzakciója továbbítva!",
|
||||||
"total_balance": "Teljes egyenleg",
|
"total_balance": "Teljes egyenleg",
|
||||||
"total_balance_explanation": "Jelenítse meg az összes pénztárca egyenlegét a kezdőképernyő moduljain.",
|
"total_balance_explanation": "Jelenítse meg az összes pénztárca egyenlegét a kezdőképernyő moduljain.",
|
||||||
"widgets": "Widgetek",
|
"widgets": "Widgetek",
|
||||||
"tools": "Eszközök"
|
"tools": "Eszközök"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"would_you_like_to_receive_notifications": "Szeretnél értesítést a bejövő utalásokról? "
|
"would_you_like_to_receive_notifications": "Szeretnél értesítést a bejövő utalásokról? ",
|
||||||
|
"no_and_dont_ask": "Nem és ne kérdezd újra.",
|
||||||
|
"ask_me_later": "Később."
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
|
"cancel_explain": "Ezt a tranzakciót lecseréljük arra, amely fizet Önnek és magasabb díjakkal rendelkezik. Ez gyakorlatilag törli a tranzakciót. Ezt RBF-nek hívják - azaz díj cserének.",
|
||||||
"cancel_no": "Ez a tranzakció nem helyettesíthető",
|
"cancel_no": "Ez a tranzakció nem helyettesíthető",
|
||||||
"cancel_title": "Tranzakció törlése (RBF)",
|
"cancel_title": "Tranzakció törlése (RBF)",
|
||||||
"confirmations_lowercase": "{confirmations} konfirmációk",
|
"confirmations_lowercase": "{confirmations} konfirmációk",
|
||||||
|
@ -320,6 +340,8 @@
|
||||||
"eta_3h": "ETA: ~3 órán belül",
|
"eta_3h": "ETA: ~3 órán belül",
|
||||||
"eta_1d": "ETA: ~1 napon belül",
|
"eta_1d": "ETA: ~1 napon belül",
|
||||||
"list_title": "tranzakciók",
|
"list_title": "tranzakciók",
|
||||||
|
"open_url_error": "Nem lehetett megnyitni a URL-t az alapértelmezett böngészővel. Kérem változtassa meg a böngészőjét és próbálkozzon meg újra.",
|
||||||
|
"rbf_explain": "Kiváltjuk ezt a tranzakciót egy magasabb tranzakciós díjjal járó tranzakcióval, így hamarabb teljesül. Ezt a megoldást Tranzakciós Díj Pótlásnak hívjuk, angolul RBF—Replace by Fee.",
|
||||||
"rbf_title": "Kiváltási díj (RBF)",
|
"rbf_title": "Kiváltási díj (RBF)",
|
||||||
"status_bump": "Kiváltási díj",
|
"status_bump": "Kiváltási díj",
|
||||||
"status_cancel": "Tranzakció törlése",
|
"status_cancel": "Tranzakció törlése",
|
||||||
|
@ -351,6 +373,7 @@
|
||||||
"details_advanced": "Haladó",
|
"details_advanced": "Haladó",
|
||||||
"details_are_you_sure": "Biztos vagy benne?",
|
"details_are_you_sure": "Biztos vagy benne?",
|
||||||
"details_connected_to": "Kapcsolódva: ",
|
"details_connected_to": "Kapcsolódva: ",
|
||||||
|
"details_del_wb_err": "A megadott egyenleg összege nem egyezik a tárca egyenlegével. Próbáld újra. ",
|
||||||
"details_del_wb_q": "Ennek a tárcának van egyenlege. Mielőtt tovább lép, tudnia kell, hogy nem fogja tudni vissza szerezni ezen összeget ha nem rendelkezik ezen tárca biztonsági szavaival. A véletlen eltávolítások elkerülése érdekéven kérem adja meg a tárcán található {balance} egyenleget satoshiban.",
|
"details_del_wb_q": "Ennek a tárcának van egyenlege. Mielőtt tovább lép, tudnia kell, hogy nem fogja tudni vissza szerezni ezen összeget ha nem rendelkezik ezen tárca biztonsági szavaival. A véletlen eltávolítások elkerülése érdekéven kérem adja meg a tárcán található {balance} egyenleget satoshiban.",
|
||||||
"details_delete": "Törlés",
|
"details_delete": "Törlés",
|
||||||
"details_delete_wallet": "Tárca törlése",
|
"details_delete_wallet": "Tárca törlése",
|
||||||
|
@ -385,9 +408,16 @@
|
||||||
"import_discovery_subtitle": "Már felfedezett tárca választása",
|
"import_discovery_subtitle": "Már felfedezett tárca választása",
|
||||||
"import_discovery_derivation": "Egyedi derivációs útvonal használata",
|
"import_discovery_derivation": "Egyedi derivációs útvonal használata",
|
||||||
"import_discovery_no_wallets": "Nem található tárca.",
|
"import_discovery_no_wallets": "Nem található tárca.",
|
||||||
|
"import_derivation_found": "Megtalálva",
|
||||||
|
"import_derivation_found_not": "Nem található",
|
||||||
|
"import_derivation_loading": "Töltés...",
|
||||||
|
"import_derivation_subtitle": "Egyedi derivációs útvonal beírása és mi megpróbáljuk felfedezni a tárcáját",
|
||||||
"import_derivation_title": "Derivációs útvonal",
|
"import_derivation_title": "Derivációs útvonal",
|
||||||
|
"import_derivation_unknown": "Ismeretlen",
|
||||||
|
"import_wrong_path": "Hibás derivációs útvonal",
|
||||||
"list_create_a_button": "add hozzá",
|
"list_create_a_button": "add hozzá",
|
||||||
"list_create_a_wallet": "Új tárca",
|
"list_create_a_wallet": "Új tárca",
|
||||||
|
"list_create_a_wallet_text": "Ingyenes, és annyit hozhatsz\nlétre amennyit szeretnél",
|
||||||
"list_empty_txs1": "A tranzakcióid itt fognak megjelenni",
|
"list_empty_txs1": "A tranzakcióid itt fognak megjelenni",
|
||||||
"list_empty_txs1_lightning": "A Lightning tárcát a mindennapi tranzakcióidhoz használhatod. A tranzakciók azonnal végrehajtódnak, minimális átutalási díjjal.",
|
"list_empty_txs1_lightning": "A Lightning tárcát a mindennapi tranzakcióidhoz használhatod. A tranzakciók azonnal végrehajtódnak, minimális átutalási díjjal.",
|
||||||
"list_empty_txs2": "Kezd a tárcáddal.",
|
"list_empty_txs2": "Kezd a tárcáddal.",
|
||||||
|
@ -402,7 +432,6 @@
|
||||||
"no_ln_wallet_error": "Mielőtt tudnál fizetni a villámhálózaton, először egy Lightning tárcát kell létrehoznod vagy betöltened.",
|
"no_ln_wallet_error": "Mielőtt tudnál fizetni a villámhálózaton, először egy Lightning tárcát kell létrehoznod vagy betöltened.",
|
||||||
"looks_like_bip38": "Ez egy jelszó védett privát kulcsnak (BIP38) tűnik",
|
"looks_like_bip38": "Ez egy jelszó védett privát kulcsnak (BIP38) tűnik",
|
||||||
"reorder_title": "Tárcák rendezése",
|
"reorder_title": "Tárcák rendezése",
|
||||||
"reorder_instructions": "Érintse meg és tartsa lenyomva, hogy át húzzhassa a listán.",
|
|
||||||
"please_continue_scanning": "Kérem szkenneljen folyamatosan.",
|
"please_continue_scanning": "Kérem szkenneljen folyamatosan.",
|
||||||
"select_no_bitcoin": "Jelenleg nincs elérhető Bitcoin tárca.",
|
"select_no_bitcoin": "Jelenleg nincs elérhető Bitcoin tárca.",
|
||||||
"select_no_bitcoin_exp": "A Lightning tárca feltöltéséhez Bitcoin tárcára van szükség. Készíts vagy importálj egy Bitcoin tárcát.",
|
"select_no_bitcoin_exp": "A Lightning tárca feltöltéséhez Bitcoin tárcára van szükség. Készíts vagy importálj egy Bitcoin tárcát.",
|
||||||
|
@ -452,14 +481,20 @@
|
||||||
"quorum_header": "Kvórum",
|
"quorum_header": "Kvórum",
|
||||||
"of": "/",
|
"of": "/",
|
||||||
"wallet_type": "Tárca típusa",
|
"wallet_type": "Tárca típusa",
|
||||||
|
"invalid_mnemonics": "Ez a biztonsági mentés nem tűnik megfelelőnek.",
|
||||||
|
"invalid_cosigner": "Helytelen másodaláíró adat",
|
||||||
"not_a_multisignature_xpub": "Ez nem egy multiszignaturás tárca publikus kulcsa azaz XPUBja!",
|
"not_a_multisignature_xpub": "Ez nem egy multiszignaturás tárca publikus kulcsa azaz XPUBja!",
|
||||||
|
"invalid_cosigner_format": "Nem megfelelő másodaláíró: Ez a másodaláíró nem a megfelelő {format} formátumú.",
|
||||||
"create_new_key": "Készíts újat",
|
"create_new_key": "Készíts újat",
|
||||||
"scan_or_open_file": "Szkennelés vagy fájl megnyitása",
|
"scan_or_open_file": "Szkennelés vagy fájl megnyitása",
|
||||||
"i_have_mnemonics": "Megvan a jelszó sorozatom ehhez a kulcshoz...",
|
"i_have_mnemonics": "Megvan a jelszó sorozatom ehhez a kulcshoz...",
|
||||||
"type_your_mnemonics": "Jelszó sorozat megadása egy létező trezor-kulcs megadásához",
|
"type_your_mnemonics": "Jelszó sorozat megadása egy létező trezor-kulcs megadásához",
|
||||||
|
"this_is_cosigners_xpub": "Ez a másodaláíró XPUB-ja — készen áll egy másik pénztárcába történő importálásra. Megosztani biztonságos.",
|
||||||
"wallet_key_created": "A Vault kulcs létrehozva. Szánjon egy percet arra, hogy biztonságosan, biztonsági másolatot készítsen a titkos kulcsszavakról.",
|
"wallet_key_created": "A Vault kulcs létrehozva. Szánjon egy percet arra, hogy biztonságosan, biztonsági másolatot készítsen a titkos kulcsszavakról.",
|
||||||
"are_you_sure_seed_will_be_lost": "Biztos benne? A biztonsági mentése el fog veszni ha nincs létező másolata.",
|
"are_you_sure_seed_will_be_lost": "Biztos benne? A biztonsági mentése el fog veszni ha nincs létező másolata.",
|
||||||
"forget_this_seed": "Felejtse el ezt a kulcsot és használjon XPUB-ot inkább.",
|
"forget_this_seed": "Felejtse el ezt a kulcsot és használjon XPUB-ot inkább.",
|
||||||
|
"view_edit_cosigners": "Társ aláírok Megtekintése/Szerkesztése",
|
||||||
|
"this_cosigner_is_already_imported": "Ezen másodaláíró már importálva van.",
|
||||||
"export_signed_psbt": "Aláírt PSBT Exportálása",
|
"export_signed_psbt": "Aláírt PSBT Exportálása",
|
||||||
"input_fp": "Ujjlenyomat megadása",
|
"input_fp": "Ujjlenyomat megadása",
|
||||||
"input_fp_explain": "Átugrás az alapértelmezett használatához (00000000)",
|
"input_fp_explain": "Átugrás az alapértelmezett használatához (00000000)",
|
||||||
|
@ -484,12 +519,14 @@
|
||||||
"owns": "{label} tulajdonolja {address}",
|
"owns": "{label} tulajdonolja {address}",
|
||||||
"enter_address": "Cím megadása",
|
"enter_address": "Cím megadása",
|
||||||
"check_address": "Cím ellenőrzése",
|
"check_address": "Cím ellenőrzése",
|
||||||
"no_wallet_owns_address": "Semelyik tárca nem birtokolja ezen használt címet."
|
"no_wallet_owns_address": "Semelyik tárca nem birtokolja ezen használt címet.",
|
||||||
|
"view_qrcode": "QRKód megtekintése"
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "váltás",
|
"change": "váltás",
|
||||||
"coins_selected": "Érmék kiválasztva ({number})",
|
"coins_selected": "Érmék kiválasztva ({number})",
|
||||||
"selected_summ": "{value} kijelölve",
|
"selected_summ": "{value} kijelölve",
|
||||||
|
"empty": "Ez a tárca jelenleg üres.",
|
||||||
"freeze": "zárolás",
|
"freeze": "zárolás",
|
||||||
"freezeLabel": "zárolás",
|
"freezeLabel": "zárolás",
|
||||||
"freezeLabel_un": "Zárolás feloldása",
|
"freezeLabel_un": "Zárolás feloldása",
|
||||||
|
@ -505,8 +542,12 @@
|
||||||
"sats": "sats"
|
"sats": "sats"
|
||||||
},
|
},
|
||||||
"addresses": {
|
"addresses": {
|
||||||
|
"sign_title": "Aláíró/Hitelesíŧő üzenet",
|
||||||
|
"sign_help": "Itt létrehozhat vagy ellenőrizhet kriptográfiai aláírást egy Bitcoin-cím alapján",
|
||||||
"sign_sign": "Aláír",
|
"sign_sign": "Aláír",
|
||||||
"sign_verify": "Hitelesít",
|
"sign_verify": "Hitelesít",
|
||||||
|
"sign_signature_correct": "Hitelesítés sikeres!",
|
||||||
|
"sign_signature_incorrect": "Sikertelen hitelesítés!",
|
||||||
"sign_placeholder_address": "Cím",
|
"sign_placeholder_address": "Cím",
|
||||||
"sign_placeholder_message": "Üzenet",
|
"sign_placeholder_message": "Üzenet",
|
||||||
"sign_placeholder_signature": "Szignatúra",
|
"sign_placeholder_signature": "Szignatúra",
|
||||||
|
|
|
@ -92,6 +92,10 @@ const setDateTimeLocale = async () => {
|
||||||
lang = 'ko';
|
lang = 'ko';
|
||||||
require('dayjs/locale/ko');
|
require('dayjs/locale/ko');
|
||||||
break;
|
break;
|
||||||
|
case 'lrc':
|
||||||
|
lang = 'fa';
|
||||||
|
require('dayjs/locale/fa');
|
||||||
|
break;
|
||||||
case 'kn':
|
case 'kn':
|
||||||
require('dayjs/locale/kn');
|
require('dayjs/locale/kn');
|
||||||
break;
|
break;
|
||||||
|
@ -227,6 +231,7 @@ const loc = new Localization({
|
||||||
it: require('./it.json'),
|
it: require('./it.json'),
|
||||||
jp_jp: require('./jp_jp.json'),
|
jp_jp: require('./jp_jp.json'),
|
||||||
ko_kr: require('./ko_KR.json'),
|
ko_kr: require('./ko_KR.json'),
|
||||||
|
lrc: require('./lrc.json'),
|
||||||
ms: require('./ms.json'),
|
ms: require('./ms.json'),
|
||||||
kn: require('./kn.json'),
|
kn: require('./kn.json'),
|
||||||
ne: require('./ne.json'),
|
ne: require('./ne.json'),
|
||||||
|
|
|
@ -427,7 +427,6 @@
|
||||||
"no_ln_wallet_error": "Prima di pagare una fattura Lightning, devi aggiungere un portafoglio Lightning.",
|
"no_ln_wallet_error": "Prima di pagare una fattura Lightning, devi aggiungere un portafoglio Lightning.",
|
||||||
"looks_like_bip38": "Questa sembra essere una chiave privata protetta da password (BIP38).",
|
"looks_like_bip38": "Questa sembra essere una chiave privata protetta da password (BIP38).",
|
||||||
"reorder_title": "Riordina Portafogli",
|
"reorder_title": "Riordina Portafogli",
|
||||||
"reorder_instructions": "Tocca e tieni premuto su un portafoglio per trascinarlo da una parte all'altra della lista.",
|
|
||||||
"please_continue_scanning": "Per favore continua ad effettuare la scansione.",
|
"please_continue_scanning": "Per favore continua ad effettuare la scansione.",
|
||||||
"select_no_bitcoin": "Non è disponibile alcun portafoglio Bitcoin.",
|
"select_no_bitcoin": "Non è disponibile alcun portafoglio Bitcoin.",
|
||||||
"select_no_bitcoin_exp": "È necessario un portafoglio Bitcoin per ricaricare i portafogli Lightning. Per favore creane o importane uno.",
|
"select_no_bitcoin_exp": "È necessario un portafoglio Bitcoin per ricaricare i portafogli Lightning. Per favore creane o importane uno.",
|
||||||
|
|
|
@ -271,6 +271,7 @@
|
||||||
"encrypt_tstorage": "ストレージ",
|
"encrypt_tstorage": "ストレージ",
|
||||||
"encrypt_use": "{type} を使う",
|
"encrypt_use": "{type} を使う",
|
||||||
"encrypt_use_expl": "{type} は、トランザクションの実行、ウォレットのロック解除、エクスポート、または削除を行う前の本人確認に使用されます。{type} は暗号化されたストレージのロック解除には使用されません。",
|
"encrypt_use_expl": "{type} は、トランザクションの実行、ウォレットのロック解除、エクスポート、または削除を行う前の本人確認に使用されます。{type} は暗号化されたストレージのロック解除には使用されません。",
|
||||||
|
"biometrics_fail": "もし {type} が有効でない、または解除に失敗した場合、デバイスのパスコードを代わりに使うことができます。",
|
||||||
"general": "一般情報",
|
"general": "一般情報",
|
||||||
"general_adv_mode": "上級者モード",
|
"general_adv_mode": "上級者モード",
|
||||||
"general_adv_mode_e": "この機能を有効にすると、異なるウォレットタイプ、接続先の LNDHub インスタンスの指定、ウォレット作成時のカスタムエントロピーなどの高度なオプションが表示されます。",
|
"general_adv_mode_e": "この機能を有効にすると、異なるウォレットタイプ、接続先の LNDHub インスタンスの指定、ウォレット作成時のカスタムエントロピーなどの高度なオプションが表示されます。",
|
||||||
|
@ -281,6 +282,7 @@
|
||||||
"language": "言語",
|
"language": "言語",
|
||||||
"last_updated": "最終更新",
|
"last_updated": "最終更新",
|
||||||
"language_isRTL": "言語の向きを適用するにはBlueWalletの再起動が必要です。",
|
"language_isRTL": "言語の向きを適用するにはBlueWalletの再起動が必要です。",
|
||||||
|
"license": "ライセンス",
|
||||||
"lightning_error_lndhub_uri": "無効なLndHub URIです",
|
"lightning_error_lndhub_uri": "無効なLndHub URIです",
|
||||||
"lightning_saved": "変更は正常に保存されました",
|
"lightning_saved": "変更は正常に保存されました",
|
||||||
"lightning_settings": "Lightning 設定",
|
"lightning_settings": "Lightning 設定",
|
||||||
|
@ -513,6 +515,7 @@
|
||||||
"i_have_mnemonics": "この鍵のシードを持っています...",
|
"i_have_mnemonics": "この鍵のシードを持っています...",
|
||||||
"type_your_mnemonics": "お持ちの金庫キーをインポートするためシードを入れてください。",
|
"type_your_mnemonics": "お持ちの金庫キーをインポートするためシードを入れてください。",
|
||||||
"this_is_cosigners_xpub": "これは共同署名のXPUBです。他のウォレットにインポートできます。共有しても安全です。",
|
"this_is_cosigners_xpub": "これは共同署名のXPUBです。他のウォレットにインポートできます。共有しても安全です。",
|
||||||
|
"this_is_cosigners_xpub_airdrop": "AirDropで共有する場合、受信側は協調する画面を開いている必要があります。",
|
||||||
"wallet_key_created": "金庫キーが作成されました。少し時間を取って、ニーモニックシードを安全にバックアップしてください。",
|
"wallet_key_created": "金庫キーが作成されました。少し時間を取って、ニーモニックシードを安全にバックアップしてください。",
|
||||||
"are_you_sure_seed_will_be_lost": "よろしいですか?バックアップを取っておかないと、ニーモニックシードは失われてしまいます。",
|
"are_you_sure_seed_will_be_lost": "よろしいですか?バックアップを取っておかないと、ニーモニックシードは失われてしまいます。",
|
||||||
"forget_this_seed": "このシードではなくxpubを代わりに利用する",
|
"forget_this_seed": "このシードではなくxpubを代わりに利用する",
|
||||||
|
|
|
@ -407,7 +407,6 @@
|
||||||
"no_ln_wallet_error": "라이트닝 청구서를 지불하기 전 먼저 라이트닝 지갑을 추가해야 합니다.",
|
"no_ln_wallet_error": "라이트닝 청구서를 지불하기 전 먼저 라이트닝 지갑을 추가해야 합니다.",
|
||||||
"looks_like_bip38": "이것은 패스워드 보호된 비밀키(BIP38)로 보입니다.",
|
"looks_like_bip38": "이것은 패스워드 보호된 비밀키(BIP38)로 보입니다.",
|
||||||
"reorder_title": "지갑 재정렬",
|
"reorder_title": "지갑 재정렬",
|
||||||
"reorder_instructions": "리스트를 넘겨 끌어가려면 지갑에 계속 누르기를 하세요",
|
|
||||||
"please_continue_scanning": "계속 스캔하세요.",
|
"please_continue_scanning": "계속 스캔하세요.",
|
||||||
"select_no_bitcoin": "현재 사용 가능한 비트코인 월렛이 없습니다.",
|
"select_no_bitcoin": "현재 사용 가능한 비트코인 월렛이 없습니다.",
|
||||||
"select_no_bitcoin_exp": "라이트닝 지갑을 재충전하시려면 비트코인 지갑이 필요합니다. 새로 만들기 또는 들여오기를 하시기바랍니다.",
|
"select_no_bitcoin_exp": "라이트닝 지갑을 재충전하시려면 비트코인 지갑이 필요합니다. 새로 만들기 또는 들여오기를 하시기바랍니다.",
|
||||||
|
|
|
@ -18,6 +18,7 @@ export const AvailableLanguages: Readonly<TLanguage[]> = Object.freeze([
|
||||||
{ label: 'Ελληνικά (EL)', value: 'el' },
|
{ label: 'Ελληνικά (EL)', value: 'el' },
|
||||||
{ label: 'فارسی (FA)', value: 'fa', isRTL: true },
|
{ label: 'فارسی (FA)', value: 'fa', isRTL: true },
|
||||||
{ label: 'لۊری بختیاری (BQI)', value: 'bqi', isRTL: true },
|
{ label: 'لۊری بختیاری (BQI)', value: 'bqi', isRTL: true },
|
||||||
|
{ label: 'لٛۏری شومالی (LRC)', value: 'lrc', isRTL: true },
|
||||||
{ label: 'Français (FR)', value: 'fr_fr' },
|
{ label: 'Français (FR)', value: 'fr_fr' },
|
||||||
{ label: 'עִברִית (HE)', value: 'he', isRTL: true },
|
{ label: 'עִברִית (HE)', value: 'he', isRTL: true },
|
||||||
{ label: 'Italiano (IT)', value: 'it' },
|
{ label: 'Italiano (IT)', value: 'it' },
|
||||||
|
|
167
loc/lrc.json
Normal file
167
loc/lrc.json
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
{
|
||||||
|
"_": {
|
||||||
|
"cancel": "لقو",
|
||||||
|
"continue": "ادامه",
|
||||||
|
"enter_password": "رزمن بزݩ",
|
||||||
|
"of": "{number} د {total}",
|
||||||
|
"ok": "خو",
|
||||||
|
"yes": "ٱ",
|
||||||
|
"no": "نه",
|
||||||
|
"success": "مۏوفق بی",
|
||||||
|
"wallet_key": "کلٛیل کیف پیلٛ",
|
||||||
|
"refresh": "وانۊ کردن",
|
||||||
|
"more": "بؽشتر",
|
||||||
|
"enter_amount": "مقدارن بزݩ"
|
||||||
|
},
|
||||||
|
"azteco": {
|
||||||
|
"codeIs": "کود تخفیف شما",
|
||||||
|
"redeem": "ازاف کردن وه کیف پیلٛ",
|
||||||
|
"success": "مۏوفق بی"
|
||||||
|
},
|
||||||
|
"entropy": {
|
||||||
|
"title": "آنتروپی"
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"error": "ختا",
|
||||||
|
"network": "ختا شبکه"
|
||||||
|
},
|
||||||
|
"lnd": {
|
||||||
|
"active": "فعال",
|
||||||
|
"inactive": "قیر فعال",
|
||||||
|
"channels": "تورگیا",
|
||||||
|
"no_channels": "بؽ تورگه",
|
||||||
|
"claim_balance": "تسویه مۉجۊدی {balance}",
|
||||||
|
"close_channel": "بستن تورگه",
|
||||||
|
"new_channel": "تورگه نۊ",
|
||||||
|
"errorInvoiceExpired": "سۊرت هساو مونقزی بیه.",
|
||||||
|
"force_close_channel": "بستن اجباری تورگه؟",
|
||||||
|
"expired": "مونقزی بیه",
|
||||||
|
"node_alias": "نوم موستعار گره",
|
||||||
|
"payButton": "پرداخت",
|
||||||
|
"payment": "پرداخت",
|
||||||
|
"placeholder": "سۊرت هساو یا آدرس",
|
||||||
|
"open_channel": "واز کردن تورگه",
|
||||||
|
"potentialFee": "کارمزد ائتمالی: {fee}",
|
||||||
|
"refill": "پور کردن",
|
||||||
|
"refill_external": "پور کردن وا کیف پیلٛ خارجی",
|
||||||
|
"refill_lnd_balance": "پور کردن مۉجۊدی کیف پیلٛ لایتنینگ",
|
||||||
|
"can_send": "مؽتونه کلٛ بکه",
|
||||||
|
"can_receive": "مؽتونه بگره"
|
||||||
|
},
|
||||||
|
"lndViewInvoice": {
|
||||||
|
"additional_info": "دونسمنیا بؽشتر",
|
||||||
|
"for": "سی:",
|
||||||
|
"lightning_invoice": "سۊرت هساو لایتنینگ",
|
||||||
|
"open_direct_channel": "تورگه موستقیمی وا اؽ گره واز بکو:",
|
||||||
|
"sats": "ساتۊشی پرداخت بکو.",
|
||||||
|
"wasnt_paid_and_expired": "اؽ سۊرت هساو پرداخت نبیه ۉ مونقزی بیه."
|
||||||
|
},
|
||||||
|
"plausibledeniability": {
|
||||||
|
"password_should_not_match": "رزم ها وه کار مؽره. یه رزم هنی نه وه کار بیر.",
|
||||||
|
"passwords_do_not_match": "رزمیات چی یک نؽسن، دۏورته امتهانشو بکو.",
|
||||||
|
"retype_password": "رزمن دۏورته هؽل بکو",
|
||||||
|
"success": "مۏوفق بی"
|
||||||
|
},
|
||||||
|
"pleasebackup": {
|
||||||
|
"ask_no": "نه، مه نارم.",
|
||||||
|
"ask_yes": "ٱ، مه دارم."
|
||||||
|
},
|
||||||
|
"receive": {
|
||||||
|
"details_setAmount": "گرؽتن وا مقدار",
|
||||||
|
"details_share": "یک رسونی",
|
||||||
|
"header": "گرتن"
|
||||||
|
},
|
||||||
|
"send": {
|
||||||
|
"broadcastError": "ختا",
|
||||||
|
"broadcastSuccess": "مۏوفق بی",
|
||||||
|
"confirm_header": "تایید",
|
||||||
|
"confirm_sendNow": "هه ایسه کلٛ بکو",
|
||||||
|
"create_amount": "مقدار",
|
||||||
|
"create_copy": "لٛف گری ۉ دماتر مونتشر بکو",
|
||||||
|
"create_fee": "کارمزد",
|
||||||
|
"create_memo": "ویرداشت",
|
||||||
|
"create_satoshi_per_vbyte": "ساتۊشی سی هر بایت مجازی",
|
||||||
|
"create_to": "وه",
|
||||||
|
"details_address": "آدرس",
|
||||||
|
"details_note_placeholder": "ویرداشت وه خوت",
|
||||||
|
"details_scan": "اسکن",
|
||||||
|
"details_unrecognized_file_format": "قالو فایل نشناخته",
|
||||||
|
"dynamic_init": "ها ره موفته",
|
||||||
|
"fee_10m": "10 دیقه",
|
||||||
|
"fee_1d": "1 رۊز",
|
||||||
|
"fee_3h": "3 ساعت",
|
||||||
|
"fee_fast": "زلٛ",
|
||||||
|
"fee_medium": "مؽنجا",
|
||||||
|
"header": "کلٛ کردن",
|
||||||
|
"psbt_sign": "امزا کردن تراکونش",
|
||||||
|
"permission_storage_later": "دماتر دم بپورس."
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"about_selftest": "ره ونن خوش آزمایی",
|
||||||
|
"about_selftest_electrum_disabled": "خوش آزمایی د هالت آفلاین د دسرس نؽ. هالت آفلاینن قیر فعال بکو ۉ دۏورته تفره بکو.",
|
||||||
|
"about_sm_github": "گیت هاب",
|
||||||
|
"about_sm_discord": "سرور دیسکورد",
|
||||||
|
"about_sm_telegram": "تورگه تلگرام",
|
||||||
|
"advanced_options": "گژکیا پؽش رته",
|
||||||
|
"biometrics": "بیومتریک",
|
||||||
|
"biom_conf_identity": "هوویت خوتونه تایید بکؽت.",
|
||||||
|
"currency": "واهد پیلٛ",
|
||||||
|
"currency_source": "قیمت گرته بیه د",
|
||||||
|
"default_info": "دونسمنیا پؽش فرز",
|
||||||
|
"default_title": "موقه ره ونن",
|
||||||
|
"electrum_offline_mode": "هالت آفلاین",
|
||||||
|
"use_ssl": "SSL نه وه کار بییر",
|
||||||
|
"set_electrum_server_as_default": "{server} سی سرور پؽش فرز الکترام ساموݩ بۊئه؟",
|
||||||
|
"set_lndhub_as_default": "{server} سی سرور پؽش فرز LNDHub ساموݩ بۊئه؟",
|
||||||
|
"electrum_settings_server": "سرور الکترام",
|
||||||
|
"electrum_status": "وزیت",
|
||||||
|
"electrum_clear_alert_title": "ویرگار پاک بۊئه؟",
|
||||||
|
"electrum_clear_alert_message": "مؽهای ویرگار سرور الکترامن پاک بکی؟",
|
||||||
|
"electrum_clear_alert_cancel": "لقو",
|
||||||
|
"electrum_clear_alert_ok": "خو",
|
||||||
|
"electrum_history": "ویرگار سرور",
|
||||||
|
"encrypt_title": "امنیت",
|
||||||
|
"encrypt_use": "{type} نه وه کار بییر",
|
||||||
|
"general_adv_mode": "هالت پؽش رته",
|
||||||
|
"header": "سامونیا",
|
||||||
|
"language": "زوݩ",
|
||||||
|
"lightning_settings": "سامونیا لایتنینگ",
|
||||||
|
"network": "شبکه",
|
||||||
|
"network_electrum": "سرور الکترام",
|
||||||
|
"notifications": "وارسونیا",
|
||||||
|
"password": "رزم",
|
||||||
|
"privacy": "سی خومی",
|
||||||
|
"privacy_read_clipboard": "ونن ویرگه",
|
||||||
|
"privacy_system_settings": "سامونیا دسگا",
|
||||||
|
"rate": "نرخ",
|
||||||
|
"retype_password": "رزمن دۏورته هؽل بکو",
|
||||||
|
"widgets": "اوزارکیا",
|
||||||
|
"tools": "اوزاریا"
|
||||||
|
},
|
||||||
|
"notifications": {
|
||||||
|
"ask_me_later": "دماتر دم بپورس."
|
||||||
|
},
|
||||||
|
"transactions": {
|
||||||
|
"copy_link": "لٛف گری لینگ",
|
||||||
|
"details_copy": "لٛف گری",
|
||||||
|
"date": "ویرگار",
|
||||||
|
"details_received": "گرته بیه"
|
||||||
|
},
|
||||||
|
"wallets": {
|
||||||
|
"add_bitcoin": "بیت کوین",
|
||||||
|
"details_address": "آدرس",
|
||||||
|
"details_advanced": "پؽش رته"
|
||||||
|
},
|
||||||
|
"multisig": {
|
||||||
|
"confirm": "تایید",
|
||||||
|
"header": "کلٛ کردن",
|
||||||
|
"share": "یک رسونی",
|
||||||
|
"co_sign_transaction": "امزا کردن تراکونش",
|
||||||
|
"of": "د",
|
||||||
|
"ms_help_title5": "هالت پؽش رته"
|
||||||
|
},
|
||||||
|
"addresses": {
|
||||||
|
"sign_placeholder_address": "آدرس",
|
||||||
|
"type_receive": "گرتن"
|
||||||
|
}
|
||||||
|
}
|
|
@ -410,7 +410,6 @@
|
||||||
"no_ln_wallet_error": "Før du betaler en Lightning-faktura, må du først legge til en Lightning-lommebok.",
|
"no_ln_wallet_error": "Før du betaler en Lightning-faktura, må du først legge til en Lightning-lommebok.",
|
||||||
"looks_like_bip38": "Dette ser ut som en passordbeskyttet privat nøkkel (BIP38).",
|
"looks_like_bip38": "Dette ser ut som en passordbeskyttet privat nøkkel (BIP38).",
|
||||||
"reorder_title": "Omorganisere Lommebøker",
|
"reorder_title": "Omorganisere Lommebøker",
|
||||||
"reorder_instructions": "Trykk og hold en lommebok for å dra den rundt på listen.",
|
|
||||||
"please_continue_scanning": "Vennligst fortsett å skanne.",
|
"please_continue_scanning": "Vennligst fortsett å skanne.",
|
||||||
"select_no_bitcoin": "Det er for øyeblikket ingen tilgjengelige Bitcoin-lommebøker.",
|
"select_no_bitcoin": "Det er for øyeblikket ingen tilgjengelige Bitcoin-lommebøker.",
|
||||||
"select_no_bitcoin_exp": "En Bitcoin-lommebok kreves for å fylle Lightning-lommebøker. Opprett eller importer en.",
|
"select_no_bitcoin_exp": "En Bitcoin-lommebok kreves for å fylle Lightning-lommebøker. Opprett eller importer en.",
|
||||||
|
|
|
@ -8,13 +8,21 @@
|
||||||
"never": "Nooit",
|
"never": "Nooit",
|
||||||
"of": "{number} van {total}",
|
"of": "{number} van {total}",
|
||||||
"ok": "Oké",
|
"ok": "Oké",
|
||||||
"storage_is_encrypted": "Uw opslag is versleuteld. Wachtwoord is vereist om het te ontcijferen",
|
"storage_is_encrypted": "Uw opslag is versleuteld. Wachtwoord is vereist om te ontcijferen.",
|
||||||
"yes": "Ja",
|
"yes": "Ja",
|
||||||
"no": "Nee",
|
"no": "Nee",
|
||||||
"save": "Opslaan",
|
"save": "Opslaan",
|
||||||
"seed": "Seed",
|
"seed": "Seed",
|
||||||
"success": "Succes",
|
"success": "Succes",
|
||||||
"wallet_key": "Wallet sleutel"
|
"wallet_key": "Wallet sleutel",
|
||||||
|
"close": "Sluit",
|
||||||
|
"change_input_currency": "Verandere invoer valuta",
|
||||||
|
"refresh": "Vernieuw",
|
||||||
|
"more": "Meer",
|
||||||
|
"pick_image": "Kies afbeelding uit bilbiotheek.",
|
||||||
|
"pick_file": "Kies een bestand.",
|
||||||
|
"enter_amount": "Voer bedrag in",
|
||||||
|
"qr_custom_input_button": "Tik 10 keer om aangepaste invoer in te geven"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Melding"
|
"default": "Melding"
|
||||||
|
@ -46,6 +54,7 @@
|
||||||
"claim_balance": "Saldo claimen {balance}",
|
"claim_balance": "Saldo claimen {balance}",
|
||||||
"close_channel": "Sluit kanaal",
|
"close_channel": "Sluit kanaal",
|
||||||
"new_channel": "Nieuw kanaal",
|
"new_channel": "Nieuw kanaal",
|
||||||
|
"errorInvoiceExpired": "Factuur verlopen.",
|
||||||
"force_close_channel": "Het sluiten van een kanaal forceren?",
|
"force_close_channel": "Het sluiten van een kanaal forceren?",
|
||||||
"expired": "Verlopen",
|
"expired": "Verlopen",
|
||||||
"node_alias": "Node alias",
|
"node_alias": "Node alias",
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
"cancel": "Anuluj",
|
"cancel": "Anuluj",
|
||||||
"continue": "Kontynuuj",
|
"continue": "Kontynuuj",
|
||||||
"clipboard": "Schowek",
|
"clipboard": "Schowek",
|
||||||
|
"discard_changes": "Odrzucić zmiany?",
|
||||||
|
"discard_changes_explain": "Masz niezapisane zmiany. Czy na pewno chcesz je porzucić i opuścić ten ekran?",
|
||||||
"enter_password": "Wprowadź hasło",
|
"enter_password": "Wprowadź hasło",
|
||||||
"never": "Nigdy",
|
"never": "Nigdy",
|
||||||
"of": "{number} z {total}",
|
"of": "{number} z {total}",
|
||||||
|
@ -23,7 +25,8 @@
|
||||||
"pick_image": "Wybierz obrazek z biblioteki",
|
"pick_image": "Wybierz obrazek z biblioteki",
|
||||||
"pick_file": "Wybierz plik",
|
"pick_file": "Wybierz plik",
|
||||||
"enter_amount": "Wprowadź kwotę",
|
"enter_amount": "Wprowadź kwotę",
|
||||||
"qr_custom_input_button": "Tapnij 10 razy aby wprowadzić własne dane"
|
"qr_custom_input_button": "Tapnij 10 razy aby wprowadzić własne dane",
|
||||||
|
"unlock": "Odblokuj"
|
||||||
},
|
},
|
||||||
"alert": {
|
"alert": {
|
||||||
"default": "Powiadomienie"
|
"default": "Powiadomienie"
|
||||||
|
@ -228,6 +231,7 @@
|
||||||
"about_sm_twitter": "Obserwuj nas na Twitterze",
|
"about_sm_twitter": "Obserwuj nas na Twitterze",
|
||||||
"advanced_options": "Opcje Zaawansowane",
|
"advanced_options": "Opcje Zaawansowane",
|
||||||
"biometrics": "Biometria",
|
"biometrics": "Biometria",
|
||||||
|
"biometrics_no_longer_available": "Ustawienia Twojego urządzenia zostały zmienione i nie są już zgodne z wybranymi ustawieniami bezpieczeństwa w aplikacji. Proszę ponownie włączyć biometrię lub kod dostępu, a następnie uruchomić ponownie aplikację, aby zastosować te zmiany.",
|
||||||
"biom_10times": "Próbowałeś podać hasło 10 razy. Czy chcesz zresetować magazyn danych? To usunie wszystkie portfele i odszyfruje dane.",
|
"biom_10times": "Próbowałeś podać hasło 10 razy. Czy chcesz zresetować magazyn danych? To usunie wszystkie portfele i odszyfruje dane.",
|
||||||
"biom_conf_identity": "Proszę potwierdź swoją tożsamość",
|
"biom_conf_identity": "Proszę potwierdź swoją tożsamość",
|
||||||
"biom_no_passcode": "Twoje urządzenie nie ma hasła. Aby przejść dalej, skonfiguruj hasło w Ustawieniach aplikacji.",
|
"biom_no_passcode": "Twoje urządzenie nie ma hasła. Aby przejść dalej, skonfiguruj hasło w Ustawieniach aplikacji.",
|
||||||
|
@ -271,6 +275,7 @@
|
||||||
"encrypt_tstorage": "Schowek",
|
"encrypt_tstorage": "Schowek",
|
||||||
"encrypt_use": "Użyj {type}",
|
"encrypt_use": "Użyj {type}",
|
||||||
"encrypt_use_expl": "{type} będzie użyty w celu potwierdzenia Twojej tożsamości przed wykonaniem transakcji, odblokowaniem, eksportem lub usunięciem portfela. {type} nie będzie użyty do odblokowanie danych zaszyfrowanych.",
|
"encrypt_use_expl": "{type} będzie użyty w celu potwierdzenia Twojej tożsamości przed wykonaniem transakcji, odblokowaniem, eksportem lub usunięciem portfela. {type} nie będzie użyty do odblokowanie danych zaszyfrowanych.",
|
||||||
|
"biometrics_fail": "Jeśli {type} nie jest włączony lub nie udaje się odblokować, możesz alternatywnie użyć kodu dostępu swojego urządzenia.",
|
||||||
"general": "Ogólne",
|
"general": "Ogólne",
|
||||||
"general_adv_mode": "Tryb zaawansowany",
|
"general_adv_mode": "Tryb zaawansowany",
|
||||||
"general_adv_mode_e": "Gdy włączone, zobaczysz zaawansowane ustawienia takie jak np. różne typy portfeli, zdolność do określenia instancji LNDHub, z którą chcesz się połączyć oraz niestandardowej entropii w trakcie tworzenia portfela.",
|
"general_adv_mode_e": "Gdy włączone, zobaczysz zaawansowane ustawienia takie jak np. różne typy portfeli, zdolność do określenia instancji LNDHub, z którą chcesz się połączyć oraz niestandardowej entropii w trakcie tworzenia portfela.",
|
||||||
|
@ -514,6 +519,7 @@
|
||||||
"i_have_mnemonics": "Mam ziarno dla tego klucza",
|
"i_have_mnemonics": "Mam ziarno dla tego klucza",
|
||||||
"type_your_mnemonics": "Wprowadź ziarno by zaimportować Twój istniejący klucz Skarbca.",
|
"type_your_mnemonics": "Wprowadź ziarno by zaimportować Twój istniejący klucz Skarbca.",
|
||||||
"this_is_cosigners_xpub": "To jest XPUB współsygnatariusza — gotowy do zaimportowania do innego portfela. Udostępniaine go jest bezpieczne.",
|
"this_is_cosigners_xpub": "To jest XPUB współsygnatariusza — gotowy do zaimportowania do innego portfela. Udostępniaine go jest bezpieczne.",
|
||||||
|
"this_is_cosigners_xpub_airdrop": "Jeśli udostępniasz za pomocą AirDrop, odbiorcy muszą znajdować się na ekranie koordynacji.",
|
||||||
"wallet_key_created": "Twój klucz Skarbca został utworzony. Poświęć chwilę by zrobić kopię bezpieczeństwa Twojego wyrażenia mnemonicznego.",
|
"wallet_key_created": "Twój klucz Skarbca został utworzony. Poświęć chwilę by zrobić kopię bezpieczeństwa Twojego wyrażenia mnemonicznego.",
|
||||||
"are_you_sure_seed_will_be_lost": "Czy na pewno? Twoje wyrażenie mnemoniczne zostanie utracone jeśli nie masz kopii bezpieczeństwa.",
|
"are_you_sure_seed_will_be_lost": "Czy na pewno? Twoje wyrażenie mnemoniczne zostanie utracone jeśli nie masz kopii bezpieczeństwa.",
|
||||||
"forget_this_seed": "Zapomnij to ziarno i w zamian użyj XPUB.",
|
"forget_this_seed": "Zapomnij to ziarno i w zamian użyj XPUB.",
|
||||||
|
|
|
@ -271,6 +271,7 @@
|
||||||
"encrypt_tstorage": "Armazenamento",
|
"encrypt_tstorage": "Armazenamento",
|
||||||
"encrypt_use": "Usar {type}",
|
"encrypt_use": "Usar {type}",
|
||||||
"encrypt_use_expl": "{type} será usado para confirmar sua identidade antes de fazer uma transação, desbloquear, exportar ou deletar uma carteira. {type} não será usado para desbloquear armazenamento encriptado.",
|
"encrypt_use_expl": "{type} será usado para confirmar sua identidade antes de fazer uma transação, desbloquear, exportar ou deletar uma carteira. {type} não será usado para desbloquear armazenamento encriptado.",
|
||||||
|
"biometrics_fail": "Se {type} não estiver habilitado ou falhar ao desbloquear, você pode usar o código de acesso do seu dispositivo como alternativa.",
|
||||||
"general": "Geral",
|
"general": "Geral",
|
||||||
"general_adv_mode": "Modo Avançado",
|
"general_adv_mode": "Modo Avançado",
|
||||||
"general_adv_mode_e": "Quando ativado, você verá opções avançadas, como diferentes tipos de carteira, a capacidade de especificar a instância do LNDHub à qual deseja se conectar e a entropia personalizada durante a criação da carteira.",
|
"general_adv_mode_e": "Quando ativado, você verá opções avançadas, como diferentes tipos de carteira, a capacidade de especificar a instância do LNDHub à qual deseja se conectar e a entropia personalizada durante a criação da carteira.",
|
||||||
|
@ -281,6 +282,7 @@
|
||||||
"language": "Idioma",
|
"language": "Idioma",
|
||||||
"last_updated": "Última Atualização",
|
"last_updated": "Última Atualização",
|
||||||
"language_isRTL": "É necessário reiniciar a BlueWallet para que a nova orientação linguística seja ativada.",
|
"language_isRTL": "É necessário reiniciar a BlueWallet para que a nova orientação linguística seja ativada.",
|
||||||
|
"license": "Licença",
|
||||||
"lightning_error_lndhub_uri": "URI LNDHub inválida",
|
"lightning_error_lndhub_uri": "URI LNDHub inválida",
|
||||||
"lightning_saved": "Suas alterações foram salvas com sucesso.",
|
"lightning_saved": "Suas alterações foram salvas com sucesso.",
|
||||||
"lightning_settings": "Configurações Lightning",
|
"lightning_settings": "Configurações Lightning",
|
||||||
|
@ -513,6 +515,7 @@
|
||||||
"i_have_mnemonics": "Eu tenho uma seed para esta chave...",
|
"i_have_mnemonics": "Eu tenho uma seed para esta chave...",
|
||||||
"type_your_mnemonics": "Insira uma seed para importar a sua chave do Cofre",
|
"type_your_mnemonics": "Insira uma seed para importar a sua chave do Cofre",
|
||||||
"this_is_cosigners_xpub": "Este é o XPUB da coassinatura—pronto para ser importado para outra carteira. É seguro compartilhá-la .",
|
"this_is_cosigners_xpub": "Este é o XPUB da coassinatura—pronto para ser importado para outra carteira. É seguro compartilhá-la .",
|
||||||
|
"this_is_cosigners_xpub_airdrop": "Se você compartilhar via AirDrop, os recebedores devem estar na tela de coordenação.",
|
||||||
"wallet_key_created": "Sua chave do Cofre foi criada. Reserve um momento para fazer backup com segurança de sua seed.",
|
"wallet_key_created": "Sua chave do Cofre foi criada. Reserve um momento para fazer backup com segurança de sua seed.",
|
||||||
"are_you_sure_seed_will_be_lost": "Você tem certeza? Sua seed mnemônica será perdida se você não tiver um backup",
|
"are_you_sure_seed_will_be_lost": "Você tem certeza? Sua seed mnemônica será perdida se você não tiver um backup",
|
||||||
"forget_this_seed": "Esquecer esta seed e usar a XPUB no lugar.",
|
"forget_this_seed": "Esquecer esta seed e usar a XPUB no lugar.",
|
||||||
|
|
|
@ -87,7 +87,6 @@
|
||||||
"open_direct_channel": "Открыть канал с этой нодой:",
|
"open_direct_channel": "Открыть канал с этой нодой:",
|
||||||
"please_pay_between_and": "Оплатите от {min} до {max}",
|
"please_pay_between_and": "Оплатите от {min} до {max}",
|
||||||
"please_pay": "Пожалуйста, оплатите",
|
"please_pay": "Пожалуйста, оплатите",
|
||||||
"preimage": "",
|
|
||||||
"sats": "sats",
|
"sats": "sats",
|
||||||
"wasnt_paid_and_expired": "Этот инвойс не был оплачен и просрочен"
|
"wasnt_paid_and_expired": "Этот инвойс не был оплачен и просрочен"
|
||||||
},
|
},
|
||||||
|
@ -477,8 +476,6 @@
|
||||||
"header": "Отправить",
|
"header": "Отправить",
|
||||||
"share": "Поделиться",
|
"share": "Поделиться",
|
||||||
"view": "Посмотреть",
|
"view": "Посмотреть",
|
||||||
"shared_key_detected": "",
|
|
||||||
"shared_key_detected_question": "",
|
|
||||||
"manage_keys": "Управление ключами",
|
"manage_keys": "Управление ключами",
|
||||||
"how_many_signatures_can_bluewallet_make": "количество подписей, которое может сделать BlueWallet",
|
"how_many_signatures_can_bluewallet_make": "количество подписей, которое может сделать BlueWallet",
|
||||||
"signatures_required_to_spend": "Необходимо {number} подписей ",
|
"signatures_required_to_spend": "Необходимо {number} подписей ",
|
||||||
|
@ -548,8 +545,7 @@
|
||||||
"autofill_word": {
|
"autofill_word": {
|
||||||
"title": "Сгенерировать финальное мнемоническое слово",
|
"title": "Сгенерировать финальное мнемоническое слово",
|
||||||
"enter": "Введите вашу неполную мнемоническую фразу",
|
"enter": "Введите вашу неполную мнемоническую фразу",
|
||||||
"generate_word": "Сгенерируйте финальное слово",
|
"generate_word": "Сгенерируйте финальное слово"
|
||||||
"error": ""
|
|
||||||
},
|
},
|
||||||
"cc": {
|
"cc": {
|
||||||
"change": "Сдача",
|
"change": "Сдача",
|
||||||
|
@ -572,7 +568,6 @@
|
||||||
},
|
},
|
||||||
"addresses": {
|
"addresses": {
|
||||||
"copy_private_key": "Копировать приватный ключ",
|
"copy_private_key": "Копировать приватный ключ",
|
||||||
"sensitive_private_key": "",
|
|
||||||
"sign_title": "Подписать/Проверить сообщение",
|
"sign_title": "Подписать/Проверить сообщение",
|
||||||
"sign_help": "Здесь вы можете создать или проверить криптографическую подпись на основе адреса Bitcoin.",
|
"sign_help": "Здесь вы можете создать или проверить криптографическую подпись на основе адреса Bitcoin.",
|
||||||
"sign_sign": "Подписать",
|
"sign_sign": "Подписать",
|
||||||
|
|
|
@ -405,7 +405,6 @@
|
||||||
"no_ln_wallet_error": "අකුණු ඉන්වොයිසියක් ගෙවීමට පෙර, ඔබ මුලින්ම අකුණු පසුම්බියක් එකතු කළ යුතුය.",
|
"no_ln_wallet_error": "අකුණු ඉන්වොයිසියක් ගෙවීමට පෙර, ඔබ මුලින්ම අකුණු පසුම්බියක් එකතු කළ යුතුය.",
|
||||||
"looks_like_bip38": "මෙය මුරපදයකින් ආරක්ෂිත පුද්ගලික යතුරක් ලෙස පෙනේ (BIP38).",
|
"looks_like_bip38": "මෙය මුරපදයකින් ආරක්ෂිත පුද්ගලික යතුරක් ලෙස පෙනේ (BIP38).",
|
||||||
"reorder_title": "පසුම්බි නැවත ඇණවුම් කරන්න",
|
"reorder_title": "පසුම්බි නැවත ඇණවුම් කරන්න",
|
||||||
"reorder_instructions": "ලැයිස්තුව හරහා ඇදගෙන යාමට පසුම්බියක් මත තට්ටු කර අල්ලාගෙන සිටින්න.",
|
|
||||||
"please_continue_scanning": "කරුණාකර ස්කෑන් කිරීම දිගටම කරගෙන යන්න.",
|
"please_continue_scanning": "කරුණාකර ස්කෑන් කිරීම දිගටම කරගෙන යන්න.",
|
||||||
"select_no_bitcoin": "දැනට බිට්කොයින් පසුම්බි නොමැත.",
|
"select_no_bitcoin": "දැනට බිට්කොයින් පසුම්බි නොමැත.",
|
||||||
"select_no_bitcoin_exp": "ලයිට්නින් පසුම්බි නැවත පිරවීම සඳහා බිට්කොයින් පසුම්බියක් අවශ්ය වේ. කරුණාකර එකක් සාදා හෝ ආයාත කරන්න.",
|
"select_no_bitcoin_exp": "ලයිට්නින් පසුම්බි නැවත පිරවීම සඳහා බිට්කොයින් පසුම්බියක් අවශ්ය වේ. කරුණාකර එකක් සාදා හෝ ආයාත කරන්න.",
|
||||||
|
|
|
@ -414,7 +414,6 @@
|
||||||
"no_ln_wallet_error": "Za plačilo Lightning računa, morate najprej dodati Lightning denarnico.",
|
"no_ln_wallet_error": "Za plačilo Lightning računa, morate najprej dodati Lightning denarnico.",
|
||||||
"looks_like_bip38": "Zasebni ključ je verjetno zaščiten z geslom (BIP38)",
|
"looks_like_bip38": "Zasebni ključ je verjetno zaščiten z geslom (BIP38)",
|
||||||
"reorder_title": "Preureditev Denarnic",
|
"reorder_title": "Preureditev Denarnic",
|
||||||
"reorder_instructions": "Tapnite in pridržite denarnico, da jo povlečete po seznamu.",
|
|
||||||
"please_continue_scanning": "Nadaljujte s skeniranjem",
|
"please_continue_scanning": "Nadaljujte s skeniranjem",
|
||||||
"select_no_bitcoin": "Trenutno ni na voljo nobena Bitcoin denarnica.",
|
"select_no_bitcoin": "Trenutno ni na voljo nobena Bitcoin denarnica.",
|
||||||
"select_no_bitcoin_exp": "Za napolnitev Lightning denarnic je potrebna Bitcoin denarnica. Ustvarite ali uvozite denarnico.",
|
"select_no_bitcoin_exp": "Za napolnitev Lightning denarnic je potrebna Bitcoin denarnica. Ustvarite ali uvozite denarnico.",
|
||||||
|
|
|
@ -429,7 +429,6 @@
|
||||||
"no_ln_wallet_error": "Innan du betalar en Lightning-faktura måste du först lägga till en Lightning-plånbok.",
|
"no_ln_wallet_error": "Innan du betalar en Lightning-faktura måste du först lägga till en Lightning-plånbok.",
|
||||||
"looks_like_bip38": "Detta ser ut som en lösenordsskyddad privat nyckel (BIP38).",
|
"looks_like_bip38": "Detta ser ut som en lösenordsskyddad privat nyckel (BIP38).",
|
||||||
"reorder_title": "Sortera plånböcker",
|
"reorder_title": "Sortera plånböcker",
|
||||||
"reorder_instructions": "Tryck och håll kvar en plånbok för att dra den över listan.",
|
|
||||||
"please_continue_scanning": "Fortsätt att skanna.",
|
"please_continue_scanning": "Fortsätt att skanna.",
|
||||||
"select_no_bitcoin": "Det finns för närvarande inga tillgängliga Bitcoin-plånböcker.",
|
"select_no_bitcoin": "Det finns för närvarande inga tillgängliga Bitcoin-plånböcker.",
|
||||||
"select_no_bitcoin_exp": "En Bitcoin-plånbok krävs för att fylla på Lightning-plånböcker. Vänligen skapa eller importera en.",
|
"select_no_bitcoin_exp": "En Bitcoin-plånbok krävs för att fylla på Lightning-plånböcker. Vänligen skapa eller importera en.",
|
||||||
|
|
|
@ -423,7 +423,6 @@
|
||||||
"no_ln_wallet_error": "Trước khi thanh toán hoá đơn Lightning, đầu tiên bạn phải thêm một ví Lightning.",
|
"no_ln_wallet_error": "Trước khi thanh toán hoá đơn Lightning, đầu tiên bạn phải thêm một ví Lightning.",
|
||||||
"looks_like_bip38": "Cái này trông giống một khoá cá nhân được bảo vệ bằng mật khẩu (BIP38).",
|
"looks_like_bip38": "Cái này trông giống một khoá cá nhân được bảo vệ bằng mật khẩu (BIP38).",
|
||||||
"reorder_title": "Sắp xếp lại các vị",
|
"reorder_title": "Sắp xếp lại các vị",
|
||||||
"reorder_instructions": "Chạm và giữ một ví để kéo nó trong danh sách.",
|
|
||||||
"please_continue_scanning": "Vui lòng quét tiếp.",
|
"please_continue_scanning": "Vui lòng quét tiếp.",
|
||||||
"select_no_bitcoin": "Hiện tại không có ví Bitcoin có sẵn.",
|
"select_no_bitcoin": "Hiện tại không có ví Bitcoin có sẵn.",
|
||||||
"select_no_bitcoin_exp": "Bạn phải sử dụng ví Bitcoin đễ nạp tiền vào ví Lightning. Hãy tạo hoặc nhập một ví Bitcoin.",
|
"select_no_bitcoin_exp": "Bạn phải sử dụng ví Bitcoin đễ nạp tiền vào ví Lightning. Hãy tạo hoặc nhập một ví Bitcoin.",
|
||||||
|
|
222
package-lock.json
generated
222
package-lock.json
generated
|
@ -1,27 +1,27 @@
|
||||||
{
|
{
|
||||||
"name": "bluewallet",
|
"name": "bluewallet",
|
||||||
"version": "6.5.8",
|
"version": "6.6.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "bluewallet",
|
"name": "bluewallet",
|
||||||
"version": "6.5.8",
|
"version": "6.6.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/preset-env": "^7.20.0",
|
"@babel/preset-env": "^7.20.0",
|
||||||
"@bugsnag/react-native": "7.22.5",
|
"@bugsnag/react-native": "7.22.6",
|
||||||
"@bugsnag/source-maps": "2.3.1",
|
"@bugsnag/source-maps": "2.3.2",
|
||||||
"@keystonehq/bc-ur-registry": "0.6.4",
|
"@keystonehq/bc-ur-registry": "0.6.4",
|
||||||
"@ngraveio/bc-ur": "1.1.6",
|
"@ngraveio/bc-ur": "1.1.6",
|
||||||
"@noble/secp256k1": "1.6.3",
|
"@noble/secp256k1": "1.6.3",
|
||||||
"@react-native-async-storage/async-storage": "1.22.3",
|
"@react-native-async-storage/async-storage": "1.22.3",
|
||||||
"@react-native-clipboard/clipboard": "1.13.2",
|
"@react-native-clipboard/clipboard": "1.13.2",
|
||||||
"@react-native-community/push-notification-ios": "1.11.0",
|
"@react-native-community/push-notification-ios": "1.11.0",
|
||||||
"@react-navigation/drawer": "6.6.11",
|
"@react-navigation/drawer": "6.6.13",
|
||||||
"@react-navigation/native": "6.1.14",
|
"@react-navigation/native": "6.1.15",
|
||||||
"@react-navigation/native-stack": "6.9.22",
|
"@react-navigation/native-stack": "6.9.24",
|
||||||
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
|
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
|
||||||
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
|
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
|
||||||
"aezeed": "0.0.5",
|
"aezeed": "0.0.5",
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
"events": "3.3.0",
|
"events": "3.3.0",
|
||||||
"frisbee": "3.1.0",
|
"frisbee": "3.1.0",
|
||||||
"junderw-crc32c": "1.2.0",
|
"junderw-crc32c": "1.2.0",
|
||||||
"lottie-react-native": "6.6.0",
|
"lottie-react-native": "6.7.0",
|
||||||
"metro-react-native-babel-preset": "0.77.0",
|
"metro-react-native-babel-preset": "0.77.0",
|
||||||
"path-browserify": "1.0.1",
|
"path-browserify": "1.0.1",
|
||||||
"payjoin-client": "1.0.1",
|
"payjoin-client": "1.0.1",
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
"react-native-handoff": "https://github.com/BlueWallet/react-native-handoff#31d005f93d31099d0e564590a3bbd052b8a02b39",
|
"react-native-handoff": "https://github.com/BlueWallet/react-native-handoff#31d005f93d31099d0e564590a3bbd052b8a02b39",
|
||||||
"react-native-haptic-feedback": "2.2.0",
|
"react-native-haptic-feedback": "2.2.0",
|
||||||
"react-native-idle-timer": "https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b",
|
"react-native-idle-timer": "https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b",
|
||||||
"react-native-image-picker": "7.1.0",
|
"react-native-image-picker": "7.1.1",
|
||||||
"react-native-ios-context-menu": "github:BlueWallet/react-native-ios-context-menu#v1.15.3",
|
"react-native-ios-context-menu": "github:BlueWallet/react-native-ios-context-menu#v1.15.3",
|
||||||
"react-native-keychain": "8.2.0",
|
"react-native-keychain": "8.2.0",
|
||||||
"react-native-linear-gradient": "2.8.3",
|
"react-native-linear-gradient": "2.8.3",
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
"react-native-quick-actions": "0.3.13",
|
"react-native-quick-actions": "0.3.13",
|
||||||
"react-native-randombytes": "3.6.1",
|
"react-native-randombytes": "3.6.1",
|
||||||
"react-native-rate": "1.2.12",
|
"react-native-rate": "1.2.12",
|
||||||
"react-native-reanimated": "3.7.2",
|
"react-native-reanimated": "3.8.0",
|
||||||
"react-native-safe-area-context": "4.9.0",
|
"react-native-safe-area-context": "4.9.0",
|
||||||
"react-native-screens": "3.29.0",
|
"react-native-screens": "3.29.0",
|
||||||
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
|
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
"react-native-webview": "13.8.1",
|
"react-native-webview": "13.8.1",
|
||||||
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
|
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
|
||||||
"readable-stream": "3.6.2",
|
"readable-stream": "3.6.2",
|
||||||
"realm": "12.6.0",
|
"realm": "12.6.2",
|
||||||
"rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4",
|
"rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4",
|
||||||
"rn-nodeify": "10.3.0",
|
"rn-nodeify": "10.3.0",
|
||||||
"scryptsy": "2.1.0",
|
"scryptsy": "2.1.0",
|
||||||
|
@ -1509,20 +1509,6 @@
|
||||||
"@babel/core": "^7.0.0-0"
|
"@babel/core": "^7.0.0-0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-object-assign": {
|
|
||||||
"version": "7.23.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz",
|
|
||||||
"integrity": "sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-plugin-utils": "^7.22.5"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.9.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@babel/core": "^7.0.0-0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@babel/plugin-transform-object-rest-spread": {
|
"node_modules/@babel/plugin-transform-object-rest-spread": {
|
||||||
"version": "7.23.4",
|
"version": "7.23.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
|
||||||
|
@ -2260,9 +2246,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@bugsnag/react-native": {
|
"node_modules/@bugsnag/react-native": {
|
||||||
"version": "7.22.5",
|
"version": "7.22.6",
|
||||||
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.5.tgz",
|
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.6.tgz",
|
||||||
"integrity": "sha512-ZEDVfSZBxVTloFP3zkMW4xd3bEHD0R7/UNfsqTAYm2mAWLlNpMIcn6xKFdUSoMKFk0LUGwEy+7a0T2IUThL4ow==",
|
"integrity": "sha512-0TVul4cN0VVNzKkiiZTmmSNtFoOC5SGCW2ncikdF1sijc5IsavXDRemVMfLGg1xm0w3BWNsUjujmrmGCvkLxLA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bugsnag/core": "^7.19.0",
|
"@bugsnag/core": "^7.19.0",
|
||||||
"@bugsnag/delivery-react-native": "^7.22.3",
|
"@bugsnag/delivery-react-native": "^7.22.3",
|
||||||
|
@ -2284,9 +2270,9 @@
|
||||||
"integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA=="
|
"integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA=="
|
||||||
},
|
},
|
||||||
"node_modules/@bugsnag/source-maps": {
|
"node_modules/@bugsnag/source-maps": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@bugsnag/source-maps/-/source-maps-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@bugsnag/source-maps/-/source-maps-2.3.2.tgz",
|
||||||
"integrity": "sha512-9xJTcf5+W7+y1fQBftSOste/3ORi+d5EeCCMdvaHSX69MKQP0lrDiSYpLwX/ErcXrTbvu7nimGGKJP2vBdF7zQ==",
|
"integrity": "sha512-FGkGHWzX+W8T5FebBqGTBEPyfVJn4yr0o605mzt0gHVr1OO9i/JeceYZKSCHt116BmuBnwkckUKMH9ABUZ3kaw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"command-line-args": "^5.1.1",
|
"command-line-args": "^5.1.1",
|
||||||
"command-line-usage": "^6.1.0",
|
"command-line-usage": "^6.1.0",
|
||||||
|
@ -6362,9 +6348,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@react-navigation/core": {
|
"node_modules/@react-navigation/core": {
|
||||||
"version": "6.4.13",
|
"version": "6.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.14.tgz",
|
||||||
"integrity": "sha512-RBUpNG11SEYfvvWefJPxz8Xu/feWuPxln7ddRSY92aKs7u6fj/Z694Jun76Gmmw/RIHW6xcu3PH2v3Wm8nbumg==",
|
"integrity": "sha512-9DemQVmztRspTH4CRexLNfbJSOhiv6DHumH8enqiXUTgUEYfQUu2qCsEuc/ui08kuYLtoRTdH9P1ovE2xTScbg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-navigation/routers": "^6.1.9",
|
"@react-navigation/routers": "^6.1.9",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
|
@ -6378,11 +6364,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@react-navigation/drawer": {
|
"node_modules/@react-navigation/drawer": {
|
||||||
"version": "6.6.11",
|
"version": "6.6.13",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.11.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.13.tgz",
|
||||||
"integrity": "sha512-UTrgz5HJjpLt8aHZFH1mETEazwUEEVV8bJ+jaOpTl/FgwCHLCkQHZAydnZETK7fPiik3lmu2lJO1Nasl0LwZoA==",
|
"integrity": "sha512-fMHucgHqY+n8cOR/GgIK6sYs/L1jnaOEiDcH4lmmPJYSDwKy+Srjl32Z5v1/OG2dzgtMyKFxz2/QfMPas8PQaA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-navigation/elements": "^1.3.26",
|
"@react-navigation/elements": "^1.3.28",
|
||||||
"color": "^4.2.3",
|
"color": "^4.2.3",
|
||||||
"warn-once": "^0.1.0"
|
"warn-once": "^0.1.0"
|
||||||
},
|
},
|
||||||
|
@ -6397,9 +6383,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@react-navigation/elements": {
|
"node_modules/@react-navigation/elements": {
|
||||||
"version": "1.3.26",
|
"version": "1.3.28",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.26.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.28.tgz",
|
||||||
"integrity": "sha512-9rSY7MD6etU3M3j/OYUvtg4eBqABlkS39iJwwQheE89pSa9QyvXbJSsz/bUBEjFWwsOYxTVzj27bc7ulrDVWgw==",
|
"integrity": "sha512-pLKI8RsCuBAXaeTVjJo/ZeOFdZLiJXsnT5DoSpRUCq+B10b53kAI+F1sHhMShB8ALaNPD6RvB45zL8aCBwpuyA==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@react-navigation/native": "^6.0.0",
|
"@react-navigation/native": "^6.0.0",
|
||||||
"react": "*",
|
"react": "*",
|
||||||
|
@ -6408,11 +6394,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@react-navigation/native": {
|
"node_modules/@react-navigation/native": {
|
||||||
"version": "6.1.14",
|
"version": "6.1.15",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.14.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.15.tgz",
|
||||||
"integrity": "sha512-nCrVi4cHXx6VnXV8fj+lLb8zjLt1LZkpxudhfV/i1KstgaoGzh9FgFDIvbWONGE8f403FIsYUnZxKHvN7asp1w==",
|
"integrity": "sha512-NOZH+uCZk3l+Uiy5/RKMyl+JI+OVBrrQ2SAK2Br8o2MsElPqe96TtvzeKzOAoiHfoHnwCyjdD7D66ODNYPSwDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-navigation/core": "^6.4.13",
|
"@react-navigation/core": "^6.4.14",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
"nanoid": "^3.1.23"
|
"nanoid": "^3.1.23"
|
||||||
|
@ -6423,11 +6409,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@react-navigation/native-stack": {
|
"node_modules/@react-navigation/native-stack": {
|
||||||
"version": "6.9.22",
|
"version": "6.9.24",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.22.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.24.tgz",
|
||||||
"integrity": "sha512-1GGztUWXY+lbsIYkGV3HCYBF7qIOHnx663csgXArzunk8CcWNsUYwM7k1/Ql8e2LyvJtdjE3OS4fjLh+d72/YA==",
|
"integrity": "sha512-+UpruwDcaELmd8cGk8XUDVKFrTMN0x+FbtwNQ7if/hJKbaMg6c43rPtjtiMFX/ycYW7J3owwJ8rcCmU4M7S4Aw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-navigation/elements": "^1.3.26",
|
"@react-navigation/elements": "^1.3.28",
|
||||||
"warn-once": "^0.1.0"
|
"warn-once": "^0.1.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
@ -6446,6 +6432,14 @@
|
||||||
"nanoid": "^3.1.23"
|
"nanoid": "^3.1.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@realm/fetch": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@realm/fetch/-/fetch-0.1.1.tgz",
|
||||||
|
"integrity": "sha512-hkTprw79RXGv54Je0DrjpQPLaz4QID2dO3FmthAQQWAkqwyrqMzrCGzJzLlmTKWZFsgLrN8KQyNewod27P+nJg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@remobile/react-native-qrcode-local-image": {
|
"node_modules/@remobile/react-native-qrcode-local-image": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
|
"resolved": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
|
||||||
|
@ -17140,9 +17134,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lottie-react-native": {
|
"node_modules/lottie-react-native": {
|
||||||
"version": "6.6.0",
|
"version": "6.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.7.0.tgz",
|
||||||
"integrity": "sha512-ttS8qrtjrWc/tmAbCLjvqWpC+cfbwSPLZIWpNdiW2Z1WwqA653JSSJSPxf4c/ut2rwoIuKSBBkeaY2IvmCAQAg==",
|
"integrity": "sha512-doiF/36LaKkzo0XkgUIK8egxALNY6jGjCI4szpRuwop15LTW3DFtIA2L3pusNdaH7oM797aSH5UylIJw2k+Hgw==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@dotlottie/react-player": "^1.6.1",
|
"@dotlottie/react-player": "^1.6.1",
|
||||||
"@lottiefiles/react-lottie-player": "^3.5.3",
|
"@lottiefiles/react-lottie-player": "^3.5.3",
|
||||||
|
@ -19702,9 +19696,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/react-native-image-picker": {
|
"node_modules/react-native-image-picker": {
|
||||||
"version": "7.1.0",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-7.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-7.1.1.tgz",
|
||||||
"integrity": "sha512-An0hn2mwqjGAA2mbsXdHRTyoMMklGPT9stIjE2zvkegU7CdoFhowqvVHfnELJNZnfAiSQuIaeY//z0r1R0lsgw==",
|
"integrity": "sha512-8zQS8RJkGq+jV6bzmIQ560QL2tccXUwouDWktJt7typfNu/QpuDm9pnESeLkdA5MHGTMm8YR09tcV1qtBD+0fg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": "*",
|
"react": "*",
|
||||||
"react-native": "*"
|
"react-native": "*"
|
||||||
|
@ -19881,22 +19875,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-native-reanimated": {
|
"node_modules/react-native-reanimated": {
|
||||||
"version": "3.7.2",
|
"version": "3.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.8.0.tgz",
|
||||||
"integrity": "sha512-3KpTmYEcmHhkZeTqgWtioqnljpd4TLxKHClvarYsA3UXU2Tv+O1gqlRhVhfHBZuiDngVu436gWkde9+/VQVMFQ==",
|
"integrity": "sha512-xoG4+nf+lSmzv37mjTUIT0gYNEIr2Mb8WXgmqR8deCJk8CC6lXT0HRpshTPVAF00LvdzrD2W/rCpiBdHN5FW2w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-transform-object-assign": "^7.16.7",
|
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-optional-chaining": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-template-literals": "^7.0.0-0",
|
||||||
"@babel/preset-typescript": "^7.16.7",
|
"@babel/preset-typescript": "^7.16.7",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"invariant": "^2.2.4"
|
"invariant": "^2.2.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.0.0-0",
|
"@babel/core": "^7.0.0-0",
|
||||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0-0",
|
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.0.0-0",
|
|
||||||
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
|
|
||||||
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
|
|
||||||
"@babel/plugin-transform-template-literals": "^7.0.0-0",
|
|
||||||
"react": "*",
|
"react": "*",
|
||||||
"react-native": "*"
|
"react-native": "*"
|
||||||
}
|
}
|
||||||
|
@ -20321,14 +20314,16 @@
|
||||||
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
|
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
|
||||||
},
|
},
|
||||||
"node_modules/realm": {
|
"node_modules/realm": {
|
||||||
"version": "12.6.0",
|
"version": "12.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.2.tgz",
|
||||||
"integrity": "sha512-lwixjVE8uiHXqRggJ9DwCxy3P1I0SUGBFG3dLQnXT20o6PdDVpXsTgE82m0svviKyDLs8yb5hLim5HRcHkH5rA==",
|
"integrity": "sha512-6ICUaKHNeiEAwVIKC3AkCDTCVEtpkFAVeWvmUVdmVIUjcY/+2cMLe/tgFpLcY7pEB/n1EUg3pVyUBcVuMvwdqg==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@realm/fetch": "^0.1.1",
|
||||||
"bson": "^4.7.2",
|
"bson": "^4.7.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"node-machine-id": "^1.1.12",
|
"node-machine-id": "^1.1.12",
|
||||||
|
"path-browserify": "^1.0.1",
|
||||||
"prebuild-install": "^7.1.1"
|
"prebuild-install": "^7.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -23703,14 +23698,6 @@
|
||||||
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
|
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/plugin-transform-object-assign": {
|
|
||||||
"version": "7.23.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz",
|
|
||||||
"integrity": "sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==",
|
|
||||||
"requires": {
|
|
||||||
"@babel/helper-plugin-utils": "^7.22.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@babel/plugin-transform-object-rest-spread": {
|
"@babel/plugin-transform-object-rest-spread": {
|
||||||
"version": "7.23.4",
|
"version": "7.23.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
|
||||||
|
@ -24220,9 +24207,9 @@
|
||||||
"integrity": "sha512-+XDk0OoeM6MZhBh7kEalbRwFuhCZST6Y1jOostfz0fhrmT4FdgQYi1FWcPNsUTcjqv7M48pOFZNx8yWI0lGaYg=="
|
"integrity": "sha512-+XDk0OoeM6MZhBh7kEalbRwFuhCZST6Y1jOostfz0fhrmT4FdgQYi1FWcPNsUTcjqv7M48pOFZNx8yWI0lGaYg=="
|
||||||
},
|
},
|
||||||
"@bugsnag/react-native": {
|
"@bugsnag/react-native": {
|
||||||
"version": "7.22.5",
|
"version": "7.22.6",
|
||||||
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.5.tgz",
|
"resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.6.tgz",
|
||||||
"integrity": "sha512-ZEDVfSZBxVTloFP3zkMW4xd3bEHD0R7/UNfsqTAYm2mAWLlNpMIcn6xKFdUSoMKFk0LUGwEy+7a0T2IUThL4ow==",
|
"integrity": "sha512-0TVul4cN0VVNzKkiiZTmmSNtFoOC5SGCW2ncikdF1sijc5IsavXDRemVMfLGg1xm0w3BWNsUjujmrmGCvkLxLA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@bugsnag/core": "^7.19.0",
|
"@bugsnag/core": "^7.19.0",
|
||||||
"@bugsnag/delivery-react-native": "^7.22.3",
|
"@bugsnag/delivery-react-native": "^7.22.3",
|
||||||
|
@ -24244,9 +24231,9 @@
|
||||||
"integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA=="
|
"integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA=="
|
||||||
},
|
},
|
||||||
"@bugsnag/source-maps": {
|
"@bugsnag/source-maps": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@bugsnag/source-maps/-/source-maps-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@bugsnag/source-maps/-/source-maps-2.3.2.tgz",
|
||||||
"integrity": "sha512-9xJTcf5+W7+y1fQBftSOste/3ORi+d5EeCCMdvaHSX69MKQP0lrDiSYpLwX/ErcXrTbvu7nimGGKJP2vBdF7zQ==",
|
"integrity": "sha512-FGkGHWzX+W8T5FebBqGTBEPyfVJn4yr0o605mzt0gHVr1OO9i/JeceYZKSCHt116BmuBnwkckUKMH9ABUZ3kaw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"command-line-args": "^5.1.1",
|
"command-line-args": "^5.1.1",
|
||||||
"command-line-usage": "^6.1.0",
|
"command-line-usage": "^6.1.0",
|
||||||
|
@ -27338,9 +27325,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@react-navigation/core": {
|
"@react-navigation/core": {
|
||||||
"version": "6.4.13",
|
"version": "6.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.14.tgz",
|
||||||
"integrity": "sha512-RBUpNG11SEYfvvWefJPxz8Xu/feWuPxln7ddRSY92aKs7u6fj/Z694Jun76Gmmw/RIHW6xcu3PH2v3Wm8nbumg==",
|
"integrity": "sha512-9DemQVmztRspTH4CRexLNfbJSOhiv6DHumH8enqiXUTgUEYfQUu2qCsEuc/ui08kuYLtoRTdH9P1ovE2xTScbg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@react-navigation/routers": "^6.1.9",
|
"@react-navigation/routers": "^6.1.9",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
|
@ -27351,37 +27338,37 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@react-navigation/drawer": {
|
"@react-navigation/drawer": {
|
||||||
"version": "6.6.11",
|
"version": "6.6.13",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.11.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.13.tgz",
|
||||||
"integrity": "sha512-UTrgz5HJjpLt8aHZFH1mETEazwUEEVV8bJ+jaOpTl/FgwCHLCkQHZAydnZETK7fPiik3lmu2lJO1Nasl0LwZoA==",
|
"integrity": "sha512-fMHucgHqY+n8cOR/GgIK6sYs/L1jnaOEiDcH4lmmPJYSDwKy+Srjl32Z5v1/OG2dzgtMyKFxz2/QfMPas8PQaA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@react-navigation/elements": "^1.3.26",
|
"@react-navigation/elements": "^1.3.28",
|
||||||
"color": "^4.2.3",
|
"color": "^4.2.3",
|
||||||
"warn-once": "^0.1.0"
|
"warn-once": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@react-navigation/elements": {
|
"@react-navigation/elements": {
|
||||||
"version": "1.3.26",
|
"version": "1.3.28",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.26.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.28.tgz",
|
||||||
"integrity": "sha512-9rSY7MD6etU3M3j/OYUvtg4eBqABlkS39iJwwQheE89pSa9QyvXbJSsz/bUBEjFWwsOYxTVzj27bc7ulrDVWgw=="
|
"integrity": "sha512-pLKI8RsCuBAXaeTVjJo/ZeOFdZLiJXsnT5DoSpRUCq+B10b53kAI+F1sHhMShB8ALaNPD6RvB45zL8aCBwpuyA=="
|
||||||
},
|
},
|
||||||
"@react-navigation/native": {
|
"@react-navigation/native": {
|
||||||
"version": "6.1.14",
|
"version": "6.1.15",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.14.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.15.tgz",
|
||||||
"integrity": "sha512-nCrVi4cHXx6VnXV8fj+lLb8zjLt1LZkpxudhfV/i1KstgaoGzh9FgFDIvbWONGE8f403FIsYUnZxKHvN7asp1w==",
|
"integrity": "sha512-NOZH+uCZk3l+Uiy5/RKMyl+JI+OVBrrQ2SAK2Br8o2MsElPqe96TtvzeKzOAoiHfoHnwCyjdD7D66ODNYPSwDw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@react-navigation/core": "^6.4.13",
|
"@react-navigation/core": "^6.4.14",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
"nanoid": "^3.1.23"
|
"nanoid": "^3.1.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@react-navigation/native-stack": {
|
"@react-navigation/native-stack": {
|
||||||
"version": "6.9.22",
|
"version": "6.9.24",
|
||||||
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.22.tgz",
|
"resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.24.tgz",
|
||||||
"integrity": "sha512-1GGztUWXY+lbsIYkGV3HCYBF7qIOHnx663csgXArzunk8CcWNsUYwM7k1/Ql8e2LyvJtdjE3OS4fjLh+d72/YA==",
|
"integrity": "sha512-+UpruwDcaELmd8cGk8XUDVKFrTMN0x+FbtwNQ7if/hJKbaMg6c43rPtjtiMFX/ycYW7J3owwJ8rcCmU4M7S4Aw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@react-navigation/elements": "^1.3.26",
|
"@react-navigation/elements": "^1.3.28",
|
||||||
"warn-once": "^0.1.0"
|
"warn-once": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -27393,6 +27380,11 @@
|
||||||
"nanoid": "^3.1.23"
|
"nanoid": "^3.1.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@realm/fetch": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@realm/fetch/-/fetch-0.1.1.tgz",
|
||||||
|
"integrity": "sha512-hkTprw79RXGv54Je0DrjpQPLaz4QID2dO3FmthAQQWAkqwyrqMzrCGzJzLlmTKWZFsgLrN8KQyNewod27P+nJg=="
|
||||||
|
},
|
||||||
"@remobile/react-native-qrcode-local-image": {
|
"@remobile/react-native-qrcode-local-image": {
|
||||||
"version": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
|
"version": "git+ssh://git@github.com/BlueWallet/react-native-qrcode-local-image.git#31b0113110fbafcf5a5f3ca4183a563550f5c352",
|
||||||
"from": "@remobile/react-native-qrcode-local-image@https://github.com/BlueWallet/react-native-qrcode-local-image"
|
"from": "@remobile/react-native-qrcode-local-image@https://github.com/BlueWallet/react-native-qrcode-local-image"
|
||||||
|
@ -35456,9 +35448,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lottie-react-native": {
|
"lottie-react-native": {
|
||||||
"version": "6.6.0",
|
"version": "6.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.7.0.tgz",
|
||||||
"integrity": "sha512-ttS8qrtjrWc/tmAbCLjvqWpC+cfbwSPLZIWpNdiW2Z1WwqA653JSSJSPxf4c/ut2rwoIuKSBBkeaY2IvmCAQAg=="
|
"integrity": "sha512-doiF/36LaKkzo0XkgUIK8egxALNY6jGjCI4szpRuwop15LTW3DFtIA2L3pusNdaH7oM797aSH5UylIJw2k+Hgw=="
|
||||||
},
|
},
|
||||||
"lru-cache": {
|
"lru-cache": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
|
@ -37489,9 +37481,9 @@
|
||||||
"from": "react-native-idle-timer@https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b"
|
"from": "react-native-idle-timer@https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b"
|
||||||
},
|
},
|
||||||
"react-native-image-picker": {
|
"react-native-image-picker": {
|
||||||
"version": "7.1.0",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-7.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-7.1.1.tgz",
|
||||||
"integrity": "sha512-An0hn2mwqjGAA2mbsXdHRTyoMMklGPT9stIjE2zvkegU7CdoFhowqvVHfnELJNZnfAiSQuIaeY//z0r1R0lsgw=="
|
"integrity": "sha512-8zQS8RJkGq+jV6bzmIQ560QL2tccXUwouDWktJt7typfNu/QpuDm9pnESeLkdA5MHGTMm8YR09tcV1qtBD+0fg=="
|
||||||
},
|
},
|
||||||
"react-native-ios-context-menu": {
|
"react-native-ios-context-menu": {
|
||||||
"version": "git+ssh://git@github.com/BlueWallet/react-native-ios-context-menu.git#e5c1217cd220bfab6e6d9a7c65838545082e3f8e",
|
"version": "git+ssh://git@github.com/BlueWallet/react-native-ios-context-menu.git#e5c1217cd220bfab6e6d9a7c65838545082e3f8e",
|
||||||
|
@ -37608,11 +37600,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-native-reanimated": {
|
"react-native-reanimated": {
|
||||||
"version": "3.7.2",
|
"version": "3.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.8.0.tgz",
|
||||||
"integrity": "sha512-3KpTmYEcmHhkZeTqgWtioqnljpd4TLxKHClvarYsA3UXU2Tv+O1gqlRhVhfHBZuiDngVu436gWkde9+/VQVMFQ==",
|
"integrity": "sha512-xoG4+nf+lSmzv37mjTUIT0gYNEIr2Mb8WXgmqR8deCJk8CC6lXT0HRpshTPVAF00LvdzrD2W/rCpiBdHN5FW2w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-transform-object-assign": "^7.16.7",
|
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-optional-chaining": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-shorthand-properties": "^7.0.0-0",
|
||||||
|
"@babel/plugin-transform-template-literals": "^7.0.0-0",
|
||||||
"@babel/preset-typescript": "^7.16.7",
|
"@babel/preset-typescript": "^7.16.7",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"invariant": "^2.2.4"
|
"invariant": "^2.2.4"
|
||||||
|
@ -37836,13 +37832,15 @@
|
||||||
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
|
"integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
|
||||||
},
|
},
|
||||||
"realm": {
|
"realm": {
|
||||||
"version": "12.6.0",
|
"version": "12.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/realm/-/realm-12.6.2.tgz",
|
||||||
"integrity": "sha512-lwixjVE8uiHXqRggJ9DwCxy3P1I0SUGBFG3dLQnXT20o6PdDVpXsTgE82m0svviKyDLs8yb5hLim5HRcHkH5rA==",
|
"integrity": "sha512-6ICUaKHNeiEAwVIKC3AkCDTCVEtpkFAVeWvmUVdmVIUjcY/+2cMLe/tgFpLcY7pEB/n1EUg3pVyUBcVuMvwdqg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@realm/fetch": "^0.1.1",
|
||||||
"bson": "^4.7.2",
|
"bson": "^4.7.2",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"node-machine-id": "^1.1.12",
|
"node-machine-id": "^1.1.12",
|
||||||
|
"path-browserify": "^1.0.1",
|
||||||
"prebuild-install": "^7.1.1"
|
"prebuild-install": "^7.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
24
package.json
24
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "bluewallet",
|
"name": "bluewallet",
|
||||||
"version": "6.5.8",
|
"version": "6.6.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
"@babel/core": "^7.20.0",
|
"@babel/core": "^7.20.0",
|
||||||
"@babel/runtime": "^7.20.0",
|
"@babel/runtime": "^7.20.0",
|
||||||
"@jest/reporters": "^27.5.1",
|
"@jest/reporters": "^27.5.1",
|
||||||
"@react-native/eslint-config": "^0.72.2",
|
"@react-native/eslint-config": "^0.74.0",
|
||||||
"@react-native/metro-config": "^0.73.0",
|
"@react-native/metro-config": "^0.73.0",
|
||||||
"@tsconfig/react-native": "^3.0.2",
|
"@tsconfig/react-native": "^3.0.2",
|
||||||
"@types/bip38": "^3.1.2",
|
"@types/bip38": "^3.1.2",
|
||||||
|
@ -97,17 +97,17 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/preset-env": "^7.20.0",
|
"@babel/preset-env": "^7.20.0",
|
||||||
"@bugsnag/react-native": "7.22.5",
|
"@bugsnag/react-native": "7.22.6",
|
||||||
"@bugsnag/source-maps": "2.3.1",
|
"@bugsnag/source-maps": "2.3.2",
|
||||||
"@keystonehq/bc-ur-registry": "0.6.4",
|
"@keystonehq/bc-ur-registry": "0.6.4",
|
||||||
"@ngraveio/bc-ur": "1.1.12",
|
"@ngraveio/bc-ur": "1.1.12",
|
||||||
"@noble/secp256k1": "1.6.3",
|
"@noble/secp256k1": "1.6.3",
|
||||||
"@react-native-async-storage/async-storage": "1.22.3",
|
"@react-native-async-storage/async-storage": "1.22.3",
|
||||||
"@react-native-clipboard/clipboard": "1.13.2",
|
"@react-native-clipboard/clipboard": "1.13.2",
|
||||||
"@react-native-community/push-notification-ios": "1.11.0",
|
"@react-native-community/push-notification-ios": "1.11.0",
|
||||||
"@react-navigation/drawer": "6.6.11",
|
"@react-navigation/drawer": "6.6.15",
|
||||||
"@react-navigation/native": "6.1.14",
|
"@react-navigation/native": "6.1.17",
|
||||||
"@react-navigation/native-stack": "6.9.22",
|
"@react-navigation/native-stack": "6.9.26",
|
||||||
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
|
"@remobile/react-native-qrcode-local-image": "https://github.com/BlueWallet/react-native-qrcode-local-image",
|
||||||
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
|
"@spsina/bip47": "github:BlueWallet/bip47#0a2f02c90350802f2ec93afa4e6c8843be2d687c",
|
||||||
"aezeed": "0.0.5",
|
"aezeed": "0.0.5",
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
"events": "3.3.0",
|
"events": "3.3.0",
|
||||||
"frisbee": "3.1.0",
|
"frisbee": "3.1.0",
|
||||||
"junderw-crc32c": "1.2.0",
|
"junderw-crc32c": "1.2.0",
|
||||||
"lottie-react-native": "6.6.0",
|
"lottie-react-native": "6.7.0",
|
||||||
"metro-react-native-babel-preset": "0.77.0",
|
"metro-react-native-babel-preset": "0.77.0",
|
||||||
"path-browserify": "1.0.1",
|
"path-browserify": "1.0.1",
|
||||||
"payjoin-client": "1.0.1",
|
"payjoin-client": "1.0.1",
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
"react-native-crypto": "2.2.0",
|
"react-native-crypto": "2.2.0",
|
||||||
"react-native-default-preference": "1.4.4",
|
"react-native-default-preference": "1.4.4",
|
||||||
"react-native-device-info": "10.13.1",
|
"react-native-device-info": "10.13.1",
|
||||||
"react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#27fddb9d9a88fff09a41ce654f7008cfd33cb4c4",
|
"react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#6033c4e1b0dd0a6760b5f5a5a2c3b2e5d07f2ae4",
|
||||||
"react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4",
|
"react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4",
|
||||||
"react-native-elements": "3.4.3",
|
"react-native-elements": "3.4.3",
|
||||||
"react-native-fs": "2.20.0",
|
"react-native-fs": "2.20.0",
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
"react-native-handoff": "https://github.com/BlueWallet/react-native-handoff#31d005f93d31099d0e564590a3bbd052b8a02b39",
|
"react-native-handoff": "https://github.com/BlueWallet/react-native-handoff#31d005f93d31099d0e564590a3bbd052b8a02b39",
|
||||||
"react-native-haptic-feedback": "2.2.0",
|
"react-native-haptic-feedback": "2.2.0",
|
||||||
"react-native-idle-timer": "https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b",
|
"react-native-idle-timer": "https://github.com/BlueWallet/react-native-idle-timer#8587876d68ab5920e79619726aeca9e672beaf2b",
|
||||||
"react-native-image-picker": "7.1.0",
|
"react-native-image-picker": "7.1.1",
|
||||||
"react-native-ios-context-menu": "github:BlueWallet/react-native-ios-context-menu#v1.15.3",
|
"react-native-ios-context-menu": "github:BlueWallet/react-native-ios-context-menu#v1.15.3",
|
||||||
"react-native-keychain": "8.2.0",
|
"react-native-keychain": "8.2.0",
|
||||||
"react-native-linear-gradient": "2.8.3",
|
"react-native-linear-gradient": "2.8.3",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"react-native-quick-actions": "0.3.13",
|
"react-native-quick-actions": "0.3.13",
|
||||||
"react-native-randombytes": "3.6.1",
|
"react-native-randombytes": "3.6.1",
|
||||||
"react-native-rate": "1.2.12",
|
"react-native-rate": "1.2.12",
|
||||||
"react-native-reanimated": "3.7.2",
|
"react-native-reanimated": "3.8.1",
|
||||||
"react-native-safe-area-context": "4.9.0",
|
"react-native-safe-area-context": "4.9.0",
|
||||||
"react-native-screens": "3.29.0",
|
"react-native-screens": "3.29.0",
|
||||||
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
|
"react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48",
|
||||||
|
@ -186,7 +186,7 @@
|
||||||
"react-native-webview": "13.8.1",
|
"react-native-webview": "13.8.1",
|
||||||
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
|
"react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38",
|
||||||
"readable-stream": "3.6.2",
|
"readable-stream": "3.6.2",
|
||||||
"realm": "12.6.0",
|
"realm": "12.6.2",
|
||||||
"rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4",
|
"rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4",
|
||||||
"rn-nodeify": "10.3.0",
|
"rn-nodeify": "10.3.0",
|
||||||
"scryptsy": "2.1.0",
|
"scryptsy": "2.1.0",
|
||||||
|
|
11
screen/ActionSheet.common.ts
Normal file
11
screen/ActionSheet.common.ts
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// ActionSheet.common.ts
|
||||||
|
export interface ActionSheetOptions {
|
||||||
|
title?: string;
|
||||||
|
message?: string;
|
||||||
|
options: string[]; // Array of button labels.
|
||||||
|
destructiveButtonIndex?: number;
|
||||||
|
cancelButtonIndex?: number;
|
||||||
|
anchor?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CompletionCallback = (buttonIndex: number) => void;
|
|
@ -1,10 +0,0 @@
|
||||||
import { ActionSheetIOS, InteractionManager } from 'react-native';
|
|
||||||
|
|
||||||
export default class ActionSheet {
|
|
||||||
static showActionSheetWithOptions(options, completion) {
|
|
||||||
ActionSheetIOS.dismissActionSheet();
|
|
||||||
InteractionManager.runAfterInteractions(() => {
|
|
||||||
ActionSheetIOS.showActionSheetWithOptions(options, completion);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
15
screen/ActionSheet.ios.ts
Normal file
15
screen/ActionSheet.ios.ts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// ActionSheet.ios.ts
|
||||||
|
import { ActionSheetIOS, InteractionManager } from 'react-native';
|
||||||
|
import { ActionSheetOptions, CompletionCallback } from './ActionSheet.common';
|
||||||
|
|
||||||
|
export default class ActionSheet {
|
||||||
|
static showActionSheetWithOptions(options: ActionSheetOptions, completion: CompletionCallback): void {
|
||||||
|
InteractionManager.runAfterInteractions(() => {
|
||||||
|
const iosOptions = {
|
||||||
|
...options,
|
||||||
|
anchor: options.anchor,
|
||||||
|
};
|
||||||
|
ActionSheetIOS.showActionSheetWithOptions(iosOptions, completion);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +0,0 @@
|
||||||
import { Alert, InteractionManager } from 'react-native';
|
|
||||||
|
|
||||||
export default class ActionSheet {
|
|
||||||
static showActionSheetWithOptions(options) {
|
|
||||||
InteractionManager.runAfterInteractions(() => {
|
|
||||||
Alert.alert(options.title, options.message, options.buttons, { cancelable: true });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
26
screen/ActionSheet.ts
Normal file
26
screen/ActionSheet.ts
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// ActionSheet.ts
|
||||||
|
import { Alert, InteractionManager } from 'react-native';
|
||||||
|
import { ActionSheetOptions, CompletionCallback } from './ActionSheet.common';
|
||||||
|
|
||||||
|
export default class ActionSheet {
|
||||||
|
static showActionSheetWithOptions(options: ActionSheetOptions, completion: CompletionCallback): void {
|
||||||
|
InteractionManager.runAfterInteractions(() => {
|
||||||
|
const alertOptions = options.options.map((option, index) => {
|
||||||
|
let style: 'default' | 'cancel' | 'destructive' = 'default';
|
||||||
|
if (index === options.destructiveButtonIndex) {
|
||||||
|
style = 'destructive';
|
||||||
|
} else if (index === options.cancelButtonIndex) {
|
||||||
|
style = 'cancel';
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
text: option,
|
||||||
|
onPress: () => completion(index),
|
||||||
|
style,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
Alert.alert(options.title || '', options.message || '', alertOptions, { cancelable: !!options.cancelButtonIndex });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,17 +1,18 @@
|
||||||
import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
||||||
import { View, Image, TouchableOpacity, ActivityIndicator, useColorScheme, NativeModules, StyleSheet } from 'react-native';
|
import { View, Image, ActivityIndicator, NativeModules, StyleSheet } from 'react-native';
|
||||||
import { Icon } from 'react-native-elements';
|
import Biometric, { BiometricType } from '../class/biometrics';
|
||||||
import Biometric, { BiometricType } from './class/biometrics';
|
import { BlueStorageContext } from '../blue_modules/storage-context';
|
||||||
import { StackActions, useNavigation } from '@react-navigation/native';
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../blue_modules/hapticFeedback';
|
||||||
import { BlueStorageContext } from './blue_modules/storage-context';
|
import SafeArea from '../components/SafeArea';
|
||||||
import { isHandset } from './blue_modules/environment';
|
import { BlueTextCentered } from '../BlueComponents';
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from './blue_modules/hapticFeedback';
|
import loc from '../loc';
|
||||||
import SafeArea from './components/SafeArea';
|
import Button from '../components/Button';
|
||||||
|
|
||||||
enum AuthType {
|
enum AuthType {
|
||||||
Encrypted,
|
Encrypted,
|
||||||
Biometrics,
|
Biometrics,
|
||||||
None,
|
None,
|
||||||
|
BiometricsUnavailable,
|
||||||
}
|
}
|
||||||
|
|
||||||
type State = {
|
type State = {
|
||||||
|
@ -54,14 +55,12 @@ const UnlockWith: React.FC = () => {
|
||||||
const [state, dispatch] = useReducer(reducer, initialState);
|
const [state, dispatch] = useReducer(reducer, initialState);
|
||||||
const isUnlockingWallets = useRef(false);
|
const isUnlockingWallets = useRef(false);
|
||||||
const { setWalletsInitialized, isStorageEncrypted, startAndDecrypt } = useContext(BlueStorageContext);
|
const { setWalletsInitialized, isStorageEncrypted, startAndDecrypt } = useContext(BlueStorageContext);
|
||||||
const navigation = useNavigation();
|
|
||||||
const colorScheme = useColorScheme();
|
|
||||||
|
|
||||||
const successfullyAuthenticated = useCallback(() => {
|
const successfullyAuthenticated = useCallback(() => {
|
||||||
setWalletsInitialized(true);
|
setWalletsInitialized(true);
|
||||||
navigation.dispatch(StackActions.replace(isHandset ? 'Navigation' : 'DrawerRoot'));
|
|
||||||
isUnlockingWallets.current = false;
|
isUnlockingWallets.current = false;
|
||||||
}, [setWalletsInitialized, navigation]);
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, []);
|
||||||
|
|
||||||
const unlockWithBiometrics = useCallback(async () => {
|
const unlockWithBiometrics = useCallback(async () => {
|
||||||
if (isUnlockingWallets.current || state.isAuthenticating) return;
|
if (isUnlockingWallets.current || state.isAuthenticating) return;
|
||||||
|
@ -98,6 +97,7 @@ const UnlockWith: React.FC = () => {
|
||||||
const storageIsEncrypted = await isStorageEncrypted();
|
const storageIsEncrypted = await isStorageEncrypted();
|
||||||
const isBiometricUseCapableAndEnabled = await Biometric.isBiometricUseCapableAndEnabled();
|
const isBiometricUseCapableAndEnabled = await Biometric.isBiometricUseCapableAndEnabled();
|
||||||
const biometricType = isBiometricUseCapableAndEnabled ? await Biometric.biometricType() : undefined;
|
const biometricType = isBiometricUseCapableAndEnabled ? await Biometric.biometricType() : undefined;
|
||||||
|
const biometricsUseEnabled = await Biometric.isBiometricUseEnabled();
|
||||||
|
|
||||||
if (storageIsEncrypted) {
|
if (storageIsEncrypted) {
|
||||||
dispatch({ type: SET_AUTH, payload: { type: AuthType.Encrypted, detail: undefined } });
|
dispatch({ type: SET_AUTH, payload: { type: AuthType.Encrypted, detail: undefined } });
|
||||||
|
@ -105,6 +105,9 @@ const UnlockWith: React.FC = () => {
|
||||||
} else if (isBiometricUseCapableAndEnabled) {
|
} else if (isBiometricUseCapableAndEnabled) {
|
||||||
dispatch({ type: SET_AUTH, payload: { type: AuthType.Biometrics, detail: biometricType } });
|
dispatch({ type: SET_AUTH, payload: { type: AuthType.Biometrics, detail: biometricType } });
|
||||||
unlockWithBiometrics();
|
unlockWithBiometrics();
|
||||||
|
} else if (biometricsUseEnabled && biometricType === undefined) {
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
|
dispatch({ type: SET_AUTH, payload: { type: AuthType.BiometricsUnavailable, detail: undefined } });
|
||||||
} else {
|
} else {
|
||||||
dispatch({ type: SET_AUTH, payload: { type: AuthType.None, detail: undefined } });
|
dispatch({ type: SET_AUTH, payload: { type: AuthType.None, detail: undefined } });
|
||||||
unlockWithKey();
|
unlockWithKey();
|
||||||
|
@ -115,36 +118,24 @@ const UnlockWith: React.FC = () => {
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const onUnlockPressed = () => {
|
||||||
|
if (state.auth.type === AuthType.Biometrics) {
|
||||||
|
unlockWithBiometrics();
|
||||||
|
} else {
|
||||||
|
unlockWithKey();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const renderUnlockOptions = () => {
|
const renderUnlockOptions = () => {
|
||||||
const color = colorScheme === 'dark' ? '#FFFFFF' : '#000000';
|
|
||||||
if (state.isAuthenticating) {
|
if (state.isAuthenticating) {
|
||||||
return <ActivityIndicator />;
|
return <ActivityIndicator />;
|
||||||
} else {
|
} else {
|
||||||
switch (state.auth.type) {
|
switch (state.auth.type) {
|
||||||
case AuthType.Biometrics:
|
case AuthType.Biometrics:
|
||||||
if (state.auth.detail === 'TouchID' || state.auth.detail === 'Biometrics') {
|
|
||||||
return (
|
|
||||||
<TouchableOpacity accessibilityRole="button" disabled={state.isAuthenticating} onPress={unlockWithBiometrics}>
|
|
||||||
<Icon name="fingerprint" size={64} type="font-awesome5" color={color} />
|
|
||||||
</TouchableOpacity>
|
|
||||||
);
|
|
||||||
} else if (state.auth.detail === 'FaceID') {
|
|
||||||
return (
|
|
||||||
<TouchableOpacity accessibilityRole="button" disabled={state.isAuthenticating} onPress={unlockWithBiometrics}>
|
|
||||||
<Image
|
|
||||||
source={colorScheme === 'dark' ? require('./img/faceid-default.png') : require('./img/faceid-dark.png')}
|
|
||||||
style={styles.icon}
|
|
||||||
/>
|
|
||||||
</TouchableOpacity>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
case AuthType.Encrypted:
|
case AuthType.Encrypted:
|
||||||
return (
|
return <Button onPress={onUnlockPressed} title={loc._.unlock} />;
|
||||||
<TouchableOpacity accessibilityRole="button" disabled={state.isAuthenticating} onPress={unlockWithKey}>
|
case AuthType.BiometricsUnavailable:
|
||||||
<Icon name="lock" size={64} type="font-awesome5" color={color} />
|
return <BlueTextCentered>{loc.settings.biometrics_no_longer_available}</BlueTextCentered>;
|
||||||
</TouchableOpacity>
|
|
||||||
);
|
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -154,7 +145,7 @@ const UnlockWith: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<SafeArea style={styles.root}>
|
<SafeArea style={styles.root}>
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Image source={require('./img/icon.png')} style={styles.logoImage} resizeMode="contain" />
|
<Image source={require('../img/icon.png')} style={styles.logoImage} resizeMode="contain" />
|
||||||
</View>
|
</View>
|
||||||
<View style={styles.biometricRow}>{renderUnlockOptions()}</View>
|
<View style={styles.biometricRow}>{renderUnlockOptions()}</View>
|
||||||
</SafeArea>
|
</SafeArea>
|
||||||
|
@ -174,14 +165,11 @@ const styles = StyleSheet.create({
|
||||||
biometricRow: {
|
biometricRow: {
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
width: 64,
|
width: 300,
|
||||||
height: 64,
|
height: 60,
|
||||||
alignSelf: 'center',
|
alignSelf: 'center',
|
||||||
marginBottom: 20,
|
marginBottom: 20,
|
||||||
},
|
paddingHorizontal: 20,
|
||||||
icon: {
|
|
||||||
width: 64,
|
|
||||||
height: 64,
|
|
||||||
},
|
},
|
||||||
logoImage: {
|
logoImage: {
|
||||||
width: 100,
|
width: 100,
|
|
@ -161,7 +161,7 @@ const ReceiveDetails = () => {
|
||||||
const balanceToShow = balance.confirmed - initialConfirmed;
|
const balanceToShow = balance.confirmed - initialConfirmed;
|
||||||
|
|
||||||
if (balanceToShow > 0) {
|
if (balanceToShow > 0) {
|
||||||
// address has actually more coins then initially, so we definately gained something
|
// address has actually more coins than initially, so we definitely gained something
|
||||||
setShowConfirmedBalance(true);
|
setShowConfirmedBalance(true);
|
||||||
setShowPendingBalance(false);
|
setShowPendingBalance(false);
|
||||||
setShowAddress(false);
|
setShowAddress(false);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { ActivityIndicator, findNodeHandle, ScrollView, StyleSheet, View } from 'react-native';
|
import { ActivityIndicator, findNodeHandle, ScrollView, StyleSheet, View } from 'react-native';
|
||||||
import { getSystemName } from 'react-native-device-info';
|
|
||||||
import { useNavigation, useRoute, useIsFocused } from '@react-navigation/native';
|
import { useNavigation, useRoute, useIsFocused } from '@react-navigation/native';
|
||||||
|
|
||||||
import { BlueSpacing20 } from '../../BlueComponents';
|
import { BlueSpacing20 } from '../../BlueComponents';
|
||||||
|
@ -13,11 +12,10 @@ import presentAlert from '../../components/Alert';
|
||||||
import { requestCameraAuthorization } from '../../helpers/scan-qr';
|
import { requestCameraAuthorization } from '../../helpers/scan-qr';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
import SafeArea from '../../components/SafeArea';
|
import SafeArea from '../../components/SafeArea';
|
||||||
|
import { isDesktop } from '../../blue_modules/environment';
|
||||||
const bitcoin = require('bitcoinjs-lib');
|
const bitcoin = require('bitcoinjs-lib');
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
|
|
||||||
const isDesktop = getSystemName() === 'Mac OS X';
|
|
||||||
|
|
||||||
const PsbtMultisigQRCode = () => {
|
const PsbtMultisigQRCode = () => {
|
||||||
const { navigate } = useNavigation();
|
const { navigate } = useNavigation();
|
||||||
const { colors } = useTheme();
|
const { colors } = useTheme();
|
||||||
|
|
|
@ -6,7 +6,7 @@ import { useNavigation, useRoute, useIsFocused } from '@react-navigation/native'
|
||||||
import RNFS from 'react-native-fs';
|
import RNFS from 'react-native-fs';
|
||||||
import Biometric from '../../class/biometrics';
|
import Biometric from '../../class/biometrics';
|
||||||
|
|
||||||
import { SecondButton, BlueText, BlueCard, BlueSpacing20, BlueCopyToClipboardButton } from '../../BlueComponents';
|
import { BlueText, BlueCard, BlueSpacing20, BlueCopyToClipboardButton } from '../../BlueComponents';
|
||||||
import navigationStyle from '../../components/navigationStyle';
|
import navigationStyle from '../../components/navigationStyle';
|
||||||
import loc from '../../loc';
|
import loc from '../../loc';
|
||||||
import { BlueStorageContext } from '../../blue_modules/storage-context';
|
import { BlueStorageContext } from '../../blue_modules/storage-context';
|
||||||
|
@ -17,6 +17,7 @@ import { requestCameraAuthorization } from '../../helpers/scan-qr';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
import SafeArea from '../../components/SafeArea';
|
import SafeArea from '../../components/SafeArea';
|
||||||
|
import { SecondButton } from '../../components/SecondButton';
|
||||||
const BlueElectrum = require('../../blue_modules/BlueElectrum');
|
const BlueElectrum = require('../../blue_modules/BlueElectrum');
|
||||||
const bitcoin = require('bitcoinjs-lib');
|
const bitcoin = require('bitcoinjs-lib');
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
|
|
|
@ -136,7 +136,6 @@ const EncryptStorage = () => {
|
||||||
return isCapable ? (
|
return isCapable ? (
|
||||||
<>
|
<>
|
||||||
<BlueText />
|
<BlueText />
|
||||||
|
|
||||||
<BlueText>{loc.formatString(loc.settings.biometrics_fail, { type: biometrics.biometricsType })}</BlueText>
|
<BlueText>{loc.formatString(loc.settings.biometrics_fail, { type: biometrics.biometricsType })}</BlueText>
|
||||||
</>
|
</>
|
||||||
) : null;
|
) : null;
|
||||||
|
|
|
@ -10,6 +10,7 @@ import { BlueStorageContext } from '../../blue_modules/storage-context';
|
||||||
import ToolTipMenu from '../../components/TooltipMenu';
|
import ToolTipMenu from '../../components/TooltipMenu';
|
||||||
import presentAlert from '../../components/Alert';
|
import presentAlert from '../../components/Alert';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
const dayjs = require('dayjs');
|
const dayjs = require('dayjs');
|
||||||
|
|
||||||
function onlyUnique(value, index, self) {
|
function onlyUnique(value, index, self) {
|
||||||
|
@ -113,27 +114,33 @@ const TransactionsDetails = () => {
|
||||||
const handleOnSaveButtonTapped = () => {
|
const handleOnSaveButtonTapped = () => {
|
||||||
Keyboard.dismiss();
|
Keyboard.dismiss();
|
||||||
txMetadata[tx.hash] = { memo };
|
txMetadata[tx.hash] = { memo };
|
||||||
saveToDisk().then(_success => presentAlert({ message: loc.transactions.transaction_note_saved }));
|
saveToDisk().then(_success => {
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.Success);
|
||||||
|
presentAlert({ message: loc.transactions.transaction_note_saved });
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleOnOpenTransactionOnBlockExporerTapped = () => {
|
const handleOnOpenTransactionOnBlockExplorerTapped = () => {
|
||||||
const url = `https://mempool.space/tx/${tx.hash}`;
|
const url = `https://mempool.space/tx/${tx.hash}`;
|
||||||
Linking.canOpenURL(url)
|
Linking.canOpenURL(url)
|
||||||
.then(supported => {
|
.then(supported => {
|
||||||
if (supported) {
|
if (supported) {
|
||||||
Linking.openURL(url).catch(e => {
|
Linking.openURL(url).catch(e => {
|
||||||
console.log('openURL failed in handleOnOpenTransactionOnBlockExporerTapped');
|
console.log('openURL failed in handleOnOpenTransactionOnBlockExplorerTapped');
|
||||||
console.log(e.message);
|
console.log(e.message);
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
presentAlert({ message: e.message });
|
presentAlert({ message: e.message });
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log('canOpenURL supported is false in handleOnOpenTransactionOnBlockExporerTapped');
|
console.log('canOpenURL supported is false in handleOnOpenTransactionOnBlockExplorerTapped');
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
presentAlert({ message: loc.transactions.open_url_error });
|
presentAlert({ message: loc.transactions.open_url_error });
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
console.log('canOpenURL failed in handleOnOpenTransactionOnBlockExporerTapped');
|
console.log('canOpenURL failed in handleOnOpenTransactionOnBlockExplorerTapped');
|
||||||
console.log(e.message);
|
console.log(e.message);
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
presentAlert({ message: e.message });
|
presentAlert({ message: e.message });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -311,11 +318,10 @@ const TransactionsDetails = () => {
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
onPressMenuItem={handleCopyPress}
|
onPressMenuItem={handleCopyPress}
|
||||||
onPress={handleOnOpenTransactionOnBlockExporerTapped}
|
onPress={handleOnOpenTransactionOnBlockExplorerTapped}
|
||||||
|
buttonStyle={[styles.greyButton, stylesHooks.greyButton]}
|
||||||
>
|
>
|
||||||
<View style={[styles.greyButton, stylesHooks.greyButton]}>
|
<Text style={[styles.Link, stylesHooks.Link]}>{loc.transactions.details_show_in_block_explorer}</Text>
|
||||||
<Text style={[styles.Link, stylesHooks.Link]}>{loc.transactions.details_show_in_block_explorer}</Text>
|
|
||||||
</View>
|
|
||||||
</ToolTipMenu>
|
</ToolTipMenu>
|
||||||
</BlueCard>
|
</BlueCard>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
172
screen/wallets/DrawerList.tsx
Normal file
172
screen/wallets/DrawerList.tsx
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
import React, { memo, useCallback, useContext, useEffect, useMemo, useRef, useReducer } from 'react';
|
||||||
|
import { StyleSheet, LayoutAnimation, FlatList, ViewStyle, InteractionManager } from 'react-native';
|
||||||
|
import { DrawerContentScrollView } from '@react-navigation/drawer';
|
||||||
|
import { useIsFocused, NavigationProp, ParamListBase } from '@react-navigation/native';
|
||||||
|
import { BlueHeaderDefaultMain } from '../../BlueComponents';
|
||||||
|
import WalletsCarousel from '../../components/WalletsCarousel';
|
||||||
|
import loc from '../../loc';
|
||||||
|
import { BlueStorageContext } from '../../blue_modules/storage-context';
|
||||||
|
import { useTheme } from '../../components/themes';
|
||||||
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
|
import { AbstractWallet } from '../../class';
|
||||||
|
|
||||||
|
enum WalletActionType {
|
||||||
|
SetWallets = 'SET_WALLETS',
|
||||||
|
SelectWallet = 'SELECT_WALLET',
|
||||||
|
SetFocus = 'SET_FOCUS',
|
||||||
|
Navigate = 'NAVIGATE',
|
||||||
|
}
|
||||||
|
|
||||||
|
interface WalletState {
|
||||||
|
wallets: AbstractWallet[];
|
||||||
|
selectedWalletID: string | null;
|
||||||
|
isFocused: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SelectWalletAction {
|
||||||
|
type: WalletActionType.SelectWallet;
|
||||||
|
walletID: string;
|
||||||
|
walletType: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SelectWalletAction {
|
||||||
|
type: WalletActionType.SelectWallet;
|
||||||
|
walletID: string;
|
||||||
|
}
|
||||||
|
interface NavigateAction {
|
||||||
|
type: WalletActionType.Navigate;
|
||||||
|
screen: string;
|
||||||
|
params: { [key: string]: any };
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SetFocusAction {
|
||||||
|
type: WalletActionType.SetFocus;
|
||||||
|
isFocused: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SetWalletsAction {
|
||||||
|
type: WalletActionType.SetWallets;
|
||||||
|
wallets: AbstractWallet[];
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SelectWalletAction {
|
||||||
|
type: WalletActionType.SelectWallet;
|
||||||
|
walletID: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
type WalletAction = SetWalletsAction | SelectWalletAction | SetFocusAction | NavigateAction;
|
||||||
|
|
||||||
|
interface DrawerListProps {
|
||||||
|
navigation: NavigationProp<ParamListBase>;
|
||||||
|
}
|
||||||
|
|
||||||
|
const walletReducer = (state: WalletState, action: WalletAction): WalletState => {
|
||||||
|
switch (action.type) {
|
||||||
|
case WalletActionType.SetWallets: {
|
||||||
|
const isSelectedWalletInNewSet = action.wallets.some(wallet => wallet.getID() === state.selectedWalletID);
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
wallets: action.wallets,
|
||||||
|
selectedWalletID: isSelectedWalletInNewSet ? state.selectedWalletID : null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
case WalletActionType.SelectWallet: {
|
||||||
|
return { ...state, selectedWalletID: action.walletID };
|
||||||
|
}
|
||||||
|
case WalletActionType.SetFocus: {
|
||||||
|
return { ...state, isFocused: action.isFocused };
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const DrawerList: React.FC<DrawerListProps> = memo(({ navigation }) => {
|
||||||
|
const initialState: WalletState = {
|
||||||
|
wallets: [],
|
||||||
|
selectedWalletID: null,
|
||||||
|
isFocused: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
const [state, dispatch] = useReducer(walletReducer, initialState);
|
||||||
|
const walletsCarousel = useRef<FlatList<AbstractWallet>>(null);
|
||||||
|
const { wallets } = useContext(BlueStorageContext);
|
||||||
|
const { colors } = useTheme();
|
||||||
|
const isFocused = useIsFocused();
|
||||||
|
|
||||||
|
const stylesHook = useMemo(
|
||||||
|
() =>
|
||||||
|
StyleSheet.create({
|
||||||
|
root: { backgroundColor: colors.elevated } as ViewStyle,
|
||||||
|
}),
|
||||||
|
[colors.elevated],
|
||||||
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
dispatch({ type: WalletActionType.SetWallets, wallets });
|
||||||
|
dispatch({ type: WalletActionType.SetFocus, isFocused });
|
||||||
|
}, [wallets, isFocused]);
|
||||||
|
|
||||||
|
const handleClick = useCallback(
|
||||||
|
(item: AbstractWallet) => {
|
||||||
|
if (item?.getID) {
|
||||||
|
const walletID = item.getID();
|
||||||
|
const walletType = item.type;
|
||||||
|
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
||||||
|
dispatch({ type: WalletActionType.SelectWallet, walletID, walletType });
|
||||||
|
InteractionManager.runAfterInteractions(() => {
|
||||||
|
navigation.navigate({
|
||||||
|
name: 'WalletTransactions',
|
||||||
|
params: { walletID, walletType },
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
navigation.navigate('Navigation', { screen: 'AddWalletRoot' });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[navigation],
|
||||||
|
);
|
||||||
|
|
||||||
|
const handleLongPress = useCallback(() => {
|
||||||
|
if (state.wallets.length > 1) {
|
||||||
|
navigation.navigate('ReorderWallets');
|
||||||
|
} else {
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
|
}
|
||||||
|
}, [state.wallets.length, navigation]);
|
||||||
|
|
||||||
|
const onNewWalletPress = useCallback(() => {
|
||||||
|
navigation.navigate('AddWalletRoot');
|
||||||
|
}, [navigation]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DrawerContentScrollView
|
||||||
|
contentContainerStyle={[styles.root, stylesHook.root]}
|
||||||
|
contentInsetAdjustmentBehavior="automatic"
|
||||||
|
automaticallyAdjustContentInsets={true}
|
||||||
|
showsHorizontalScrollIndicator={false}
|
||||||
|
showsVerticalScrollIndicator={false}
|
||||||
|
>
|
||||||
|
<BlueHeaderDefaultMain leftText={loc.wallets.list_title} onNewWalletPress={onNewWalletPress} isDrawerList />
|
||||||
|
<WalletsCarousel
|
||||||
|
// @ts-ignore: refactor later
|
||||||
|
data={state.wallets.concat(false as any)}
|
||||||
|
extraData={[state.wallets]}
|
||||||
|
onPress={handleClick}
|
||||||
|
handleLongPress={handleLongPress}
|
||||||
|
ref={walletsCarousel}
|
||||||
|
testID="WalletsList"
|
||||||
|
selectedWallet={state.selectedWalletID}
|
||||||
|
scrollEnabled={state.isFocused}
|
||||||
|
/>
|
||||||
|
</DrawerContentScrollView>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
export default DrawerList;
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
root: {
|
||||||
|
flex: 1,
|
||||||
|
},
|
||||||
|
});
|
|
@ -17,7 +17,6 @@ import {
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import { Icon } from 'react-native-elements';
|
import { Icon } from 'react-native-elements';
|
||||||
import { useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';
|
import { useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';
|
||||||
import { getSystemName } from 'react-native-device-info';
|
|
||||||
import { BlueButtonLink, BlueFormMultiInput, BlueSpacing10, BlueSpacing20, BlueText, BlueTextCentered } from '../../BlueComponents';
|
import { BlueButtonLink, BlueFormMultiInput, BlueSpacing10, BlueSpacing20, BlueText, BlueTextCentered } from '../../BlueComponents';
|
||||||
import navigationStyle from '../../components/navigationStyle';
|
import navigationStyle from '../../components/navigationStyle';
|
||||||
import { HDSegwitBech32Wallet, MultisigCosigner, MultisigHDWallet } from '../../class';
|
import { HDSegwitBech32Wallet, MultisigCosigner, MultisigHDWallet } from '../../class';
|
||||||
|
@ -38,11 +37,11 @@ import { useTheme } from '../../components/themes';
|
||||||
import Button from '../../components/Button';
|
import Button from '../../components/Button';
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
import usePrivacy from '../../hooks/usePrivacy';
|
import usePrivacy from '../../hooks/usePrivacy';
|
||||||
|
import { isDesktop } from '../../blue_modules/environment';
|
||||||
|
|
||||||
const prompt = require('../../helpers/prompt');
|
const prompt = require('../../helpers/prompt');
|
||||||
const A = require('../../blue_modules/analytics');
|
const A = require('../../blue_modules/analytics');
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
const isDesktop = getSystemName() === 'Mac OS X';
|
|
||||||
const staticCache = {};
|
const staticCache = {};
|
||||||
|
|
||||||
const WalletsAddMultisigStep2 = () => {
|
const WalletsAddMultisigStep2 = () => {
|
||||||
|
|
|
@ -17,7 +17,7 @@ import {
|
||||||
ActivityIndicator,
|
ActivityIndicator,
|
||||||
I18nManager,
|
I18nManager,
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import { BlueCard, BlueLoading, BlueSpacing10, BlueSpacing20, BlueText, SecondButton } from '../../BlueComponents';
|
import { BlueCard, BlueLoading, BlueSpacing10, BlueSpacing20, BlueText } from '../../BlueComponents';
|
||||||
import navigationStyle from '../../components/navigationStyle';
|
import navigationStyle from '../../components/navigationStyle';
|
||||||
import { LightningCustodianWallet } from '../../class/wallets/lightning-custodian-wallet';
|
import { LightningCustodianWallet } from '../../class/wallets/lightning-custodian-wallet';
|
||||||
import Biometric from '../../class/biometrics';
|
import Biometric from '../../class/biometrics';
|
||||||
|
@ -46,6 +46,8 @@ import { PERMISSIONS, RESULTS, request } from 'react-native-permissions';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
import ListItem from '../../components/ListItem';
|
import ListItem from '../../components/ListItem';
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
|
import Button from '../../components/Button';
|
||||||
|
import { SecondButton } from '../../components/SecondButton';
|
||||||
|
|
||||||
const prompt = require('../../helpers/prompt');
|
const prompt = require('../../helpers/prompt');
|
||||||
|
|
||||||
|
@ -653,7 +655,7 @@ const WalletDetails = () => {
|
||||||
<BlueCard style={styles.address}>
|
<BlueCard style={styles.address}>
|
||||||
<View>
|
<View>
|
||||||
<BlueSpacing20 />
|
<BlueSpacing20 />
|
||||||
<SecondButton onPress={navigateToWalletExport} testID="WalletExport" title={loc.wallets.details_export_backup} />
|
<Button onPress={navigateToWalletExport} testID="WalletExport" title={loc.wallets.details_export_backup} />
|
||||||
{walletTransactionsLength > 0 && (
|
{walletTransactionsLength > 0 && (
|
||||||
<>
|
<>
|
||||||
<BlueSpacing20 />
|
<BlueSpacing20 />
|
||||||
|
|
|
@ -1,99 +0,0 @@
|
||||||
import React, { useContext, useEffect, useRef } from 'react';
|
|
||||||
import { StyleSheet, LayoutAnimation } from 'react-native';
|
|
||||||
import { DrawerContentScrollView } from '@react-navigation/drawer';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import { useIsFocused } from '@react-navigation/native';
|
|
||||||
import { BlueHeaderDefaultMain } from '../../BlueComponents';
|
|
||||||
import WalletsCarousel from '../../components/WalletsCarousel';
|
|
||||||
import loc from '../../loc';
|
|
||||||
import { BlueStorageContext } from '../../blue_modules/storage-context';
|
|
||||||
import { useTheme } from '../../components/themes';
|
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
|
||||||
|
|
||||||
const DrawerList = props => {
|
|
||||||
const walletsCarousel = useRef();
|
|
||||||
const { wallets, selectedWalletID, setSelectedWalletID } = useContext(BlueStorageContext);
|
|
||||||
const { colors } = useTheme();
|
|
||||||
const walletsCount = useRef(wallets.length);
|
|
||||||
const isFocused = useIsFocused();
|
|
||||||
const stylesHook = StyleSheet.create({
|
|
||||||
root: {
|
|
||||||
backgroundColor: colors.elevated,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (walletsCount.current < wallets.length) {
|
|
||||||
walletsCarousel.current?.scrollToItem({ item: wallets[walletsCount.current] });
|
|
||||||
}
|
|
||||||
walletsCount.current = wallets.length;
|
|
||||||
}, [wallets]);
|
|
||||||
|
|
||||||
const handleClick = item => {
|
|
||||||
if (item?.getID) {
|
|
||||||
const walletID = item.getID();
|
|
||||||
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
|
||||||
setSelectedWalletID(walletID);
|
|
||||||
props.navigation.navigate({
|
|
||||||
name: 'WalletTransactions',
|
|
||||||
params: { walletID, walletType: item.type },
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
props.navigation.navigate('Navigation', { screen: 'AddWalletRoot' });
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleLongPress = () => {
|
|
||||||
if (wallets.length > 1) {
|
|
||||||
props.navigation.navigate('ReorderWallets');
|
|
||||||
} else {
|
|
||||||
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const onNewWalletPress = () => {
|
|
||||||
return props.navigation.navigate('AddWalletRoot');
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<DrawerContentScrollView
|
|
||||||
{...props}
|
|
||||||
drawerContentContainerStyle={[styles.root, stylesHook.root]}
|
|
||||||
contentInsetAdjustmentBehavior="automatic"
|
|
||||||
automaticallyAdjustContentInsets
|
|
||||||
showsHorizontalScrollIndicator={false}
|
|
||||||
showsVerticalScrollIndicator={false}
|
|
||||||
>
|
|
||||||
<BlueHeaderDefaultMain leftText={loc.wallets.list_title} onNewWalletPress={onNewWalletPress} isDrawerList />
|
|
||||||
<WalletsCarousel
|
|
||||||
data={wallets.concat(false)}
|
|
||||||
extraData={[wallets]}
|
|
||||||
onPress={handleClick}
|
|
||||||
handleLongPress={handleLongPress}
|
|
||||||
ref={walletsCarousel}
|
|
||||||
testID="WalletsList"
|
|
||||||
selectedWallet={selectedWalletID}
|
|
||||||
scrollEnabled={isFocused}
|
|
||||||
/>
|
|
||||||
</DrawerContentScrollView>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DrawerList;
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
|
||||||
root: {
|
|
||||||
flex: 1,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
DrawerList.propTypes = {
|
|
||||||
navigation: PropTypes.shape({
|
|
||||||
navigate: PropTypes.func,
|
|
||||||
addListener: PropTypes.func,
|
|
||||||
}),
|
|
||||||
route: PropTypes.shape({
|
|
||||||
name: PropTypes.string,
|
|
||||||
params: PropTypes.object,
|
|
||||||
}),
|
|
||||||
};
|
|
|
@ -29,6 +29,7 @@ import { TransactionListItem } from '../../components/TransactionListItem';
|
||||||
import { scanQrHelper } from '../../helpers/scan-qr';
|
import { scanQrHelper } from '../../helpers/scan-qr';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
|
import presentAlert from '../../components/Alert';
|
||||||
|
|
||||||
const A = require('../../blue_modules/analytics');
|
const A = require('../../blue_modules/analytics');
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
|
@ -311,51 +312,43 @@ const WalletsList = () => {
|
||||||
|
|
||||||
const sendButtonLongPress = async () => {
|
const sendButtonLongPress = async () => {
|
||||||
const isClipboardEmpty = (await BlueClipboard().getClipboardContent()).trim().length === 0;
|
const isClipboardEmpty = (await BlueClipboard().getClipboardContent()).trim().length === 0;
|
||||||
if (Platform.OS === 'ios') {
|
|
||||||
const options = [loc._.cancel, loc.wallets.list_long_choose, loc.wallets.list_long_scan];
|
const options = [loc._.cancel, loc.wallets.list_long_choose, loc.wallets.list_long_scan];
|
||||||
if (!isClipboardEmpty) {
|
if (!isClipboardEmpty) {
|
||||||
options.push(loc.wallets.list_long_clipboard);
|
options.push(loc.wallets.list_long_clipboard);
|
||||||
}
|
|
||||||
ActionSheet.showActionSheetWithOptions(
|
|
||||||
{ options, cancelButtonIndex: 0, anchor: findNodeHandle(walletActionButtonsRef.current) },
|
|
||||||
buttonIndex => {
|
|
||||||
if (buttonIndex === 1) {
|
|
||||||
fs.showImagePickerAndReadImage().then(onBarScanned);
|
|
||||||
} else if (buttonIndex === 2) {
|
|
||||||
scanQrHelper(navigate, routeName, false).then(onBarScanned);
|
|
||||||
} else if (buttonIndex === 3) {
|
|
||||||
copyFromClipboard();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else if (Platform.OS === 'android') {
|
|
||||||
const buttons = [
|
|
||||||
{
|
|
||||||
text: loc._.cancel,
|
|
||||||
onPress: () => {},
|
|
||||||
style: 'cancel',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: loc.wallets.list_long_choose,
|
|
||||||
onPress: () => fs.showImagePickerAndReadImage().then(onBarScanned),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: loc.wallets.list_long_scan,
|
|
||||||
onPress: () => scanQrHelper(navigate, routeName, false).then(onBarScanned),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
if (!isClipboardEmpty) {
|
|
||||||
buttons.push({
|
|
||||||
text: loc.wallets.list_long_clipboard,
|
|
||||||
onPress: copyFromClipboard,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
ActionSheet.showActionSheetWithOptions({
|
|
||||||
title: '',
|
|
||||||
message: '',
|
|
||||||
buttons,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ActionSheet.showActionSheetWithOptions(
|
||||||
|
{
|
||||||
|
title: loc.send.header,
|
||||||
|
options,
|
||||||
|
cancelButtonIndex: 0,
|
||||||
|
anchor: findNodeHandle(walletActionButtonsRef.current),
|
||||||
|
},
|
||||||
|
buttonIndex => {
|
||||||
|
switch (buttonIndex) {
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
fs.showImagePickerAndReadImage()
|
||||||
|
.then(onBarScanned)
|
||||||
|
.catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
|
presentAlert({ title: loc.errors.error, message: error.message });
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
scanQrHelper(navigate, routeName, true).then(data => onBarScanned(data));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (!isClipboardEmpty) {
|
||||||
|
copyFromClipboard();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onLayout = _e => {
|
const onLayout = _e => {
|
||||||
|
|
|
@ -6,14 +6,13 @@ import {
|
||||||
FlatList,
|
FlatList,
|
||||||
InteractionManager,
|
InteractionManager,
|
||||||
PixelRatio,
|
PixelRatio,
|
||||||
Platform,
|
|
||||||
ScrollView,
|
ScrollView,
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
Text,
|
Text,
|
||||||
findNodeHandle,
|
|
||||||
TouchableOpacity,
|
TouchableOpacity,
|
||||||
View,
|
View,
|
||||||
I18nManager,
|
I18nManager,
|
||||||
|
findNodeHandle,
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import { Icon } from 'react-native-elements';
|
import { Icon } from 'react-native-elements';
|
||||||
import { useRoute, useNavigation, useFocusEffect } from '@react-navigation/native';
|
import { useRoute, useNavigation, useFocusEffect } from '@react-navigation/native';
|
||||||
|
@ -33,8 +32,9 @@ import TransactionsNavigationHeader, { actionKeys } from '../../components/Trans
|
||||||
import { TransactionListItem } from '../../components/TransactionListItem';
|
import { TransactionListItem } from '../../components/TransactionListItem';
|
||||||
import presentAlert from '../../components/Alert';
|
import presentAlert from '../../components/Alert';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { requestCameraAuthorization } from '../../helpers/scan-qr';
|
import { scanQrHelper } from '../../helpers/scan-qr';
|
||||||
import { useTheme } from '../../components/themes';
|
import { useTheme } from '../../components/themes';
|
||||||
|
import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback';
|
||||||
|
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
const BlueElectrum = require('../../blue_modules/BlueElectrum');
|
const BlueElectrum = require('../../blue_modules/BlueElectrum');
|
||||||
|
@ -366,7 +366,13 @@ const WalletTransactions = ({ navigation }) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const choosePhoto = () => {
|
const choosePhoto = () => {
|
||||||
fs.showImagePickerAndReadImage().then(onBarCodeRead);
|
fs.showImagePickerAndReadImage()
|
||||||
|
.then(onBarCodeRead)
|
||||||
|
.catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
triggerHapticFeedback(HapticFeedbackTypes.NotificationError);
|
||||||
|
presentAlert({ title: loc.errors.error, message: error.message });
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const copyFromClipboard = async () => {
|
const copyFromClipboard = async () => {
|
||||||
|
@ -404,70 +410,38 @@ const WalletTransactions = ({ navigation }) => {
|
||||||
|
|
||||||
const sendButtonLongPress = async () => {
|
const sendButtonLongPress = async () => {
|
||||||
const isClipboardEmpty = (await BlueClipboard().getClipboardContent()).trim().length === 0;
|
const isClipboardEmpty = (await BlueClipboard().getClipboardContent()).trim().length === 0;
|
||||||
if (Platform.OS === 'ios') {
|
const options = [loc._.cancel, loc.wallets.list_long_choose, loc.wallets.list_long_scan];
|
||||||
const options = [loc._.cancel, loc.wallets.list_long_choose, loc.wallets.list_long_scan];
|
const cancelButtonIndex = 0;
|
||||||
if (!isClipboardEmpty) {
|
|
||||||
options.push(loc.wallets.list_long_clipboard);
|
if (!isClipboardEmpty) {
|
||||||
}
|
options.push(loc.wallets.list_long_clipboard);
|
||||||
ActionSheet.showActionSheetWithOptions(
|
|
||||||
{ options, cancelButtonIndex: 0, anchor: findNodeHandle(walletActionButtonsRef.current) },
|
|
||||||
buttonIndex => {
|
|
||||||
if (buttonIndex === 1) {
|
|
||||||
choosePhoto();
|
|
||||||
} else if (buttonIndex === 2) {
|
|
||||||
requestCameraAuthorization().then(() =>
|
|
||||||
navigate('ScanQRCodeRoot', {
|
|
||||||
screen: 'ScanQRCode',
|
|
||||||
params: {
|
|
||||||
launchedBy: name,
|
|
||||||
onBarScanned: onBarCodeRead,
|
|
||||||
showFileImportButton: false,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
} else if (buttonIndex === 3) {
|
|
||||||
copyFromClipboard();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else if (Platform.OS === 'android') {
|
|
||||||
const buttons = [
|
|
||||||
{
|
|
||||||
text: loc._.cancel,
|
|
||||||
onPress: () => {},
|
|
||||||
style: 'cancel',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: loc.wallets.list_long_choose,
|
|
||||||
onPress: choosePhoto,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: loc.wallets.list_long_scan,
|
|
||||||
onPress: () =>
|
|
||||||
requestCameraAuthorization().then(() => {
|
|
||||||
navigate('ScanQRCodeRoot', {
|
|
||||||
screen: 'ScanQRCode',
|
|
||||||
params: {
|
|
||||||
launchedBy: name,
|
|
||||||
onBarScanned: onBarCodeRead,
|
|
||||||
showFileImportButton: false,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
if (!isClipboardEmpty) {
|
|
||||||
buttons.push({
|
|
||||||
text: loc.wallets.list_long_clipboard,
|
|
||||||
onPress: copyFromClipboard,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
ActionSheet.showActionSheetWithOptions({
|
|
||||||
title: '',
|
|
||||||
message: '',
|
|
||||||
buttons,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ActionSheet.showActionSheetWithOptions(
|
||||||
|
{
|
||||||
|
title: loc.send.header,
|
||||||
|
options,
|
||||||
|
cancelButtonIndex,
|
||||||
|
anchor: findNodeHandle(walletActionButtonsRef.current),
|
||||||
|
},
|
||||||
|
async buttonIndex => {
|
||||||
|
switch (buttonIndex) {
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
choosePhoto();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
scanQrHelper(navigate, name, true).then(data => onBarCodeRead(data));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (!isClipboardEmpty) {
|
||||||
|
copyFromClipboard();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const navigateToViewEditCosigners = () => {
|
const navigateToViewEditCosigners = () => {
|
||||||
|
|
|
@ -15,6 +15,7 @@ import {
|
||||||
Switch,
|
Switch,
|
||||||
Text,
|
Text,
|
||||||
View,
|
View,
|
||||||
|
findNodeHandle,
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import { Badge, Icon } from 'react-native-elements';
|
import { Badge, Icon } from 'react-native-elements';
|
||||||
import {
|
import {
|
||||||
|
@ -48,6 +49,8 @@ import { useTheme } from '../../components/themes';
|
||||||
import { scanQrHelper } from '../../helpers/scan-qr';
|
import { scanQrHelper } from '../../helpers/scan-qr';
|
||||||
import usePrivacy from '../../hooks/usePrivacy';
|
import usePrivacy from '../../hooks/usePrivacy';
|
||||||
import loc from '../../loc';
|
import loc from '../../loc';
|
||||||
|
import { isDesktop } from '../../blue_modules/environment';
|
||||||
|
import ActionSheet from '../ActionSheet';
|
||||||
const fs = require('../../blue_modules/fs');
|
const fs = require('../../blue_modules/fs');
|
||||||
const prompt = require('../../helpers/prompt');
|
const prompt = require('../../helpers/prompt');
|
||||||
|
|
||||||
|
@ -57,7 +60,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
const hasLoaded = useRef(false);
|
const hasLoaded = useRef(false);
|
||||||
const { colors } = useTheme();
|
const { colors } = useTheme();
|
||||||
const { wallets, setWalletsWithNewOrder, isElectrumDisabled, isAdvancedModeEnabled } = useContext(BlueStorageContext);
|
const { wallets, setWalletsWithNewOrder, isElectrumDisabled, isAdvancedModeEnabled } = useContext(BlueStorageContext);
|
||||||
const { navigate, goBack } = useNavigation();
|
const { navigate, goBack, dispatch, addListener } = useNavigation();
|
||||||
const openScannerButtonRef = useRef();
|
const openScannerButtonRef = useRef();
|
||||||
const { walletId } = route.params;
|
const { walletId } = route.params;
|
||||||
const w = useRef(wallets.find((wallet: AbstractWallet) => wallet.getID() === walletId));
|
const w = useRef(wallets.find((wallet: AbstractWallet) => wallet.getID() === walletId));
|
||||||
|
@ -77,6 +80,11 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
const [askPassphrase, setAskPassphrase] = useState(false);
|
const [askPassphrase, setAskPassphrase] = useState(false);
|
||||||
const [isAdvancedModeEnabledRender, setIsAdvancedModeEnabledRender] = useState(false);
|
const [isAdvancedModeEnabledRender, setIsAdvancedModeEnabledRender] = useState(false);
|
||||||
const data = useRef<any[]>();
|
const data = useRef<any[]>();
|
||||||
|
/* discardChangesRef is only so the action sheet can be shown on mac catalyst when a
|
||||||
|
user tries to leave the screen with unsaved changes.
|
||||||
|
Why the container view ? It was the easiest to get the ref for. No other reason.
|
||||||
|
*/
|
||||||
|
const discardChangesRef = useRef<View>(null);
|
||||||
const { enableBlur, disableBlur } = usePrivacy();
|
const { enableBlur, disableBlur } = usePrivacy();
|
||||||
|
|
||||||
const stylesHook = StyleSheet.create({
|
const stylesHook = StyleSheet.create({
|
||||||
|
@ -109,6 +117,53 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
color: colors.buttonTextColor,
|
color: colors.buttonTextColor,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
useFocusEffect(
|
||||||
|
useCallback(() => {
|
||||||
|
const unsubscribe = addListener('beforeRemove', e => {
|
||||||
|
// Check if there are unsaved changes
|
||||||
|
if (isSaveButtonDisabled) {
|
||||||
|
// If there are no unsaved changes, let the user leave the screen
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prevent the default action (going back)
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
// Show an alert asking the user to discard changes or cancel
|
||||||
|
if (isDesktop) {
|
||||||
|
if (!discardChangesRef.current) return dispatch(e.data.action);
|
||||||
|
const anchor = findNodeHandle(discardChangesRef.current);
|
||||||
|
if (!anchor) return dispatch(e.data.action);
|
||||||
|
ActionSheet.showActionSheetWithOptions(
|
||||||
|
{
|
||||||
|
options: [loc._.cancel, loc._.ok],
|
||||||
|
cancelButtonIndex: 0,
|
||||||
|
title: loc._.discard_changes,
|
||||||
|
message: loc._.discard_changes_explain,
|
||||||
|
anchor,
|
||||||
|
},
|
||||||
|
buttonIndex => {
|
||||||
|
if (buttonIndex === 1) {
|
||||||
|
dispatch(e.data.action);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
Alert.alert(loc._.discard_changes, loc._.discard_changes_explain, [
|
||||||
|
{ text: loc._.cancel, style: 'cancel', onPress: () => {} },
|
||||||
|
{
|
||||||
|
text: loc._.ok,
|
||||||
|
style: 'default',
|
||||||
|
// If the user confirms, then we dispatch the action we blocked earlier
|
||||||
|
onPress: () => dispatch(e.data.action),
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return unsubscribe;
|
||||||
|
}, [isSaveButtonDisabled, addListener, dispatch]),
|
||||||
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
isAdvancedModeEnabled().then(setIsAdvancedModeEnabledRender);
|
isAdvancedModeEnabled().then(setIsAdvancedModeEnabledRender);
|
||||||
|
@ -189,7 +244,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
|
|
||||||
const renderMnemonicsModal = () => {
|
const renderMnemonicsModal = () => {
|
||||||
return (
|
return (
|
||||||
<BottomModal isVisible={isMnemonicsModalVisible} onClose={hideMnemonicsModal}>
|
<BottomModal isVisible={isMnemonicsModalVisible} onClose={hideMnemonicsModal} coverScreen={false}>
|
||||||
<View style={[styles.newKeyModalContent, stylesHook.modalContent]}>
|
<View style={[styles.newKeyModalContent, stylesHook.modalContent]}>
|
||||||
<View style={styles.itemKeyUnprovidedWrapper}>
|
<View style={styles.itemKeyUnprovidedWrapper}>
|
||||||
<View style={[styles.vaultKeyCircleSuccess, stylesHook.vaultKeyCircleSuccess]}>
|
<View style={[styles.vaultKeyCircleSuccess, stylesHook.vaultKeyCircleSuccess]}>
|
||||||
|
@ -357,45 +412,42 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
dashes={MultipleStepsListItemDashType.topAndBottom}
|
dashes={MultipleStepsListItemDashType.topAndBottom}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<MultipleStepsListItem
|
<MultipleStepsListItem
|
||||||
|
useActionSheet
|
||||||
|
actionSheetOptions={{
|
||||||
|
options: [loc._.cancel, loc.multisig.confirm],
|
||||||
|
title: loc._.seed,
|
||||||
|
message: loc.multisig.are_you_sure_seed_will_be_lost,
|
||||||
|
cancelButtonIndex: 0,
|
||||||
|
confirmButtonIndex: 1,
|
||||||
|
}}
|
||||||
showActivityIndicator={vaultKeyData.keyIndex === el.index + 1 && vaultKeyData.isLoading}
|
showActivityIndicator={vaultKeyData.keyIndex === el.index + 1 && vaultKeyData.isLoading}
|
||||||
dashes={el.index === length - 1 ? MultipleStepsListItemDashType.top : MultipleStepsListItemDashType.topAndBottom}
|
dashes={el.index === length - 1 ? MultipleStepsListItemDashType.top : MultipleStepsListItemDashType.topAndBottom}
|
||||||
button={{
|
button={{
|
||||||
text: loc.multisig.forget_this_seed,
|
text: loc.multisig.forget_this_seed,
|
||||||
disabled: vaultKeyData.isLoading,
|
disabled: vaultKeyData.isLoading,
|
||||||
buttonType: MultipleStepsListItemButtohType.full,
|
buttonType: MultipleStepsListItemButtohType.full,
|
||||||
onPress: () => {
|
|
||||||
Alert.alert(
|
onPress: (buttonIndex: number) => {
|
||||||
loc._.seed,
|
if (buttonIndex === 0) return;
|
||||||
loc.multisig.are_you_sure_seed_will_be_lost,
|
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
||||||
[
|
setVaultKeyData({
|
||||||
{
|
...vaultKeyData,
|
||||||
text: loc._.ok,
|
isLoading: true,
|
||||||
onPress: () => {
|
keyIndex: el.index + 1,
|
||||||
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
});
|
||||||
setVaultKeyData({
|
setTimeout(
|
||||||
...vaultKeyData,
|
() =>
|
||||||
isLoading: true,
|
xpubInsteadOfSeed(el.index + 1).finally(() => {
|
||||||
keyIndex: el.index + 1,
|
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
||||||
});
|
setVaultKeyData({
|
||||||
setTimeout(
|
...vaultKeyData,
|
||||||
() =>
|
isLoading: false,
|
||||||
xpubInsteadOfSeed(el.index + 1).finally(() => {
|
keyIndex: el.index + 1,
|
||||||
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
});
|
||||||
setVaultKeyData({
|
}),
|
||||||
...vaultKeyData,
|
100,
|
||||||
isLoading: false,
|
|
||||||
keyIndex: el.index + 1,
|
|
||||||
});
|
|
||||||
}),
|
|
||||||
100,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
style: 'destructive',
|
|
||||||
},
|
|
||||||
{ text: loc._.cancel, onPress: () => {}, style: 'cancel' },
|
|
||||||
],
|
|
||||||
{ cancelable: false },
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
|
@ -485,7 +537,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
// @ts-ignore weird, property exists on typedefinition. might be some ts bugs
|
// @ts-ignore weird, property exists on typedefinition. might be some ts bugs
|
||||||
const isPad: boolean = Platform.isPad;
|
const isPad: boolean = Platform.isPad;
|
||||||
return (
|
return (
|
||||||
<BottomModal isVisible={isProvideMnemonicsModalVisible} onClose={hideProvideMnemonicsModal}>
|
<BottomModal isVisible={isProvideMnemonicsModalVisible} onClose={hideProvideMnemonicsModal} coverScreen={false}>
|
||||||
<KeyboardAvoidingView enabled={!isPad} behavior={Platform.OS === 'ios' ? 'position' : undefined}>
|
<KeyboardAvoidingView enabled={!isPad} behavior={Platform.OS === 'ios' ? 'position' : undefined}>
|
||||||
<View style={[styles.modalContent, stylesHook.modalContent]}>
|
<View style={[styles.modalContent, stylesHook.modalContent]}>
|
||||||
<BlueTextCentered>{loc.multisig.type_your_mnemonics}</BlueTextCentered>
|
<BlueTextCentered>{loc.multisig.type_your_mnemonics}</BlueTextCentered>
|
||||||
|
@ -519,7 +571,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
// @ts-ignore wtf doneButton
|
// @ts-ignore wtf doneButton
|
||||||
<BottomModal isVisible={isShareModalVisible} onClose={hideShareModal} doneButton>
|
<BottomModal isVisible={isShareModalVisible} onClose={hideShareModal} doneButton coverScreen={false}>
|
||||||
<KeyboardAvoidingView enabled={!isPad} behavior={Platform.OS === 'ios' ? 'position' : undefined}>
|
<KeyboardAvoidingView enabled={!isPad} behavior={Platform.OS === 'ios' ? 'position' : undefined}>
|
||||||
<View style={[styles.modalContent, stylesHook.modalContent, styles.alignItemsCenter]}>
|
<View style={[styles.modalContent, stylesHook.modalContent, styles.alignItemsCenter]}>
|
||||||
<Text style={[styles.headerText, stylesHook.textDestination]}>
|
<Text style={[styles.headerText, stylesHook.textDestination]}>
|
||||||
|
@ -578,7 +630,7 @@ const ViewEditMultisigCosigners = ({ route }: Props) => {
|
||||||
const isPad: boolean = Platform.isPad;
|
const isPad: boolean = Platform.isPad;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={[styles.root, stylesHook.root]}>
|
<View style={[styles.root, stylesHook.root]} ref={discardChangesRef}>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
enabled={!isPad}
|
enabled={!isPad}
|
||||||
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
||||||
|
|
|
@ -70,8 +70,8 @@ describe('Addresses', () => {
|
||||||
|
|
||||||
it('Returns AddressItem object', () => {
|
it('Returns AddressItem object', () => {
|
||||||
const fakeWallet = {
|
const fakeWallet = {
|
||||||
_getExternalAddressByIndex: index => `external_address_${index}`,
|
_getExternalAddressByIndex: (index: number) => `external_address_${index}`,
|
||||||
_getInternalAddressByIndex: index => `internal_address_${index}`,
|
_getInternalAddressByIndex: (index: number) => `internal_address_${index}`,
|
||||||
_balances_by_external_index: [{ c: 0, u: 0 }],
|
_balances_by_external_index: [{ c: 0, u: 0 }],
|
||||||
_balances_by_internal_index: [{ c: 0, u: 0 }],
|
_balances_by_internal_index: [{ c: 0, u: 0 }],
|
||||||
_txs_by_external_index: { 0: [{}] },
|
_txs_by_external_index: { 0: [{}] },
|
|
@ -1,11 +1,11 @@
|
||||||
import { generateChecksumWords } from '../../blue_modules/checksumWords';
|
import { generateChecksumWords } from '../../blue_modules/checksumWords';
|
||||||
import { validateMnemonic } from '../../blue_modules/bip39';
|
import { validateMnemonic } from '../../blue_modules/bip39';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
describe('generateChecksumWords', () => {
|
describe('generateChecksumWords', () => {
|
||||||
it('generates 128 valid words for an 11 word input', () => {
|
it('generates 128 valid words for an 11 word input', () => {
|
||||||
const input = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
|
const input = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
|
||||||
const result = generateChecksumWords(input);
|
const result = generateChecksumWords(input) as string[];
|
||||||
assert.ok(result);
|
assert.ok(result);
|
||||||
assert.strictEqual(result.length, 128);
|
assert.strictEqual(result.length, 128);
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ describe('generateChecksumWords', () => {
|
||||||
const input =
|
const input =
|
||||||
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon ' +
|
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon ' +
|
||||||
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
|
'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon';
|
||||||
const result = generateChecksumWords(input);
|
const result = generateChecksumWords(input) as string[];
|
||||||
assert.ok(result);
|
assert.ok(result);
|
||||||
assert.strictEqual(result.length, 8);
|
assert.strictEqual(result.length, 8);
|
||||||
|
|
|
@ -6,7 +6,7 @@ import {
|
||||||
satoshiToLocalCurrency,
|
satoshiToLocalCurrency,
|
||||||
} from '../../blue_modules/currency';
|
} from '../../blue_modules/currency';
|
||||||
import { FiatUnit } from '../../models/fiatUnit';
|
import { FiatUnit } from '../../models/fiatUnit';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
describe('currency', () => {
|
describe('currency', () => {
|
||||||
it('formats everything correctly', async () => {
|
it('formats everything correctly', async () => {
|
|
@ -1,8 +1,8 @@
|
||||||
import ecc from '../../blue_modules/noble_ecc';
|
import ecc from '../../blue_modules/noble_ecc';
|
||||||
import { ECPairFactory } from 'ecpair';
|
import { ECPairFactory } from 'ecpair';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
const h = hex => Buffer.from(hex, 'hex');
|
const h = (hex: string) => Buffer.from(hex, 'hex');
|
||||||
|
|
||||||
describe('ecc', () => {
|
describe('ecc', () => {
|
||||||
it('ECPair accepts noble', () => {
|
it('ECPair accepts noble', () => {
|
|
@ -1,5 +1,5 @@
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
const c = require('../../blue_modules/encryption');
|
import * as c from '../../blue_modules/encryption';
|
||||||
|
|
||||||
describe('unit - encryption', function () {
|
describe('unit - encryption', function () {
|
||||||
it('encrypts and decrypts', function () {
|
it('encrypts and decrypts', function () {
|
|
@ -1,5 +1,5 @@
|
||||||
import { HDSegwitElectrumSeedP2WPKHWallet } from '../../class';
|
import { HDSegwitElectrumSeedP2WPKHWallet } from '../../class';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
describe('HDSegwitElectrumSeedP2WPKHWallet', () => {
|
describe('HDSegwitElectrumSeedP2WPKHWallet', () => {
|
||||||
it('wont accept BIP39 seed', () => {
|
it('wont accept BIP39 seed', () => {
|
|
@ -38,35 +38,35 @@ describe('P2SH Segwit HD (BIP49)', () => {
|
||||||
it('can convert witness to address', () => {
|
it('can convert witness to address', () => {
|
||||||
let address = SegwitP2SHWallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
|
let address = SegwitP2SHWallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
|
||||||
assert.strictEqual(address, '34ZVGb3gT8xMLT6fpqC6dNVqJtJmvdjbD7');
|
assert.strictEqual(address, '34ZVGb3gT8xMLT6fpqC6dNVqJtJmvdjbD7');
|
||||||
address = SegwitP2SHWallet.witnessToAddress();
|
address = SegwitP2SHWallet.witnessToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = SegwitP2SHWallet.witnessToAddress('trololo');
|
address = SegwitP2SHWallet.witnessToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
|
|
||||||
address = SegwitP2SHWallet.scriptPubKeyToAddress('a914e286d58e53f9247a4710e51232cce0686f16873c87');
|
address = SegwitP2SHWallet.scriptPubKeyToAddress('a914e286d58e53f9247a4710e51232cce0686f16873c87');
|
||||||
assert.strictEqual(address, '3NLnALo49CFEF4tCRhCvz45ySSfz3UktZC');
|
assert.strictEqual(address, '3NLnALo49CFEF4tCRhCvz45ySSfz3UktZC');
|
||||||
address = SegwitP2SHWallet.scriptPubKeyToAddress();
|
address = SegwitP2SHWallet.scriptPubKeyToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = SegwitP2SHWallet.scriptPubKeyToAddress('trololo');
|
address = SegwitP2SHWallet.scriptPubKeyToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
|
|
||||||
address = SegwitBech32Wallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
|
address = SegwitBech32Wallet.witnessToAddress('035c618df829af694cb99e664ce1b34f80ad2c3b49bcd0d9c0b1836c66b2d25fd8');
|
||||||
assert.strictEqual(address, 'bc1quhnve8q4tk3unhmjts7ymxv8cd6w9xv8wy29uv');
|
assert.strictEqual(address, 'bc1quhnve8q4tk3unhmjts7ymxv8cd6w9xv8wy29uv');
|
||||||
address = SegwitBech32Wallet.witnessToAddress();
|
address = SegwitBech32Wallet.witnessToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = SegwitBech32Wallet.witnessToAddress('trololo');
|
address = SegwitBech32Wallet.witnessToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
|
|
||||||
address = SegwitBech32Wallet.scriptPubKeyToAddress('00144d757460da5fcaf84cc22f3847faaa1078e84f6a');
|
address = SegwitBech32Wallet.scriptPubKeyToAddress('00144d757460da5fcaf84cc22f3847faaa1078e84f6a');
|
||||||
assert.strictEqual(address, 'bc1qf46hgcx6tl90snxz9uuy0742zpuwsnm27ysdh7');
|
assert.strictEqual(address, 'bc1qf46hgcx6tl90snxz9uuy0742zpuwsnm27ysdh7');
|
||||||
address = SegwitBech32Wallet.scriptPubKeyToAddress();
|
address = SegwitBech32Wallet.scriptPubKeyToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = SegwitBech32Wallet.scriptPubKeyToAddress('trololo');
|
address = SegwitBech32Wallet.scriptPubKeyToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
|
|
||||||
address = LegacyWallet.scriptPubKeyToAddress('76a914d0b77eb1502c81c4093da9aa6eccfdf560cdd6b288ac');
|
address = LegacyWallet.scriptPubKeyToAddress('76a914d0b77eb1502c81c4093da9aa6eccfdf560cdd6b288ac');
|
||||||
assert.strictEqual(address, '1L2bNMGRQQLT2AVUek4K9L7sn3SSMioMgE');
|
assert.strictEqual(address, '1L2bNMGRQQLT2AVUek4K9L7sn3SSMioMgE');
|
||||||
address = LegacyWallet.scriptPubKeyToAddress();
|
address = LegacyWallet.scriptPubKeyToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = LegacyWallet.scriptPubKeyToAddress('trololo');
|
address = LegacyWallet.scriptPubKeyToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
|
@ -86,7 +86,7 @@ describe('P2SH Segwit HD (BIP49)', () => {
|
||||||
|
|
||||||
it('can generate Segwit HD (BIP49)', async () => {
|
it('can generate Segwit HD (BIP49)', async () => {
|
||||||
const hd = new HDSegwitP2SHWallet();
|
const hd = new HDSegwitP2SHWallet();
|
||||||
const hashmap = {};
|
const hashmap: Record<string, number> = {};
|
||||||
for (let c = 0; c < 1000; c++) {
|
for (let c = 0; c < 1000; c++) {
|
||||||
await hd.generate();
|
await hd.generate();
|
||||||
const secret = hd.getSecret();
|
const secret = hd.getSecret();
|
||||||
|
@ -156,11 +156,11 @@ describe('P2SH Segwit HD (BIP49)', () => {
|
||||||
const secret = hd.getSecret();
|
const secret = hd.getSecret();
|
||||||
assert.strictEqual(secret.startsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'), true);
|
assert.strictEqual(secret.startsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'), true);
|
||||||
|
|
||||||
let secretWithoutChecksum = secret.split(' ');
|
const secretWithoutChecksum = secret.split(' ');
|
||||||
secretWithoutChecksum.pop();
|
secretWithoutChecksum.pop();
|
||||||
secretWithoutChecksum = secretWithoutChecksum.join(' ');
|
const secretWithoutChecksumString = secretWithoutChecksum.join(' ');
|
||||||
assert.strictEqual(
|
assert.strictEqual(
|
||||||
secretWithoutChecksum.endsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'),
|
secretWithoutChecksumString.endsWith('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { HDSegwitBech32Wallet, LightningLdkWallet } from '../../class';
|
import { HDSegwitBech32Wallet, LightningLdkWallet } from '../../class';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
describe('', () => {
|
describe('', () => {
|
||||||
function isHex(h) {
|
function isHex(h: string) {
|
||||||
const re = /[0-9A-Fa-f]{6}/g;
|
const re = /[0-9A-Fa-f]{6}/g;
|
||||||
return re.test(h);
|
return re.test(h);
|
||||||
}
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
import { TaprootWallet } from '../../class';
|
import { TaprootWallet } from '../../class';
|
||||||
const assert = require('assert');
|
import assert from 'assert';
|
||||||
|
|
||||||
describe('Taproot wallet', () => {
|
describe('Taproot wallet', () => {
|
||||||
it('can convert scriptPubKey to address', () => {
|
it('can convert scriptPubKey to address', () => {
|
||||||
let address = TaprootWallet.scriptPubKeyToAddress('512040ef293a8a0ebaf8b351a27d89ff4b5b3822a635e4afdca77a30170c363bafa3');
|
let address = TaprootWallet.scriptPubKeyToAddress('512040ef293a8a0ebaf8b351a27d89ff4b5b3822a635e4afdca77a30170c363bafa3');
|
||||||
assert.strictEqual(address, 'bc1pgrhjjw52p6a03v635f7cnl6ttvuz9f34ujhaefm6xqtscd3m473szkl92g');
|
assert.strictEqual(address, 'bc1pgrhjjw52p6a03v635f7cnl6ttvuz9f34ujhaefm6xqtscd3m473szkl92g');
|
||||||
address = TaprootWallet.scriptPubKeyToAddress();
|
address = TaprootWallet.scriptPubKeyToAddress('');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
||||||
address = TaprootWallet.scriptPubKeyToAddress('trololo');
|
address = TaprootWallet.scriptPubKeyToAddress('trololo');
|
||||||
assert.strictEqual(address, false);
|
assert.strictEqual(address, false);
|
Loading…
Add table
Reference in a new issue