diff --git a/backupRecovery.md b/backupRecovery.md new file mode 100644 index 000000000..b1febd553 --- /dev/null +++ b/backupRecovery.md @@ -0,0 +1,74 @@ + + +# Copay Backup and Restore Notes + +## Description + +Copay is a Multisig HD Wallet. Copay app holds the extended private keys for the wallet. The private key never leaves the device, so for accessing a wallet funds it is necesary to have the device or a backup of the wallet. + +## Definitions + +### Backup Formats: + * Wallet Seed (WS): 12 words mnemonic backup (available from Copay v1.2+). The 12 words are used as wallet seed, following BIP39 specification. The wallet seed may require a passphrase to recreate the wallet (if one was specified at creation time). + * Wallet Backup (WB): Exported data from Copay, containing an AES encrypted JSON with many wallet parameters (like extended private key, wallet name, extended public keys of copayers, etc. See #export-format). This data can be created from Copay v1.2+ (Settings -> Export) and it was the default backup format on previous Copay versions. WB can be a file (standard format for Copay desktop versions) or a text (standard for Copay mobile versions). + +### Backup recovery cases + * Case 1: Loss of device holding the wallet + * Case 2: Change to a new Bitcore Wallet Service (BWS) + * Case 3: Lost device + new Bitcore Wallet Service + +### Wallet Recovery Scope +* Basic Recovery: Wallet access is restored. It is possible to see wallet balance and past transactions. It is possible to send and receive payments. + * Full Recovery: All the features of Partial Recovery + wallet name, copayer names are recovered, past payment proposal metadata (who signed, and notes) are recoved. + +## Wallet Restore Scenarios + +### Non-multisig wallets + + Case 1: From both WS and WB, full recovery is possible. + - Enter the WS or the WB at 'Import wallet' in a new device. + - Wallet access should be restored. + + Case 2: Basic recovery is possible using the device where the wallet is installed, pointing to the new server (Recreate wallet feature). + - Point to the new server (Settings -> Bitcore Wallet Service). + - If the wallet is not registered at the new Wallet service, a 'Recreate' button will appear at wallet's home. Click it to recreate the wallet. + - Wallet should be recreated and access to funds should be restored. + - If the wallet existed, it may be necessary to rescan Wallet's addresses for funds (from Settings -> Advanced -> Scan Addresses for Funds) + + Case 3: From both Backup Words and Backup file, basic recovery is possible. + (Using WS) + - Enter the WS at 'Import Wallet' + If the error "This wallet is not registered at the wallet service" appears: + - Go to 'Create Wallet', and enter the WS at 'Advanced Options'. Select a new name for the restored wallet. Total and required number of copayers should be set to 1. + - Wallet should be recreated and access to funds should be restored. + + (Using WD) + - Enter the WD at 'Import Wallet' + - Wallet should be recreated and access to funds should be restored. + + +### Multisig wallets + + Case 1: From both WS and WD, full recovery is possible. + - Enter WS or WD at 'Import wallet' in a new device. + - Wallet access should be restored. + + Case 2: Basic recovery is possible using the device where the wallet is installed, pointing the the new server (Recreate Wallet feature). + - Point to the new server (Settings -> Bitcore Wallet Service). + - If the wallet is not registered at the new Wallet service, a 'Recreate' button will appear at wallet's home. Click it to recreate the wallet. + - Wallet should be recreated and access to funds should be restored. + - If the wallet existed, it may be necessary to rescan Wallet's addresses for funds (from Settings -> Advanced -> Scan Addresses for Funds) + + Case 3: Basic recovery is possible using: + + A) WS of all copayers in the wallet + - Enter one WS at Create (at the Advanced option section). Note that the wallet configuration (M-of-N and network paramenters) needs to match the parameters that where entered when the wallet was first created. Wallet name and copayer nicknames need to be entered also, but there is no need for them to match the original wallet setup. + - Ask other copayers to join the wallet using the given invitation code. All copayers need to enter their WS at Join (at -> Advanced Options -> Wallet Seed). + - Wallet should be recreated and access to funds should be restored. + + B) One WD and a quorum of WS of the other members. + - Using the WD, import the wallet. + - Ask other copayers to import the wallet using their WS. + - Wallet should be recreated and funds should be accesable + + In this case, Copayers will not be able to decrypt the 'notes' field on the new Spend Proposals, because the shared secret stored at the WD is not longer known by other copayers. diff --git a/bower.json b/bower.json index d9ad490ab..a029fe195 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,7 @@ "ng-lodash": "~0.2.0", "angular-moment": "0.10.1", "moment": "2.10.3", - "angular-bitcore-wallet-client": "0.1.2", + "angular-bitcore-wallet-client": "0.3.0", "angular-ui-router": "~0.2.13", "qrcode-decoder-js": "*", "fastclick": "*", diff --git a/i18n/po/template.pot b/i18n/po/template.pot index ef2c56325..0f16e3df8 100644 --- a/i18n/po/template.pot +++ b/i18n/po/template.pot @@ -4,21 +4,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Project-Id-Version: \n" +#: public/views/buyGlidera.html +#: public/views/sellGlidera.html +msgid "(Enter the amount to get the exchange rate)" +msgstr "" + #: public/views/walletHome.html msgid "(possible double spend)" msgstr "" #: src/js/controllers/walletHome.js -msgid "{{fee}} will be discounted for bitcoin networking fees" -msgstr "" - -#: public/views/copayers.html -#: public/views/walletHome.html -msgid "{{index.m}}-of-{{index.n}}" -msgstr "" - -#: public/views/includes/sidebar.html -msgid "{{item.m}}-of-{{item.n}}" +msgid "{{fee}} will be deducted for bitcoin networking fees" msgstr "" #: src/js/controllers/importLegacy.js @@ -30,28 +26,65 @@ msgid "* A payment proposal can be deleted if 1) you are the creator, and no oth msgstr "" #: public/views/backup.html -msgid "* You can safely install your backup on another device and use your wallet from multiple devices at the same time." +msgid "OR 1 wallet export file and the remaining quorum of wallet seeds (e.g. in a 3-5 wallet: 1 wallet export file + 2 wallet seeds of any of the other copayers)." msgstr "" #: public/views/backup.html -msgid "A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals." +msgid "OR the wallet seed of all copayers in the wallet" +msgstr "" + +#: public/views/backup.html +msgid "OR the wallet seeds of all copayers in the wallet" msgstr "" #: public/views/splash.html msgid "A multisignature bitcoin wallet" msgstr "" +#: public/views/buyGlidera.html +#: public/views/sellGlidera.html +msgid "" +"A SMS containing a confirmation code was sent to your phone.
\n" +" Please, enter the code below" +msgstr "" + +#: public/views/buyGlidera.html +msgid "A transfer has been initiated from your bank account. Your bitcoins should arrive to your wallet in 4-6 business days." +msgstr "" + +#: public/views/sellGlidera.html +msgid "A transfer has been initiated to your bank account and should arrive in 4-6 business days." +msgstr "" + #: public/views/preferences.html msgid "About Copay" msgstr "" #: public/views/modals/txp-details.html +#: src/js/services/confirmDialog.js #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js #: src/js/controllers/walletHome.js msgid "Accept" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Account" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Active" +msgstr "" + +#: public/views/glidera.html +msgid "Activity" +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "Add an optional passphrase to secure the seed" +msgstr "" + #: public/views/includes/sidebar.html msgid "Add wallet" msgstr "" @@ -62,8 +95,12 @@ msgstr "" msgid "Address" msgstr "" -#: public/views/preferencesInformation.html -msgid "Address Type" +#: public/views/preferencesGlidera.html +msgid "Address 1" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Address 2" msgstr "" #: public/views/preferences.html @@ -94,7 +131,9 @@ msgstr "" msgid "Alternative Currency" msgstr "" +#: public/views/buyGlidera.html #: public/views/paymentUri.html +#: public/views/sellGlidera.html #: public/views/walletHome.html #: public/views/includes/output.html #: public/views/modals/customized-amount.html @@ -106,6 +145,8 @@ msgstr "" msgid "Amount below dust threshold" msgstr "" +#: public/views/buyGlidera.html +#: public/views/sellGlidera.html #: public/views/walletHome.html #: public/views/modals/customized-amount.html msgid "Amount in" @@ -115,6 +156,10 @@ msgstr "" msgid "Applying changes" msgstr "" +#: src/js/controllers/backup.js +msgid "Are you sure you want to delete the backup words?" +msgstr "" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "Are you sure you want to delete this wallet?" @@ -130,6 +175,7 @@ msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes" msgstr "" #: public/views/includes/topbar.html +#: public/views/modals/glidera-tx-details.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html msgid "Back" @@ -139,33 +185,40 @@ msgstr "" msgid "Backup" msgstr "" -#: src/js/controllers/backup.js -msgid "Backup created" -msgstr "" - #: public/views/walletHome.html msgid "Backup now" msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "Backup options" msgstr "" +#: src/js/controllers/backup.js +msgid "Backup words deleted" +msgstr "" + #: src/js/services/profileService.js msgid "Bad wallet invitation" msgstr "" -#: public/views/preferencesInformation.html -msgid "Balance By Address" +#: public/views/preferencesGlidera.html +msgid "Bank Account Is Setup" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Bank Account State" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Basic Information State" msgstr "" #: public/views/walletHome.html msgid "Before receiving funds, it is highly recommended you backup your wallet keys." msgstr "" -#: public/views/create.html -#: public/views/join.html -msgid "BIP32 master extended private key" +#: public/views/preferencesGlidera.html +msgid "Birth Date" msgstr "" #: public/views/walletHome.html @@ -184,6 +237,15 @@ msgstr "" msgid "Bitcoin URI is NOT valid!" msgstr "" +#: public/views/sellGlidera.html +msgid "Bitcoins will be immediately sent from your wallet to Glidera. Fiat will be deposited in your bank account in 4-6 business days." +msgstr "" + +#: public/views/glidera.html +#: public/views/modals/glidera-tx-details.html +msgid "Bought" +msgstr "" + #: public/views/modals/txp-details.html msgid "Broadcast Payment" msgstr "" @@ -200,9 +262,32 @@ msgstr "" msgid "Browser unsupported" msgstr "" +#: public/views/buyGlidera.html +#: public/views/preferencesGlidera.html +msgid "Buy" +msgstr "" + +#: public/views/glidera.html +msgid "Buy Bitcoin" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Buy/Sell" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Buy/Sell Disabled (pending first transaction)" +msgstr "" + +#: src/js/controllers/buyGlidera.js +msgid "Buying bitcoin..." +msgstr "" + #: public/views/copayers.html #: public/views/walletHome.html #: public/views/modals/confirmation.html +#: public/views/modals/glidera-confirmation.html +#: src/js/services/confirmDialog.js #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js #: src/js/controllers/walletHome.js @@ -233,6 +318,10 @@ msgstr "" msgid "Choose a wallet to send funds" msgstr "" +#: public/views/preferencesGlidera.html +msgid "City" +msgstr "" + #: public/views/includes/topbar.html #: public/views/modals/advancedSend.html #: public/views/modals/copayers.html @@ -251,6 +340,7 @@ msgstr "" msgid "Commit hash" msgstr "" +#: src/js/services/confirmDialog.js #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js #: src/js/controllers/walletHome.js @@ -261,12 +351,33 @@ msgstr "" msgid "Confirmations" msgstr "" -#: src/js/services/bwsError.js -msgid "Copayer already in this wallet" +#: public/views/glidera.html +msgid "Connect to Glidera" +msgstr "" + +#: public/views/glidera.html +msgid "Connect your Glidera account to get started" +msgstr "" + +#: public/views/glidera.html +#: public/views/glideraUri.html +#: src/js/controllers/index.js +msgid "Connecting to Glidera..." +msgstr "" + +#: public/views/create.html +#: public/views/import.html +#: public/views/join.html +msgid "Connecting to Ledger Wallet..." +msgstr "" + +#: public/views/buyGlidera.html +#: public/views/sellGlidera.html +msgid "Continue" msgstr "" #: src/js/services/bwsError.js -msgid "Copayer already registered" +msgid "Copayer already in this wallet" msgstr "" #: src/js/services/bwsError.js @@ -281,24 +392,25 @@ msgstr "" msgid "Copayers" msgstr "" -#: src/js/controllers/backup.js #: src/js/controllers/copayers.js +#: src/js/controllers/export.js #: src/js/controllers/walletHome.js msgid "Copied to clipboard" msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "Copy backup to a safe place" msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "Copy this text as it is to a safe place (notepad or email)" msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "Copy to clipboard" msgstr "" +#: src/js/controllers/sellGlidera.js #: src/js/controllers/walletHome.js msgid "Could not accept payment" msgstr "" @@ -323,6 +435,14 @@ msgstr "" msgid "Could not create using the specified extended private key" msgstr "" +#: src/js/services/profileService.js +msgid "Could not create using the specified extended public key" +msgstr "" + +#: src/js/services/profileService.js +msgid "Could not create: Invalid wallet seed" +msgstr "" + #: src/js/controllers/import.js msgid "Could not decrypt file, check your password" msgstr "" @@ -339,12 +459,21 @@ msgstr "" msgid "Could not fetch transaction history" msgstr "" -#: src/js/services/profileService.js -msgid "Could not import. Check input file and password" +#: src/js/controllers/buyGlidera.js +#: src/js/controllers/sellGlidera.js +msgid "Could not get exchange information. Please, try again." +msgstr "" + +#: src/js/controllers/sellGlidera.js +msgid "Could not get the destination bitcoin address" msgstr "" #: src/js/services/profileService.js -msgid "Could not join using the specified extended private key" +msgid "Could not import" +msgstr "" + +#: src/js/services/profileService.js +msgid "Could not import. Check input file and password" msgstr "" #: src/js/services/profileService.js @@ -359,6 +488,11 @@ msgstr "" msgid "Could not reject payment" msgstr "" +#: src/js/controllers/buyGlidera.js +#: src/js/controllers/sellGlidera.js +msgid "Could not send confirmation code to your phone" +msgstr "" + #: src/js/controllers/walletHome.js msgid "Could not send payment" msgstr "" @@ -367,6 +501,10 @@ msgstr "" msgid "Could not update Wallet" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Country" +msgstr "" + #: public/views/walletHome.html msgid "Create" msgstr "" @@ -405,6 +543,31 @@ msgstr "" msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Daily Buy" +msgstr "" + +#: public/views/buyGlidera.html +msgid "Daily buy limit" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Daily Buy Remaining" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Daily Sell" +msgstr "" + +#: public/views/sellGlidera.html +msgid "Daily sell limit" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Daily Sell Remaining" +msgstr "" + +#: public/views/modals/glidera-tx-details.html #: public/views/modals/tx-details.html msgid "Date" msgstr "" @@ -425,15 +588,16 @@ msgstr "" msgid "Delete Wallet" msgstr "" +#: public/views/backup.html +msgid "DELETE WORDS" +msgstr "" + #: src/js/controllers/walletHome.js msgid "Deleting payment" msgstr "" -#: public/views/preferencesInformation.html -msgid "Derivation Strategy" -msgstr "" - #: public/views/modals/customized-amount.html +#: public/views/modals/glidera-tx-details.html #: public/views/modals/paypro.html #: public/views/modals/tx-details.html #: public/views/modals/txp-details.html @@ -444,15 +608,15 @@ msgstr "" msgid "Disabled" msgstr "" -#: public/views/backup.html -msgid "Do not include private key in backup" +#: public/views/export.html +msgid "Do not include private key" msgstr "" #: public/views/translators.html msgid "Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language." msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "Download backup" msgstr "" @@ -464,26 +628,39 @@ msgstr "" msgid "Economy" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Email" +msgstr "" + #: public/views/preferencesEmail.html -msgid "Email for wallet notifications" +msgid "email for wallet notifications" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Email Is Setup" msgstr "" #: public/views/preferences.html msgid "Email Notifications" msgstr "" -#: public/views/preferences.html -msgid "Encrypt Private Key" +#: src/js/controllers/export.js +msgid "Encrypted export file saved" msgstr "" -#: src/js/controllers/backup.js -msgid "Encrypted backup file saved" +#: public/views/create.html +#: public/views/join.html +msgid "Enter the seed words (BIP39)" msgstr "" #: public/views/includes/password.html msgid "Enter your password" msgstr "" +#: src/js/controllers/sellGlidera.js +msgid "Error" +msgstr "" + #: src/js/controllers/index.js msgid "Error at Wallet Service" msgstr "" @@ -501,12 +678,17 @@ msgstr "" msgid "Expires" msgstr "" -#: public/views/preferencesInformation.html -msgid "Extended Public Keys" +#: public/views/preferences.html +#: public/views/preferencesAdvanced.html +msgid "Export" msgstr "" -#: public/views/backup.html -msgid "Failed to create backup" +#: public/views/includes/walletInfo.html +msgid "External Private Key:" +msgstr "" + +#: public/views/export.html +msgid "Failed to export" msgstr "" #: src/js/controllers/importLegacy.js @@ -530,11 +712,27 @@ msgstr "" msgid "Fee policy for this transaction" msgstr "" +#: public/views/modals/glidera-tx-details.html +msgid "Fees" +msgstr "" + #. Get information of payment if using Payment Protocol #: src/js/controllers/walletHome.js msgid "Fetching Payment Information" msgstr "" +#: public/views/buyGlidera.html +msgid "Fiat will be immediately withdrawn from your bank account. The bitcoins will be purchased and deposited to your wallet ({{index.walletName}}) in 2-4 business days." +msgstr "" + +#: public/views/import.html +msgid "File/Text Backup" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "First Name" +msgstr "" + #: public/views/translators.html msgid "French" msgstr "" @@ -571,11 +769,24 @@ msgstr "" msgid "Getting address for wallet {{selectedWalletName}} ..." msgstr "" +#: src/js/controllers/index.js +msgid "Getting Glidera Email..." +msgstr "" + +#: src/js/controllers/index.js +msgid "Getting Glidera Personal Information..." +msgstr "" + +#: src/js/controllers/index.js +msgid "Getting Glidera transactions..." +msgstr "" + #: public/views/preferences.html msgid "Global settings" msgstr "" #: public/views/disclaimer.html +#: public/views/glidera.html msgid "Go back" msgstr "" @@ -583,17 +794,25 @@ msgstr "" msgid "Greek" msgstr "" +#: public/views/preferences.html +msgid "Hardware wallet" +msgstr "" + #: public/views/import.html msgid "Have a Backup from Copay v0.9?" msgstr "" -#: public/views/backup.html #: public/views/create.html +#: public/views/import.html #: public/views/join.html #: public/views/walletHome.html msgid "Hide advanced options" msgstr "" +#: public/views/backup.html +msgid "Hide Wallet Seed" +msgstr "" + #: src/js/controllers/index.js msgid "History" msgstr "" @@ -606,11 +825,7 @@ msgstr "" msgid "I affirm that I have read, understood, and agree with these terms." msgstr "" -#: public/views/create.html -#: public/views/join.html -msgid "If not given, a secure key will be generated" -msgstr "" - +#: public/views/import.html #: public/views/importLegacy.html msgid "Import" msgstr "" @@ -697,15 +912,42 @@ msgstr "" msgid "Language" msgstr "" -#: public/views/preferencesInformation.html -msgid "Last Wallet Addresses" +#: public/views/preferencesGlidera.html +msgid "Last Name" +msgstr "" + +#: public/views/backup.html +msgid "Learn more about Copay backups" msgstr "" #: public/views/importLegacy.html msgid "Learn more about Wallet Migration" msgstr "" -#: src/js/routes.js +#: public/views/import.html +msgid "Ledger" +msgstr "" + +#: public/views/create.html +#: public/views/import.html +#: public/views/join.html +msgid "Ledger Slot" +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "Ledger supports up to 20 Copay wallets simultaneously. Select which slot should be used to host this wallet" +msgstr "" + +#: public/views/import.html +msgid "Ledger supports up to 20 Copay wallets simultaneously. Select which slot to import" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Limits" +msgstr "" + +#: src/js/controllers/disclaimer.js msgid "Loading..." msgstr "" @@ -725,11 +967,6 @@ msgstr "" msgid "Make a payment to" msgstr "" -#: public/views/create.html -#: public/views/join.html -msgid "Master extended private key" -msgstr "" - #: public/views/includes/copayers.html #: public/views/modals/copayers.html #: public/views/modals/tx-details.html @@ -749,6 +986,34 @@ msgstr "" msgid "Message" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Middle Name" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Monthly Buy" +msgstr "" + +#: public/views/buyGlidera.html +msgid "Monthly buy limit" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Monthly Buy Remaining" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Monthly Sell" +msgstr "" + +#: public/views/sellGlidera.html +msgid "Monthly sell limit" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Monthly Sell Remaining" +msgstr "" + #: public/views/walletHome.html msgid "More" msgstr "" @@ -777,7 +1042,11 @@ msgstr "" msgid "New Payment Proposal" msgstr "" -#: public/views/walletHome.html +#: public/views/glidera.html +msgid "No activity in your account" +msgstr "" + +#: public/views/includes/walletInfo.html msgid "No Private key" msgstr "" @@ -805,8 +1074,27 @@ msgstr "" msgid "Note" msgstr "" -#: public/views/preferencesInformation.html -msgid "Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time." +#: public/views/preferencesGlidera.html +msgid "Occupation" +msgstr "" + +#: public/views/copayers.html +#: public/views/walletHome.html +#: public/views/includes/sidebar.html +msgid "of" +msgstr "" + +#: public/views/includes/alert.html +#: public/views/includes/password.html +msgid "OK" +msgstr "" + +#: public/views/modals/tx-status.html +msgid "OKAY" +msgstr "" + +#: public/views/backup.html +msgid "Once you have copy your wallet seed, it is recommended to delete it from this device." msgstr "" #: public/views/walletHome.html @@ -819,12 +1107,12 @@ msgid "Participants" msgstr "" #: public/views/import.html -#: public/views/importLegacy.html -msgid "Password" +msgid "Passphrase" msgstr "" -#: public/views/includes/password.html -msgid "Password cannot be recovered. Be sure to write it down" +#: public/views/import.html +#: public/views/importLegacy.html +msgid "Password" msgstr "" #: src/js/services/profileService.js @@ -839,6 +1127,10 @@ msgstr "" msgid "Paste invitation here" msgstr "" +#: public/views/glidera.html +msgid "Paste the authorization code here" +msgstr "" + #: public/views/import.html msgid "Paste the backup plain text code" msgstr "" @@ -924,15 +1216,40 @@ msgstr "" msgid "Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Permissions" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Personal Information" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Personal Information State" +msgstr "" + #: public/views/create.html msgid "Personal Wallet" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Phone Is Setup" +msgstr "" + #: src/js/controllers/create.js #: src/js/controllers/join.js msgid "Please enter the required fields" msgstr "" +#: src/js/controllers/import.js +msgid "Please enter the seed words" +msgstr "" + +#: src/js/controllers/create.js +#: src/js/controllers/join.js +msgid "Please enter the wallet seed" +msgstr "" + #: src/js/services/bwsError.js msgid "Please upgrade Copay to perform this action" msgstr "" @@ -945,18 +1262,27 @@ msgstr "" msgid "Portuguese" msgstr "" +#: public/views/glidera.html #: public/views/walletHome.html msgid "Preferences" msgstr "" -#: src/js/controllers/backup.js +#: src/js/controllers/export.js msgid "Preparing backup..." msgstr "" +#: public/views/modals/glidera-tx-details.html +msgid "Price" +msgstr "" + #: src/js/services/feeService.js msgid "Priority" msgstr "" +#: public/views/buyGlidera.html +msgid "Purchase initiated" +msgstr "" + #: public/views/modals/customized-amount.html msgid "QR Code" msgstr "" @@ -1003,7 +1329,7 @@ msgstr "" msgid "Release Information" msgstr "" -#: public/views/backup.html +#: public/views/export.html #: public/views/includes/password.html msgid "Repeat password" msgstr "" @@ -1013,19 +1339,42 @@ msgstr "" msgid "Request a specific amount" msgstr "" -#: public/views/import.html +#: public/views/preferences.html +msgid "Request Password for Spending Funds" +msgstr "" + +#: src/js/controllers/walletHome.js +msgid "Requesting Ledger Wallet to sign" +msgstr "" + #: public/views/join.html msgid "Required" msgstr "" +#: public/views/create.html +msgid "Required number of signatures" +msgstr "" + #: public/views/splash.html msgid "Retrying..." msgstr "" +#: public/views/modals/glidera-confirmation.html +msgid "Revoke Glidera Token" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Revoke Token" +msgstr "" + #: public/views/translators.html msgid "Russian" msgstr "" +#: public/views/sellGlidera.html +msgid "Sale initiated" +msgstr "" + #: public/views/preferencesAlias.html #: public/views/preferencesBwsUrl.html #: public/views/preferencesEmail.html @@ -1056,6 +1405,15 @@ msgstr "" msgid "See it on the blockchain" msgstr "" +#: public/views/import.html +msgid "Seed passphrase" +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "Seed Passphrase" +msgstr "" + #: public/views/import.html msgid "Select a backup file" msgstr "" @@ -1064,12 +1422,17 @@ msgstr "" msgid "Select a wallet" msgstr "" -#: public/views/create.html -msgid "Select required number of signatures" +#: public/views/preferencesGlidera.html +#: public/views/sellGlidera.html +msgid "Sell" msgstr "" -#: public/views/create.html -msgid "Select total number of copayers" +#: public/views/glidera.html +msgid "Sell Bitcoin" +msgstr "" + +#: src/js/controllers/sellGlidera.js +msgid "Selling Bitcoin..." msgstr "" #: public/views/walletHome.html @@ -1082,15 +1445,16 @@ msgstr "" msgid "Send All" msgstr "" -#: public/views/preferencesInformation.html -msgid "Send all by email" -msgstr "" - -#: public/views/backup.html +#: public/views/export.html #: public/views/preferencesLogs.html msgid "Send by email" msgstr "" +#: src/js/controllers/buyGlidera.js +#: src/js/controllers/sellGlidera.js +msgid "Sending 2FA code..." +msgstr "" + #: public/views/walletHome.html msgid "Sent" msgstr "" @@ -1099,6 +1463,10 @@ msgstr "" msgid "Server" msgstr "" +#: src/js/services/bwsError.js +msgid "Server response could not be verified" +msgstr "" + #: public/views/preferencesAbout.html msgid "Session log" msgstr "" @@ -1107,12 +1475,12 @@ msgstr "" msgid "SET" msgstr "" -#: public/views/includes/password.html -msgid "Set up a password" +#: public/views/export.html +msgid "Set up a Export Password" msgstr "" -#: public/views/backup.html -msgid "Set up a Password for your backup" +#: public/views/includes/password.html +msgid "Set up a password" msgstr "" #: public/views/preferencesEmail.html @@ -1124,7 +1492,6 @@ msgid "settings" msgstr "" #: public/views/walletHome.html -#: public/views/modals/customized-amount.html msgid "Share address" msgstr "" @@ -1144,13 +1511,17 @@ msgstr "" msgid "Shared Wallet" msgstr "" -#: public/views/backup.html #: public/views/create.html +#: public/views/import.html #: public/views/join.html #: public/views/walletHome.html msgid "Show advanced options" msgstr "" +#: public/views/backup.html +msgid "Show Wallet Seed" +msgstr "" + #: src/js/services/bwsError.js msgid "Signatures rejected by server" msgstr "" @@ -1167,10 +1538,20 @@ msgstr "" msgid "SKIP BACKUP" msgstr "" +#: public/views/glidera.html +#: public/views/modals/glidera-tx-details.html +msgid "Sold" +msgstr "" + #: public/views/translators.html msgid "Spanish" msgstr "" +#: public/views/create.html +#: public/views/join.html +msgid "Specify your wallet seed" +msgstr "" + #: src/js/services/bwsError.js msgid "Spend proposal is not accepted" msgstr "" @@ -1179,7 +1560,24 @@ msgstr "" msgid "Spend proposal not found" msgstr "" +#: public/views/preferencesGlidera.html +msgid "State" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "Status" +msgstr "" + +#: public/views/preferences.html +msgid "Still not done" +msgstr "" + +#: public/views/modals/glidera-tx-details.html +msgid "Subtotal" +msgstr "" + #: src/js/controllers/copayers.js +#: src/js/controllers/export.js #: src/js/controllers/import.js #: src/js/controllers/preferencesDelete.js msgid "Success" @@ -1195,9 +1593,14 @@ msgid "Terms of Use" msgstr "" #: public/views/create.html +#: public/views/import.html msgid "Testnet" msgstr "" +#: src/js/services/ledger.js +msgid "The Ledger Chrome application is not installed" +msgstr "" + #: src/js/controllers/walletHome.js msgid "The payment was created but could not be completed. Please try again from home screen" msgstr "" @@ -1214,8 +1617,13 @@ msgstr "" msgid "The payment was signed but could not be broadcasted. Please try again from home screen" msgstr "" -#: public/views/backup.html -msgid "The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive." +#: public/views/export.html +msgid "The private key for this wallet is encrypted. Exporting keep the private key encrypted in the export archive." +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "The seed could require a passphrase to be imported" msgstr "" #: public/views/disclaimer.html @@ -1226,6 +1634,10 @@ msgstr "" msgid "The spend proposal is not pending" msgstr "" +#: src/js/controllers/sellGlidera.js +msgid "The transaction could not be signed" +msgstr "" + #: src/js/controllers/copayers.js #: src/js/controllers/preferencesDelete.js msgid "The wallet \"{{walletName}}\" was deleted" @@ -1239,6 +1651,11 @@ msgstr "" msgid "There is an error in the form" msgstr "" +#: public/views/buyGlidera.html +#: public/views/sellGlidera.html +msgid "This operation was disabled because you have a pending first transaction" +msgstr "" + #: public/views/modals/tx-details.html msgid "This transaction has become invalid; possibly due to a double spend attempt." msgstr "" @@ -1247,6 +1664,10 @@ msgstr "" msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information." msgstr "" +#: src/js/controllers/create.js +msgid "This xpub index is already used by another wallet. Please select another index." +msgstr "" + #: public/views/modals/txp-details.html msgid "Time" msgstr "" @@ -1259,10 +1680,19 @@ msgstr "" msgid "To" msgstr "" +#: public/views/backup.html +msgid "To restore this {{index.m}}-{{index.n}} shared wallet you will need" +msgstr "" + +#: public/views/backup.html +msgid "To restore this {{index.m}}-{{index.n}} shared wallet you will need" +msgstr "" + #: public/views/walletHome.html msgid "too long!" msgstr "" +#: public/views/modals/glidera-tx-details.html #: public/views/modals/txp-details.html msgid "Total" msgstr "" @@ -1271,6 +1701,11 @@ msgstr "" msgid "Total Locked Balance" msgstr "" +#: public/views/create.html +msgid "Total number of copayers" +msgstr "" + +#: public/views/modals/glidera-tx-details.html #: public/views/modals/tx-details.html msgid "Transaction" msgstr "" @@ -1279,6 +1714,10 @@ msgstr "" msgid "Transaction already broadcasted" msgstr "" +#: public/views/preferencesGlidera.html +msgid "Transaction History" +msgstr "" + #: public/views/translators.html msgid "Translation Credits" msgstr "" @@ -1287,6 +1726,10 @@ msgstr "" msgid "Translators" msgstr "" +#: public/views/import.html +msgid "Type the Seed Word (usually 12 words)" +msgstr "" + #: src/js/controllers/walletHome.js msgid "Unable to send transaction proposal" msgstr "" @@ -1312,6 +1755,11 @@ msgstr "" msgid "Updating Wallet..." msgstr "" +#: public/views/create.html +#: public/views/join.html +msgid "Use Ledger hardware wallet" +msgstr "" + #: public/views/preferences.html #: public/views/walletHome.html msgid "Use Unconfirmed Funds" @@ -1321,7 +1769,7 @@ msgstr "" msgid "Version" msgstr "" -#: public/views/backup.html +#: public/views/export.html msgid "View backup" msgstr "" @@ -1333,6 +1781,10 @@ msgstr "" msgid "Waiting..." msgstr "" +#: public/views/import.html +msgid "Walled Seed" +msgstr "" + #: public/views/preferences.html msgid "Wallet Alias" msgstr "" @@ -1346,23 +1798,14 @@ msgstr "" msgid "Wallet Already Imported:" msgstr "" -#: public/views/preferencesInformation.html -msgid "Wallet Configuration (m-n)" -msgstr "" - -#: public/views/preferencesInformation.html -msgid "Wallet Id" +#: src/js/services/bwsError.js +msgid "Wallet already registered" msgstr "" #: public/views/copayers.html msgid "Wallet incomplete and broken" msgstr "" -#: public/views/preferencesAdvanced.html -#: public/views/preferencesInformation.html -msgid "Wallet Information" -msgstr "" - #: public/views/join.html msgid "Wallet Invitation" msgstr "" @@ -1383,16 +1826,29 @@ msgstr "" msgid "Wallet name" msgstr "" -#: public/views/preferencesInformation.html -msgid "Wallet Name (at creation)" -msgstr "" - -#: public/views/preferencesInformation.html -msgid "Wallet Network" +#: src/js/services/bwsError.js +msgid "Wallet not found" msgstr "" #: src/js/services/bwsError.js -msgid "Wallet not found" +msgid "Wallet not registed at the Wallet Service. Recreate it from \"Create Wallet\" using \"Advanced Options\" to set your seed" +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "Wallet Seed" +msgstr "" + +#: public/views/import.html +msgid "Wallet Seed could require a passphrase to be imported" +msgstr "" + +#: src/js/services/bwsError.js +msgid "Wallet seed is invalid" +msgstr "" + +#: public/views/backup.html +msgid "Wallet seed not available. You can still export it from Advanced > Export." msgstr "" #: src/js/services/bwsError.js @@ -1403,6 +1859,23 @@ msgstr "" msgid "WARNING: Backup needed" msgstr "" +#: public/views/export.html +msgid "WARNING: Not including the private key allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so funds will not be accessible from the export." +msgstr "" + +#: public/views/create.html +#: public/views/join.html +msgid "WARNING: Passphrase cannot be recovered. Be sure to write it down. The wallet can not be restored without the passphrase." +msgstr "" + +#: public/views/export.html +msgid "WARNING: The private key of this wallet is not available. The export allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so funds will not be accessible from the export." +msgstr "" + +#: public/views/backup.html +msgid "WARNING: This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed." +msgstr "" + #: public/views/modals/txp-details.html msgid "Warning: this transaction has unconfirmed inputs" msgstr "" @@ -1419,23 +1892,51 @@ msgstr "" msgid "WELCOME TO COPAY" msgstr "" +#: public/views/backup.html +msgid "Write it down and keep them somewhere safe." +msgstr "" + +#: src/js/controllers/import.js +msgid "Wrong number of seed words:" +msgstr "" + #: src/js/services/profileService.js msgid "Wrong password" msgstr "" #: public/views/modals/confirmation.html +#: public/views/modals/glidera-confirmation.html msgid "Yes" msgstr "" +#: public/views/glidera.html +msgid "You can buy and sell Bitcoin with a US bank account directly in Copay." +msgstr "" + +#: public/views/backup.html +msgid "You can safely install your wallet on another device and use it from multiple devices at the same time." +msgstr "" + #: public/views/walletHome.html msgid "You do not have a wallet" msgstr "" #: public/views/backup.html +msgid "You need the wallet seed to restore this personal wallet." +msgstr "" + #: public/views/import.html msgid "Your backup password" msgstr "" +#: public/views/export.html +msgid "Your export password" +msgstr "" + +#: public/views/glidera.html +msgid "Your Glidera account is not ready to transact. Please, verify it at" +msgstr "" + #: public/views/create.html #: public/views/join.html msgid "Your nickname" @@ -1452,3 +1953,19 @@ msgstr "" #: src/js/controllers/import.js msgid "Your wallet has been imported correctly" msgstr "" + +#: public/views/includes/password.html +msgid "Your wallet key will be encrypted. Password cannot be recovered. Be sure to write it down" +msgstr "" + +#: public/views/backup.html +msgid "Your wallet seed and access to the wallet service where wallet is registered" +msgstr "" + +#: public/views/backup.html +msgid "Your wallet seed and access to the wallet service where your wallet is registered" +msgstr "" + +#: public/views/preferencesGlidera.html +msgid "ZIP Code" +msgstr "" diff --git a/public/views/backup.html b/public/views/backup.html index f0f0d7a22..81b588697 100644 --- a/public/views/backup.html +++ b/public/views/backup.html @@ -6,100 +6,111 @@ -
-
-
-
- - Failed to create backup +
+ +
+
+
+ + You need the wallet seed to restore this personal wallet. + + + Write it down and keep them somewhere safe. +
- -
- - The private key for this wallet is encrypted. Exporting a backup will keep the private key encrypted in the backup archive. - +
+
+
+ + To restore this {{index.m}}-{{index.n}} shared wallet you will need + : +
    +
  1. Your wallet seed and access to the wallet service where your wallet is registered
  2. +
  3. OR the wallet seed of all copayers in the wallet
  4. +
  5. OR 1 wallet export file and the remaining quorum of wallet seeds (e.g. in a 3-5 wallet: 1 wallet export file + 2 wallet seeds of any of the other copayers).
  6. +
+
- - -
- +
+
+
+ + To restore this {{index.m}}-{{index.n}} shared wallet you will need + : +
    +
  1. Your wallet seed and access to the wallet service where wallet is registered
  2. +
  3. OR the wallet seeds of all copayers in the wallet
  4. +
+
+
+
+ +
+
+ Wallet seed not available. You can still export it from Advanced > Export. +
+
+ +
+ - -
- -
+
- + + +
+ -
-
- -
- -
- A backup without its private key will allow the user to see the wallet balance, transactions, and create spend proposals. However, it will not be able to approve (sign) proposals. - -
-
- - - - -
-

Backup options

- - -
-
-
-
-

Copy backup to a safe place

-
- -
-
- - Copy this text as it is to a safe place (notepad or email) -
-
-
- -
-
- * You can safely install your backup on another device and use your wallet from multiple devices at the same time. -
diff --git a/public/views/create.html b/public/views/create.html index 83f02975d..f6d7ff43f 100644 --- a/public/views/create.html +++ b/public/views/create.html @@ -8,7 +8,7 @@
-
+
@@ -21,6 +21,19 @@
+
+
+
+
+
+
+
+
+
+ Connecting to Ledger Wallet... +
+
+
@@ -63,7 +76,7 @@
-
-
+
+ + + + WARNING: Passphrase cannot be recovered. Be sure to write it down. The wallet can not be restored without the passphrase. + + +
+ - -
diff --git a/public/views/disclaimer.html b/public/views/disclaimer.html index 6a3d86eba..751b7c863 100644 --- a/public/views/disclaimer.html +++ b/public/views/disclaimer.html @@ -2,12 +2,14 @@ ng-if="agreed && index.hasProfile" class="topbar-container" ng-include="'views/includes/topbar.html'" - ng-init="titleSection='Terms of Use'; goBackToState = 'about'; noColor = true"> + ng-init="titleSection='Terms of Use'; goBackToState = 'about'; noColor = true" +> +
-
+

Terms of Use diff --git a/public/views/export.html b/public/views/export.html new file mode 100644 index 000000000..e6bb9c34b --- /dev/null +++ b/public/views/export.html @@ -0,0 +1,106 @@ +
+
+ + + +
+
+
+
+ + Failed to export +
+ +
+ + The private key for this wallet is encrypted. Exporting keep the private key encrypted in the export archive. + +
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+
+ + +
+ + + + WARNING: The private key of this wallet is not available. The export allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so funds will not be accessible from the export. + + +
+ + +
+ + + + WARNING: Not including the private key allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so funds will not be accessible from the export. + + +
+ + + + +
+

Backup options

+ + +
+
+
+ +
+
+

Copy backup to a safe place

+
+ +
+
+ + Copy this text as it is to a safe place (notepad or email) +
+
+
+ +
+
diff --git a/public/views/import.html b/public/views/import.html index 6c6213392..77a40a858 100644 --- a/public/views/import.html +++ b/public/views/import.html @@ -4,8 +4,8 @@ ng-init="titleSection='Import wallet'; goBackToState = 'add'; noColor = true">

-
-
+
+
@@ -17,11 +17,112 @@ Importing wallet...
+
+
+
+
+
+
+
+
+
+ Connecting to Ledger Wallet... +
+
-
+ +
+ +
+ + +
+ Ledger +
+ +
+ + +
+ + + +
-
+ +
+ + {{import.error|translate}} + +
+ +
+ + +
+ + +
+
+ + + +
+
+ + +
+
+
+ + + +
+
+
{{import.error|translate}} @@ -43,7 +144,7 @@
-
diff --git a/public/views/includes/password.html b/public/views/includes/password.html index 64f5d0961..2cce4467b 100644 --- a/public/views/includes/password.html +++ b/public/views/includes/password.html @@ -37,7 +37,7 @@

- Password cannot be recovered. Be sure to write it down + Your wallet key will be encrypted. Password cannot be recovered. Be sure to write it down {{pass.error|translate}}

diff --git a/public/views/includes/walletInfo.html b/public/views/includes/walletInfo.html new file mode 100644 index 000000000..e1439551b --- /dev/null +++ b/public/views/includes/walletInfo.html @@ -0,0 +1,6 @@ + Testnet +No Private key +
+ External Private Key: + {{index.externalSource}} +
diff --git a/public/views/join.html b/public/views/join.html index 7c4a19f8a..d7c2dbd49 100644 --- a/public/views/join.html +++ b/public/views/join.html @@ -6,7 +6,7 @@
-
+
@@ -19,6 +19,19 @@
+
+
+
+
+
+
+
+
+
+ Connecting to Ledger Wallet... +
+
+
@@ -72,16 +85,60 @@
-
-
+ +
+ + + + WARNING: Passphrase cannot be recovered. Be sure to write it down. The wallet can not be restored without the passphrase. + + +
+ diff --git a/public/views/preferences.html b/public/views/preferences.html index 6f46dba1f..5fd408ad8 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -36,16 +36,31 @@ -
  • - Encrypt Private Key +
  • + Request Password for Spending Funds -
  • - -

     

    -
  • +
  • +
  • + Hardware wallet + + {{preferences.externalSource}} + + +
  • +
  • + + Still not done + Backup
  • + +

     

    +
  • + + Export +
  • +
  • Advanced @@ -59,7 +74,7 @@ Language - {{index.defaultLanguageName|translate}} + {{preferences.currentLanguageName|translate}}
  • diff --git a/public/views/preferencesAdvanced.html b/public/views/preferencesAdvanced.html index c7fbd1d9e..da39f5c3d 100644 --- a/public/views/preferencesAdvanced.html +++ b/public/views/preferencesAdvanced.html @@ -17,6 +17,11 @@ Scan addresses for funds
  • +
  • + + Export +
  • +
  • Delete Wallet diff --git a/public/views/preferencesLanguage.html b/public/views/preferencesLanguage.html index ba6ef1ddd..c06b4b683 100644 --- a/public/views/preferencesLanguage.html +++ b/public/views/preferencesLanguage.html @@ -9,7 +9,7 @@
    Applying changes
    {{lang.name}} diff --git a/public/views/splash.html b/public/views/splash.html index 5c343df9b..754e969b6 100644 --- a/public/views/splash.html +++ b/public/views/splash.html @@ -1,4 +1,4 @@ -
    +
    diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 50b4db9a7..9ffdb5f3f 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -123,19 +123,17 @@ {{(index.alias || index.walletName)}}

    - Multisignature wallet + Multisignature wallet ({{index.m}}-of-{{index.n}}) - - Testnet - - No Private key +

    {{(index.alias || index.walletName)}}

    -
    - Testnet - - No Private key +
    +
    @@ -215,16 +213,14 @@

    My Bitcoin address

    -
    +
    +
    + + {{home.addrError|translate}} + +
    -
    - - {{home.addrError|translate}} - -
    - - -
    +
    @@ -246,15 +242,17 @@
    -
    - - - Share address - -
    -
    - Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them. +
    +
    + + + Share address + +
    +
    + Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them. +
    @@ -375,7 +373,7 @@
    -
    +