Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-4-update-open-alias-resolver

This commit is contained in:
Godwin Asuquo 2022-01-14 14:21:39 +01:00
commit 0a2157e978
35 changed files with 471 additions and 340 deletions

View file

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 Cake Technologies LLC
Copyright (c) 2022 Cake Labs LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View file

@ -1,11 +1,11 @@
Privacy Policy
Last modified: May 21, 2021
Last modified: January 11, 2022
Introduction
============
Cake Technologies Inc. ("Company" or "We") respect your privacy and are committed to protecting it through our compliance with this policy.
Cake Labs LLC ("Cake Labs", "Company", or "We") respect your privacy and are committed to protecting it through our compliance with this policy.
This policy describes the types of information we may collect from you or that you may provide when you use the App (our "App") and our practices for collecting, using, maintaining, protecting, and disclosing that information.
@ -20,13 +20,13 @@ Introduction
Definitions
-----------
- "App" means the software program provided by the Company, downloaded by You on any electronic device, named Cake Wallet.
- "App" means any software program provided by the Company, downloaded by You on any electronic device, including but not limited to Cake Wallet and Monero.com.
- "Device" means any device that can access the App, such as a cell phone or tablet device.
- "Node" means a full Monero or Bitcoin or Litecoin Node, which transmits data to your App for processing and synchronization, and to which your Device transmits transactions which you would like to submit to the Monero or Bitcoin or Litecoin networks.
- "Cake Wallet Nodes" refers to the set of cryptocurrency nodes operated and maintained by Cake Technologies.
- "Node" means a full Monero or Bitcoin or Litecoin Node (or any other node on a supported cryptocurrency network), which transmits data to your App for processing and synchronization, and to which your Device transmits transactions which you would like to submit to the Monero or Bitcoin or Litecoin networks (or any other supported cryptocurrency network).
- "Cake Labs Nodes" refers to the set of cryptocurrency nodes operated and maintained by Cake Labs LLC.
- "Service" refers to the App.
- "Third-party Service" refers to any service integrated into the Cake Wallet Application. This includes ChangeNow.
- "Usage Data" refers to data collected automatically about your usage of an Application.
- "Third-party Service" refers to any service integrated into the App. This includes ChangeNOW, Wyre, MoonPay, and BlockBuy.
- "Usage Data" refers to data collected automatically about your usage of an App.
- "You" means the individual, group, corporation, or any other entity accessing or using the Service.
Information We Collect About You and How We Collect It
@ -37,43 +37,43 @@ Information We Collect About You and How We Collect It
- Device IP address, the block height to which your wallet is synchronized, and any transactions which you use our Node to submit to the Monero or Bitcoin or Litecoin networks.
We collect this information:
- Directly from you when you provide it to us.
- Automatically as you use the App, if you use one of the Cake Wallet Nodes. Information collected automatically may include IP address and block height.
- Automatically as you use the App, if you use one of the Cake Labs Nodes. Information collected automatically may include IP address and block height.
Usage Data (including the date and time at which you use an application, the duration of using it, and other metadata) is NOT collected by Cake Technologies through the usage of the App. Cake Technologies has no reason to care about any aspect of your continued usage of our App. We believe that this data is your own property and that we have no right to collect it.
Usage Data (including the date and time at which you use an application, the duration of using it, and other metadata) is NOT collected by Cake Labs through the usage of the App. Cake Labs has no reason to care about any aspect of your continued usage of our App. We believe that this data is your own property and that we have no right to collect it.
Personal information is received by Cake Technologies ONLY in the event that you choose to provide it to us. This is provided either by synchronizing your wallet using the Nodes maintained by Cake Technologies, or by voluntarily contacting Cake Technologies regarding support, questions or suggestions. You also have the right to choose not to provide data to Cake Technologies, by choosing a different Node. The option to do so is provided by default with a list of Nodes, but Cake Wallet also provides the ability to add another Node not listed, or use your own Node.
Personal information is received by Cake Labs ONLY in the event that you choose to provide it to us. This is provided either by synchronizing your wallet using the Nodes maintained by Cake Labs, or by voluntarily contacting Cake Labs regarding support, questions or suggestions. You also have the right to choose not to provide data to Cake Labs, by choosing a different Node. The option to do so is provided by default with a list of Nodes, but Cake Wallet and Monero.com also provide the ability to add another Node not listed, or use your own Node.
Data relating to your funds, and their security and privacy, remains on your device at ALL times. Your private keys, seeds, backup files, and wallet passcode are your own responsibility. This data is not received, collected, or stored by Cake Technologies at any time, for any reason.
Data relating to your funds, and their security and privacy, remains on your device at ALL times. Your private keys, seeds, backup files, and wallet passcode are your own responsibility. This data is not received, collected, or stored by Cake Labs at any time, for any reason.
Personal Data collected through the Cake Wallet Nodes is limited to your device's IP address, the block height to which your wallet is synchronized, and any transactions which you use our Node to submit to the Monero or Bitcoin or Litecoin networks. Personal Data received by Cake Technologies in this manner is not stored for any length of time, and thus Cake Technologies is both unwilling to and incapable of sharing this data, or using it for any purpose beyond ensuring your appropriate connection to our Nodes.
Personal Data collected through the Cake Labs Nodes is limited to your device's IP address, the block height to which your wallet is synchronized, and any transactions which you use our Node to submit to the Monero or Bitcoin or Litecoin networks (or any other supported cryptocurrency network). Personal Data received by Cake Labs in this manner is not stored for any length of time, and thus Cake Labs is both unwilling to and incapable of sharing this data, or using it for any purpose beyond ensuring your appropriate connection to our Nodes.
If you decide to use a Node offered by any third party, some of which we offer by default in the Cake Wallet Application, said third party will receive this Personal Data instead of Cake Technologies. We take no responsibility for the actions of any third-party Node offered within the Application. If you decide to synchronize your Wallet using your own Node, neither Cake Technologies nor any third party will have access to this Personal Data.
If you decide to use a Node offered by any third party, some of which we offer by default in our Apps, said third party will receive this Personal Data instead of Cake Labs. We take no responsibility for the actions of any third-party Node offered within the Application. If you decide to synchronize your Wallet using your own Node, neither Cake Labs nor any third party will have access to this Personal Data.
In any of these situations, Cake Technologies takes no responsibility for interception of this data by any outside individual, group, corporation, or institution. You should understand this and take any and all appropriate actions to secure your own data.
In any of these situations, Cake Labs takes no responsibility for interception of this data by any outside individual, group, corporation, or institution. You should understand this and take any and all appropriate actions to secure your own data.
How We Use Your Information
---------------------------
We use information that we collect about you or that you provide to us, including any personal information:
- To present our App and its contents to you.
- To allow you to sync using the closest geographical Node: In the event that you choose to synchronize your wallet using the Node maintained by Cake Technologies, we determine your location using your IP address to redirect your Wallet to the fastest possible Node.
- To contact you: In the event that you contact Cake Technologies first, we will use the Personal Data with which you provide us, to contact you by email, Telegram, Reddit, or any other means.
- To allow you to sync using the closest geographical Node: In the event that you choose to synchronize your wallet using the Node maintained by Cake Labs, we determine your location using your IP address to redirect your Wallet to the fastest possible Node.
- To contact you: In the event that you contact Cake Labs first, we will use the Personal Data with which you provide us, to contact you by email, Telegram, Reddit, or any other means.
- To manage your requests: To attend and manage your requests to us.
- For any other purpose with your consent.
Transfer of Your Personal Data
------------------------------
Personal Data received by the Cake Wallet Nodes, or voluntarily submitted to Cake Technologies through e-mail, Telegram, Reddit, or any other method, may be transferred to computers located outside of your governmental jurisdiction, where the data protection laws may differ from yours. Your consent to this Privacy Policy, and your submission of such information, represents your agreement to this transfer.
Personal Data received by the Cake Labs Nodes, or voluntarily submitted to Cake Labs through e-mail, Telegram, Reddit, or any other method, may be transferred to computers located outside of your governmental jurisdiction, where the data protection laws may differ from yours. Your consent to this Privacy Policy, and your submission of such information, represents your agreement to this transfer.
Cake Technologies will take all necessary steps to ensure that your data is treated securely and in accordance with this Privacy Policy. No transfer of your Personal Data will take place to an organization or a country, unless there are adequate controls in place to protect the security of your data.
Cake Labs will take all necessary steps to ensure that your data is treated securely and in accordance with this Privacy Policy. No transfer of your Personal Data will take place to an organization or a country, unless there are adequate controls in place to protect the security of your data.
Disclosure of Your Information
------------------------------
We may disclose aggregated information about our users, and information that does not identify any individual, without restriction. For example, we may, from time to time, disclose the number of users who have downloaded our Application.
We may disclose personal information that we collect or you provide as described in this privacy policy:
We may disclose personal information that we collect or you provide as described in this Privacy Policy:
- To our subsidiaries and affiliates.
- To contractors, service providers, and other third parties we use to support our business and who are bound by contractual obligations to keep personal information confidential and use it only for the purposes for which we disclose it to them.
- To a buyer or other successor in the event of a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Cake Technology's assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which personal information held by Cake Technology about our App users is among the assets transferred. However, we will provide notice before this Personal Data is transferred and becomes subject to a different Privacy Policy.
@ -84,18 +84,18 @@ Disclosure of Your Information
We may also disclose your personal information:
- To comply with any court order, law, or legal process, including to respond to any government or regulatory request.
- To enforce or apply our terms of use and other agreements, including for billing and collection purposes.
- If we believe disclosure is necessary or appropriate to protect the rights, property, or safety of Cake Technologies, our customers, or others.
- If we believe disclosure is necessary or appropriate to protect the rights, property, or safety of Cake Labs, our customers, or others.
Cake Technologies is incapable of providing any authority or government agency with data received by the Cake Wallet Nodes, because we do not store this data.
Cake Labs is incapable of providing any authority or government agency with data received by the Cake Labs Nodes, because we do not store this data.
Under certain circumstances, Cake Technologies may be required by authorities to disclose Personal Data which you voluntarily provide us, including your e-mail address, Telegram username, or Reddit username. WE STRONGLY RECOMMEND THAT YOU DO NOT TRANSMIT ANY PERSONALLY IDENTIFIABLE INFORMATION TO US VIA THESE OR ANY OTHER METHODS.
Under certain circumstances, Cake Labs may be required by authorities to disclose Personal Data which you voluntarily provide us, including your e-mail address, Telegram username, or Reddit username. WE STRONGLY RECOMMEND THAT YOU DO NOT TRANSMIT ANY PERSONALLY IDENTIFIABLE INFORMATION TO US VIA THESE OR ANY OTHER METHODS.
Data Security
-------------
You are responsible for your personal data, including all data related to the safety of your funds. You should take all appropriate action to protect this data. Cake Technologies cannot recover any data related to your funds in the event that you lose or give away this data. Cake Technologies strongly recommends that you take action to secure your funds, by writing down your seeds or keys, storing encrypted backups, and never sharing this information.
You are responsible for your personal data, including all data related to the safety of your funds. You should take all appropriate action to protect this data. Cake Labs cannot recover any data related to your funds in the event that you lose or give away this data. Cake Labs strongly recommends that you take action to secure your funds, by writing down your seeds or keys, storing encrypted backups, and never sharing this information.
Cake Technologies undertakes any and all reasonable steps possible to secure any data that you voluntarily transmit to us. However, we cannot guarantee that any outside system used to transmit this data is entirely secure and, as such, we recommend that you exercise caution when voluntarily transmitting data to us.
Cake Labs undertakes any and all reasonable steps possible to secure any data that you voluntarily transmit to us. However, we cannot guarantee that any outside system used to transmit this data is entirely secure and, as such, we recommend that you exercise caution when voluntarily transmitting data to us.
Links to Other Websites
-----------------------
@ -110,4 +110,4 @@ Changes to Our Privacy Policy
Contact Us
----------
If you have any questions about this Privacy Policy, you are encouraged to contact us by email at info@cakewallet.com.
If you have any questions about this Privacy Policy, you are encouraged to contact us by email at info@cakewallet.com.

View file

@ -1,9 +1,9 @@
Last Modified: May 21, 2021
Last Modified: January 11, 2022
Acceptance of the Terms of Use
==============================
These terms of use are entered into by and between You and Cake Technologies LLC ("Company," "we," or "us"). The following terms and conditions "Terms of Use") govern your access to and use of the Cake Wallet app, including any content, functionality, and services offered on or through the Cake Wallet app (the “App").
Please read the Terms of Use carefully before you start to use the App. By using the App you accept and agree to be bound and abide by these Terms of Use and our Privacy Policy, , incorporated herein by reference. If you do not wish to agree to these Terms of Use or the Privacy Policy, you must not access or use the App.
These terms of use are entered into by and between You and Cake Labs LLC, a limited liability company formed under the laws of Nevis ("Company," "we," or "us"). The following terms and conditions "Terms of Use") govern your access to and use of the Cake Wallet and Monero.com apps, including any content, functionality, and services offered on or through the Cake Wallet app and the Monero.com app, as applicable (the “App").
Please read the Terms of Use carefully before you start to use the App. By using the App you accept and agree to be bound and abide by these Terms of Use and our Privacy Policy, incorporated herein by reference. If you do not wish to agree to these Terms of Use or the Privacy Policy, you must not access or use the App.
Changes to the Terms of Use
===========================
@ -26,7 +26,7 @@ Accessing the App and Security
- If you choose, or are provided with, a seed or private keys for any wallet within the App, you MUST treat such information as confidential, and you MUST NOT disclose it to any other person or entity.
- You MUST keep the app up to date. Failure to update the Cake Wallet application means you will not be receiving the latest security fixes and features.
- You MUST keep the app up to date. Failure to update the application means you will not be receiving the latest security fixes and features.
Intellectual Property Rights
============================
@ -34,13 +34,13 @@ Intellectual Property Rights
The App and its entire contents, features, and functionality (including but not limited to all information, software, text, displays, images, video, and audio, and the design, selection, and arrangement thereof) are owned by the Company, its licensors, or other providers of such material and are protected by United States and international copyright, trademark, patent, trade secret, and other intellectual property or proprietary rights laws.
These Terms of Use permit you to use the App for your personal and commercial use. You are permitted to download, store, publicly display, publicly perform, republish and transmit any of the code in our App.
You are also permitted to reproduce, distribute, modify, or create derivative works of, any of the code in our App, under the condition that any derivative work of this App remains under an open source license.
You are also permitted to reproduce, distribute, modify, or create derivative works of, any of the code in our App, under the license conditions published with the accompanying code. If there is no license offered for the specific code, then you must contact us for a license for that specific code.
You must not:
- Modify copies of any images from the Application.
- Use any illustrations, photographs, video or audio sequences, or any graphics separately from the accompanying text.
- Delete or modify any copyright, trademark, or other rights notices from copies of materials from this site.
- Claim ownership of any code, image, text or any other information authored or created by Cake Technologies.
- Claim ownership of any code, image, text or any other information authored or created by Cake Labs.
Trademarks
==========
@ -67,15 +67,15 @@ Prohibited Uses
- Use any manual process to monitor or copy any of the material on the App, or for any other purpose not expressly authorized in these Terms of Use, without our prior written consent.
- Use any device, software, or routine that interferes with the proper working of the App or the Nodes operated by Cake Technologies.
- Use any device, software, or routine that interferes with the proper working of the App or the Nodes operated by Cake Labs.
- Introduce any viruses, Trojan horses, worms, logic bombs, or other material that is malicious or technologically harmful.
- Attempt to gain unauthorized access to, interfere with, damage, or disrupt any parts of the App, or any node, server, computer, or database connected to the App.
- Attack the App or the Nodes operated by Cake Technologies via a denial-of-service attack or a distributed denial-of-service attack.
- Attack the App or the Nodes operated by Cake Labs via a denial-of-service attack or a distributed denial-of-service attack.
- Otherwise attempt to interfere with the proper working of the App or the Nodes operated by Cake Technologies.
- Otherwise attempt to interfere with the proper working of the App or the Nodes operated by Cake Labs.
Information About You and Your Visits to the App
================================================
@ -90,7 +90,7 @@ Links from the App
Geographic Restrictions
=======================
The owner of the App is based in the State of Florida in the United States. Please consult with qualified legal counsel to assess the appropriate use of the App or any of its contents in the jurisdiction(s) you intend to use the App. The owner of the App makes no representation or warranty as to the suitability for use, compliance or other matter of law with respect to use in any jurisdiction. If you access the App from outside the United States, you do so on your own initiative and are responsible for compliance with local laws and regulations.
Please consult with qualified legal counsel to assess the appropriate use of the App or any of its contents in the jurisdiction(s) you intend to use the App. The owner of the App makes no representation or warranty as to the suitability for use, compliance or other matter of law with respect to use in any jurisdiction. If you access the App, you do so on your own initiative and are responsible for compliance with local laws and regulations.
Translations
============
@ -102,30 +102,30 @@ Risks Related to the use of the App
The App, the Company and the Companys owners, partners, employees, contributors, and any affiliates will not be responsible for any losses, damages or claims arising from:
- Mistakes made by the user of any Monero-related and/or Bitcoin-related and/or Litecoin-related software or service, e.g., forgotten passwords, payments sent to wrong Monero and/or Bitcoin and/or Litecoin addresses, or accidental deletion of wallets;
- Mistakes made by the user of any cryptocurrency-related software or service, e.g., forgotten passwords, payments sent to wrong cryptocurrency addresses, or accidental deletion of wallets;
- Software problems of the App and/or any Monero-related or Bitcoin-related or Litecoin-related oftware or service, e.g., corrupted wallet file, incorrectly constructed transactions, unsafe cryptographic libraries, malware affecting the App and/or any Monero-related or Bitcoin-related or Litecoin-related software or service;
- Software problems of the App and/or any cryptocurrency-related software or service, e.g., corrupted wallet file, incorrectly constructed transactions, unsafe cryptographic libraries, malware affecting the App and/or any cryptocurrency-related software or service;
- Technical failures in the hardware of the user of any Monero-related and/or Bitcoin-related and/or Litecoin-related software or service, e.g., data loss due to a faulty or damaged storage device;
- Technical failures in the hardware of the user of any cryptocurrency-related software or service, e.g., data loss due to a faulty or damaged storage device;
- Security problems experienced by the user of any Monero-related and/or Bitcoin-related and/or Litecoin-related software or service, e.g., unauthorized access to users' wallets and/or accounts; or
- Security problems experienced by the user of any cryptocurrency-related software or service, e.g., unauthorized access to users' wallets and/or accounts; or
- Actions or inactions of third parties and/or events experienced by third parties, e.g., bankruptcy of service providers, information security attacks on service providers, and fraud conducted by third parties.
Investment Risks
================
All investments, including investments in Monero, Litecoin and Bitcoin, are speculative in nature and involve substantial risk of loss. We encourage investors to invest carefully. We also encourage investors to get personal advice from professional investment advisors and to make independent investigations before making any investment. We do not in any way guarantee the success of any action you take with respect to investments on the App or otherwise. Past performance is not necessarily indicative of future results. All investments, including investments in Monero, Litecoin or Bitcoin, carry risk and all investment decisions of an individual remain the responsibility of that individual. Do not enter any investment without fully understanding the worst-case scenario of that investment, including but not limited to, large market fluctuations or total loss.
All investments, including investments in Monero, Litecoin and Bitcoin, are speculative in nature and involve substantial risk of loss. We encourage investors to invest carefully. We also encourage investors to get personal advice from professional investment advisors and to make independent investigations before making any investment. We do not in any way guarantee the success of any action you take with respect to investments on the App or otherwise. Past performance is not necessarily indicative of future results. All investments, including investments in Monero, Litecoin or Bitcoin, carry risk and all investment decisions of an individual remain the responsibility of that individual. Do not enter any investment without fully understanding the worst-case scenario of that investment, including but not limited to, large market fluctuations or total loss. Cake Labs does not provide investment advice.
Tax Matters
===========
The users of the App are solely responsible in determining what, if any, taxes apply to their Monero, Litecoin and/or Bitcoin transactions. Cake Technologies is not responsible for determining any taxes that apply to such transactions. You agree not to hold Cake Technologies responsible for any issues relating to the taxation of purchases, sale, exchanges, transfers, or any other transactions related to any cryptocurrency.
The users of the App are solely responsible in determining what, if any, taxes apply to their cryptocurrency transactions. Cake Labs is not responsible for determining any taxes that apply to such transactions. You agree not to hold Cake Labs responsible for any issues relating to the taxation of purchases, sale, exchanges, transfers, or any other transactions related to any cryptocurrency.
Monero, Bitcoin & Litecoin Transactions
Cryptocurrency Transactions
=======================================
The App does not store Monero, Litecoin or Bitcoin. Monero, Litecoin and Bitcoin exist only by virtue of the ownership record maintained in the Monero, Litecoin and Bitcoin networks. Any transfer of title in Monero, Litecoin or Bitcoin occurs within a decentralized Monero, Litecoin or Bitcoin network, and not in the App.
The App does not store cryptocurrencies, including Monero, Litecoin or Bitcoin. Cryptocurrencies exist only by virtue of the ownership record maintained in their respective networks. Any transfer of title in cryptocurrency occurs within a decentralized cryptocurrency network, and not in the App.
Disclaimer of Warranties
========================
@ -179,10 +179,10 @@ Waiver and Severability
Entire Agreement
================
The Terms of Use and our Privacy Policy constitute the sole and entire agreement between you and Cake Technologies Inc. regarding the App and supersede all prior and contemporaneous understandings, agreements, representations, and warranties, both written and oral, regarding the App.
The Terms of Use and our Privacy Policy constitute the sole and entire agreement between you and Cake Labs LLC regarding the App and supersede all prior and contemporaneous understandings, agreements, representations, and warranties, both written and oral, regarding the App.
Your Comments and Concerns
==========================
This App is operated by Cake Technologies Inc.
This App is operated by Cake Labs LLC.
All feedback, comments, and other communications relating to the App should be directed to info@cakewallet.com. All requests for technical support should be directed to support@cakewallet.com.

View file

@ -1,5 +1,3 @@
import 'dart:math';
import 'package:intl/intl.dart';
import 'package:cw_core/crypto_amount_format.dart';

View file

@ -4,7 +4,7 @@ import 'dart:typed_data';
import 'package:crypto/crypto.dart';
import 'package:unorm_dart/unorm_dart.dart' as unorm;
import 'package:cryptography/cryptography.dart' as cryptography;
import 'package:cake_wallet/core/sec_random_native.dart';
import 'package:cw_core/sec_random_native.dart';
const segwit = '100';
final wordlist = englishWordlist;

View file

@ -1,5 +1,5 @@
import 'package:cw_core/transaction_priority.dart';
import 'package:cake_wallet/generated/i18n.dart';
//import 'package:cake_wallet/generated/i18n.dart';
class BitcoinTransactionPriority extends TransactionPriority {
const BitcoinTransactionPriority({String title, int raw})
@ -34,13 +34,13 @@ class BitcoinTransactionPriority extends TransactionPriority {
switch (this) {
case BitcoinTransactionPriority.slow:
label = '${S.current.transaction_priority_slow} ~24hrs';
label = 'Slow ~24hrs'; // '${S.current.transaction_priority_slow} ~24hrs';
break;
case BitcoinTransactionPriority.medium:
label = S.current.transaction_priority_medium;
label = 'Medium'; // S.current.transaction_priority_medium;
break;
case BitcoinTransactionPriority.fast:
label = S.current.transaction_priority_fast;
label = 'Fast'; // S.current.transaction_priority_fast;
break;
default:
break;
@ -86,13 +86,13 @@ class LitecoinTransactionPriority extends BitcoinTransactionPriority {
switch (this) {
case LitecoinTransactionPriority.slow:
label = S.current.transaction_priority_slow;
label = 'Slow'; // S.current.transaction_priority_slow;
break;
case LitecoinTransactionPriority.medium:
label = S.current.transaction_priority_medium;
label = 'Medium'; // S.current.transaction_priority_medium;
break;
case LitecoinTransactionPriority.fast:
label = S.current.transaction_priority_fast;
label = 'Fast'; // S.current.transaction_priority_fast;
break;
default:
break;

View file

@ -326,6 +326,7 @@ class ElectrumClient {
return subscription;
} catch(e) {
print(e.toString());
return null;
}
}

View file

@ -12,7 +12,6 @@ import 'package:cw_bitcoin/electrum_transaction_info.dart';
import 'package:cw_core/pathForWallet.dart';
import 'package:cw_bitcoin/address_to_output_script.dart';
import 'package:cw_bitcoin/bitcoin_address_record.dart';
import 'package:cw_bitcoin/bitcoin_amount_format.dart';
import 'package:cw_bitcoin/electrum_balance.dart';
import 'package:cw_bitcoin/bitcoin_mnemonic.dart';
import 'package:cw_bitcoin/bitcoin_transaction_credentials.dart';
@ -271,7 +270,9 @@ abstract class ElectrumWalletBase extends WalletBase<ElectrumBalance,
if (input.isP2wpkh) {
final p2wpkh = bitcoin
.P2WPKH(
data: generatePaymentData(hd: hd, index: input.address.index),
data: generatePaymentData(
hd: input.address.isHidden ? walletAddresses.sideHd : walletAddresses.mainHd,
index: input.address.index),
network: networkType)
.data;
@ -307,7 +308,9 @@ abstract class ElectrumWalletBase extends WalletBase<ElectrumBalance,
for (var i = 0; i < inputs.length; i++) {
final input = inputs[i];
final keyPair = generateKeyPair(
hd: hd, index: input.address.index, network: networkType);
hd: input.address.isHidden ? walletAddresses.sideHd : walletAddresses.mainHd,
index: input.address.index,
network: networkType);
final witnessValue = input.isP2wpkh ? input.value : null;
txb.sign(vin: i, keyPair: keyPair, witnessValue: witnessValue);

View file

@ -1,5 +1,4 @@
import 'package:bitcoin_flutter/bitcoin_flutter.dart' as bitcoin;
import 'package:cw_bitcoin/bitcoin_mnemonic.dart';
import 'package:cw_bitcoin/utils.dart';
import 'package:cw_bitcoin/bitcoin_address_record.dart';
import 'package:cw_bitcoin/electrum_wallet_addresses.dart';

View file

@ -21,7 +21,14 @@ packages:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
version: "1.6.0"
asn1lib:
dependency: transitive
description:
name: asn1lib
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.5"
async:
dependency: transitive
description:
@ -123,14 +130,14 @@ packages:
name: built_collection
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.1"
version: "4.3.2"
built_value:
dependency: transitive
description:
name: built_value
url: "https://pub.dartlang.org"
source: hosted
version: "8.1.3"
version: "7.1.0"
characters:
dependency: transitive
description:
@ -194,6 +201,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
cryptography:
dependency: "direct main"
description:
name: cryptography
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.1"
cw_core:
dependency: "direct main"
description:
@ -215,6 +229,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.0"
encrypt:
dependency: "direct main"
description:
name: encrypt
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.3"
fake_async:
dependency: transitive
description:
@ -242,7 +263,7 @@ packages:
name: fixnum
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "0.10.11"
flutter:
dependency: "direct main"
description: flutter
@ -491,6 +512,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.8"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
rxdart:
dependency: "direct main"
description:
@ -594,6 +622,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
unorm_dart:
dependency: "direct main"
description:
name: unorm_dart
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
vector_math:
dependency: transitive
description:

View file

@ -1,8 +1,9 @@
name: cw_bitcoin
description: A new Flutter package project.
version: 0.0.1
author:
homepage:
publish_to: none
author: Cake Wallet
homepage: https://cakewallet.com
environment:
sdk: ">=2.7.0 <3.0.0"
@ -23,6 +24,9 @@ dependencies:
url: https://github.com/cake-tech/bitcoin_flutter.git
ref: cake
rxdart: ^0.26.0
unorm_dart: ^0.2.0
cryptography: ^1.4.0
encrypt: ^4.0.0
dev_dependencies:
flutter_test:

View file

@ -1,5 +1,5 @@
import 'package:cw_core/transaction_direction.dart';
import 'package:cake_wallet/utils/mobx.dart';
//import 'package:cake_wallet/utils/mobx.dart';
import 'package:cw_core/keyable.dart';
abstract class TransactionInfo extends Object with Keyable {

View file

@ -21,7 +21,14 @@ packages:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
version: "1.6.0"
asn1lib:
dependency: transitive
description:
name: asn1lib
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.1"
async:
dependency: transitive
description:
@ -147,14 +154,14 @@ packages:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "2.1.1"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "2.1.5"
dart_style:
dependency: transitive
description:
@ -168,7 +175,14 @@ packages:
name: dartx
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.0"
version: "0.5.0"
encrypt:
dependency: "direct main"
description:
name: encrypt
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
fake_async:
dependency: transitive
description:
@ -234,7 +248,7 @@ packages:
name: hive
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.0-nullsafety.2"
version: "1.4.4+1"
hive_generator:
dependency: "direct dev"
description:
@ -403,6 +417,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
pointycastle:
dependency: transitive
description:
name: pointycastle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
pool:
dependency: transitive
description:
@ -512,7 +533,7 @@ packages:
name: time
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "1.4.1"
timing:
dependency: transitive
description:

View file

@ -1,8 +1,9 @@
name: cw_core
description: A new Flutter package project.
version: 0.0.1
author:
homepage:
publish_to: none
author: Cake Wallet
homepage: https://cakewallet.com
environment:
sdk: ">=2.7.0 <3.0.0"
@ -16,6 +17,7 @@ dependencies:
mobx: ^1.2.1+2
flutter_mobx: ^1.1.0+2
intl: ^0.17.0
encrypt: ^4.0.0
dev_dependencies:
flutter_test:

View file

@ -21,7 +21,14 @@ packages:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
version: "1.6.0"
asn1lib:
dependency: transitive
description:
name: asn1lib
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.1"
async:
dependency: transitive
description:
@ -147,14 +154,14 @@ packages:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "2.1.1"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "2.1.5"
cw_core:
dependency: "direct main"
description:
@ -175,7 +182,14 @@ packages:
name: dartx
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.0"
version: "0.5.0"
encrypt:
dependency: transitive
description:
name: encrypt
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
fake_async:
dependency: transitive
description:
@ -241,7 +255,7 @@ packages:
name: hive
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.0-nullsafety.2"
version: "1.4.4+1"
hive_generator:
dependency: "direct dev"
description:
@ -375,6 +389,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
pointycastle:
dependency: transitive
description:
name: pointycastle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
pool:
dependency: transitive
description:
@ -477,7 +498,7 @@ packages:
name: time
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "1.4.1"
timing:
dependency: transitive
description:

View file

@ -1,8 +1,9 @@
name: cw_monero
description: A new flutter plugin project.
version: 0.0.1
author:
homepage:
publish_to: none
author: Cake Wallet
homepage: https://cakewallet.com
environment:
sdk: ">=2.6.0 <3.0.0"

View file

@ -145,20 +145,18 @@ class DashboardPage extends BasePage {
image: exchangeImage,
title: S.of(context).exchange,
route: Routes.exchange),
if (!isMoneroOnly)
ActionButton(
image: buyImage,
title: S.of(context).buy,
onClick: () async =>
await _onClickBuyButton(context),
),
if (!isMoneroOnly)
ActionButton(
image: sellImage,
title: 'Sell',
onClick: () async =>
await _onClickSellButton(context),
),
if (!isMoneroOnly)
ActionButton(
image: buyImage,
title: S.of(context).buy,
onClick: () async => await _onClickBuyButton(context),
),
if (!isMoneroOnly)
ActionButton(
image: sellImage,
title: S.of(context).sell,
onClick: () async => await _onClickSellButton(context),
),
],
),
)
@ -171,15 +169,16 @@ class DashboardPage extends BasePage {
return;
}
pages.add(AddressPage(addressListViewModel: addressListViewModel,
walletViewModel: walletViewModel));
pages.add(AddressPage(
addressListViewModel: addressListViewModel,
walletViewModel: walletViewModel));
pages.add(BalancePage(dashboardViewModel: walletViewModel));
pages.add(TransactionsPage(dashboardViewModel: walletViewModel));
_isEffectsInstalled = true;
//if (walletViewModel.shouldShowYatPopup) {
// await Future<void>.delayed(Duration(seconds: 1));
// if (currentRouteSettings.name == Routes.preSeed
// || currentRouteSettings.name == Routes.seed) {
// return;
@ -222,8 +221,8 @@ class DashboardPage extends BasePage {
if (needToPresentYat) {
Future<void>.delayed(Duration(milliseconds: 500)).then((_) {
showPopUp<void>(
context: navigatorKey.currentContext,
builder: (_) => YatEmojiId(walletViewModel.yatStore.emoji));
context: navigatorKey.currentContext,
builder: (_) => YatEmojiId(walletViewModel.yatStore.emoji));
needToPresentYat = false;
});
}
@ -268,8 +267,9 @@ class DashboardPage extends BasePage {
case WalletType.bitcoin:
final moonPaySellProvider = MoonPaySellProvider();
final uri = await moonPaySellProvider.requestUrl(
currency: walletViewModel.wallet.currency,
refundWalletAddress: walletViewModel.wallet.walletAddresses.address);
currency: walletViewModel.wallet.currency,
refundWalletAddress:
walletViewModel.wallet.walletAddresses.address);
await launch(uri);
break;
default:
@ -277,8 +277,8 @@ class DashboardPage extends BasePage {
context: context,
builder: (BuildContext context) {
return AlertWithOneAction(
alertTitle: S.of(context).buy,
alertContent: S.of(context).buy_alert_content,
alertTitle: S.of(context).sell,
alertContent: S.of(context).sell_alert_content,
buttonText: S.of(context).ok,
buttonAction: () => Navigator.of(context).pop());
});

View file

@ -26,7 +26,7 @@ import 'package:cake_wallet/store/yat/yat_store.dart';
import 'package:cake_wallet/src/screens/yat/yat_sending.dart';
class SendPage extends BasePage {
SendPage({@required this.sendViewModel}) :_formKey = GlobalKey<FormState>();
SendPage({@required this.sendViewModel}) : _formKey = GlobalKey<FormState>();
final SendViewModel sendViewModel;
final GlobalKey<FormState> _formKey;
@ -51,24 +51,24 @@ class SendPage extends BasePage {
@override
Widget trailing(context) => Observer(builder: (_) {
return sendViewModel.isBatchSending
? TrailButton(
caption: S.of(context).remove,
onPressed: () {
var pageToJump = controller.page.round() - 1;
pageToJump = pageToJump > 0 ? pageToJump : 0;
final output = _defineCurrentOutput();
sendViewModel.removeOutput(output);
controller.jumpToPage(pageToJump);
})
: TrailButton(
caption: S.of(context).clear,
onPressed: () {
final output = _defineCurrentOutput();
_formKey.currentState.reset();
output.reset();
});
});
return sendViewModel.isBatchSending
? TrailButton(
caption: S.of(context).remove,
onPressed: () {
var pageToJump = controller.page.round() - 1;
pageToJump = pageToJump > 0 ? pageToJump : 0;
final output = _defineCurrentOutput();
sendViewModel.removeOutput(output);
controller.jumpToPage(pageToJump);
})
: TrailButton(
caption: S.of(context).clear,
onPressed: () {
final output = _defineCurrentOutput();
_formKey.currentState.reset();
output.reset();
});
});
@override
Widget body(BuildContext context) {
@ -96,57 +96,39 @@ class SendPage extends BasePage {
output: output,
sendViewModel: sendViewModel,
);
}
);
});
},
)
),
)),
Padding(
padding: EdgeInsets.only(top: 10, left: 24, right: 24, bottom: 10),
child: Container(
height: 10,
child: Observer(builder: (_) {
final count = sendViewModel.outputs.length;
padding:
EdgeInsets.only(top: 10, left: 24, right: 24, bottom: 10),
child: Container(
height: 10,
child: Observer(
builder: (_) {
final count = sendViewModel.outputs.length;
return count > 1
return count > 1
? SmoothPageIndicator(
controller: controller,
count: count,
effect: ScrollingDotsEffect(
spacing: 6.0,
radius: 6.0,
dotWidth: 6.0,
dotHeight: 6.0,
dotColor: Theme.of(context)
.primaryTextTheme
.display2
.backgroundColor,
activeDotColor: Theme.of(context)
.primaryTextTheme
.display3
.backgroundColor
controller: controller,
count: count,
effect: ScrollingDotsEffect(
spacing: 6.0,
radius: 6.0,
dotWidth: 6.0,
dotHeight: 6.0,
dotColor: Theme.of(context)
.primaryTextTheme
.display2
.backgroundColor,
activeDotColor: Theme.of(context)
.primaryTextTheme
.display3
.backgroundColor),
)
)
: Offstage();
})
)
),
Padding(
padding: EdgeInsets.only(left: 24, bottom: 24),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Text(
S.of(context).send_templates,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
color: Theme.of(context)
.primaryTextTheme
.display4
.color),
)
],
},
),
),
),
Container(
@ -155,51 +137,60 @@ class SendPage extends BasePage {
padding: EdgeInsets.only(left: 24),
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context)
.pushNamed(Routes.sendTemplate),
child: Container(
padding: EdgeInsets.only(left: 1, right: 10),
child: DottedBorder(
borderType: BorderType.RRect,
dashPattern: [6, 4],
color: Theme.of(context)
.primaryTextTheme
.display2
.decorationColor,
strokeWidth: 2,
radius: Radius.circular(20),
child: Container(
height: 34,
width: 75,
padding:
EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20)),
color: Colors.transparent,
),
child: Text(
S.of(context).send_new,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Theme.of(context)
.primaryTextTheme
.display3
.color),
),
)),
),
),
Observer(builder: (_) {
final templates = sendViewModel.templates;
final itemCount = templates.length;
child: Observer(
builder: (_) {
final templates = sendViewModel.templates;
final itemCount = templates.length;
return ListView.builder(
return Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context)
.pushNamed(Routes.sendTemplate),
child: Container(
padding: EdgeInsets.only(left: 1, right: 10),
child: DottedBorder(
borderType: BorderType.RRect,
dashPattern: [6, 4],
color: Theme.of(context)
.primaryTextTheme
.headline2
.decorationColor,
strokeWidth: 2,
radius: Radius.circular(20),
child: Container(
height: 34,
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(20)),
color: Colors.transparent,
),
child: templates.length >= 1
? Icon(
Icons.add,
color: Theme.of(context)
.primaryTextTheme
.display3
.color,
)
: Text(
S.of(context).new_template,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Theme.of(context)
.primaryTextTheme
.display3
.color,
),
),
),
),
),
),
ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
@ -214,109 +205,108 @@ class SendPage extends BasePage {
from: template.cryptoCurrency,
onTap: () async {
final output = _defineCurrentOutput();
output.address =
template.address;
output.address = template.address;
output.setCryptoAmount(template.amount);
output.resetParsedAddress();
await output.fetchParsedAddress(context);
},
onRemove: () {
showPopUp<void>(
context: context,
builder: (dialogContext) {
return AlertWithTwoActions(
alertTitle:
S.of(context).template,
alertContent: S
.of(context)
.confirm_delete_template,
rightButtonText:
S.of(context).delete,
leftButtonText:
S.of(context).cancel,
actionRightButton: () {
context: context,
builder: (dialogContext) {
return AlertWithTwoActions(
alertTitle: S.of(context).template,
alertContent: S
.of(context)
.confirm_delete_template,
rightButtonText: S.of(context).delete,
leftButtonText: S.of(context).cancel,
actionRightButton: () {
Navigator.of(dialogContext).pop();
sendViewModel.sendTemplateViewModel
.removeTemplate(
template: template);
},
actionLeftButton: () =>
Navigator.of(dialogContext)
.pop();
sendViewModel
.sendTemplateViewModel
.removeTemplate(
template: template);
},
actionLeftButton: () =>
Navigator.of(dialogContext)
.pop());
});
.pop());
},
);
},
);
});
})
],
},
),
],
);
},
),
),
)
],
),
bottomSectionPadding:
EdgeInsets.only(left: 24, right: 24, bottom: 24),
EdgeInsets.only(left: 24, right: 24, bottom: 24),
bottomSection: Column(
children: [
Padding(
padding: EdgeInsets.only(bottom: 12),
child: PrimaryButton(
onPressed: () {
sendViewModel.addOutput();
Future.delayed(const Duration(milliseconds: 250), () {
controller.jumpToPage(sendViewModel.outputs.length - 1);
});
},
text: S.of(context).add_receiver,
color: Colors.transparent,
textColor: Theme.of(context)
.accentTextTheme
.display2
.decorationColor,
isDottedBorder: true,
borderColor: Theme.of(context)
.primaryTextTheme
.display2
.decorationColor,
)
),
Observer(builder: (_) {
return LoadingPrimaryButton(
onPressed: () async {
if (!_formKey.currentState.validate()) {
if (sendViewModel.outputs.length > 1) {
showErrorValidationAlert(context);
padding: EdgeInsets.only(bottom: 12),
child: PrimaryButton(
onPressed: () {
sendViewModel.addOutput();
Future.delayed(const Duration(milliseconds: 250), () {
controller.jumpToPage(sendViewModel.outputs.length - 1);
});
},
text: S.of(context).add_receiver,
color: Colors.transparent,
textColor: Theme.of(context)
.accentTextTheme
.display2
.decorationColor,
isDottedBorder: true,
borderColor: Theme.of(context)
.primaryTextTheme
.display2
.decorationColor,
)),
Observer(
builder: (_) {
return LoadingPrimaryButton(
onPressed: () async {
if (!_formKey.currentState.validate()) {
if (sendViewModel.outputs.length > 1) {
showErrorValidationAlert(context);
}
return;
}
return;
}
final notValidItems = sendViewModel.outputs
.where((item) =>
item.address.isEmpty || item.cryptoAmount.isEmpty)
.toList();
final notValidItems = sendViewModel.outputs
.where((item) =>
item.address.isEmpty || item.cryptoAmount.isEmpty)
.toList();
if (notValidItems?.isNotEmpty ?? false) {
showErrorValidationAlert(context);
return;
}
if (notValidItems?.isNotEmpty ?? false) {
showErrorValidationAlert(context);
return;
}
await sendViewModel.createTransaction();
await sendViewModel.createTransaction();
if (!sendViewModel.isBatchSending && sendViewModel.hasYat) {
Navigator.of(context).push<void>(YatSending.createRoute(sendViewModel));
}
},
text: S.of(context).send,
color: Theme.of(context).accentTextTheme.body2.color,
textColor: Colors.white,
isLoading: sendViewModel.state is IsExecutingState ||
sendViewModel.state is TransactionCommitting,
isDisabled: !sendViewModel.isReadyForSend,
);
},
if (!sendViewModel.isBatchSending &&
sendViewModel.hasYat) {
Navigator.of(context)
.push<void>(YatSending.createRoute(sendViewModel));
}
},
text: S.of(context).send,
color: Theme.of(context).accentTextTheme.body2.color,
textColor: Colors.white,
isLoading: sendViewModel.state is IsExecutingState ||
sendViewModel.state is TransactionCommitting,
isDisabled: !sendViewModel.isReadyForSend,
);
},
)
],
)),
@ -343,8 +333,8 @@ class SendPage extends BasePage {
});
}
if (state is ExecutedSuccessfullyState
&& !(!sendViewModel.isBatchSending && sendViewModel.hasYat)) {
if (state is ExecutedSuccessfullyState &&
!(!sendViewModel.isBatchSending && sendViewModel.hasYat)) {
WidgetsBinding.instance.addPostFrameCallback((_) {
showPopUp<void>(
context: context,
@ -353,13 +343,17 @@ class SendPage extends BasePage {
alertTitle: S.of(context).confirm_sending,
amount: S.of(context).send_amount,
amountValue:
sendViewModel.pendingTransaction.amountFormatted,
fiatAmountValue: sendViewModel.pendingTransactionFiatAmount
+ ' ' + sendViewModel.fiat.title,
sendViewModel.pendingTransaction.amountFormatted,
fiatAmountValue:
sendViewModel.pendingTransactionFiatAmount +
' ' +
sendViewModel.fiat.title,
fee: S.of(context).send_fee,
feeValue: sendViewModel.pendingTransaction.feeFormatted,
feeFiatAmount: sendViewModel.pendingTransactionFeeFiatAmount
+ ' ' + sendViewModel.fiat.title,
feeFiatAmount:
sendViewModel.pendingTransactionFeeFiatAmount +
' ' +
sendViewModel.fiat.title,
outputs: sendViewModel.outputs,
rightButtonText: S.of(context).ok,
leftButtonText: S.of(context).cancel,
@ -380,8 +374,7 @@ class SendPage extends BasePage {
return AlertWithOneAction(
alertTitle: '',
alertContent: S.of(context).send_success(
sendViewModel.currency
.toString()),
sendViewModel.currency.toString()),
buttonText: S.of(context).ok,
buttonAction: () =>
Navigator.of(context).pop());
@ -419,8 +412,7 @@ class SendPage extends BasePage {
alertTitle: S.of(context).error,
alertContent: 'Please, check receiver forms',
buttonText: S.of(context).ok,
buttonAction: () =>
Navigator.of(context).pop());
buttonAction: () => Navigator.of(context).pop());
});
}
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Willkommen bei",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Eine großartige Wallet für Monero und Bitcoin",
"first_wallet_text" : "Eine großartige Wallet für Monero, Bitcoin und Litecoin",
"please_make_selection" : "Bitte treffen Sie unten eine Auswahl zum Erstellen oder Wiederherstellen Ihrer Wallet.",
"create_new" : "Neue Wallet erstellen",
"restore_wallet" : "Wallet wiederherstellen",
@ -394,6 +394,7 @@
"card_address" : "Adresse:",
"buy" : "Kaufen",
"sell": "Verkaufen",
"placeholder_transactions" : "Ihre Transaktionen werden hier angezeigt",
"placeholder_contacts" : "Ihre Kontakte werden hier angezeigt",
@ -474,7 +475,8 @@
"submit_request" : "Eine Anfrage stellen",
"buy_alert_content" : "Derzeit unterstützen wir nur den Kauf von Bitcoin und Litecoin. Um Bitcoin oder Litecoin zu kaufen, erstellen oder wechseln Sie bitte zu Ihrem Bitcoin- oder Litecoin-Wallet.",
"sell_alert_content": "Wir unterstützen derzeit nur den Verkauf von Bitcoin. Um Bitcoin zu verkaufen, erstellen Sie bitte Ihre Bitcoin-Wallet oder wechseln Sie zu ihr.",
"outdated_electrum_wallet_description" : "Neue Bitcoin-Wallets, die in Cake erstellt wurden, haben jetzt einen 24-Wort-Seed. Sie müssen eine neue Bitcoin-Wallet erstellen, Ihr gesamtes Geld in die neue 24-Wort-Wallet überweisen und keine Wallet mit einem 12-Wort-Seed mehr verwenden. Bitte tun Sie dies sofort, um Ihr Geld zu sichern.",
"understand" : "Ich verstehe",
@ -516,5 +518,7 @@
"second_intro_content" : "Ihr Yat ist eine einzige eindeutige Emoji-Adresse, die alle Ihre langen hexadezimalen Adressen für alle Ihre Währungen ersetzt.",
"third_intro_title" : "Yat spielt gut mit anderen",
"third_intro_content" : "Yats leben auch außerhalb von Cake Wallet. Jede Wallet-Adresse auf der Welt kann durch ein Yat ersetzt werden!",
"learn_more" : "Erfahren Sie mehr"
"learn_more" : "Erfahren Sie mehr",
"new_template" : "neue Vorlage"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Welcome to",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Awesome wallet for Monero and Bitcoin",
"first_wallet_text" : "Awesome wallet for Monero, Bitcoin and Litecoin",
"please_make_selection" : "Please make a selection below to create or recover your wallet.",
"create_new" : "Create New Wallet",
"restore_wallet" : "Restore Wallet",
@ -395,6 +395,7 @@
"card_address" : "Address:",
"buy" : "Buy",
"sell": "Sell",
"placeholder_transactions" : "Your transactions will be displayed here",
"placeholder_contacts" : "Your contacts will be displayed here",
@ -475,6 +476,7 @@
"submit_request" : "submit a request",
"buy_alert_content" : "Currently we only support the purchase of Bitcoin and Litecoin. To buy Bitcoin or Litecoin, please create or switch to your Bitcoin or Litecoin wallet.",
"sell_alert_content": "We currently only support the sale of Bitcoin. To sell Bitcoin, please create or switch to your Bitcoin wallet.",
"outdated_electrum_wallet_description" : "New Bitcoin wallets created in Cake now have a 24-word seed. It is mandatory that you create a new Bitcoin wallet and transfer all of your funds to the new 24-word wallet, and stop using wallets with a 12-word seed. Please do this immediately to secure your funds.",
"understand" : "I understand",
@ -517,5 +519,7 @@
"second_intro_content" : "Your Yat is a single unique emoji address that replaces all of your long hexadecimal addresses for all of your currencies.",
"third_intro_title" : "Yat plays nicely with others",
"third_intro_content" : "Yats live outside of Cake Wallet, too. Any wallet address on earth can be replaced with a Yat!",
"learn_more" : "Learn More"
"learn_more" : "Learn More",
"new_template" : "New Template"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Bienvenido",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Impresionante billetera para Monero y Bitcoin",
"first_wallet_text" : "Impresionante billetera para Monero, Bitcoin y Litecoin",
"please_make_selection" : "Seleccione a continuación para crear o recuperar su billetera.",
"create_new" : "Crear nueva billetera",
"restore_wallet" : "Restaurar billetera",
@ -394,6 +394,7 @@
"card_address" : "Dirección:",
"buy" : "Comprar",
"sell": "Vender",
"placeholder_transactions" : "Sus transacciones se mostrarán aquí",
"placeholder_contacts" : "Tus contactos se mostrarán aquí",
@ -474,6 +475,7 @@
"submit_request" : "presentar una solicitud",
"buy_alert_content" : "Actualmente solo apoyamos la compra de Bitcoin y Litecoin. Para comprar Bitcoin o Litecoin, cree o cambie a su billetera Bitcoin o Litecoin.",
"sell_alert_content": "Actualmente solo admitimos la venta de Bitcoin. Para vender Bitcoin, cree o cambie a su billetera Bitcoin.",
"outdated_electrum_wallet_description" : "Las nuevas carteras de Bitcoin creadas en Cake ahora tienen una semilla de 24 palabras. Es obligatorio que cree una nueva billetera de Bitcoin y transfiera todos sus fondos a la nueva billetera de 24 palabras, y deje de usar billeteras con una semilla de 12 palabras. Haga esto de inmediato para asegurar sus fondos.",
"understand" : "Entiendo",
@ -516,5 +518,7 @@
"second_intro_content" : "Tu Yat es una única dirección emoji única que reemplaza todas tus direcciones hexadecimales largas para todas tus monedas.",
"third_intro_title" : "Yat juega muy bien con otras",
"third_intro_content" : "Los Yats también viven fuera de Cake Wallet. Cualquier dirección de billetera en la tierra se puede reemplazar con un Yat!",
"learn_more" : "Aprende más"
"learn_more" : "Aprende más",
"new_template" : "Nueva plantilla"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "स्वागत हे सेवा मेरे",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Monero और Bitcoin के लिए बहुत बढ़िया बटुआ",
"first_wallet_text" : "Monero, Bitcoin और Litecoin के लिए बहुत बढ़िया बटुआ",
"please_make_selection" : "कृपया नीचे चयन करें अपना बटुआ बनाएं या पुनर्प्राप्त करें.",
"create_new" : "नया बटुआ बनाएँ",
"restore_wallet" : "वॉलेट को पुनर्स्थापित करें",
@ -394,6 +394,7 @@
"card_address" : "पता:",
"buy" : "खरीदें",
"sell": "बेचना",
"placeholder_transactions" : "आपके लेनदेन यहां प्रदर्शित होंगे",
"placeholder_contacts" : "आपके संपर्क यहां प्रदर्शित होंगे",
@ -474,6 +475,7 @@
"submit_request" : "एक अनुरोध सबमिट करें",
"buy_alert_content" : "वर्तमान में हम केवल बिटकॉइन और लिटकोइन की खरीद का समर्थन करते हैं। बिटकॉइन या लाइटकोइन खरीदने के लिए, कृपया अपना बिटकॉइन या लाइटकोइन वॉलेट बनाएं या स्विच करें।",
"sell_alert_content": "हम वर्तमान में केवल बिटकॉइन की बिक्री का समर्थन करते हैं। बिटकॉइन बेचने के लिए, कृपया अपना बिटकॉइन वॉलेट बनाएं या उसमें स्विच करें।",
"outdated_electrum_wallet_description" : "केक में बनाए गए नए बिटकॉइन वॉलेट में अब 24-शब्द का बीज है। यह अनिवार्य है कि आप एक नया बिटकॉइन वॉलेट बनाएं और अपने सभी फंड को नए 24-शब्द वाले वॉलेट में स्थानांतरित करें, और 12-शब्द बीज वाले वॉलेट का उपयोग करना बंद करें। कृपया अपने धन को सुरक्षित करने के लिए इसे तुरंत करें।",
"understand" : "मुझे समझ",
@ -516,5 +518,7 @@
"second_intro_content" : "आपका Yat एक अद्वितीय इमोजी पता है जो आपकी सभी मुद्राओं के लिए आपके सभी लंबे हेक्साडेसिमल पतों को बदल देता है।",
"third_intro_title" : "Yat दूसरों के साथ अच्छा खेलता है",
"third_intro_content" : "Yats Cake Wallet के बाहर भी रहता है। धरती पर किसी भी वॉलेट पते को Yat से बदला जा सकता है!",
"learn_more" : "और अधिक जानें"
"learn_more" : "और अधिक जानें",
"new_template" : "नया टेम्पलेट"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Dobrodošli na",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Odličan novčanik za Monero i Bitcoin",
"first_wallet_text" : "Odličan novčanik za Monero, Bitcoin i Litecoin",
"please_make_selection" : "Molimo odaberite opcije niže za izradu novog novčanika ili za oporavak postojećeg.",
"create_new" : "Izradi novi novčanik",
"restore_wallet" : "Oporavi novčanik",
@ -394,6 +394,7 @@
"card_address" : "Adresa:",
"buy" : "Kupi",
"sell": "Prodavati",
"placeholder_transactions" : "Vaše će transakcije biti prikazane ovdje",
"placeholder_contacts" : "Vaši će kontakti biti prikazani ovdje",
@ -474,6 +475,7 @@
"submit_request" : "podnesi zahtjev",
"buy_alert_content" : "Trenutno podržavamo samo kupnju Bitcoina i Litecoina. Da biste kupili Bitcoin ili Litecoin, stvorite ili pređite na svoj Bitcoin ili Litecoin novčanik.",
"sell_alert_content": "Trenutno podržavamo samo prodaju Bitcoina. Da biste prodali Bitcoin, stvorite ili prijeđite na svoj Bitcoin novčanik.",
"outdated_electrum_wallet_description" : "Novi Bitcoin novčanici stvoreni u Cakeu sada imaju sjeme od 24 riječi. Obavezno je stvoriti novi Bitcoin novčanik i prenijeti sva svoja sredstva u novi novčanik od 24 riječi te prestati koristiti novčanike s sjemenkom od 12 riječi. Učinite to odmah kako biste osigurali svoja sredstva.",
"understand" : "Razumijem",
@ -516,5 +518,7 @@
"second_intro_content" : "Vaš Yat jedinstvena je adresa emojija koja zamjenjuje sve vaše duge heksadecimalne adrese za sve vaše valute.",
"third_intro_title" : "Yat se lijepo igra s drugima",
"third_intro_content" : "Yats žive i izvan Cake Wallet -a. Bilo koja adresa novčanika na svijetu može se zamijeniti Yat!",
"learn_more" : "Saznajte više"
"learn_more" : "Saznajte više",
"new_template" : "novi predložak"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Benvenuto",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Fantastico portafoglio per Monero e Bitcoin",
"first_wallet_text" : "Portafoglio fantastico per Monero, Bitcoin e Litecoin",
"please_make_selection" : "Gentilmente seleziona se vuoi generare o recuperare il tuo portafoglio.",
"create_new" : "Genera nuovo Portafoglio",
"restore_wallet" : "Recupera Portafoglio",
@ -394,6 +394,7 @@
"card_address" : "Indirizzo:",
"buy" : "Compra",
"sell": "Vendere",
"placeholder_transactions" : "Le tue transazioni saranno mostrate qui",
"placeholder_contacts" : "I tuoi contatti saranno mostrati qui",
@ -474,7 +475,8 @@
"submit_request" : "invia una richiesta",
"buy_alert_content" : "Attualmente supportiamo solo l'acquisto di Bitcoin e Litecoin. Per acquistare Bitcoin o Litecoin, crea o passa al tuo portafoglio Bitcoin o Litecoin.",
"sell_alert_content": "Al momento supportiamo solo la vendita di Bitcoin. Per vendere Bitcoin, crea o passa al tuo portafoglio Bitcoin.",
"outdated_electrum_wallet_description" : "I nuovi portafogli Bitcoin creati in Cake ora hanno un seme di 24 parole. È obbligatorio creare un nuovo portafoglio Bitcoin e trasferire tutti i fondi nel nuovo portafoglio di 24 parole e smettere di usare portafogli con un seme di 12 parole. Ti preghiamo di farlo immediatamente per proteggere i tuoi fondi.",
"understand" : "Capisco",
@ -516,5 +518,7 @@
"second_intro_content" : "Il tuo Yat è un unico indirizzo emoji univoco che sostituisce tutti i tuoi lunghi indirizzi esadecimali per tutte le tue valute.",
"third_intro_title" : "Yat gioca bene con gli altri",
"third_intro_content" : "Anche Yats vive fuori da Cake Wallet. Qualsiasi indirizzo di portafoglio sulla terra può essere sostituito con un Yat!",
"learn_more" : "Impara di più"
"learn_more" : "Impara di più",
"new_template" : "Nuovo modello"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "ようこそ に",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Moneroとビットコインのための素晴らしい財布",
"first_wallet_text" : "Monero、Bitcoin、Litecoin用の素晴らしいウォレット",
"please_make_selection" : "以下を選択してください ウォレットを作成または回復する.",
"create_new" : "新しいウォレットを作成",
"restore_wallet" : "ウォレットを復元",
@ -394,6 +394,7 @@
"card_address" : "住所:",
"buy" : "購入",
"sell": "売る",
"placeholder_transactions" : "あなたの取引はここに表示されます",
"placeholder_contacts" : "連絡先はここに表示されます",
@ -474,6 +475,7 @@
"submit_request" : "リクエストを送信する",
"buy_alert_content" : "現在、ビットコインとライトコインの購入のみをサポートしています。 ビットコインまたはライトコインを購入するには、ビットコインまたはライトコインのウォレットを作成するか、ウォレットに切り替えてください。",
"sell_alert_content": "現在、ビットコインの販売のみをサポートしています。ビットコインを販売するには、ビットコインウォレットを作成するか切り替えてください。",
"outdated_electrum_wallet_description" : "Cakeで作成された新しいビットコインウォレットには、24ワードのシードがあります。 新しいビットコインウォレットを作成し、すべての資金を新しい24ワードのウォレットに転送し、12ワードのシードを持つウォレットの使用を停止することが必須です。 あなたの資金を確保するためにこれをすぐに行ってください。",
"understand" : "わかります",
@ -516,5 +518,7 @@
"second_intro_content" : "Yatは、すべての通貨のすべての長い16進アドレスを置き換える単一の一意の絵文字アドレスです。",
"third_intro_title" : "Yatは他の人とうまく遊ぶ",
"third_intro_content" : "YatsはCakeWalletの外にも住んでいます。 地球上のどのウォレットアドレスもYatに置き換えることができます",
"learn_more" : "もっと詳しく知る"
"learn_more" : "もっと詳しく知る",
"new_template" : "新しいテンプレート"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "환영 에",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Monero 및 Bitcoin을위한 멋진 지갑",
"first_wallet_text" : "Monero, Bitcoin 및 Litecoin을 위한 멋진 지갑",
"please_make_selection" : "아래에서 선택하십시오 지갑 만들기 또는 복구.",
"create_new" : "새 월렛 만들기",
"restore_wallet" : "월렛 복원",
@ -394,6 +394,7 @@
"card_address" : "주소:",
"buy" : "구입",
"sell": "팔다",
"placeholder_transactions" : "거래가 여기에 표시됩니다",
"placeholder_contacts" : "연락처가 여기에 표시됩니다",
@ -474,6 +475,7 @@
"submit_request" : "요청을 제출",
"buy_alert_content" : "현재 우리는 비트 코인과 라이트 코인 구매 만 지원합니다. 비트 코인 또는 라이트 코인을 구매하려면 비트 코인 또는 라이트 코인 지갑을 생성하거나 전환하십시오.",
"sell_alert_content": "현재 비트코인 ​​판매만 지원합니다. 비트코인을 판매하려면 비트코인 ​​지갑을 생성하거나 전환하세요.",
"outdated_electrum_wallet_description" : "Cake에서 생성 된 새로운 비트 코인 지갑에는 이제 24 단어 시드가 있습니다. 새로운 비트 코인 지갑을 생성하고 모든 자금을 새로운 24 단어 지갑으로 이체하고 12 단어 시드가있는 지갑 사용을 중지해야합니다. 자금을 확보하려면 즉시이 작업을 수행하십시오.",
"understand" : "이해 했어요",
@ -516,5 +518,7 @@
"second_intro_content" : "귀하의 Yat는 귀하의 모든 통화에 대해 긴 16진수 주소를 모두 대체하는 고유한 단일 이모지 주소입니다.",
"third_intro_title" : "Yat는 다른 사람들과 잘 놉니다.",
"third_intro_content" : "Yats는 Cake Wallet 밖에서도 살고 있습니다. 지구상의 모든 지갑 주소는 Yat!",
"learn_more" : "더 알아보기"
"learn_more" : "더 알아보기",
"new_template" : "새 템플릿"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Welkom bij",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Geweldige portemonnee voor Monero en Bitcoin",
"first_wallet_text" : "Geweldige portemonnee voor Monero, Bitcoin en Litecoin",
"please_make_selection" : "Maak hieronder uw keuze tot maak of herstel je portemonnee.",
"create_new" : "Maak een nieuwe portemonnee",
"restore_wallet" : "Portemonnee herstellen",
@ -394,6 +394,7 @@
"card_address" : "Adres:",
"buy" : "Kopen",
"sell": "Verkopen",
"placeholder_transactions" : "Uw transacties worden hier weergegeven",
"placeholder_contacts" : "Je contacten worden hier weergegeven",
@ -474,6 +475,7 @@
"submit_request" : "een verzoek indienen",
"buy_alert_content" : "Momenteel ondersteunen we alleen de aankoop van Bitcoin en Litecoin. Om Bitcoin of Litecoin te kopen, maakt u uw Bitcoin- of Litecoin-portemonnee aan of schakelt u over naar deze.",
"sell_alert_content": "We ondersteunen momenteel alleen de verkoop van Bitcoin. Om Bitcoin te verkopen, maakt u uw Bitcoin-portemonnee aan of schakelt u over naar deze.",
"outdated_electrum_wallet_description" : "Nieuwe Bitcoin-portefeuilles die in Cake zijn gemaakt, hebben nu een zaadje van 24 woorden. Het is verplicht dat u een nieuwe Bitcoin-portemonnee maakt en al uw geld overmaakt naar de nieuwe portemonnee van 24 woorden, en stopt met het gebruik van wallets met een seed van 12 woorden. Doe dit onmiddellijk om uw geld veilig te stellen.",
"understand" : "Ik begrijp het",
@ -516,5 +518,7 @@
"second_intro_content" : "Je Yat is een enkel uniek emoji-adres dat al je lange hexadecimale adressen vervangt voor al je valuta's.",
"third_intro_title" : "Yat speelt leuk met anderen",
"third_intro_content" : "Yats wonen ook buiten Cake Wallet. Elk portemonnee-adres op aarde kan worden vervangen door een Yat!",
"learn_more" : "Kom meer te weten"
"learn_more" : "Kom meer te weten",
"new_template" : "Nieuwe sjabloon"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Witamy w",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Niesamowity portfel dla Monero i Bitcoin",
"first_wallet_text" : "Świetny portfel na Monero, Bitcoin i Litecoin",
"please_make_selection" : "Wybierz poniżej, aby cutwórz lub odzyskaj swój portfel.",
"create_new" : "Utwórz nowy portfel",
"restore_wallet" : "Przywróć portfel",
@ -394,6 +394,7 @@
"card_address" : "Adres:",
"buy" : "Kup",
"sell": "Sprzedać",
"placeholder_transactions" : "Twoje transakcje zostaną wyświetlone tutaj",
"placeholder_contacts" : "Twoje kontakty zostaną wyświetlone tutaj",
@ -474,6 +475,7 @@
"submit_request" : "złożyć wniosek",
"buy_alert_content" : "Obecnie obsługujemy tylko zakup Bitcoin i Litecoin. Aby kupić Bitcoin lub Litecoin, utwórz lub przełącz się na swój portfel Bitcoin lub Litecoin.",
"sell_alert_content": "Obecnie obsługujemy tylko sprzedaż Bitcoina. Aby sprzedać Bitcoin, utwórz lub przełącz się na swój portfel Bitcoin.",
"outdated_electrum_wallet_description" : "Nowe portfele Bitcoin utworzone w Cake mają teraz ziarno składające się z 24 słów. Konieczne jest utworzenie nowego portfela Bitcoin i przeniesienie wszystkich środków do nowego portfela na 24 słowa oraz zaprzestanie korzystania z portfeli z zalążkiem na 12 słów. Zrób to natychmiast, aby zabezpieczyć swoje fundusze.",
"understand" : "Rozumiem",
@ -516,5 +518,7 @@
"second_intro_content" : "Twój Yat to jeden unikalny adres emoji, który zastępuje wszystkie Twoje długie adresy szesnastkowe dla wszystkich Twoich walut.",
"third_intro_title" : "Yat ładnie bawi się z innymi",
"third_intro_content" : "Yats mieszkają również poza Cake Wallet. Każdy adres portfela na ziemi można zastąpić Yat!",
"learn_more" : "Ucz się więcej"
"learn_more" : "Ucz się więcej",
"new_template" : "Nowy szablon"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Bem-vindo ao",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Uma fantástica carteira para Monero e Bitcoin",
"first_wallet_text" : "Carteira incrível para Monero, Bitcoin e Litecoin",
"please_make_selection" : "Escolha se quer criar uma carteira nova ou restaurar uma antiga.",
"create_new" : "Criar nova carteira",
"restore_wallet" : "Restaurar carteira",
@ -394,6 +394,7 @@
"card_address" : "Endereço:",
"buy" : "Comprar",
"sell": "Vender",
"placeholder_transactions" : "Suas transações serão exibidas aqui",
"placeholder_contacts" : "Seus contatos serão exibidos aqui",
@ -474,6 +475,7 @@
"submit_request" : "enviar um pedido",
"buy_alert_content" : "Atualmente, apoiamos apenas a compra de Bitcoin e Litecoin. Para comprar Bitcoin ou Litecoin, crie ou troque para sua carteira Bitcoin ou Litecoin.",
"sell_alert_content": "Atualmente, apoiamos apenas a venda de Bitcoin. Para vender Bitcoin, crie ou mude para sua carteira Bitcoin.",
"outdated_electrum_wallet_description" : "As novas carteiras Bitcoin criadas no Cake agora têm uma semente de 24 palavras. É obrigatório que você crie uma nova carteira Bitcoin e transfira todos os seus fundos para a nova carteira de 24 palavras, e pare de usar carteiras com semente de 12 palavras. Faça isso imediatamente para garantir seus fundos.",
"understand" : "Entendo",
@ -516,5 +518,7 @@
"second_intro_content" : "Seu Yat é um endereço de emoji único e exclusivo que substitui todos os seus endereços hexadecimais longos para todas as suas moedas.",
"third_intro_title" : "Yat joga bem com os outros",
"third_intro_content" : "Yats também mora fora da Cake Wallet. Qualquer endereço de carteira na Terra pode ser substituído por um Yat!",
"learn_more" : "Saber mais"
"learn_more" : "Saber mais",
"new_template" : "Novo modelo"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Приветствуем в",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "В самом удобном кошельке для Monero и Bitcoin",
"first_wallet_text" : "В самом удобном кошельке для Monero, Bitcoin и Litecoin",
"please_make_selection" : "Выберите способ создания кошелька: создать новый или восстановить ваш существующий.",
"create_new" : "Создать новый кошелёк",
"restore_wallet" : "Восстановить кошелёк",
@ -394,6 +394,7 @@
"card_address" : "Адрес:",
"buy" : "Купить",
"sell": "Продавать",
"placeholder_transactions" : "Ваши транзакции будут отображаться здесь",
"placeholder_contacts" : "Ваши контакты будут отображаться здесь",
@ -474,6 +475,7 @@
"submit_request" : "отправить запрос",
"buy_alert_content" : "В настоящее время мы поддерживаем только покупку Bitcoin и Litecoin. Чтобы купить Bitcoin или Litecoin, создайте или переключитесь на свой Bitcoin или Litecoin кошелек.",
"sell_alert_content": "В настоящее время мы поддерживаем только продажу биткойнов. Чтобы продать биткойны, создайте или переключитесь на свой биткойн-кошелек.",
"outdated_electrum_wallet_description" : "Новые биткойн-кошельки, созданные в Cake, теперь содержат мнемоническую фразу из 24 слов. Вы обязательно должны создать новый биткойн-кошелек и перевести все свои средства в новый кошелек из 24 слов, а также прекратить использование кошельков с мнемонической фразой из 12 слов. Пожалуйста, сделайте это немедленно, чтобы обезопасить свои средства.",
"understand" : "Понятно",
@ -516,5 +518,7 @@
"second_intro_content" : "Ваш Yat - это единственный уникальный адрес эмодзи, который заменяет длинные шестнадцатеричные адреса для всех ваших валют.",
"third_intro_title" : "Yat хорошо взаимодействует с другими",
"third_intro_content" : "Yat находятся за пределами Cake Wallet. Любой адрес кошелька на земле можно заменить на Yat!",
"learn_more" : "Узнать больше"
"learn_more" : "Узнать больше",
"new_template" : "Новый шаблон"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "Вітаємо в",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "В самому зручному гаманці для Monero та Bitcoin",
"first_wallet_text" : "В самому зручному гаманці для Monero, Bitcoin та Litecoin",
"please_make_selection" : "Оберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.",
"create_new" : "Створити новий гаманець",
"restore_wallet" : "Відновити гаманець",
@ -394,6 +394,7 @@
"card_address" : "Адреса:",
"buy" : "Купити",
"sell": "Продати",
"placeholder_transactions" : "Тут відображатимуться ваші транзакції",
"placeholder_contacts" : "Тут будуть показані ваші контакти",
@ -474,6 +475,7 @@
"submit_request" : "надіслати запит",
"buy_alert_content" : "В даний час ми підтримуємо лише придбання Bitcoin та Litecoin. Щоб купити Bitcoin або Litecoin, будь ласка, створіть або перейдіть на свій гаманець Bitcoin або Litecoin.",
"sell_alert_content": "Наразі ми підтримуємо лише продаж біткойнів. Щоб продати біткойн, створіть або перейдіть на свій біткойн-гаманець.",
"outdated_electrum_wallet_description" : "Нові біткойн-гаманці, створені в Cake, тепер містять мнемонічну фразу з 24 слів. Обов’язково стовріть новий біткойн-гаманець, переведіть всі кошти на новий гаманець із 24 слів і припиніть використання гаманців із мнемонічною фразою з 12 слів. Зробіть це негайно, щоб убезпечити свої кошти.",
"understand" : "Зрозуміло",
@ -516,5 +518,7 @@
"second_intro_content" : "Ваш Yat - це єдина унікальна адреса емодзі, яка замінює довгі шістнадцятиричні адреси для всіх ваших валют.",
"third_intro_title" : "Yat добре взаємодіє з іншими",
"third_intro_content" : "Yat знаходиться за межами Cake Wallet. Будь-яку адресу гаманця на землі можна замінити на Yat!",
"learn_more" : "Дізнатися більше"
"learn_more" : "Дізнатися більше",
"new_template" : "Новий шаблон"
}

View file

@ -1,7 +1,7 @@
{
"welcome" : "欢迎使用",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "很棒的门罗币和比特币钱包",
"first_wallet_text" : "门罗币、比特币和莱特币的超棒钱包",
"please_make_selection" : "请在下面进行选择 创建或恢复您的钱包.",
"create_new" : "创建新钱包",
"restore_wallet" : "恢复钱包",
@ -516,5 +516,7 @@
"second_intro_content" : "您的 Yat 是一個唯一的表情符號地址,可替換您所有貨幣的所有長十六進制地址。",
"third_intro_title" : "Yat 和別人玩得很好",
"third_intro_content" : "Yats 也住在 Cake Wallet 之外。 地球上任何一個錢包地址都可以用一個Yat來代替",
"learn_more" : "了解更多"
"learn_more" : "了解更多",
"new_template" : "新模板"
}

View file

@ -19,8 +19,8 @@ MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
MONERO_COM_PACKAGE="com.monero.app"
CAKEWALLET_NAME="Cake Wallet"
CAKEWALLET_VERSION="4.3.0"
CAKEWALLET_BUILD_NUMBER=71
CAKEWALLET_VERSION="4.3.1"
CAKEWALLET_BUILD_NUMBER=72
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"

View file

@ -17,8 +17,8 @@ MONERO_COM_BUILD_NUMBER=6
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
CAKEWALLET_NAME="Cake Wallet"
CAKEWALLET_VERSION="4.3.0"
CAKEWALLET_BUILD_NUMBER=72
CAKEWALLET_VERSION="4.3.1"
CAKEWALLET_BUILD_NUMBER=73
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
if ! [[ " ${TYPES[*]} " =~ " ${APP_IOS_TYPE} " ]]; then