Skip to content

Commit

Permalink
[Wallet] Implement new backup flows including social backup (#1399)
Browse files Browse the repository at this point in the history
* Implement new backup flow designs
* Add support for social backup (aka Safeguards)
* Do some cleanup in the locales json files
* Convert the Edit Profile button in Account screen to a row item
  • Loading branch information
jmrossy authored Oct 22, 2019
1 parent 273fc82 commit 85a2bfe
Show file tree
Hide file tree
Showing 66 changed files with 4,765 additions and 7,256 deletions.
1 change: 0 additions & 1 deletion packages/mobile/locales/en-US/accountScreen10.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"backupKey": "Backup Key",
"invite": "Invite",
"celoRewards": "Celo Rewards",
"languageSettings": "Language Settings",
Expand Down
119 changes: 53 additions & 66 deletions packages/mobile/locales/en-US/backupKeyFlow6.json
Original file line number Diff line number Diff line change
@@ -1,83 +1,70 @@
{
"readOnlyMode": "Read Only Mode Set Backup Key to continue sending and receiving {{CeloDollars}}",
"getBackupKey": "Get Backup Key",
"learnBackupKey": "Learn Your Backup Key",
"editProfile": "Edit Profile",
"getYourKey": "Get Your Key",
"viewBackupKey": "View Backup Key",
"setUpSocialBackup": "Set Up Safeguards",
"viewSafeguards": "View Safeguards",
"failedFetchMnemonic": "Failed to fetch your Backup Key",
"backupAndRecovery": "Backup and Recovery",
"backupKey": "Backup Key",
"yourBackupKey": "Your Backup Key",
"delayBackup": "Dismiss for an hour",
"inviteFriends": "Invite Friends",
"verifierApp": "Verifier App",
"languageSettings": "Language Settings",
"cancel": "Cancel",
"backupKeyImportance": {
"backupKeyNotification": "Without a Backup Key, you may lose access to your wallet.",
"backupKeyIntro": {
"0":
"If you lose your phone or delete the Celo app, you will lose all of the gold and {{dollars}} in your wallet.",
"1":
"You can back up your wallet by writing down a Backup Key on a piece of paper and storing it securely. This allows you to restore your wallet in the future if you need to.",
"2":
"Don’t take a screenshot or save it in your phone notes. Make sure to write the Backup Key down and keep it safe."
"Your Backup Key is the one and only key to your Celo Wallet. With this key, you can access your funds anytime, anywhere.",
"1": "KEEP THIS KEY SAFE AND PRIVATE.",
"2": "Congrats, you’ve sucessfully retrieved your Backup Key! A reminder, ",
"3": "KEEP THIS KEY SAFE.",
"4": "For more security set up Safeguards for your wallet.",
"5":
"You’ve also set up Safeguards! You’ll be able to restore your account with the help of the two friends. ",
"6": "KEEP YOUR SAFEGUARDS SECRET"
},
"setBackupKey": "Set Backup Key",
"areYouSure": "Are you sure?",
"backupSkipText": {
"0": "Without a Backup Key, you can lose access to your wallet ",
"1": "forever."
},
"shareBackupKey": "Share Backup Key",
"backupRecovery": "Share your Backup Key with only one other person who you completely trust.",
"sendWhatsApp": "Send with WhatsApp",
"continue": "Continue",
"securityTips": "Security Tips",
"backupKeySummary": {
"0": "Write this phrase down on a piece of paper and keep it somewhere safe.",
"1": "Don’t show your phrase to anyone else. They can access your wallet if they see it."
},
"learnYourKey": "Write down or memorize your Backup Key.",
"keyWillBeVerified": "Once you have finished, we will verify that you know the key correctly.",
"question": "Question",
"questionPhrase": {
"0": "What is the ",
"1": " word of your Backup Key?"
"securityTip": "If you lose your backup key, you will lose access to your Celo Dollars and Gold.",
"backupKeySummary":
"Please write down your Backup Key. If your phone is stolen or lost, you will need the Backup Key to access your Celo Wallet.",
"bothBackupsDone": {
"0": "Congratulations!",
"1":
"You're all done! If you would like to review your recovery secrets, you can always return here later."
},
"question1": "What is the 1st word of your Backup Key?",
"question2": "What is the 2nd word of your Backup Key?",
"question3": "What is the 3rd word of your Backup Key?",
"question4": "What is the 4th word of your Backup Key?",
"question5": "What is the 5th word of your Backup Key?",
"question6": "What is the 6th word of your Backup Key?",
"question7": "What is the 7th word of your Backup Key?",
"question8": "What is the 8th word of your Backup Key?",
"question9": "What is the 9th word of your Backup Key?",
"question10": "What is the 10th word of your Backup Key?",
"question11": "What is the 11th word of your Backup Key?",
"question12": "What is the 12th word of your Backup Key?",
"question13": "What is the 13th word of your Backup Key?",
"question14": "What is the 14th word of your Backup Key?",
"question15": "What is the 15th word of your Backup Key?",
"question16": "What is the 16th word of your Backup Key?",
"question17": "What is the 17th word of your Backup Key?",
"question18": "What is the 18th word of your Backup Key?",
"question19": "What is the 19th word of your Backup Key?",
"question20": "What is the 20th word of your Backup Key?",
"question21": "What is the 21st word of your Backup Key?",
"question22": "What is the 22nd word of your Backup Key?",
"question23": "What is the 23rd word of your Backup Key?",
"question24": "What is the 24th word of your Backup Key?",
"submit": "Submit",
"dontKnow": "Don't Know? ",
"return": "Return to backup key",
"tryAgain": "Try Again",
"backToKey":
"We will take you back to the screen with your backup key so that you ensure you wrote it down correctly.",
"seeBackupKey": "See Backup Key",
"backupKeySet": "Backup Key Set",
"dontLoseIt":
"Please do not lose this key. It is critical that you maintain this in a safe place, as this is the only way to unlock your wallet should you lose your phone.",
"done": "Done",
"whatsappMessage":
"Important: please keep this private. \n\nI'm sending you the Backup Phrase to my Celo Wallet: ",
"backupPrompt":
"For the security of your funds, your account is frozen until you get your Backup Key",
"copyToClipboard": "Copy To Clipboard",
"copiedToClipboard": "Copied To Clipboard"
"copied": "Key copied to clipboard",
"savedConfirmation": "I have saved my Backup Key.",
"confirmBackupKey": "Confirm Your Backup Key",
"backupQuizInfo":
"Please verify your Backup Key by selecting the words below in the correct order.",
"backupQuizWordCount": "Word {{index}} of {{total}}",
"invalidBackupPhrase": "Invalid Backup Key",
"importBackupFailed": "Importing Wallet Failed",
"backupQuizFailed": "Incorrect Backup Key, please try again",
"backupComplete": {
"0": "Success!",
"1": "Next, you can set up Safeguards.",
"2": "You’re all set!"
},
"socialBackupIntro": {
"header": "Introducing Safeguards",
"body":
"Safeguards is an additional layer of protection for your account in case you lose your Backup Key. Once set up, you’ll be able to restore your account with the help of two friends or family members. ",
"warning": "NEVER TELL ANYONE YOUR SAFEGUARDS’ IDENTITIES.",
"skip": "Skip For Now"
},
"socialBackup": {
"body":
"Share each phrase below with a friend. Be sure to send only one phrase to each person.",
"confirmation": "I have sent each Safeguard phrase to a trusted friend.",
"phrase1": "Safeguard Phrase 1",
"phrase2": "Safeguard Phrase 2",
"yourSafeguards": "Your Safeguards"
}
}
10 changes: 6 additions & 4 deletions packages/mobile/locales/en-US/global.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
"save": "Save",
"next": "Next",
"skip": "Skip",
"copy": "Copy",
"goBack": "Go Back",
"reset": "Reset",
"done": "Done",
"tip": "Tip: ",
"warning": "Warning ",
"downloadRewards": "Download Celo Rewards",
"chooseLanguage": "Choose Language",
"wallet": "Wallet",
Expand All @@ -24,7 +30,6 @@
"refreshFailedUnexpectedly": "Failed to refresh, please check your connectivity",
"edit": "Edit",
"receivedPayment": "Received Payment",
"getBackupKey": "Get Backup Key",
"readOnlyState":
"Read Only Mode Set Backup Key to continue sending and receiving {{CeloDollars}}",
"getStarted": "Get Started",
Expand All @@ -33,7 +38,6 @@
"startEarning": "Start Earning",
"backToWallet": "Back to Wallet",
"exchangeForGold": "Exchange for Gold",
"invalidKey": "Invalid Backup Key ",
"invalidPhone": "Invalid Phone Number",
"cantSelectInvalidPhone": "Cannot select contact: invalid phone number",
"needMoreFundsToSend": "Need more funds to send payment",
Expand Down Expand Up @@ -62,8 +66,6 @@
"canNotRequestFromUnverified": "Can not request from unverified users",
"restartApp": "Restart App",
"loading": "Loading…",
"invalidBackupPhrase": "Invalid Backup Key",
"importBackupFailed": "Importing Wallet Failed",
"inviteFailed": "Failure sending invite",
"importContactsFailed": "Failed to import contacts",
"sendPaymentFailed": "Failure sending payment",
Expand Down
1 change: 0 additions & 1 deletion packages/mobile/locales/es-419/accountScreen10.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"backupKey": "Clave de respaldo",
"invite": "Invitar",
"celoRewards": "Recompensas Celo",
"languageSettings": "Configuración de idioma",
Expand Down
138 changes: 61 additions & 77 deletions packages/mobile/locales/es-419/backupKeyFlow6.json
Original file line number Diff line number Diff line change
@@ -1,86 +1,70 @@
{
"readOnlyMode":
"Modo de solo lectura: cree la clave de respaldo para seguir enviando y recibiendo {{CeloDollars}}",
"getBackupKey": "Obtener clave de respaldo",
"learnBackupKey": "Aprenda tu clave de respaldo",
"editProfile": "Editar perfil",
"backupKey": "Clave de respaldo",
"delayBackup": "Despedir por una hora",
"inviteFriends": "Invitar a amigos",
"verifierApp": "Apli del verificador",
"languageSettings": "Configuración de idioma",
"cancel": "Cancelar",
"backupKeyImportance": {
"getBackupKey": "Get Backup Key",
"getYourKey": "Get Your Key",
"viewBackupKey": "View Backup Key",
"setUpSocialBackup": "Set Up Safeguards",
"viewSafeguards": "View Safeguards",
"failedFetchMnemonic": "Failed to fetch your Backup Key",
"backupAndRecovery": "Backup and Recovery",
"backupKey": "Backup Key",
"yourBackupKey": "Your Backup Key",
"delayBackup": "Dismiss for an hour",
"backupKeyNotification": "Without a Backup Key, you may lose access to your wallet.",
"backupKeyIntro": {
"0":
"Si pierde tu teléfono o elimina la aplicación de Celo, perderá todo el oro y los {{dollars}} de tu monedero.",
"1":
"Puede hacer un respaldo del monedero si escribe una clave de respaldo en un papel y la guarda en algún sitio seguro. Así, podrá restaurar el monedero en el futuro de ser necesario.",
"2":
"No haga una captura de pantalla ni la guarde en las notas de tu teléfono. Asegúrese de escribir la clave de respaldo a mano y mantenerla segura."
"Your Backup Key is the one and only key to your Celo Wallet. With this key, you can access your funds anytime, anywhere.",
"1": "KEEP THIS KEY SAFE AND PRIVATE.",
"2": "Congrats, you’ve sucessfully retrieved your Backup Key! A reminder, ",
"3": "KEEP THIS KEY SAFE.",
"4": "For more security set up Safeguards for your wallet.",
"5":
"You’ve also set up Safeguards! You’ll be able to restore your account with the help of the two friends. ",
"6": "KEEP YOUR SAFEGUARDS SECRET"
},
"setBackupKey": "Crear clave de respaldo",
"areYouSure": "¿Está seguro?",
"shareBackupKey": "Compartir clave de respaldo",
"backupRecovery":
"Comparta la clave de respaldo con una sola persona en la que confíe plenamente.",
"backupSkipText": {
"0": "Comparta la clave de respaldo con una sola persona en la que confíe ",
"1": "plenamente."
},
"sendWhatsApp": "Enviar por WhatsApp",
"continue": "Continuar",
"securityTips": "Consejos de seguridad",
"backupKeySummary": {
"0": "Escriba esta frase en un papel y guárdela en algún sitio seguro.",
"1": "No le muestre la frase a nadie. Si alguien la sabe, podrá acceder a tu monedero."
"0": "Without a Backup Key, you can lose access to your wallet ",
"1": "forever."
},
"learnYourKey": "Escriba o memorice tu clave de respaldo.",
"keyWillBeVerified":
"Una vez que haya terminado, verificaremos que conoce la clave correctamente.",
"question": "Pregunta",
"questionPhrase": {
"0": "¿Cuál es la ",
"1": " palabra de tu clave de respaldo?"
"backupRecovery": "Share your Backup Key with only one other person who you completely trust.",
"securityTip": "If you lose your backup key, you will lose access to your Celo Dollars and Gold.",
"backupKeySummary":
"Please write down your Backup Key. If your phone is stolen or lost, you will need the Backup Key to access your Celo Wallet.",
"bothBackupsDone": {
"0": "Congratulations!",
"1":
"You're all done! If you would like to review your recovery secrets, you can always return here later."
},
"question1": "¿Cuál es la 1.ª palabra de tu clave de respaldo?",
"question2": "¿Cuál es la 2.ª palabra de tu clave de respaldo?",
"question3": "¿Cuál es la 3.ª palabra de tu clave de respaldo?",
"question4": "¿Cuál es la 4.ª palabra de tu clave de respaldo?",
"question5": "¿Cuál es la 5.ª palabra de tu clave de respaldo?",
"question6": "¿Cuál es la 6.ª palabra de tu clave de respaldo?",
"question7": "¿Cuál es la 7.ª palabra de tu clave de respaldo?",
"question8": "¿Cuál es la 8.ª palabra de tu clave de respaldo?",
"question9": "¿Cuál es la 9.ª palabra de tu clave de respaldo?",
"question10": "¿Cuál es la 10.ª palabra de tu clave de respaldo?",
"question11": "¿Cuál es la 11.ª palabra de tu clave de respaldo?",
"question12": "¿Cuál es la 12.ª palabra de tu clave de respaldo?",
"question13": "¿Cuál es la 13.ª palabra de tu clave de respaldo?",
"question14": "¿Cuál es la 14.ª palabra de tu clave de respaldo?",
"question15": "¿Cuál es la 15.ª palabra de tu clave de respaldo?",
"question16": "¿Cuál es la 16.ª palabra de tu clave de respaldo?",
"question17": "¿Cuál es la 17.ª palabra de tu clave de respaldo?",
"question18": "¿Cuál es la 18.ª palabra de tu clave de respaldo?",
"question19": "¿Cuál es la 19.ª palabra de tu clave de respaldo?",
"question20": "¿Cuál es la 20.ª palabra de tu clave de respaldo?",
"question21": "¿Cuál es la 21.ª palabra de tu clave de respaldo?",
"question22": "¿Cuál es la 22.ª palabra de tu clave de respaldo?",
"question23": "¿Cuál es la 23.ª palabra de tu clave de respaldo?",
"question24": "¿Cuál es la 24.ª palabra de tu clave de respaldo?",
"submit": "Enviar",
"dontKnow": "¿No la sabe? ",
"return": "Vuelva a la clave de respaldo",
"tryAgain": "Reintentar",
"backToKey":
"Le llevaremos a la pantalla con tu clave de respaldo para que verifique que la escribió correctamente.",
"seeBackupKey": "Ver clave de respaldo",
"backupKeySet": "Clave de respaldo creada",
"dontLoseIt":
"No pierda esta clave. Es de suma importancia que la mantenga en un lugar seguro, ya que es la única forma de desbloquear tu monedero si pierde tu celular.",
"done": "Listo",
"whatsappMessage":
"Importante: por favor mantenga esto privado. \n\nTe estoy enviando la frase de respaldo a mi Monedero Celo: ",
"Please do not lose this key. It is critical that you maintain this in a safe place, as this is the only way to unlock your wallet should you lose your phone.",
"backupPrompt":
"Para la seguridad de sus fondos, tu cuenta está congelada hasta que obtenga tu clave de respaldo",
"copyToClipboard": "Copiar al portapapeles",
"copiedToClipboard": "Copiada al portapapeles"
"For the security of your funds, your account is frozen until you get your Backup Key",
"copied": "Key copied to clipboard",
"savedConfirmation": "I have saved my Backup Key.",
"confirmBackupKey": "Confirm Your Backup Key",
"backupQuizInfo":
"Please verify your Backup Key by selecting the words below in the correct order.",
"backupQuizWordCount": "Word {{index}} of {{total}}",
"invalidBackupPhrase": "Invalid Backup Key",
"importBackupFailed": "Importing Wallet Failed",
"backupQuizFailed": "Incorrect Backup Key, please try again",
"backupComplete": {
"0": "Success!",
"1": "Next, you can set up Safeguards.",
"2": "You’re all set!"
},
"socialBackupIntro": {
"header": "Introducing Safeguards",
"body":
"Safeguards is an additional layer of protection for your account in case you lose your Backup Key. Once set up, you’ll be able to restore your account with the help of two friends or family members. ",
"warning": "NEVER TELL ANYONE YOUR SAFEGUARDS’ IDENTITIES.",
"skip": "Skip For Now"
},
"socialBackup": {
"body":
"Share each phrase below with a friend. Be sure to send only one phrase to each person.",
"confirmation": "I have sent each Safeguard phrase to a trusted friend.",
"phrase1": "Safeguard Phrase 1",
"phrase2": "Safeguard Phrase 2",
"yourSafeguards": "Your Safeguards"
}
}
20 changes: 11 additions & 9 deletions packages/mobile/locales/es-419/global.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,28 @@
"save": "Guarda",
"next": "Siguiente",
"skip": "Saltar",
"copy": "Copiar",
"goBack": "Regresa",
"reset": "Reiniciar",
"done": "Hecho",
"tip": "Punta: ",
"warning": "Advertencia ",
"downloadRewards": "Descargar Recompensas Celo",
"chooseLanguage": "Elegir idioma",
"wallet": "Monedero",
"payments": "Pagos",
"send": "Envío",
"payments": "Pagos",
"exchange": "Cambio",
"learnMore": "Saber más",
"activity": "Actividad",
"history": "Historial",
"exchangeFailed": "Intercambio fallido, por favor vuelva a intentarlo",
"transactionFailed": "Transacción fallido, por favor vuelva a intentarlo",
"notEnoughDollarsError": "No hay suficientes {{CeloDollars}} para cambiarlos",
"notEnoughGoldError": "No hay suficiente Celo Oro para cambiarlo",
"exchangeFailed": "Intercambio fallido, por favor vuelva a intentarlo",
"transactionFailed": "Transacción fallido, por favor vuelva a intentarlo",
"refreshFailedUnexpectedly": "Error al actualizar, por favor revise tu conectividad",
"edit": "Editar",
"needMoreFundsToSend": "Necesita más fondos para enviar el pago",
"receivedPayment": "Pago recibido",
"getBackupKey": "Obtener clave de respaldo",
"readOnlyState":
"Modo de solo lectura: cree la clave de respaldo para seguir enviando y recibiendo {{CeloDollars}}",
"getStarted": "Primeros pasos",
Expand All @@ -34,9 +38,9 @@
"startEarning": "Comenzar a ganar",
"backToWallet": "Volver a el Monedero",
"exchangeForGold": "Cambiar a Oro",
"cantSelectInvalidPhone": "No se puede seleccionar el contacto: número de teléfono no válido",
"invalidKey": "Clave de respaldo inválida ",
"invalidPhone": "Número de teléfono inválido",
"cantSelectInvalidPhone": "No se puede seleccionar el contacto: número de teléfono no válido",
"needMoreFundsToSend": "Necesita más fondos para enviar el pago",
"invalidAmount": "Monto invalido",
"invalidCode": "Código de verificación inválido",
"confirm": "Confirmar",
Expand All @@ -62,8 +66,6 @@
"canNotRequestFromUnverified": "No se puede solicitar a usuarios no verificados.",
"restartApp": "Reiniciar la aplicación",
"loading": "Cargando…",
"invalidBackupPhrase": "Clave de respaldo inválida",
"importBackupFailed": "No se pudo importar el monedero",
"inviteFailed": "Falló el envío de la invitación",
"importContactsFailed": "Error al importar contactos",
"sendPaymentFailed": "Falla en el envío de pago",
Expand Down
1 change: 0 additions & 1 deletion packages/mobile/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@
"react-native-localize": "^1.2.1",
"react-native-mail": "^3.0.7",
"react-native-modal": "^6.1.0",
"react-native-modal-dropdown": "^0.6.2",
"react-native-permissions": "^1.1.1",
"react-native-progress": "^3.4.0",
"react-native-qrcode-svg": "^5.1.2",
Expand Down
Loading

0 comments on commit 85a2bfe

Please sign in to comment.