Merge pull request #3677 from bitpay/v1.6

Updates master with v1.6
This commit is contained in:
Matias Alejo Garcia 2015-12-15 19:10:16 -03:00
commit 151cb7cf7a
107 changed files with 3177 additions and 2378 deletions

4
.gitignore vendored
View file

@ -14,8 +14,7 @@ cordova/*.keystore
cache
webkitbuilds/*
!webkitbuilds/README.md
!webkitbuilds/setup-win32.iss
!webkitbuilds/setup-win64.iss
!webkitbuilds/setup-win.iss
!webkitbuilds/favicon.ico
!webkitbuilds/.desktop
!webkitbuilds/build-osx.sh
@ -26,6 +25,7 @@ webkitbuilds/*
# chrome extensions
browser-extensions/chrome/copay-chrome-extension
browser-extensions/chrome/copay-chrome-extension.zip
browser-extensions/chrome/copay-chrome-extension.zip.sig
# Logs
logs

View file

@ -10,11 +10,8 @@ module.exports = function(grunt) {
clear: {
command: 'rm -Rf bower_components node_modules'
},
osx64: {
command: 'webkitbuilds/build-osx.sh osx64'
},
osx32: {
command: 'webkitbuilds/build-osx.sh osx32'
osx: {
command: 'webkitbuilds/build-osx.sh'
}
},
watch: {
@ -144,17 +141,10 @@ module.exports = function(grunt) {
expand: true,
cwd: 'webkitbuilds/',
src: ['.desktop', '../public/img/icons/favicon.ico', '../public/img/icons/icon-256.png'],
dest: 'webkitbuilds/copay/linux32/',
dest: 'webkitbuilds/Copay/linux64/',
flatten: true,
filter: 'isFile'
}, {
expand: true,
cwd: 'webkitbuilds/',
src: ['.desktop', '../public/img/icons/favicon.ico', '../public/img/icons/icon-256.png'],
dest: 'webkitbuilds/copay/linux64/',
flatten: true,
filter: 'isFile'
}, ],
}],
}
},
karma: {
@ -177,7 +167,8 @@ module.exports = function(grunt) {
},
nodewebkit: {
options: {
platforms: ['win', 'osx', 'linux'],
appName: 'Copay',
platforms: ['win64', 'osx64', 'linux64'],
buildDir: './webkitbuilds',
version: '0.12.2',
macIcns: './public/img/icons/icon.icns',
@ -186,23 +177,14 @@ module.exports = function(grunt) {
src: ['./package.json', './public/**/*']
},
compress: {
linux32: {
linux: {
options: {
archive: './webkitbuilds/copay-linux32.zip'
archive: './webkitbuilds/Copay-linux.zip'
},
expand: true,
cwd: './webkitbuilds/copay/linux32/',
cwd: './webkitbuilds/Copay/linux64/',
src: ['**/*'],
dest: 'copay-linux32/'
},
linux64: {
options: {
archive: './webkitbuilds/copay-linux64.zip'
},
expand: true,
cwd: './webkitbuilds/copay/linux64/',
src: ['**/*'],
dest: 'copay-linux64/'
dest: 'copay-linux/'
}
},
browserify: {
@ -231,5 +213,5 @@ module.exports = function(grunt) {
grunt.registerTask('translate', ['nggettext_extract']);
grunt.registerTask('test', ['karma:unit']);
grunt.registerTask('test-coveralls', ['karma:prod', 'coveralls']);
grunt.registerTask('desktop', ['prod', 'nodewebkit', 'copy:linux', 'compress:linux32', 'compress:linux64', 'exec:osx32', 'exec:osx64']);
grunt.registerTask('desktop', ['prod', 'nodewebkit', 'copy:linux', 'compress:linux', 'exec:osx']);
};

View file

@ -6,20 +6,14 @@ verify:
gpg --verify browser-extensions/chrome/copay-chrome-extension.zip.sig browser-extensions/chrome/copay-chrome-extension.zip
sign-desktop:
gpg -u 1112CFA1 --output webkitbuilds/copay-linux32.zip.sig --detach-sig webkitbuilds/copay-linux32.zip
gpg -u 1112CFA1 --output webkitbuilds/copay-linux64.zip.sig --detach-sig webkitbuilds/copay-linux64.zip
gpg -u 1112CFA1 --output webkitbuilds/copay-osx32.dmg.sig --detach-sig webkitbuilds/copay-osx32.dmg
gpg -u 1112CFA1 --output webkitbuilds/copay-osx64.dmg.sig --detach-sig webkitbuilds/copay-osx64.dmg
gpg -u 1112CFA1 --output webkitbuilds/copay-win32.exe.sig --detach-sig webkitbuilds/copay-win32.exe
gpg -u 1112CFA1 --output webkitbuilds/copay-win64.exe.sig --detach-sig webkitbuilds/copay-win64.exe
gpg -u 1112CFA1 --output webkitbuilds/Copay-linux.zip.sig --detach-sig webkitbuilds/Copay-linux.zip
gpg -u 1112CFA1 --output webkitbuilds/Copay-osx.dmg.sig --detach-sig webkitbuilds/Copay-osx.dmg
gpg -u 1112CFA1 --output webkitbuilds/Copay-win.exe.sig --detach-sig webkitbuilds/Copay-win.exe
verify-desktop:
gpg --verify webkitbuilds/copay-linux32.zip.sig webkitbuilds/copay-linux32.zip
gpg --verify webkitbuilds/copay-linux64.zip.sig webkitbuilds/copay-linux64.zip
gpg --verify webkitbuilds/copay-osx32.dmg.sig webkitbuilds/copay-osx32.dmg
gpg --verify webkitbuilds/copay-osx64.dmg.sig webkitbuilds/copay-osx64.dmg
gpg --verify webkitbuilds/copay-win32.exe.sig webkitbuilds/copay-win32.exe
gpg --verify webkitbuilds/copay-win64.exe.sig webkitbuilds/copay-win64.exe
gpg --verify webkitbuilds/Copay-linux.zip.sig webkitbuilds/Copay-linux.zip
gpg --verify webkitbuilds/Copay-osx.dmg.sig webkitbuilds/Copay-osx.dmg
gpg --verify webkitbuilds/Copay-win.exe.sig webkitbuilds/Copay-win.exe
chrome:
browser-extensions/chrome/build.sh

View file

@ -10,7 +10,7 @@
"angular": "1.4.6",
"angular-bitcore-wallet-client": "1.1.7",
"angular-foundation": "0.7.0",
"angular-gettext": "2.1.0",
"angular-gettext": "2.1.2",
"angular-moment": "0.10.1",
"angular-qrcode": "monospaced/angular-qrcode#~6.0.3",
"angular-ui-router": "0.2.15",

View file

@ -126,7 +126,7 @@ if [ ! -d $PROJECT ]; then
cordova plugin add hu.dpal.phonegap.plugins.uniquedeviceid
checkOK
cordova plugin add cordova-plugin-file
cordova plugin add cordova-plugin-file@3.0.0
checkOK
cordova plugin add cordova-plugin-touch-id && cordova prepare

View file

@ -1,8 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.bitpay.copay"
version="1.5.3"
android-versionCode="57"
ios-CFBundleVersion="1.5.3">
version="1.6.1"
android-versionCode="59"
ios-CFBundleVersion="1.6.1">
<name>Copay</name>
<description>
A secure bitcoin wallet for friends and companies.
@ -17,7 +17,10 @@
<preference name="DisallowOverscroll" value="true"/>
<preference name="HideKeyboardFormAccessoryBar" value="true"/>
<preference name="SplashScreen" value="copayscreen" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value="0.5" />
<preference name="BackgroundColor" value="#2C3E50" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#2C3E50" />

View file

@ -57,11 +57,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.5.3</string>
<string>1.6.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.5.3</string>
<string>1.6.1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
<Identity Name="18C7659D.CopayWallet" Publisher="CN=F89609D1-EB3E-45FD-A58A-C2E3895FCE7B" Version="1.5.3.0" />
<Identity Name="18C7659D.CopayWallet" Publisher="CN=F89609D1-EB3E-45FD-A58A-C2E3895FCE7B" Version="1.6.1.0" />
<mp:PhoneIdentity PhoneProductId="5381aa50-9069-11e4-84cc-293caf9cbdc8" PhonePublisherId="F89609D1-EB3E-45FD-A58A-C2E3895FCE7B" />
<Properties>
<DisplayName>Copay Bitcoin Wallet</DisplayName>

View file

@ -8,7 +8,7 @@
<Language code="ja" />
<Language code="es" />
</Languages>
<App Author="Bitpay Inc." BitsPerPixel="32" Description="A multisignature Bitcoin Wallet" Genre="apps.normal" ProductID="{5381aa50-9069-11e4-84cc-293caf9cbdc8}" Publisher="Copay Bitcoin Wallet" PublisherID="{31cdd08b-457c-413d-b440-f6665eec847d}" RuntimeType="Silverlight" Title="Copay Bitcoin Wallet" Version="1.5.3.0" xmlns="" NotificationService="MPN">
<App Author="Bitpay Inc." BitsPerPixel="32" Description="A multisignature Bitcoin Wallet" Genre="apps.normal" ProductID="{5381aa50-9069-11e4-84cc-293caf9cbdc8}" Publisher="Copay Bitcoin Wallet" PublisherID="{31cdd08b-457c-413d-b440-f6665eec847d}" RuntimeType="Silverlight" Title="Copay Bitcoin Wallet" Version="1.6.1.0" xmlns="" NotificationService="MPN">
<IconPath IsRelative="true" IsResource="false">Assets\icon@2.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />

View file

@ -1,7 +1,4 @@
* TREZOR support (only in Chrome App version)
* New notification system. Reduced bandwidth usage and better handling of network disconnections
* Addressbook
* Transaction history cache and better ordering
* Better BIP44 Support: prevent gaps in indexes when scanning wallets and generating addresses
* Per Wallet BWS Setting
* Fixes resume event on mobile
* Enhanced user interface and design
* New backup verification quiz
* Faster bootstrapping
* Tons of bug fixes

View file

@ -1,7 +1,4 @@
* Soporte de TREZOR (solo en la versión de Chrome App)
* Nuevo sistema de notificación. Uso de ancho de banda reducido y mejor manejo de desconexiones de la red
* Libreta de direcciones
* Caché para el historial de transacciones y mejora en el orden de las mismas
* Mejor soporte de BIP44: evitar diferencias en los índices cuando se aborda el análisis de un monedero y la generación de direcciones
* Ajuste de BWS por monederos
* Correcciones en el evento reanudar del celular
* Mejora en el diseño e interfaz de usuario
* Nuevo proceso de verificación de la copia de seguridad
* Arranque más rápido
* Toneladas de correcciones

View file

@ -1,7 +1,4 @@
* Prise en charge de TREZOR (uniquement en version Chrome App)
* Nouveau système de notification. Réduction de la bande passante et meilleure gestion des déconnexions réseaux
* Répertoire
* Mise en cache de l'historique des transactions et meilleur arrangement
* Meilleur support de BIP44 : empêche des lacunes dans les index lors de l'analyse des portefeuilles et lors de la génération des adresses
* Paramètre BWS pour chaque portefeuille
* Correction de l'évènement reprise sur mobile
* Amélioration de l'interface utilisateur et du design
* Nouvelle procédure de vérification de la sauvegarde
* Bootstrapping plus rapide
* Plein de corrections de bugs

View file

@ -1,24 +0,0 @@
Aggiornamenti importanti
=============
* Supporto per iOS 9
* Supporto all'hardware wallet Trezor
* Supporto ai paper wallet
Aggiornamenti minori
=============
* Nuova splash per installare Copay su OS X
* Risolti dei problemi alle animazioni
* Handle back-button on Android devices if a modal is opened
* Fix beep sound after barcodescanner on Android devices
* Fix derivation path on Advanced Information
* Add non-backward compatibility URI for payment protocol
* Hide menu bottom if wallet is not authorized
* Fix wording on the backup page
* Fix translation strings
* Updates the packages dependencies with bower
* Supporto per iOS 9
* Fix mnemonic with private key encrypted
* Fix time in proposal transactions
* Fix autofocus to password input in Request Password for Spending Funds modal

View file

@ -1,7 +1,4 @@
■ TREZOR対応 (Chromeアプリのみ)
■ 新しい通知システム: 帯域幅の削減、ネットワークの切断の処理を改善
■ アドレス帳
■ 取引履歴キャッシュと順番処理の改善
■ BIP44の処理改善アドレス生成の索引が合間開きすぎないようにすることで互換性のより高い復元の処理実現
■ ウォレットごとに使用サーバーが設定変更可能
■ モバイルの再開イベントの修正
■ デザイン及び操作性の向上
■ バックアップ確認のクイズを追加
■ より速いブートストラップ
■ 大量のバグ修正

View file

@ -1,24 +0,0 @@
Основные обновления
=============
* Поддержка iOS 9
* Поддержка аппаратного бумажника Trezor
* Поддержка бумажных кошельков (paper wallet)
Мелкие обновления
=============
Новый способ установки Copay в OSX
* Исправление анимации
* Поддерка кнопки возврата назад на Android-устройствах
* Исправление звукового сигнала после сканирования кода на устройствах Android
* Fix derivation path on Advanced Information
* Add non-backward compatibility URI for payment protocol
* Hide menu bottom if wallet is not authorized
* Fix wording on the backup page
* Fix translation strings
* Updates the packages dependencies with bower
* Поддержка iOS 9
* Fix mnemonic with private key encrypted
* Fix time in proposal transactions
* Fix autofocus to password input in Request Password for Spending Funds modal

View file

@ -12,7 +12,7 @@ msgstr ""
"Last-Translator: cmgustavo83\n"
"Language-Team: Spanish\n"
"Language: es\n"
"PO-Revision-Date: 2015-11-12 16:00-0500\n"
"PO-Revision-Date: 2015-12-13 06:02-0500\n"
#: public/views/walletHome.html
msgid "(possible double spend)"
@ -31,6 +31,10 @@ msgstr "{{fee}} se descontará por comisión de la red bitcoin"
msgid "{{index.m}}-of-{{index.n}}"
msgstr "{{index.m}}-de-{{index.n}}"
#: public/views/walletHome.html
msgid "{{index.txProgress}} transactions downloaded"
msgstr "{{index.txProgress}} transacciones descargadas"
#: public/views/includes/sidebar.html
msgid "{{item.m}}-of-{{item.n}}"
msgstr "{{item.m}}-de-{{item.n}}"
@ -43,7 +47,7 @@ msgstr "{{len}} monederos importados. Búsqueda de fondos en progreso. Espere a
msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created."
msgstr "* Una propuesta de pago puede ser eliminada si 1) Ud. es el creador, y ningún otro copayer la haya firmado, o 2) hayan transcurrido 24 horas desde la creación de la propuesta."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "<b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b>"
msgstr "<b>SI UD. PIERDE ACCESO A SU MONEDERO COPAY O A SUS CLAVES PRIVADAS ENCRIPTADAS Y NO HA GUARDADO POR SEPARADO UNA COPIA DE SEGURIDAD DE SU MONEDERO Y CONTRASEÑA CORRESPONDIENTES, USTED RECONOCE Y ACEPTA QUE CUALQUIER BITCOIN QUE HA ASOCIADO CON ESE MONEDERO COPAY SERÁ INACCESIBLE.</b>"
@ -59,11 +63,11 @@ msgstr "<b>O</b> la semilla del monedero de <b>todos</b> los copayers del monede
msgid "<b>OR</b> the wallet seeds of <b>all</b> copayers in the wallet"
msgstr "<b>O</b> las semillas del monedero de <b>todos</b> los copayers del monedero"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "A multisignature bitcoin wallet"
msgstr "Monedero multifirma de bitcoin"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "About Copay"
msgstr "Acerca de Copay"
@ -75,16 +79,21 @@ msgstr "Acerca de Copay"
msgid "Accept"
msgstr "Aceptar"
#: public/views/join.html
#: public/views/preferencesInformation.html
msgid "Account"
msgstr "Cuenta"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
msgid "Account Number"
msgstr "Número de cuenta"
#: public/views/walletHome.html
#: src/js/controllers/index.js
msgid "Activity"
msgstr "Actividad"
#: public/views/modals/destination-address.html
msgid "Add a new entry"
msgstr "Agregar una nueva entrada"
@ -114,21 +123,13 @@ msgstr "Dirección"
msgid "Address Type"
msgstr "Tipo de Dirección"
#: public/views/modals/destination-address.html
msgid "Addressbook"
msgstr "Libreta de direcciones"
#: public/views/preferences.html
msgid "Advanced"
msgstr "Avanzado"
#: public/views/modals/advancedSend.html
msgid "Advanced Send"
msgstr "Envío avanzado"
#: public/views/disclaimer.html
msgid "Agree"
msgstr "Aceptar"
#: public/views/preferences.html
msgid "Alias"
msgstr "Alias"
#: public/views/preferencesAlias.html
msgid "Alias for <i>{{index.walletName}}</i>"
@ -138,15 +139,11 @@ msgstr "Alias de <i>{{index.walletName}}</i>"
msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at"
msgstr "Todas las contribuciones a la traducción de Copay son bienvenidas. Regístrese en crowdin.com y únase al proyecto Copay en"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "All transaction requests are irreversible."
msgstr "Todas las solicitudes de transacciones son irreversibles."
#: public/views/splash.html
msgid "Already have a wallet?"
msgstr "¿Ya dispone de un monedero?"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Alternative Currency"
msgstr "Moneda Alternativa"
@ -154,7 +151,6 @@ msgstr "Moneda Alternativa"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/modals/customized-amount.html
#: public/views/modals/txp-details.html
msgid "Amount"
msgstr "Importe"
@ -167,7 +163,7 @@ msgstr "Importe debajo del umbral permitido"
msgid "Amount in"
msgstr "Importe en"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Are you sure you want to delete the backup words?"
msgstr "¿Está seguro que quiere eliminar las palabras de la copia de seguridad?"
@ -181,7 +177,6 @@ msgid "Available Balance"
msgstr "Balance disponible"
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes"
msgstr "Tiempo promedio de confirmación: {{fee.nbBlocks * 10}} minutos"
@ -195,11 +190,19 @@ msgstr "Volver"
msgid "Backup"
msgstr "Copia de seguridad"
#: public/views/backup.html
msgid "Backup failed"
msgstr "Falló la copia de seguridad"
#: public/views/walletHome.html
msgid "Backup Needed"
msgstr "Se requiere hacer copia de seguridad"
#: public/views/walletHome.html
msgid "Backup now"
msgstr "Realizar copia de seguridad ahora"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Backup words deleted"
msgstr "Las palabras de la copia de seguridad fueron borradas"
@ -212,8 +215,8 @@ msgid "Balance By Address"
msgstr "Balance por Dirección"
#: public/views/walletHome.html
msgid "Before receiving funds, it is highly recommended you backup your wallet keys."
msgstr "Antes de recibir fondos, es altamente recomendable realizar una copia de seguridad."
msgid "Before receiving funds, it is highly recommended you backup your wallet. If you lose this device, it is impossible to access your funds without a backup."
msgstr "Antes de recibir fondos, se recomienda realizar una copia de seguridad de su monedero. Si pierde este dispositivo, es imposible tener acceso a sus fondos sin una copia de seguridad."
#: public/views/create.html
#: public/views/import.html
@ -225,7 +228,7 @@ msgstr "BIP32 para el camino de derivación de direcciones"
msgid "Bitcoin address"
msgstr "Dirección bitcoin"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Bitcoin Network Fee Policy"
msgstr "Política de Comisión de la Red Bitcoin"
@ -253,6 +256,10 @@ msgstr "Emitiendo la transacción"
msgid "Browser unsupported"
msgstr "Navegador no soportado"
#: public/views/includes/sidebar.html
msgid "Buy &amp; Sell Bitcoin"
msgstr "Comprar &amp; Vender Bitcoin"
#: public/views/copayers.html
#: public/views/walletHome.html
#: public/views/modals/confirmation.html
@ -284,12 +291,11 @@ msgstr "Cambiar el alias del monedero solo afecta al nombre del monedero local."
msgid "Choose a backup file from your computer"
msgstr "Seleccione el archivo de copia de seguridad de su computadora"
#: public/views/preferencesInformation.html
msgid "Clear history"
msgstr "Limpiar historial"
#: public/views/preferencesHistory.html
msgid "Clear cache"
msgstr "Limpiar cache"
#: public/views/includes/topbar.html
#: public/views/modals/advancedSend.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
#: public/views/modals/paypro.html
@ -312,10 +318,18 @@ msgstr "Commit hash"
msgid "Confirm"
msgstr "Confirmar"
#: public/views/backup.html
msgid "Confirm your wallet seed"
msgstr "Confirmar su semilla del monedero"
#: public/views/modals/tx-details.html
msgid "Confirmations"
msgstr "Confirmaciones"
#: public/views/backup.html
msgid "Congratulations!"
msgstr "¡Felicitaciones!"
#: public/views/create.html
msgid "Connecting to {{create.hwWallet}} Wallet..."
msgstr "Conectando al monedero {{create.hwWallet}}..."
@ -328,6 +342,10 @@ msgstr "Conectando al monedero {{import.hwWallet}}..."
msgid "Connecting to {{join.hwWallet}} Wallet..."
msgstr "Conectando al monedero {{join.hwWallet}}..."
#: public/views/backup.html
msgid "Continue"
msgstr "Continuar"
#: src/js/services/bwsError.js
msgid "Copayer already in this wallet"
msgstr "Ya se encuentra en este monedero"
@ -459,7 +477,7 @@ msgstr "Crear, unirse o importar"
msgid "Created by"
msgstr "Creado por"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Creating Profile..."
msgstr "Creando el Perfil..."
@ -472,7 +490,6 @@ msgid "Creating Wallet..."
msgstr "Creando el Monedero..."
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB"
msgstr "Comisión actual para esta política: {{fee.feePerKBUnit}}/kiB"
@ -492,6 +509,10 @@ msgstr "Borrarlo y crear uno nuevo"
msgid "Delete Payment Proposal"
msgstr "Eliminar Propuesta de Pago"
#: public/views/preferences.html
msgid "Delete seed words"
msgstr "Eliminar palabras de la semilla"
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr "Eliminar monedero"
@ -500,9 +521,9 @@ msgstr "Eliminar monedero"
msgid "Delete Wallet"
msgstr "Eliminar Monedero"
#: public/views/backup.html
msgid "DELETE WORDS"
msgstr "ELIMINAR PALABRAS"
#: public/views/preferencesDeleteWords.html
msgid "Delete words"
msgstr "Eliminar palabras"
#: src/js/controllers/walletHome.js
msgid "Deleting payment"
@ -545,10 +566,6 @@ msgstr "Listo"
msgid "Download"
msgstr "Descargar"
#: public/views/walletHome.html
msgid "Download CSV file"
msgstr "Descargar archivo CSV"
#: src/js/services/feeService.js
msgid "Economy"
msgstr "Económico"
@ -582,6 +599,10 @@ msgstr "El archivo cifrado se ha exportado y guardado"
msgid "Enter the seed words (BIP39)"
msgstr "Ingrese las palabras de la semilla (BIP39)"
#: public/views/backup.html
msgid "Enter your passphrase"
msgstr "Introduzca su contraseña"
#: public/views/includes/password.html
msgid "Enter your password"
msgstr "Ingrese su contraseña"
@ -607,6 +628,10 @@ msgstr "Expira"
msgid "Export options"
msgstr "Opciones de exportación"
#: public/views/preferencesHistory.html
msgid "Export to file"
msgstr "Exportar a archivo"
#: public/views/preferencesAdvanced.html
msgid "Export Wallet"
msgstr "Exportar Monedero"
@ -623,6 +648,10 @@ msgstr "Error al exportar"
msgid "Failed to import wallets"
msgstr "Error al importar monederos"
#: public/views/backup.html
msgid "Failed to verify backup. Please check your information"
msgstr "No se pudo comprobar la copia de seguridad. Por favor verifique su información"
#: public/views/create.html
msgid "Family vacation funds"
msgstr "Fondos para vacaciones en familia"
@ -632,14 +661,6 @@ msgstr "Fondos para vacaciones en familia"
msgid "Fee"
msgstr "Comisión"
#: public/views/modals/advancedSend.html
msgid "Fee Policy"
msgstr "Política de Comisión"
#: public/views/walletHome.html
msgid "Fee policy for this transaction"
msgstr "Política de comisión para esta transacción"
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
@ -649,6 +670,10 @@ msgstr "Obteniendo información del pago"
msgid "File/Text Backup"
msgstr "Archivo/Texto"
#: public/views/backup.html
msgid "Finish"
msgstr "Finalizar"
#: public/views/translators.html
msgid "French"
msgstr "Francés"
@ -666,7 +691,7 @@ msgid "Funds received"
msgstr "Fondos Recibidos"
#: public/views/paperWallet.html
msgid "Funds will be transfered to"
msgid "Funds will be transferred to"
msgstr "Los fondos serán transferidos a"
#: public/views/walletHome.html
@ -685,21 +710,13 @@ msgstr "Generando archivo .csv..."
msgid "German"
msgstr "Alemán"
#: public/views/splash.html
msgid "GET STARTED"
msgstr "COMENZAR"
#: public/views/modals/destination-address.html
msgid "Getting address for wallet {{selectedWalletName}} ..."
msgstr "Obteniendo direcciones para el monedero {{selectedWalletName}} ..."
#: public/views/preferences.html
msgid "Global settings"
msgstr "Opciones globales"
#: public/views/disclaimer.html
msgid "Go back"
msgstr "Volver"
#: public/views/includes/sidebar.html
msgid "Global preferences"
msgstr "Preferencias globales"
#: public/views/translators.html
msgid "Greek"
@ -716,33 +733,23 @@ msgstr "¿Tiene una copia de seguridad de Copay v0.9?"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Hide advanced options"
msgstr "Ocultar opciones avanzadas"
#: public/views/backup.html
msgid "Hide Wallet Seed"
msgstr "Ocultar Semilla del Monedero"
#: src/js/controllers/index.js
msgid "History"
msgstr "Historial"
#: src/js/controllers/index.js
msgid "Home"
msgstr "Inicio"
#: public/views/disclaimer.html
msgid "I affirm that I have read, understood, and agree with these terms."
msgstr "Confirmo haber leído, entendido y aceptado estos términos."
#: public/views/disclaimer.html
msgid "I AGREE. GET STARTED"
msgstr "DE ACUERDO. COMENZAR"
#: public/views/import.html
#: public/views/importLegacy.html
msgid "Import"
msgstr "Importar"
#: public/views/import.html
#: public/views/splash.html
msgid "Import backup"
msgstr "Importar copia de seguridad"
@ -766,20 +773,22 @@ msgstr "Importando monedero..."
msgid "Importing..."
msgstr "Importando..."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software."
msgstr "En ningún caso los autores, empleados y afiliados de Bitpay, los titulares de derechos de autor, o BitPay, Inc. serán declarados responsables de los reclamos, daños o cualquier otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surja fuera de la conexión con el software."
#: public/views/backup.html
msgid "In order to verify your wallet backup, please type your passphrase:"
msgstr "Con el fin de verificar la copia de seguridad del monedero, por favor escriba su contraseña:"
#: public/views/export.html
msgid "Include address book and history cache"
msgstr "Incluir libreta de direcciones e historial"
#: src/js/services/bwsError.js
msgid "Incorrect address network"
msgstr "Dirección de red incorrecta"
#: public/views/walletHome.html
msgid "Initial transaction history synchronization can take some minutes for wallets with many transactions.<br>\n"
" Please stand by."
msgstr "La sincronización del historial de transacción inicial puede tomar algunos minutos para monederos con muchas transacciones. <br>\n"
" Espere por favor."
#: src/js/services/bwsError.js
msgid "Insufficient funds"
msgstr "Fondos insuficientes"
@ -853,7 +862,7 @@ msgstr "La clave ya esta asociada a un monedero existente"
msgid "Label"
msgstr "Etiqueta"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Language"
msgstr "Idioma"
@ -869,10 +878,6 @@ msgstr "Más información sobre copias de seguridad en Copay"
msgid "Learn more about Wallet Migration"
msgstr "Más información acerca de como Migrar un Monedero"
#: src/js/controllers/disclaimer.js
msgid "Loading..."
msgstr "Cargando..."
#: public/views/includes/available-balance.html
msgid "locked by pending payments"
msgstr "bloqueado por pagos pendientes"
@ -913,17 +918,30 @@ msgid "Message"
msgstr "Mensaje"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Moved"
msgstr "Movido"
#: public/views/join.html
msgid "Multiple wallets accounts are supported on the device simultaneously. Select which account should be used for this wallet"
msgstr "Múltiples cuentas de monederos son compatibles simultáneamente en el mismo dispositivo. Seleccione la cuenta que debe utilizarse para este monedero"
#: public/views/modals/txp-details.html
msgid "Multiple recipients"
msgstr "Varios destinatarios"
#: public/views/walletHome.html
msgid "My Bitcoin address"
msgstr "Mi dirección Bitcoin"
#: public/views/modals/destination-address.html
msgid "My contacts"
msgstr "Mis contactos"
#: public/views/modals/destination-address.html
msgid "My wallets"
msgstr "Mis monederos"
#: public/views/preferencesDeleteWords.html
msgid "Need to do backup"
msgstr "Necesita hacer una copias de seguridad"
#: public/views/paymentUri.html
msgid "Network"
msgstr "Red"
@ -957,6 +975,10 @@ msgstr "Normal"
msgid "Not authorized"
msgstr "No autorizado"
#: public/views/preferences.html
msgid "Not completed"
msgstr "No completado"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
@ -971,10 +993,11 @@ msgid "Note"
msgstr "Nota"
#: public/views/disclaimer.html
#: public/views/termOfUse.html
msgid "Official English Disclaimer"
msgstr "Renuncia oficial en inglés"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Once you have copied your wallet seed down, it is recommended to delete it from this device."
msgstr "Una vez que se copia la semilla del monedero, se recomienda eliminarla de este dispositivo."
@ -1077,11 +1100,8 @@ msgstr "Protocolo de Pago Inválido"
msgid "Payment Protocol not supported on Chrome App"
msgstr "El protocolo de pago no está soportado en Chrome"
#: public/views/modals/txp-details.html
msgid "Payment rejected"
msgstr "Pago rechazado"
#: public/views/modals/tx-status.html
#: public/views/modals/txp-details.html
msgid "Payment Rejected"
msgstr "Pago Rechazado"
@ -1090,10 +1110,6 @@ msgid "Payment request"
msgstr "Solicitud de pago"
#: public/views/modals/txp-details.html
msgid "Payment sent"
msgstr "Pago enviado"
#: public/views/modals/tx-status.html
#: src/js/services/notificationsService.js
msgid "Payment Sent"
msgstr "Pago Enviado"
@ -1115,6 +1131,11 @@ msgstr "Borrar permanentemente este monedero. ESTA ACCIÓN NO PUEDE SER REVERTID
msgid "Personal Wallet"
msgstr "Monedero Personal"
#: public/views/create.html
#: public/views/join.html
msgid "Please accept to export two public keys from the Trezor app"
msgstr "Por favor acepte para exportar dos claves públicas de la aplicación Trezor"
#: src/js/controllers/create.js
#: src/js/controllers/join.js
msgid "Please enter the required fields"
@ -1129,6 +1150,10 @@ msgstr "Por favor ingrese las palabras de la semilla"
msgid "Please enter the wallet seed"
msgstr "Por favor ingrese la semilla del monedero"
#: public/views/backup.html
msgid "Please tap the words in order to confirm your backup phrase is correctly written."
msgstr "Por favor presione las palabras para confirmar que su copia de seguridad está correctamente escrita."
#: src/js/services/bwsError.js
msgid "Please upgrade Copay to perform this action"
msgstr "Por favor actualice Copay para realizar esta acción"
@ -1141,14 +1166,14 @@ msgstr "Por favor, seleccione el archivo de copia de seguridad"
msgid "Portuguese"
msgstr "Portugués"
#: public/views/walletHome.html
msgid "Preferences"
msgstr "Preferencias"
#: src/js/controllers/export.js
msgid "Preparing backup..."
msgstr "Preparando copia de seguridad..."
#: src/js/routes.js
msgid "Press again to exit"
msgstr "Presione nuevamente para salir"
#: src/js/services/feeService.js
msgid "Priority"
msgstr "Prioritario"
@ -1166,10 +1191,10 @@ msgid "Receive"
msgstr "Recibir"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Received"
msgstr "Recibido"
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "Recipients"
@ -1229,7 +1254,7 @@ msgstr "Requerido"
msgid "Required number of signatures"
msgstr "Número requerido de firmas"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Retrying..."
msgstr "Reintentando..."
@ -1280,6 +1305,10 @@ msgstr "Buscando fondos en el monedero..."
msgid "Scanning Wallet funds..."
msgstr "Buscando fondos en el Monedero..."
#: public/views/preferences.html
msgid "Security preferences"
msgstr "Preferencias de seguridad"
#: public/views/modals/tx-details.html
msgid "See it on the blockchain"
msgstr "Ver en la blockchain"
@ -1306,7 +1335,6 @@ msgid "Self-signed Certificate"
msgstr "Certificado autofirmado"
#: public/views/walletHome.html
#: public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send"
msgstr "Enviar"
@ -1324,11 +1352,17 @@ msgstr "Enviar Todo"
msgid "Send by email"
msgstr "Enviar por correo electrónico"
#: public/views/includes/transaction.html
msgid "Sending"
msgstr "Enviando"
#: public/views/paperWallet.html
msgid "Sending funds..."
msgstr "Enviando los fondos..."
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
#: public/views/modals/tx-status.html
msgid "Sent"
msgstr "Enviado"
@ -1352,18 +1386,23 @@ msgstr "ESTABLECER"
msgid "Set default url"
msgstr "Establecer URL predeterminada"
#: public/views/export.html
msgid "Set up a Export Password"
msgstr "Configurar una contraseña al exportar"
#: public/views/includes/password.html
msgid "Set up a password"
msgstr "Configurar una contraseña"
#: public/views/export.html
msgid "Set up an Export Password"
msgstr "Configurar una contraseña al exportar"
#: public/views/preferencesEmail.html
msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more."
msgstr "Configurar notificaciones por correo electrónico podría debilitar su privacidad, si el proveedor de Wallet Service se ve comprometido. La información disponible para un atacante incluiría sus direcciones del monedero y su balance, pero no más."
#: public/views/walletHome.html
#: public/views/includes/sidebar.html
msgid "Settings"
msgstr "Configuración"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
msgid "Share address"
@ -1389,7 +1428,6 @@ msgstr "Monedero Compartido"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Show advanced options"
msgstr "Mostrar opciones avanzadas"
@ -1409,10 +1447,6 @@ msgstr "Firmas rechazadas por el servidor"
msgid "Signing payment"
msgstr "Firmando el pago"
#: public/views/walletHome.html
msgid "SKIP BACKUP"
msgstr "OMITIR COPIA DE SEGURIDAD"
#: public/views/translators.html
msgid "Spanish"
msgstr "Español"
@ -1430,14 +1464,6 @@ msgstr "La propuesta de gasto no se ha aceptado"
msgid "Spend proposal not found"
msgstr "La propuesta de gasto no se ha encontrado"
#: public/views/preferences.html
msgid "Spending Restrictions"
msgstr "Restricciones de Gastos"
#: public/views/preferences.html
msgid "Still not done"
msgstr "Aún no esta listo"
#: src/js/controllers/copayers.js
#: src/js/controllers/export.js
#: src/js/controllers/import.js
@ -1462,11 +1488,7 @@ msgstr "Toque para reintentar"
msgid "Terms of Use"
msgstr "Términos de Uso"
#: public/views/create.html
msgid "Testnet"
msgstr "Testnet"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network."
msgstr "Los autores de los software, empleados y afiliados de Bitpay, los titulares de derechos de autor, y BitPay, Inc. no pueden recuperar sus claves privadas o contraseñas si se pierde o se olvida de ellos y no se puede garantizar la confirmación de la transacción, ya que no tienen control sobre la red Bitcoin."
@ -1499,11 +1521,11 @@ msgstr "La clave privada de este monedero esta cifrada. Exportándola mantiene l
msgid "The seed could require a passphrase to be imported"
msgstr "La semilla puede requerir una contraseña para ser importada"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin."
msgstr "El software no constituye una cuenta donde BitPay u otras terceras partes sirven como intermediarios financieros o custodios de su bitcoin."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet."
msgstr "El software que va a utilizar es un monedero digital de código abierto y multi-firmas."
@ -1524,6 +1546,10 @@ msgstr "No dispone de monederos para realizar este pago"
msgid "There is an error in the form"
msgstr "Hay un error en el formulario"
#: public/views/backup.html
msgid "This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed."
msgstr "Esta semilla fue creada con una contraseña. Para recuperar el monedero son necesarias las palabras y la contraseña."
#: public/views/modals/tx-details.html
msgid "This transaction has become invalid; possibly due to a double spend attempt."
msgstr "Esta transacción se ha invalidado; posiblemente debido a un intento de doble gasto."
@ -1538,7 +1564,6 @@ msgstr "Hora"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "To"
@ -1548,7 +1573,7 @@ msgstr "Para"
msgid "To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need"
msgstr "Para restaurar el monedero <b>compartido</b> {{index.m}}-{{index.n}} necesitará"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement."
msgstr "En la máxima medida permitida por la ley, este software se proporciona \"tal cual está\" y no asume la responsabilidad ni ofrece garantías de ningún tipo, expresa o implícita, incluyendo, pero no limitado a las garantías comerciales, de conveniencia o a un propósito particular."
@ -1556,10 +1581,6 @@ msgstr "En la máxima medida permitida por la ley, este software se proporciona
msgid "too long!"
msgstr "¡demasiado largo!"
#: public/views/modals/txp-details.html
msgid "Total"
msgstr "Total"
#: public/views/walletHome.html
msgid "Total Locked Balance"
msgstr "Balance Total Bloqueado"
@ -1576,13 +1597,9 @@ msgstr "Transacción"
msgid "Transaction already broadcasted"
msgstr "La transacción ya se ha emitido"
#: public/views/preferencesInformation.html
msgid "Transaction history"
msgstr "Historial de transacciones"
#: public/views/walletHome.html
msgid "Transactions<br> Downloaded"
msgstr "Transacciones<br> Descargadas"
#: public/views/preferencesAdvanced.html
msgid "Transaction History"
msgstr "Historial de Transacciones"
#: public/views/translators.html
msgid "Translation Credits"
@ -1592,9 +1609,13 @@ msgstr "Créditos de traducción"
msgid "Translators"
msgstr "Traductores"
#: public/views/backup.html
msgid "Try again"
msgstr "Vuelva a intentarlo"
#: public/views/import.html
msgid "Type the Seed Word (usually 12 words)"
msgstr "Escriba la Semilla (generalmente de 12 palabras)"
msgid "Type the Seed Phrase (usually 12 words)"
msgstr "Escriba la frase de la semilla (generalmente de 12 palabras)"
#: src/js/controllers/walletHome.js
msgid "Unable to send transaction proposal"
@ -1605,7 +1626,7 @@ msgstr "No se puede enviar la propuesta de transacción"
msgid "Unconfirmed"
msgstr "Sin confirmar"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Unit"
msgstr "Unidad"
@ -1613,12 +1634,15 @@ msgstr "Unidad"
msgid "Unsent transactions"
msgstr "Transacciones no enviadas"
#: public/views/walletHome.html
msgid "Updating transaction history. Please stand by."
msgstr "Actualizando el historial de transacciones. Por favor aguarde un momento."
#: public/views/walletHome.html
msgid "Updating Wallet..."
msgstr "Actualizando Monedero..."
#: public/views/preferences.html
#: public/views/walletHome.html
#: public/views/preferencesGlobal.html
msgid "Use Unconfirmed Funds"
msgstr "Utilizar los fondos sin confirmar"
@ -1642,14 +1666,6 @@ msgstr "Esperando a los demás copayers"
msgid "Waiting..."
msgstr "Esperando..."
#: public/views/preferencesDeleteWallet.html
msgid "Wallet"
msgstr "Monedero"
#: public/views/preferences.html
msgid "Wallet Alias"
msgstr "Alias del monedero"
#: src/js/services/bwsError.js
msgid "Wallet already exists"
msgstr "El monedero ya existe"
@ -1695,6 +1711,10 @@ msgstr "¡Invitación no válida!"
msgid "Wallet is full"
msgstr "El monedero está completo"
#: src/js/services/bwsError.js
msgid "Wallet is locked"
msgstr "Monedero bloqueado"
#: src/js/services/bwsError.js
msgid "Wallet is not complete"
msgstr "El monedero no esta completo"
@ -1734,6 +1754,7 @@ msgid "Wallet seed is invalid"
msgstr "La semilla del monedero no es válida"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Wallet seed not available. You can still export it from Advanced &gt; Export."
msgstr "La semilla del monedero no está disponible. Todavía puede exportar desde Avanzado &gt; Exportar."
@ -1741,14 +1762,6 @@ msgstr "La semilla del monedero no está disponible. Todavía puede exportar des
msgid "Wallet service not found"
msgstr "Wallet Service no encontrado"
#: public/views/modals/destination-address.html
msgid "Wallets"
msgstr "Monederos"
#: public/views/walletHome.html
msgid "WARNING: Backup needed"
msgstr "ADVERTENCIA: Se requiere hacer copia de seguridad"
#: 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 <b>funds will not be accessible from the export</b>."
msgstr "ADVERTENCIA: No incluir la clave privada permite verificar el saldo del monedero, historial de transacciones y crear propuestas de gastos. Sin embargo, no permite aprobar propuestas (firmar), así que <b>los fondos no serán accesibles al exportar</b>."
@ -1762,10 +1775,6 @@ msgstr "ADVERTENCIA: No se puede recuperar esta contraseña. <b>Asegúrese de es
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 <b>funds will not be accessible from the export</b>."
msgstr "ADVERTENCIA: La clave privada de este monedero no está disponible. La exportación permite verificar el saldo del monedero, historial de transacciones y crear propuestas de gastos en la exportación. Sin embargo, no permite aprobar propuestas (firmar), así que <b>los fondos no serán accesibles al exportar</b>."
#: 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 "ADVERTENCIA: Esta semilla fue creada con una contraseña. Para recuperar este mondero necesita las palabras y la contraseña."
#: public/views/modals/txp-details.html
msgid "Warning: this transaction has unconfirmed inputs"
msgstr "Advertencia: esta operación tiene entradas sin confirmar"
@ -1779,24 +1788,25 @@ msgid "WARNING: Wallet not registered"
msgstr "ADVERTENCIA: Monedero no registrado"
#: public/views/preferencesDeleteWallet.html
#: public/views/preferencesDeleteWords.html
msgid "Warning!"
msgstr "¡Advertencia!"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "We reserve the right to modify this disclaimer from time to time."
msgstr "Nos reservamos el derecho a modificar el presente aviso legal de vez en cuando."
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "WELCOME TO COPAY"
msgstr "BIENVENIDO A COPAY"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software."
msgstr "Mientras que el software ha experimentado pruebas en beta y aún sigue mejorando mediante la retroalimentación de la comunidad de desarrollador y usuarios de código abierto, no podemos garantizar que no habrá errores en el software."
#: public/views/backup.html
msgid "Write it down and keep them somewhere safe."
msgstr "Anótelas y guárdelas en un lugar seguro."
msgid "Write your wallet seed"
msgstr "Escriba la semilla de su monedero"
#: src/js/controllers/import.js
msgid "Wrong number of seed words:"
@ -1810,18 +1820,22 @@ msgstr "Contraseña incorrecta"
msgid "Yes"
msgstr "Si"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws."
msgstr "Usted reconoce que el uso de este software es bajo tu propia responsabilidad y en cumplimiento con todas las leyes aplicables."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software."
msgstr "Usted es responsable de la custodia de sus contraseñas, pares de claves privadas, PIN y cualquier otro código que se utiliza para acceder al software."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You assume any and all risks associated with the use of the software."
msgstr "Usted asume todos los riesgos asociados con el uso del software."
#: public/views/backup.html
msgid "You backed up your wallet. You can now restore this wallet at any time."
msgstr "Ya realizó una copia de seguridad de su monedero. Ahora puede restaurarlo en cualquier momento."
#: 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 "Con seguridad puede instalar su monedero en otro dispositivo y usarlo desde varios dispositivos al mismo tiempo."
@ -1831,8 +1845,8 @@ msgid "You do not have a wallet"
msgstr "No tiene ningún monedero"
#: public/views/backup.html
msgid "You need the wallet seed to restore this personal wallet."
msgstr "Necesita la semilla del monedero para restaurar este monedero personal."
msgid "You need the wallet seed to restore this personal wallet. Write it down and keep them somewhere safe."
msgstr "Necesita la semilla del monedero para restaurarlo. Anótela y guárdelas en un lugar seguro."
#: public/views/import.html
msgid "Your backup password"
@ -1863,10 +1877,6 @@ msgstr "El monedero se ha importado correctamente"
msgid "Your wallet key will be encrypted. Password cannot be recovered. Be sure to write it down"
msgstr "La clave del monedero se cifrará. La contraseña no puede ser recuperada. Asegúrese de escribirla"
#: public/views/backup.html
msgid "Your Wallet Seed"
msgstr "Semilla del Monedero"
#: public/views/backup.html
msgid "Your wallet seed and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend."
msgstr "Semilla del monedero y acceso al servidor que coordina la creación del monedero inicial. Aún necesita las {{index.m}} claves para gastar los fondos."

View file

@ -12,7 +12,7 @@ msgstr ""
"Last-Translator: cmgustavo83\n"
"Language-Team: French\n"
"Language: fr\n"
"PO-Revision-Date: 2015-11-12 07:31-0500\n"
"PO-Revision-Date: 2015-12-14 15:33-0500\n"
#: public/views/walletHome.html
msgid "(possible double spend)"
@ -31,6 +31,10 @@ msgstr "{{fee}} seront déduits pour les frais de réseau Bitcoin"
msgid "{{index.m}}-of-{{index.n}}"
msgstr "{{index.m}}-sur-{{index.n}}"
#: public/views/walletHome.html
msgid "{{index.txProgress}} transactions downloaded"
msgstr "{{index.txProgress}} transactions téléchargées"
#: public/views/includes/sidebar.html
msgid "{{item.m}}-of-{{item.n}}"
msgstr "{{item.m}}-sur-{{item.n}}"
@ -43,7 +47,7 @@ msgstr "{{len}} portefeuilles importés. L'analyse des fonds a démarré. Le sol
msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created."
msgstr "* Une proposition de paiement peut être supprimée si vous en êtes le créateur et qu'aucun des autres copayers n'a signé, ou si 24 heures sont passées depuis la création de la proposition."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "<b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b>"
msgstr "<b>SI VOUS PERDEZ L'ACCÈS À VOTRE PORTEFEUILLE COPAY OU À VOS CLÉS PRIVÉES CHIFFRÉES ET QUE VOUS N'AVEZ PAS ENTREPOSÉ SÉPARÉMENT UNE SAUVEGARDE DE VOTRE PORTEFEUILLE ET LES MOTS DE PASSE CORRESPONDANT, VOUS RECONNAISSEZ ET ACCEPTEZ QUE LES BITCOINS QUE VOUS AVEZ ASSOCIÉ À CE PORTEFEUILLE COPAY DEVIENNENT INACCESSIBLES.</b>"
@ -59,11 +63,11 @@ msgstr "<b>OU</b> la graine de portefeuille de <b>tous</b> les copayers dans le
msgid "<b>OR</b> the wallet seeds of <b>all</b> copayers in the wallet"
msgstr "<b>OU</b> les graines de portefeuilles de <b>tous</b> les copayers dans le portefeuille"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "A multisignature bitcoin wallet"
msgstr "Un portefeuille bitcoin multi-signatures"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "About Copay"
msgstr "À propos de Copay"
@ -75,16 +79,21 @@ msgstr "À propos de Copay"
msgid "Accept"
msgstr "Accepter"
#: public/views/join.html
#: public/views/preferencesInformation.html
msgid "Account"
msgstr "Compte"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
msgid "Account Number"
msgstr "Numéro de compte"
#: public/views/walletHome.html
#: src/js/controllers/index.js
msgid "Activity"
msgstr "Activité"
#: public/views/modals/destination-address.html
msgid "Add a new entry"
msgstr "Ajouter une nouvelle entrée"
@ -101,7 +110,7 @@ msgstr "Ajoutez une phrase de passe optionnelle pour sécuriser la graine"
#: public/views/includes/sidebar.html
msgid "Add wallet"
msgstr "Ajouter un portefeuille"
msgstr "Ajouter portefeuille"
#: public/views/paymentUri.html
#: public/views/modals/customized-amount.html
@ -114,21 +123,13 @@ msgstr "Adresse"
msgid "Address Type"
msgstr "Type d'adresse"
#: public/views/modals/destination-address.html
msgid "Addressbook"
msgstr "Répertoire"
#: public/views/preferences.html
msgid "Advanced"
msgstr "Paramètres avancés"
#: public/views/modals/advancedSend.html
msgid "Advanced Send"
msgstr "Envoi avancé"
#: public/views/disclaimer.html
msgid "Agree"
msgstr "Accepter"
#: public/views/preferences.html
msgid "Alias"
msgstr "Alias"
#: public/views/preferencesAlias.html
msgid "Alias for <i>{{index.walletName}}</i>"
@ -138,15 +139,11 @@ msgstr "Alias pour <i>{{index.walletName}}</i>"
msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at"
msgstr "Toutes les contributions à la traduction de Copay sont les bienvenues. Inscrivez-vous sur crowdin.com et rejoignez le projet Copay sur"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "All transaction requests are irreversible."
msgstr "Toutes les transactions sont irréversibles."
#: public/views/splash.html
msgid "Already have a wallet?"
msgstr "Vous avez déjà un portefeuille ?"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Alternative Currency"
msgstr "Devise alternative"
@ -154,7 +151,6 @@ msgstr "Devise alternative"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/modals/customized-amount.html
#: public/views/modals/txp-details.html
msgid "Amount"
msgstr "Montant"
@ -167,7 +163,7 @@ msgstr "Montant en dessous du seuil minimal recommandé"
msgid "Amount in"
msgstr "Montant en"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Are you sure you want to delete the backup words?"
msgstr "Êtes-vous sûr de vouloir supprimer les mots de sauvegarde ?"
@ -181,7 +177,6 @@ msgid "Available Balance"
msgstr "Solde disponible"
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes"
msgstr "Temps de confirmation moyen : {{fee.nbBlocks * 10}} minutes"
@ -195,11 +190,19 @@ msgstr "Retour"
msgid "Backup"
msgstr "Sauvegarder"
#: public/views/backup.html
msgid "Backup failed"
msgstr "La sauvegarde a échoué"
#: public/views/walletHome.html
msgid "Backup Needed"
msgstr "Sauvegarde nécessaire"
#: public/views/walletHome.html
msgid "Backup now"
msgstr "Sauvegarder"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Backup words deleted"
msgstr "Mots de sauvegarde supprimés"
@ -212,8 +215,8 @@ msgid "Balance By Address"
msgstr "Solde par adresse"
#: public/views/walletHome.html
msgid "Before receiving funds, it is highly recommended you backup your wallet keys."
msgstr "Avant de recevoir des fonds, il est fortement recommandé de sauvegarder les clés de votre portefeuille."
msgid "Before receiving funds, it is highly recommended you backup your wallet. If you lose this device, it is impossible to access your funds without a backup."
msgstr "Avant de recevoir des fonds, il est fortement recommandé de sauvegarder votre portefeuille. Si vous perdez cet appareil, il est impossible d'accéder à vos fonds sans une sauvegarde."
#: public/views/create.html
#: public/views/import.html
@ -225,7 +228,7 @@ msgstr "Chemin BIP32 pour la dérivation de l'adresse"
msgid "Bitcoin address"
msgstr "Adresse Bitcoin"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Bitcoin Network Fee Policy"
msgstr "Stratégie des frais de réseau Bitcoin"
@ -253,6 +256,10 @@ msgstr "Diffusion de la transaction"
msgid "Browser unsupported"
msgstr "Navigateur non supporté"
#: public/views/includes/sidebar.html
msgid "Buy &amp; Sell Bitcoin"
msgstr "Acheter &amp; Vendre Bitcoin"
#: public/views/copayers.html
#: public/views/walletHome.html
#: public/views/modals/confirmation.html
@ -284,12 +291,11 @@ msgstr "La modification d'un alias de portefeuille affecte uniquement le nom du
msgid "Choose a backup file from your computer"
msgstr "Choisissez un fichier de sauvegarde depuis votre ordinateur"
#: public/views/preferencesInformation.html
msgid "Clear history"
msgstr "Effacer l'historique"
#: public/views/preferencesHistory.html
msgid "Clear cache"
msgstr "Vider le cache"
#: public/views/includes/topbar.html
#: public/views/modals/advancedSend.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
#: public/views/modals/paypro.html
@ -312,10 +318,18 @@ msgstr "Commit hash"
msgid "Confirm"
msgstr "Confirmer"
#: public/views/backup.html
msgid "Confirm your wallet seed"
msgstr "Confirmez votre graine de portefeuille"
#: public/views/modals/tx-details.html
msgid "Confirmations"
msgstr "Confirmations"
#: public/views/backup.html
msgid "Congratulations!"
msgstr "Félicitations !"
#: public/views/create.html
msgid "Connecting to {{create.hwWallet}} Wallet..."
msgstr "Connexion au portefeuille {{create.hwWallet}}..."
@ -328,6 +342,10 @@ msgstr "Connexion au portefeuille {{import.hwWallet}}..."
msgid "Connecting to {{join.hwWallet}} Wallet..."
msgstr "Connexion au portefeuille {{join.hwWallet}}..."
#: public/views/backup.html
msgid "Continue"
msgstr "Continuer"
#: src/js/services/bwsError.js
msgid "Copayer already in this wallet"
msgstr "Copayer déjà dans ce portefeuille"
@ -459,7 +477,7 @@ msgstr "Créer, rejoindre ou importer"
msgid "Created by"
msgstr "Créée par"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Creating Profile..."
msgstr "Création du profile..."
@ -472,7 +490,6 @@ msgid "Creating Wallet..."
msgstr "Création du portefeuille..."
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB"
msgstr "Frais actuels pour cette stratégie : {{fee.feePerKBUnit}}/kiB"
@ -492,6 +509,10 @@ msgstr "Le supprimer et en créer un nouveau"
msgid "Delete Payment Proposal"
msgstr "Supprimer la proposition de paiement"
#: public/views/preferences.html
msgid "Delete seed words"
msgstr "Supprimer les mots de la graine"
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr "Supprimer le portefeuille"
@ -500,9 +521,9 @@ msgstr "Supprimer le portefeuille"
msgid "Delete Wallet"
msgstr "Supprimer le portefeuille"
#: public/views/backup.html
msgid "DELETE WORDS"
msgstr "SUPPRIMER LES MOTS"
#: public/views/preferencesDeleteWords.html
msgid "Delete words"
msgstr "Supprimer les mots"
#: src/js/controllers/walletHome.js
msgid "Deleting payment"
@ -545,10 +566,6 @@ msgstr "Terminé"
msgid "Download"
msgstr "Télécharger"
#: public/views/walletHome.html
msgid "Download CSV file"
msgstr "Télécharger le fichier CSV"
#: src/js/services/feeService.js
msgid "Economy"
msgstr "Économique"
@ -582,6 +599,10 @@ msgstr "Le fichier d'exportation chiffré a été enregistré"
msgid "Enter the seed words (BIP39)"
msgstr "Écrivez les mots de la graine (BIP39)"
#: public/views/backup.html
msgid "Enter your passphrase"
msgstr "Entrez votre phrase de passe"
#: public/views/includes/password.html
msgid "Enter your password"
msgstr "Écrivez votre mot de passe"
@ -607,6 +628,10 @@ msgstr "Expire"
msgid "Export options"
msgstr "Options d'exportation"
#: public/views/preferencesHistory.html
msgid "Export to file"
msgstr "Exporter vers un fichier"
#: public/views/preferencesAdvanced.html
msgid "Export Wallet"
msgstr "Exporter le portefeuille"
@ -623,6 +648,10 @@ msgstr "Impossible d'exporter"
msgid "Failed to import wallets"
msgstr "Impossible d'importer les portefeuilles"
#: public/views/backup.html
msgid "Failed to verify backup. Please check your information"
msgstr "Impossible de vérifier la sauvegarde. Veuillez vérifier vos informations"
#: public/views/create.html
msgid "Family vacation funds"
msgstr "Fonds pour les vacances familiales"
@ -632,14 +661,6 @@ msgstr "Fonds pour les vacances familiales"
msgid "Fee"
msgstr "Frais"
#: public/views/modals/advancedSend.html
msgid "Fee Policy"
msgstr "Stratégie des frais"
#: public/views/walletHome.html
msgid "Fee policy for this transaction"
msgstr "Stratégie des frais pour cette transaction"
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
@ -649,6 +670,10 @@ msgstr "Récupération des informations de paiement"
msgid "File/Text Backup"
msgstr "Fichier/Texte"
#: public/views/backup.html
msgid "Finish"
msgstr "Terminer"
#: public/views/translators.html
msgid "French"
msgstr "Français"
@ -666,7 +691,7 @@ msgid "Funds received"
msgstr "Fonds reçus"
#: public/views/paperWallet.html
msgid "Funds will be transfered to"
msgid "Funds will be transferred to"
msgstr "Les fonds seront transférés à"
#: public/views/walletHome.html
@ -685,21 +710,13 @@ msgstr "Génération du fichier .csv..."
msgid "German"
msgstr "Allemand"
#: public/views/splash.html
msgid "GET STARTED"
msgstr "COMMENCER"
#: public/views/modals/destination-address.html
msgid "Getting address for wallet {{selectedWalletName}} ..."
msgstr "Obtention d'une adresse pour le portefeuille {{selectedWalletName}} ..."
#: public/views/preferences.html
msgid "Global settings"
msgstr "Paramètres globaux"
#: public/views/disclaimer.html
msgid "Go back"
msgstr "Retour"
#: public/views/includes/sidebar.html
msgid "Global preferences"
msgstr "Préférences globales"
#: public/views/translators.html
msgid "Greek"
@ -716,33 +733,23 @@ msgstr "Vous avez une sauvegarde de Copay v0.9 ?"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Hide advanced options"
msgstr "Masquer les options avancées"
#: public/views/backup.html
msgid "Hide Wallet Seed"
msgstr "Masquer la graine de portefeuille"
#: src/js/controllers/index.js
msgid "History"
msgstr "Historique"
#: src/js/controllers/index.js
msgid "Home"
msgstr "Accueil"
#: public/views/disclaimer.html
msgid "I affirm that I have read, understood, and agree with these terms."
msgstr "Je confirme que j'ai lu, compris et suis d'accord avec ces conditions."
#: public/views/disclaimer.html
msgid "I AGREE. GET STARTED"
msgstr "JACCEPTE. COMMENCER"
#: public/views/import.html
#: public/views/importLegacy.html
msgid "Import"
msgstr "Importer"
#: public/views/import.html
#: public/views/splash.html
msgid "Import backup"
msgstr "Importer la sauvegarde"
@ -766,20 +773,22 @@ msgstr "Importation du portefeuille..."
msgid "Importing..."
msgstr "Importation..."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software."
msgstr "En aucun cas les auteurs du logiciel, employés et sociétés affiliés de Bitpay, détenteurs de droits d'auteur, ou BitPay, Inc. ne peuvent être tenus responsables de toute réclamation, dommages ou autre responsabilité, que ce soit dans une action contractuelle, délictuelle ou autre, découlant ou en étant en connexion avec le logiciel."
#: public/views/backup.html
msgid "In order to verify your wallet backup, please type your passphrase:"
msgstr "Afin de vérifier votre sauvegarde de portefeuille, veuillez saisir votre phrase de passe :"
#: public/views/export.html
msgid "Include address book and history cache"
msgstr "Inclure le répertoire et le cache de l'historique"
#: src/js/services/bwsError.js
msgid "Incorrect address network"
msgstr "Adresse réseau incorrecte"
#: public/views/walletHome.html
msgid "Initial transaction history synchronization can take some minutes for wallets with many transactions.<br>\n"
" Please stand by."
msgstr "La première synchronisation de l'historique des transactions peut prendre quelques minutes pour les portefeuilles disposant de nombreuses transactions.<br>\n"
" Veuillez patienter."
#: src/js/services/bwsError.js
msgid "Insufficient funds"
msgstr "Fonds insuffisants"
@ -853,7 +862,7 @@ msgstr "La clé est déjà associée avec un portefeuille existant"
msgid "Label"
msgstr "Étiquette"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Language"
msgstr "Langue"
@ -869,10 +878,6 @@ msgstr "En savoir plus sur les sauvegardes de Copay"
msgid "Learn more about Wallet Migration"
msgstr "En savoir plus sur la migration de portefeuille"
#: src/js/controllers/disclaimer.js
msgid "Loading..."
msgstr "Chargement..."
#: public/views/includes/available-balance.html
msgid "locked by pending payments"
msgstr "verrouillés par les paiements en attente"
@ -913,17 +918,30 @@ msgid "Message"
msgstr "Message"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Moved"
msgstr "Déplacé"
#: public/views/join.html
msgid "Multiple wallets accounts are supported on the device simultaneously. Select which account should be used for this wallet"
msgstr "Plusieurs comptes de portefeuilles sont pris en charge simultanément sur le périphérique. Sélectionnez quel compte doit être utilisé pour ce portefeuille"
#: public/views/modals/txp-details.html
msgid "Multiple recipients"
msgstr "Plusieurs destinataires"
#: public/views/walletHome.html
msgid "My Bitcoin address"
msgstr "Mon adresse Bitcoin"
#: public/views/modals/destination-address.html
msgid "My contacts"
msgstr "Mes contacts"
#: public/views/modals/destination-address.html
msgid "My wallets"
msgstr "Mes portefeuilles"
#: public/views/preferencesDeleteWords.html
msgid "Need to do backup"
msgstr "Vous devez faire une sauvegarde"
#: public/views/paymentUri.html
msgid "Network"
msgstr "Réseau"
@ -957,6 +975,10 @@ msgstr "Normale"
msgid "Not authorized"
msgstr "Non autorisé"
#: public/views/preferences.html
msgid "Not completed"
msgstr "Inachevée"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
@ -971,10 +993,11 @@ msgid "Note"
msgstr "Note"
#: public/views/disclaimer.html
#: public/views/termOfUse.html
msgid "Official English Disclaimer"
msgstr "Clause de non-responsabilité anglaise officielle"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Once you have copied your wallet seed down, it is recommended to delete it from this device."
msgstr "Une fois que vous avez écrit votre graine de portefeuille, il est recommandé de la supprimer de cet appareil."
@ -1077,11 +1100,8 @@ msgstr "Protocole de paiement invalide"
msgid "Payment Protocol not supported on Chrome App"
msgstr "Le protocole de paiement n'est pas supporté sur l'application Chrome"
#: public/views/modals/txp-details.html
msgid "Payment rejected"
msgstr "Paiement rejeté"
#: public/views/modals/tx-status.html
#: public/views/modals/txp-details.html
msgid "Payment Rejected"
msgstr "Paiement rejeté"
@ -1090,10 +1110,6 @@ msgid "Payment request"
msgstr "Demande de paiement"
#: public/views/modals/txp-details.html
msgid "Payment sent"
msgstr "Paiement envoyé"
#: public/views/modals/tx-status.html
#: src/js/services/notificationsService.js
msgid "Payment Sent"
msgstr "Paiement envoyé"
@ -1115,6 +1131,11 @@ msgstr "Supprimer définitivement ce portefeuille.<br><b>CETTE ACTION NE PEUT PA
msgid "Personal Wallet"
msgstr "Portefeuille personnel"
#: public/views/create.html
#: public/views/join.html
msgid "Please accept to export two public keys from the Trezor app"
msgstr "Veuillez accepter d'exporter deux clés publiques depuis l'appli Trezor"
#: src/js/controllers/create.js
#: src/js/controllers/join.js
msgid "Please enter the required fields"
@ -1129,6 +1150,10 @@ msgstr "Veuillez saisir les mots de la graine"
msgid "Please enter the wallet seed"
msgstr "Veuillez saisir la graine de portefeuille"
#: public/views/backup.html
msgid "Please tap the words in order to confirm your backup phrase is correctly written."
msgstr "Veuillez sélectionner les mots afin de confirmer que votre phrase de sauvegarde est correctement écrite."
#: src/js/services/bwsError.js
msgid "Please upgrade Copay to perform this action"
msgstr "Veuillez mettre à jour Copay pour effectuer cette action"
@ -1141,14 +1166,14 @@ msgstr "Veuillez sélectionner votre fichier de sauvegarde"
msgid "Portuguese"
msgstr "Portugais"
#: public/views/walletHome.html
msgid "Preferences"
msgstr "Préférences"
#: src/js/controllers/export.js
msgid "Preparing backup..."
msgstr "Préparation de la sauvegarde..."
#: src/js/routes.js
msgid "Press again to exit"
msgstr "Appuyez de nouveau pour quitter"
#: src/js/services/feeService.js
msgid "Priority"
msgstr "Prioritaire"
@ -1166,10 +1191,10 @@ msgid "Receive"
msgstr "Recevoir"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Received"
msgstr "Reçue"
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "Recipients"
@ -1229,7 +1254,7 @@ msgstr "Requis"
msgid "Required number of signatures"
msgstr "Nombre requis de signatures"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Retrying..."
msgstr "Nouvelle tentative"
@ -1280,6 +1305,10 @@ msgstr "Analyse des fonds du portefeuille..."
msgid "Scanning Wallet funds..."
msgstr "Analyse des fonds du portefeuille..."
#: public/views/preferences.html
msgid "Security preferences"
msgstr "Préférences de sécurité"
#: public/views/modals/tx-details.html
msgid "See it on the blockchain"
msgstr "Voir sur la chaîne de blocs"
@ -1306,7 +1335,6 @@ msgid "Self-signed Certificate"
msgstr "Certificat auto-signé"
#: public/views/walletHome.html
#: public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send"
msgstr "Envoyer"
@ -1324,11 +1352,17 @@ msgstr "Tout envoyer"
msgid "Send by email"
msgstr "Envoyer par e-mail"
#: public/views/includes/transaction.html
msgid "Sending"
msgstr "Envoi"
#: public/views/paperWallet.html
msgid "Sending funds..."
msgstr "Envoi des fonds..."
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
#: public/views/modals/tx-status.html
msgid "Sent"
msgstr "Envoyée"
@ -1352,18 +1386,23 @@ msgstr "APPLIQUER"
msgid "Set default url"
msgstr "Définir l'url par défaut"
#: public/views/export.html
msgid "Set up a Export Password"
msgstr "Spécifiez un mot de passe d'exportation"
#: public/views/includes/password.html
msgid "Set up a password"
msgstr "Spécifiez un mot de passe"
#: public/views/export.html
msgid "Set up an Export Password"
msgstr "Définir un mot de passe d'exportation"
#: public/views/preferencesEmail.html
msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more."
msgstr "Appliquer des notifications e-mail peut affaiblir votre vie privée si le fournisseur du service de portefeuille est compromis. Les informations disponibles à un attaquant incluent les adresses de votre portefeuille et leurs soldes, mais rien de plus."
#: public/views/walletHome.html
#: public/views/includes/sidebar.html
msgid "Settings"
msgstr "Paramètres"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
msgid "Share address"
@ -1389,7 +1428,6 @@ msgstr "Portefeuille partagé"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Show advanced options"
msgstr "Afficher les options avancées"
@ -1409,10 +1447,6 @@ msgstr "Signatures rejetées par le serveur"
msgid "Signing payment"
msgstr "Signature du paiement"
#: public/views/walletHome.html
msgid "SKIP BACKUP"
msgstr "IGNORER"
#: public/views/translators.html
msgid "Spanish"
msgstr "Espagnol"
@ -1430,14 +1464,6 @@ msgstr "La proposition de dépense n'est pas acceptée"
msgid "Spend proposal not found"
msgstr "Propostion de dépense introuvable"
#: public/views/preferences.html
msgid "Spending Restrictions"
msgstr "Restrictions des dépenses"
#: public/views/preferences.html
msgid "Still not done"
msgstr "Pas encore fait"
#: src/js/controllers/copayers.js
#: src/js/controllers/export.js
#: src/js/controllers/import.js
@ -1462,11 +1488,7 @@ msgstr "Tapotez pour réessayer"
msgid "Terms of Use"
msgstr "Conditions d'utilisation"
#: public/views/create.html
msgid "Testnet"
msgstr "Testnet"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network."
msgstr "Les auteurs de ce logiciel, employés et sociétés affiliés à BitPay, détenteurs de droits d'auteur, et BitPay, Inc. ne peuvent pas récupérer vos clés privées ou mots de passe si vous les perdez et ne peuvent pas garantir la confirmation des transactions étant donné qu'ils n'ont pas de contrôle sur le réseau Bitcoin."
@ -1499,11 +1521,11 @@ msgstr "La clé privée de ce portefeuille est chiffrée. L'exportation conserve
msgid "The seed could require a passphrase to be imported"
msgstr "La graine pourrait exiger une phrase de passe pour être importée"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin."
msgstr "Le logiciel ne constitue pas un compte où BitPay, ou des tiers, agissent comme des intermédiaires financiers ou dépositaires de vos bitcoins."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet."
msgstr "Le logiciel que vous êtes sur le point d'utiliser fonctionne comme un portefeuille numérique gratuit, open source et multi-signatures."
@ -1524,6 +1546,10 @@ msgstr "Il n'y a pas de portefeuilles pour faire ce paiement"
msgid "There is an error in the form"
msgstr "Il y a une erreur dans la forme"
#: public/views/backup.html
msgid "This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed."
msgstr "Cette graine a été créée avec une phrase de passe. Pour récupérer ce portefeuille, le mnémonique et la phrase de passe sont nécessaires."
#: public/views/modals/tx-details.html
msgid "This transaction has become invalid; possibly due to a double spend attempt."
msgstr "Cette transaction est devenue invalide ; il s'agit peut-être d'une tentative de double dépense."
@ -1538,7 +1564,6 @@ msgstr "Ancienneté"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "To"
@ -1548,7 +1573,7 @@ msgstr "À"
msgid "To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need"
msgstr "Pour restaurer ce portefeuille <b>partagé</b> {{index.m}}-{{index.n}} vous aurez besoin de"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement."
msgstr "Dans toute la mesure permise par la loi, ce logiciel est fourni “tel quel” et aucune représentation ou garantie ne peut être faite de toute nature, expresse ou implicite, y compris, mais sans s'y limiter, aux garanties de qualité marchande, à la conformité ou à un usage particulier et absent de contrefaçon."
@ -1556,10 +1581,6 @@ msgstr "Dans toute la mesure permise par la loi, ce logiciel est fourni “tel q
msgid "too long!"
msgstr "trop long !"
#: public/views/modals/txp-details.html
msgid "Total"
msgstr "Total"
#: public/views/walletHome.html
msgid "Total Locked Balance"
msgstr "Solde verrouillé total"
@ -1576,14 +1597,10 @@ msgstr "Transaction"
msgid "Transaction already broadcasted"
msgstr "Transaction déjà diffusée"
#: public/views/preferencesInformation.html
msgid "Transaction history"
#: public/views/preferencesAdvanced.html
msgid "Transaction History"
msgstr "Historique des transactions"
#: public/views/walletHome.html
msgid "Transactions<br> Downloaded"
msgstr "Transactions<br> téléchargées"
#: public/views/translators.html
msgid "Translation Credits"
msgstr "Crédits de traduction"
@ -1592,9 +1609,13 @@ msgstr "Crédits de traduction"
msgid "Translators"
msgstr "Traducteurs"
#: public/views/backup.html
msgid "Try again"
msgstr "Réessayer"
#: public/views/import.html
msgid "Type the Seed Word (usually 12 words)"
msgstr "Écrivez les mots de la graine (généralement 12 mots)"
msgid "Type the Seed Phrase (usually 12 words)"
msgstr "Tapez la phrase de graine (généralement de 12 mots)"
#: src/js/controllers/walletHome.js
msgid "Unable to send transaction proposal"
@ -1605,7 +1626,7 @@ msgstr "Impossible d'envoyer la proposition de transaction"
msgid "Unconfirmed"
msgstr "Non confirmée"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Unit"
msgstr "Unité"
@ -1613,12 +1634,15 @@ msgstr "Unité"
msgid "Unsent transactions"
msgstr "Transactions non envoyées"
#: public/views/walletHome.html
msgid "Updating transaction history. Please stand by."
msgstr "Mise à jour de l'historique des transactions. Veuillez patienter."
#: public/views/walletHome.html
msgid "Updating Wallet..."
msgstr "Mise à jour du portefeuille..."
#: public/views/preferences.html
#: public/views/walletHome.html
#: public/views/preferencesGlobal.html
msgid "Use Unconfirmed Funds"
msgstr "Utiliser les fonds non confirmés"
@ -1642,14 +1666,6 @@ msgstr "Attente des copayers"
msgid "Waiting..."
msgstr "Attente..."
#: public/views/preferencesDeleteWallet.html
msgid "Wallet"
msgstr "Portefeuille"
#: public/views/preferences.html
msgid "Wallet Alias"
msgstr "Alias de portefeuille"
#: src/js/services/bwsError.js
msgid "Wallet already exists"
msgstr "Le portefeuille existe déjà"
@ -1695,6 +1711,10 @@ msgstr "L'invitation de portefeuille n'est pas valide !"
msgid "Wallet is full"
msgstr "Le portefeuille est plein"
#: src/js/services/bwsError.js
msgid "Wallet is locked"
msgstr "Le portefeuille est verrouillé"
#: src/js/services/bwsError.js
msgid "Wallet is not complete"
msgstr "Le portefeuille n'est pas complet"
@ -1734,6 +1754,7 @@ msgid "Wallet seed is invalid"
msgstr "La graine de portefeuille est invalide"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Wallet seed not available. You can still export it from Advanced &gt; Export."
msgstr "La graine de portefeuille n'est pas disponible. Vous pouvez toujours l'exporter depuis les Paramètres avancés &gt; Exporter."
@ -1741,14 +1762,6 @@ msgstr "La graine de portefeuille n'est pas disponible. Vous pouvez toujours l'e
msgid "Wallet service not found"
msgstr "Wallet Service introuvable"
#: public/views/modals/destination-address.html
msgid "Wallets"
msgstr "Portefeuilles"
#: public/views/walletHome.html
msgid "WARNING: Backup needed"
msgstr "ATTENTION : Sauvegarde nécessaire"
#: 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 <b>funds will not be accessible from the export</b>."
msgstr "ATTENTION : Ne pas inclure la clé privée permet de vérifier le solde du portefeuille, l'historique des transactions, et de créer des demandes de dépenses depuis l'exportation. Cependant, cela ne permet pas d'approuver (signer) les propositions <b>et les fonds ne seront pas accessibles depuis l'exportation</b>."
@ -1762,10 +1775,6 @@ msgstr "ATTENTION : La phrase de passe ne peut être récupérée. <b>Veillez l'
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 <b>funds will not be accessible from the export</b>."
msgstr "ATTENTION : La clé privée de ce portefeuille n'est pas disponible. L'exportation permet de vérifier le solde du portefeuille, l'historique des transactions, et de créer des propositions de dépenses depuis l'exportation. Cependant, cela ne permet pas d'approuver (signer) les propositions <b>et les fonds ne seront pas accessibles depuis l'exportation</b>."
#: 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 "ATTENTION : Cette graine a été créée avec une phrase de passe. Pour récupérer ce portefeuille, le mnémonique et la phrase de passe sont nécessaires."
#: public/views/modals/txp-details.html
msgid "Warning: this transaction has unconfirmed inputs"
msgstr "ATTENTION : Cette transaction a des entrées non confirmées"
@ -1779,24 +1788,25 @@ msgid "WARNING: Wallet not registered"
msgstr "ATTENTION : Portefeuille non enregistré"
#: public/views/preferencesDeleteWallet.html
#: public/views/preferencesDeleteWords.html
msgid "Warning!"
msgstr "Attention !"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "We reserve the right to modify this disclaimer from time to time."
msgstr "Nous nous réservons le droit de modifier cette clause de non-responsabilité de temps à autre."
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "WELCOME TO COPAY"
msgstr "BIENVENUE SUR COPAY"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software."
msgstr "Bien que le logiciel ait subi des tests bêta et continue d'être amélioré par les retours d'utilisateurs et de développeurs de la communauté open source, nous ne pouvons pas garantir qu'il n'y aura plus de bugs dans le logiciel."
#: public/views/backup.html
msgid "Write it down and keep them somewhere safe."
msgstr "Notez-la sur papier et conservez-la dans un endroit sûr."
msgid "Write your wallet seed"
msgstr "Écrivez votre graine de portefeuille"
#: src/js/controllers/import.js
msgid "Wrong number of seed words:"
@ -1810,18 +1820,22 @@ msgstr "Mauvais mot de passe"
msgid "Yes"
msgstr "Oui"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws."
msgstr "Vous reconnaissez que votre utilisation de ce logiciel est à votre propre discrétion et est en conformité avec toutes les lois applicables."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software."
msgstr "Vous êtes responsable de la sauvegarde de vos mots de passe, paires de clés privées, codes PIN et autres codes que vous utilisez pour accéder au logiciel."
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You assume any and all risks associated with the use of the software."
msgstr "Vous assumez tous les risques associés à l'utilisation du logiciel."
#: public/views/backup.html
msgid "You backed up your wallet. You can now restore this wallet at any time."
msgstr "Vous avez sauvegardé votre portefeuille. Vous pouvez maintenant restaurer ce portefeuille à n'importe quel moment."
#: 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 "Vous pouvez installer en toute sécurité votre portefeuille sur un autre appareil et l'utiliser à partir de plusieurs périphériques en même temps."
@ -1831,8 +1845,8 @@ msgid "You do not have a wallet"
msgstr "Vous n'avez aucun portefeuille"
#: public/views/backup.html
msgid "You need the wallet seed to restore this personal wallet."
msgstr "Vous avez besoin de la graine de portefeuille pour restaurer ce portefeuille personnel."
msgid "You need the wallet seed to restore this personal wallet. Write it down and keep them somewhere safe."
msgstr "Vous avez besoin de la graine de portefeuille pour restaurer ce portefeuille personnel. Notez-la et conservez-le dans un endroit sûr."
#: public/views/import.html
msgid "Your backup password"
@ -1863,10 +1877,6 @@ msgstr "Votre portefeuille a été correctement importé"
msgid "Your wallet key will be encrypted. Password cannot be recovered. Be sure to write it down"
msgstr "La clé de votre portefeuille sera chiffrée. Le mot de passe ne peut pas être récupéré. N'oubliez pas de l'écrire"
#: public/views/backup.html
msgid "Your Wallet Seed"
msgstr "Votre graine de portefeuille"
#: public/views/backup.html
msgid "Your wallet seed and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend."
msgstr "Votre graine de portefeuille et l'accès au serveur qui a coordonné la création du portefeuille initial. Vous avez encore besoin de {{index.m}} clés pour dépenser."

View file

@ -12,7 +12,7 @@ msgstr ""
"Last-Translator: cmgustavo83\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"PO-Revision-Date: 2015-11-12 10:48-0500\n"
"PO-Revision-Date: 2015-12-14 15:33-0500\n"
#: public/views/walletHome.html
msgid "(possible double spend)"
@ -31,6 +31,10 @@ msgstr "{{fee}} のビットコインネットワーク手数料が差し引か
msgid "{{index.m}}-of-{{index.n}}"
msgstr "{{index.m}}-of-{{index.n}}"
#: public/views/walletHome.html
msgid "{{index.txProgress}} transactions downloaded"
msgstr "{{index.txProgress}} 個の取引ダウンロード済み"
#: public/views/includes/sidebar.html
msgid "{{item.m}}-of-{{item.n}}"
msgstr "{{item.m}}-of-{{item.n}}"
@ -43,7 +47,7 @@ msgstr "{{len}} 個のウォレットをインポートしました。残高照
msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created."
msgstr "* 送金の提案の取下げは①他のウォレット参加者に署名されていなかった場合、提案者に提案を取り下げることができます。②提案の起案から24時間が経っても解決しなかった場合、全員に取り下げることができます。"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "<b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b>"
msgstr "<b>Copayウォレットとその中にある秘密鍵の情報を紛失してしまい、尚且つバックアップが無い、若しくはそのバックアップを暗号化した際のパスワードが分からないなどの状況に陥ってしまえば、そのウォレットに含まれた全てのビットコインが永久送金不可能となってしまうことを認識し、同意するものとします。</b>"
@ -59,11 +63,11 @@ msgstr "<b>または</b> 参加者 <b>全員</b> のウォレット復元フレ
msgid "<b>OR</b> the wallet seeds of <b>all</b> copayers in the wallet"
msgstr "<b>または</b> 参加者 <b>全員</b> のウォレット復元フレーズ"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "A multisignature bitcoin wallet"
msgstr "マルチシグネチャビットコインウォレット"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "About Copay"
msgstr "Copayについて"
@ -75,16 +79,21 @@ msgstr "Copayについて"
msgid "Accept"
msgstr "承諾"
#: public/views/join.html
#: public/views/preferencesInformation.html
msgid "Account"
msgstr "ポケット"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
msgid "Account Number"
msgstr "ポケット番号"
#: public/views/walletHome.html
#: src/js/controllers/index.js
msgid "Activity"
msgstr "履歴"
#: public/views/modals/destination-address.html
msgid "Add a new entry"
msgstr "新規追加"
@ -114,21 +123,13 @@ msgstr "アドレス"
msgid "Address Type"
msgstr "アドレスの種類"
#: public/views/modals/destination-address.html
msgid "Addressbook"
msgstr "アドレス帳"
#: public/views/preferences.html
msgid "Advanced"
msgstr "上級者向け"
#: public/views/modals/advancedSend.html
msgid "Advanced Send"
msgstr "上級者向け送金"
#: public/views/disclaimer.html
msgid "Agree"
msgstr "同意します"
#: public/views/preferences.html
msgid "Alias"
msgstr "通称"
#: public/views/preferencesAlias.html
msgid "Alias for <i>{{index.walletName}}</i>"
@ -138,15 +139,11 @@ msgstr "<i>{{index.walletName}}</i> の通称設定"
msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at"
msgstr "Copayの翻訳は簡単に投稿することができます。crowdin.comのアカウント作成の後、自由にご参加いただけるプロジェクトページはこちら"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "All transaction requests are irreversible."
msgstr "署名が完了してしまった取引は取り消しが不可能となります。"
#: public/views/splash.html
msgid "Already have a wallet?"
msgstr "すでにウォレットをお持ちですか?"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Alternative Currency"
msgstr "表示通貨"
@ -154,7 +151,6 @@ msgstr "表示通貨"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/modals/customized-amount.html
#: public/views/modals/txp-details.html
msgid "Amount"
msgstr "金額"
@ -167,7 +163,7 @@ msgstr "最小送金額を下回っています。"
msgid "Amount in"
msgstr "換算済金額"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Are you sure you want to delete the backup words?"
msgstr "復元フレーズを削除してもよろしいですか?"
@ -182,7 +178,6 @@ msgid "Available Balance"
msgstr "送金可能残高"
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes"
msgstr "承認までの時間(平均) {{fee.nbBlocks * 10}} 分"
@ -196,11 +191,19 @@ msgstr "戻る"
msgid "Backup"
msgstr "バックアップ"
#: public/views/backup.html
msgid "Backup failed"
msgstr "バックアップ失敗"
#: public/views/walletHome.html
msgid "Backup Needed"
msgstr "要バックアップ"
#: public/views/walletHome.html
msgid "Backup now"
msgstr "今すぐバックアップ"
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Backup words deleted"
msgstr "復元フレーズを削除しました。"
@ -213,8 +216,8 @@ msgid "Balance By Address"
msgstr "アドレスごとの残高"
#: public/views/walletHome.html
msgid "Before receiving funds, it is highly recommended you backup your wallet keys."
msgstr "ビットコインをもらう前に、このウォレットのバックアップすることを強くおすすめします。"
msgid "Before receiving funds, it is highly recommended you backup your wallet. If you lose this device, it is impossible to access your funds without a backup."
msgstr "お金を受け取る前に、このウォレットのバックアップを取っておくことを強く推奨します。一ウォレットごとにバックアップは一回です。バックアップを取らないまま、この端末が紛失・故障されてしまったら全残高が消失されてしまいます。"
#: public/views/create.html
#: public/views/import.html
@ -226,7 +229,7 @@ msgstr "階級アドレス派生のパス"
msgid "Bitcoin address"
msgstr "ビットコインアドレス"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Bitcoin Network Fee Policy"
msgstr "ビットコインネットワークの手数料設定"
@ -254,6 +257,10 @@ msgstr "取引送信中"
msgid "Browser unsupported"
msgstr "ブラウザ未対応"
#: public/views/includes/sidebar.html
msgid "Buy &amp; Sell Bitcoin"
msgstr "ビットコインの購入&amp;売却"
#: public/views/copayers.html
#: public/views/walletHome.html
#: public/views/modals/confirmation.html
@ -285,12 +292,11 @@ msgstr "ウォレット通称を変更しても、この端末でしか変わり
msgid "Choose a backup file from your computer"
msgstr "パソコンからバックアップファイルを選択して下さい。"
#: public/views/preferencesInformation.html
msgid "Clear history"
msgstr "履歴をクリア"
#: public/views/preferencesHistory.html
msgid "Clear cache"
msgstr "キャッシュを消去"
#: public/views/includes/topbar.html
#: public/views/modals/advancedSend.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
#: public/views/modals/paypro.html
@ -313,10 +319,18 @@ msgstr "コミットのハッシュ値"
msgid "Confirm"
msgstr "確認"
#: public/views/backup.html
msgid "Confirm your wallet seed"
msgstr "復元フレーズを確認"
#: public/views/modals/tx-details.html
msgid "Confirmations"
msgstr "承認回数"
#: public/views/backup.html
msgid "Congratulations!"
msgstr "おめでとうございます!"
#: public/views/create.html
msgid "Connecting to {{create.hwWallet}} Wallet..."
msgstr "{{create.hwWallet}} Wallet に接続中…"
@ -329,6 +343,10 @@ msgstr "{{import.hwWallet}} Wallet に接続中…"
msgid "Connecting to {{join.hwWallet}} Wallet..."
msgstr "{{join.hwWallet}} Wallet に接続中…"
#: public/views/backup.html
msgid "Continue"
msgstr "続ける"
#: src/js/services/bwsError.js
msgid "Copayer already in this wallet"
msgstr "ウォレット参加者が既に存在しています。"
@ -460,7 +478,7 @@ msgstr "作成、参加、インポート"
msgid "Created by"
msgstr "作成者"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Creating Profile..."
msgstr "ウォレット作成中…"
@ -473,7 +491,6 @@ msgid "Creating Wallet..."
msgstr "ウォレット作成中…"
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB"
msgstr "この手数料基準の現レート: {{fee.feePerKBUnit}}/kiB"
@ -493,6 +510,10 @@ msgstr "削除して新規作成"
msgid "Delete Payment Proposal"
msgstr "送金の提案を削除"
#: public/views/preferences.html
msgid "Delete seed words"
msgstr "復元フレーズの単語を削除する"
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr "ウォレットを削除"
@ -501,9 +522,9 @@ msgstr "ウォレットを削除"
msgid "Delete Wallet"
msgstr "ウォレットを削除"
#: public/views/backup.html
msgid "DELETE WORDS"
msgstr "フレーズを削除"
#: public/views/preferencesDeleteWords.html
msgid "Delete words"
msgstr "単語データを削除する"
#: src/js/controllers/walletHome.js
msgid "Deleting payment"
@ -546,10 +567,6 @@ msgstr "完了"
msgid "Download"
msgstr "ダウンロード"
#: public/views/walletHome.html
msgid "Download CSV file"
msgstr "CSVファイルをダウンロード"
#: src/js/services/feeService.js
msgid "Economy"
msgstr "節約"
@ -583,6 +600,10 @@ msgstr "暗号化されたバックアップ保存しました"
msgid "Enter the seed words (BIP39)"
msgstr "復元フレーズの単語をご入力下さい。"
#: public/views/backup.html
msgid "Enter your passphrase"
msgstr "復元フレーズ用のパスワードを入力して下さい"
#: public/views/includes/password.html
msgid "Enter your password"
msgstr "パスワードを入力して下さい。"
@ -608,6 +629,10 @@ msgstr "有効期限:"
msgid "Export options"
msgstr "エクスポート設定"
#: public/views/preferencesHistory.html
msgid "Export to file"
msgstr "ファイルへのエクスポート"
#: public/views/preferencesAdvanced.html
msgid "Export Wallet"
msgstr "ウォレットをエクスポート"
@ -624,6 +649,10 @@ msgstr "エクスポートに失敗しました。"
msgid "Failed to import wallets"
msgstr "ウォレットのインポート失敗しました"
#: public/views/backup.html
msgid "Failed to verify backup. Please check your information"
msgstr "バックアップを確認できませんでした。転記した情報をご確認ください。"
#: public/views/create.html
msgid "Family vacation funds"
msgstr "家族旅行貯金"
@ -633,14 +662,6 @@ msgstr "家族旅行貯金"
msgid "Fee"
msgstr "手数料"
#: public/views/modals/advancedSend.html
msgid "Fee Policy"
msgstr "手数料基準"
#: public/views/walletHome.html
msgid "Fee policy for this transaction"
msgstr "当取引の手数料基準"
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
@ -650,6 +671,10 @@ msgstr "支払い情報要求しています…"
msgid "File/Text Backup"
msgstr "ファイル/テキストのバックアップから"
#: public/views/backup.html
msgid "Finish"
msgstr "完了"
#: public/views/translators.html
msgid "French"
msgstr "フランス語"
@ -667,7 +692,7 @@ msgid "Funds received"
msgstr "着金あり"
#: public/views/paperWallet.html
msgid "Funds will be transfered to"
msgid "Funds will be transferred to"
msgstr "送金先"
#: public/views/walletHome.html
@ -686,21 +711,13 @@ msgstr "CSVファイル作成中…"
msgid "German"
msgstr "ドイツ語"
#: public/views/splash.html
msgid "GET STARTED"
msgstr "はじめよう"
#: public/views/modals/destination-address.html
msgid "Getting address for wallet {{selectedWalletName}} ..."
msgstr "「{{selectedWalletName}}」のアドレスを取得中…"
#: public/views/preferences.html
msgid "Global settings"
msgstr "グローバル設定"
#: public/views/disclaimer.html
msgid "Go back"
msgstr "前に戻る"
#: public/views/includes/sidebar.html
msgid "Global preferences"
msgstr "アプリ設定"
#: public/views/translators.html
msgid "Greek"
@ -717,33 +734,23 @@ msgstr "Copay v0.9 のバックアップをお持ちですか?"
#: 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 "履歴"
#: src/js/controllers/index.js
msgid "Home"
msgstr "ホーム"
#: public/views/disclaimer.html
msgid "I affirm that I have read, understood, and agree with these terms."
msgstr "内容をよく読み、理解し、同意します。"
#: public/views/disclaimer.html
msgid "I AGREE. GET STARTED"
msgstr "同意して始めます"
#: public/views/import.html
#: public/views/importLegacy.html
msgid "Import"
msgstr "インポート"
#: public/views/import.html
#: public/views/splash.html
msgid "Import backup"
msgstr "バックアップをインポート"
@ -767,20 +774,22 @@ msgstr "ウォレットインポート中…"
msgid "Importing..."
msgstr "インポート中…"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software."
msgstr "和訳は簡単な要約と考えて下さい。"
#: public/views/backup.html
msgid "In order to verify your wallet backup, please type your passphrase:"
msgstr "ウォレットのバックアップを確認するためには、復元フレーズ用のパスワードをご入力下さい。"
#: public/views/export.html
msgid "Include address book and history cache"
msgstr "アドレス帳と履歴のキャッシュを含める"
#: src/js/services/bwsError.js
msgid "Incorrect address network"
msgstr "アドレスのネットワークが不正です。"
#: public/views/walletHome.html
msgid "Initial transaction history synchronization can take some minutes for wallets with many transactions.<br>\n"
" Please stand by."
msgstr "初回の取引紹介は少し時間がかかる場合がございます。(特に取引履歴がたくさんあるウォレット)<br>\n"
" 少々お待ち下さい。"
#: src/js/services/bwsError.js
msgid "Insufficient funds"
msgstr "残高不足"
@ -854,7 +863,7 @@ msgstr "この鍵は既存のウォレットにて登録されています"
msgid "Label"
msgstr "ラベル"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Language"
msgstr "言語設定"
@ -870,10 +879,6 @@ msgstr "Copay のバックアップの種類について"
msgid "Learn more about Wallet Migration"
msgstr "ウォレット移行について詳しく"
#: src/js/controllers/disclaimer.js
msgid "Loading..."
msgstr "読み込み中..."
#: public/views/includes/available-balance.html
msgid "locked by pending payments"
msgstr "未対応送金の提案によりロック中"
@ -914,17 +919,30 @@ msgid "Message"
msgstr "メッセージ"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Moved"
msgstr "移動済"
#: public/views/join.html
msgid "Multiple wallets accounts are supported on the device simultaneously. Select which account should be used for this wallet"
msgstr "このデバイスに同一フレーズの中でも複数の「ポケット」で使い分けられるようになっています。このウォレットにフレーズのどのポケットを割り当てるかを選択して下さい。"
#: public/views/modals/txp-details.html
msgid "Multiple recipients"
msgstr "複数送金先"
#: public/views/walletHome.html
msgid "My Bitcoin address"
msgstr "私のビットコインアドレス:"
#: public/views/modals/destination-address.html
msgid "My contacts"
msgstr "連絡先"
#: public/views/modals/destination-address.html
msgid "My wallets"
msgstr "アプリ内ウォレット"
#: public/views/preferencesDeleteWords.html
msgid "Need to do backup"
msgstr "バックアップを行う必要があります。"
#: public/views/paymentUri.html
msgid "Network"
msgstr "ネットワーク"
@ -958,6 +976,10 @@ msgstr "通常"
msgid "Not authorized"
msgstr "権限がありません。"
#: public/views/preferences.html
msgid "Not completed"
msgstr "未完了"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
@ -972,10 +994,11 @@ msgid "Note"
msgstr "メモ"
#: public/views/disclaimer.html
#: public/views/termOfUse.html
msgid "Official English Disclaimer"
msgstr "公式免責事項 (英語)"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Once you have copied your wallet seed down, it is recommended to delete it from this device."
msgstr "復元フレーズを控えたら、このデバイスから削除することをおすすめします。"
@ -1078,11 +1101,8 @@ msgstr "ペイメントプロトコルが不正です。"
msgid "Payment Protocol not supported on Chrome App"
msgstr "クロームのアプリではペイメントプロトコールがサポートされていません。"
#: public/views/modals/txp-details.html
msgid "Payment rejected"
msgstr "送金が却下されました"
#: public/views/modals/tx-status.html
#: public/views/modals/txp-details.html
msgid "Payment Rejected"
msgstr "送金が却下されました"
@ -1091,10 +1111,6 @@ msgid "Payment request"
msgstr "支払い請求"
#: public/views/modals/txp-details.html
msgid "Payment sent"
msgstr "送金が完了しました"
#: public/views/modals/tx-status.html
#: src/js/services/notificationsService.js
msgid "Payment Sent"
msgstr "送金が完了しました"
@ -1117,6 +1133,11 @@ msgstr "永久にこのウォレットを削除します。\n"
msgid "Personal Wallet"
msgstr "個人用ウォレット"
#: public/views/create.html
#: public/views/join.html
msgid "Please accept to export two public keys from the Trezor app"
msgstr "Trezorアプリにて承諾してください。公開鍵が二つがTrezorデバイスよりインポートされます。"
#: src/js/controllers/create.js
#: src/js/controllers/join.js
msgid "Please enter the required fields"
@ -1131,6 +1152,10 @@ msgstr "復元フレーズをご入力下さい"
msgid "Please enter the wallet seed"
msgstr "シード(復元)フレーズをご入力下さい"
#: public/views/backup.html
msgid "Please tap the words in order to confirm your backup phrase is correctly written."
msgstr "正しい順番に単語をタップして、ちゃんと書き留めてあることをご確認下さい。"
#: src/js/services/bwsError.js
msgid "Please upgrade Copay to perform this action"
msgstr "この操作を実行するにはCopayを最新バージョンに更新してください"
@ -1143,14 +1168,14 @@ msgstr "バックアップファイルを選択"
msgid "Portuguese"
msgstr "ポルトガル語"
#: public/views/walletHome.html
msgid "Preferences"
msgstr "設定"
#: src/js/controllers/export.js
msgid "Preparing backup..."
msgstr "バックアップを準備中..."
#: src/js/routes.js
msgid "Press again to exit"
msgstr "もう一度押して終了"
#: src/js/services/feeService.js
msgid "Priority"
msgstr "優先"
@ -1168,10 +1193,10 @@ msgid "Receive"
msgstr "受取"
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Received"
msgstr "受取済み"
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "Recipients"
@ -1231,7 +1256,7 @@ msgstr "入力必須"
msgid "Required number of signatures"
msgstr "必要な署名の数を選択"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Retrying..."
msgstr "再度試しています…"
@ -1282,6 +1307,10 @@ msgstr "ウォレット残高照会中…"
msgid "Scanning Wallet funds..."
msgstr "ウォレット残高照会中…"
#: public/views/preferences.html
msgid "Security preferences"
msgstr "セキュリティ設定"
#: public/views/modals/tx-details.html
msgid "See it on the blockchain"
msgstr "ブロックチェーンで詳細を閲覧"
@ -1308,7 +1337,6 @@ msgid "Self-signed Certificate"
msgstr "自己署名証明書"
#: public/views/walletHome.html
#: public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send"
msgstr "送信"
@ -1326,11 +1354,17 @@ msgstr "全額を送金"
msgid "Send by email"
msgstr "メールで送信"
#: public/views/includes/transaction.html
msgid "Sending"
msgstr "送信中"
#: public/views/paperWallet.html
msgid "Sending funds..."
msgstr "送金中..."
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
#: public/views/modals/tx-status.html
msgid "Sent"
msgstr "送金済み"
@ -1354,18 +1388,23 @@ msgstr "指定"
msgid "Set default url"
msgstr "デフォルトURLに設定"
#: public/views/export.html
msgid "Set up a Export Password"
msgstr "バックアップ用のパスワードを設定"
#: public/views/includes/password.html
msgid "Set up a password"
msgstr "パスワードを設定"
#: public/views/export.html
msgid "Set up an Export Password"
msgstr "バックアップ用のパスワードを設定"
#: public/views/preferencesEmail.html
msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more."
msgstr "メールのお知らせを有効にすると、悪意のあるサーバー運用者ならあなたの全てのアドレスとそれぞれの残高・履歴情報が把握できプライバシーの侵害に繋がる可能性があります。"
#: public/views/walletHome.html
#: public/views/includes/sidebar.html
msgid "Settings"
msgstr "設定"
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
msgid "Share address"
@ -1393,7 +1432,6 @@ msgstr "共有ウォレットに参加"
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Show advanced options"
msgstr "詳細設定を表示"
@ -1413,10 +1451,6 @@ msgstr "サーバーより署名が却下されました。"
msgid "Signing payment"
msgstr "送金の提案署名中"
#: public/views/walletHome.html
msgid "SKIP BACKUP"
msgstr "バックアップをスキップ"
#: public/views/translators.html
msgid "Spanish"
msgstr "スペイン語"
@ -1434,14 +1468,6 @@ msgstr "送金の提案が受諾されませんでした。"
msgid "Spend proposal not found"
msgstr "送金の提案が見つかりませんでした。"
#: public/views/preferences.html
msgid "Spending Restrictions"
msgstr "送金上限"
#: public/views/preferences.html
msgid "Still not done"
msgstr "終わっていません"
#: src/js/controllers/copayers.js
#: src/js/controllers/export.js
#: src/js/controllers/import.js
@ -1466,11 +1492,7 @@ msgstr "タップしてやり直し"
msgid "Terms of Use"
msgstr "利用規約"
#: public/views/create.html
msgid "Testnet"
msgstr "テスト用ネットワーク"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network."
msgstr "このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc. 自体もパスワード・秘密鍵・パスワードなどへのアクセスが不可能なため、教えることがだきません、なお、ビットコインのネットワークへの影響が無いので、取引の取り消しや優先的な承認などはできません。"
@ -1503,11 +1525,11 @@ msgstr "このウォレットの秘密鍵が暗号化されています。バッ
msgid "The seed could require a passphrase to be imported"
msgstr "復元フレーズにパスワードをかけた場合、ここにパスワードを入力して下さい。"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin."
msgstr "BitPay, Inc. 若しくはその他の第三者がアクセス権限を管理する、若しくはデジタル資産の代理保管を行うサービスではありません。"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet."
msgstr "当ソフトウェアは無料のオープンソースプロジェクトで、マルチシグネチャを用いるデジタルウォレットです。"
@ -1528,6 +1550,10 @@ msgstr "送金可能なウォレットがありません"
msgid "There is an error in the form"
msgstr "フォームにエラーがありました"
#: public/views/backup.html
msgid "This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed."
msgstr "この復元フレーズにパスワードがかかっています。このウォレットを復元するためには、復元フレーズに加え、パスワードも必要です。"
#: public/views/modals/tx-details.html
msgid "This transaction has become invalid; possibly due to a double spend attempt."
msgstr "この取引が無効になりました。二重払いの可能性があります。"
@ -1542,7 +1568,6 @@ msgstr "時刻"
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "To"
@ -1552,7 +1577,7 @@ msgstr "宛先"
msgid "To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need"
msgstr "この {{index.m}}-of-{{index.n}} <b>共有</b>ウォレットを復元するに必要なものは"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement."
msgstr "このソフトはそのままの提供となり、このソフトの利用に関わるあらゆる責任とリスクを自己責任で被り、利用するものとし、いかなる損害が発生しても、このソフトの開発者、BitPayの従業員とその関係者、著作権所有者、BitPay, Inc. 自体も責任を求めることは無いと誓います。"
@ -1560,10 +1585,6 @@ msgstr "このソフトはそのままの提供となり、このソフトの利
msgid "too long!"
msgstr "長すぎます!"
#: public/views/modals/txp-details.html
msgid "Total"
msgstr "合計"
#: public/views/walletHome.html
msgid "Total Locked Balance"
msgstr "ロック中の残高"
@ -1580,14 +1601,10 @@ msgstr "取引"
msgid "Transaction already broadcasted"
msgstr "取引は既に配信されました。"
#: public/views/preferencesInformation.html
msgid "Transaction history"
#: public/views/preferencesAdvanced.html
msgid "Transaction History"
msgstr "取引履歴"
#: public/views/walletHome.html
msgid "Transactions<br> Downloaded"
msgstr "取引履歴<br>ダウンロード完了"
#: public/views/translators.html
msgid "Translation Credits"
msgstr "翻訳ボランティアの皆さん"
@ -1596,8 +1613,12 @@ msgstr "翻訳ボランティアの皆さん"
msgid "Translators"
msgstr "翻訳者"
#: public/views/backup.html
msgid "Try again"
msgstr "もう一度やり直してください。"
#: public/views/import.html
msgid "Type the Seed Word (usually 12 words)"
msgid "Type the Seed Phrase (usually 12 words)"
msgstr "復元フレーズの単語 (通常 12 個) を入力して下さい。"
#: src/js/controllers/walletHome.js
@ -1609,7 +1630,7 @@ msgstr "取引提案を送れませんでした。"
msgid "Unconfirmed"
msgstr "未承認"
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Unit"
msgstr "単位"
@ -1617,12 +1638,15 @@ msgstr "単位"
msgid "Unsent transactions"
msgstr "未送信取引"
#: public/views/walletHome.html
msgid "Updating transaction history. Please stand by."
msgstr "取引履歴を更新します。しばらくお待ちください。"
#: public/views/walletHome.html
msgid "Updating Wallet..."
msgstr "ウォレット更新中…"
#: public/views/preferences.html
#: public/views/walletHome.html
#: public/views/preferencesGlobal.html
msgid "Use Unconfirmed Funds"
msgstr "未承認ビットコインを使用"
@ -1646,14 +1670,6 @@ msgstr "ウォレット参加者を待っています"
msgid "Waiting..."
msgstr "少々お待ち下さい…"
#: public/views/preferencesDeleteWallet.html
msgid "Wallet"
msgstr "ウォレット"
#: public/views/preferences.html
msgid "Wallet Alias"
msgstr "ウォレットの通称"
#: src/js/services/bwsError.js
msgid "Wallet already exists"
msgstr "既存のウォレットです"
@ -1699,6 +1715,10 @@ msgstr "ウォレット招待コードが無効です!"
msgid "Wallet is full"
msgstr "ウォレットがいっぱいです。"
#: src/js/services/bwsError.js
msgid "Wallet is locked"
msgstr "ウォレットがロックされています。"
#: src/js/services/bwsError.js
msgid "Wallet is not complete"
msgstr "ウォレットが未完成です。"
@ -1738,6 +1758,7 @@ msgid "Wallet seed is invalid"
msgstr "ウォレットシードが不正です。"
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Wallet seed not available. You can still export it from Advanced &gt; Export."
msgstr "ウォレットの復元フレーズがありません。バックアップファイルの作成は「上級者向け」⇒「エクスポート」からアクセスできます。"
@ -1745,14 +1766,6 @@ msgstr "ウォレットの復元フレーズがありません。バックアッ
msgid "Wallet service not found"
msgstr "Wallet serviceが見つかりません。"
#: public/views/modals/destination-address.html
msgid "Wallets"
msgstr "ウォレット"
#: public/views/walletHome.html
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 <b>funds will not be accessible from the export</b>."
msgstr "注意:このウォレットは秘密鍵がありません。残高の確認、取引履歴の確認、送金の提案ができます。しかし、<b>送金の提案を承諾 (署名) できません</b>。"
@ -1766,10 +1779,6 @@ msgstr "注意:パスワードを復元することができませんしリセ
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 <b>funds will not be accessible from the export</b>."
msgstr "注意:このウォレットは秘密鍵がありません。残高の確認、取引履歴の確認、送金の提案ができます。しかし、<b>送金の提案を承諾 (署名) できません</b>。"
#: 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 "注意: この取引は未承認資金が含まれており、承認されるまで商品等をお渡しするのを待つことをお勧めします。"
@ -1783,24 +1792,25 @@ msgid "WARNING: Wallet not registered"
msgstr "注意:ウォレットが未登録"
#: public/views/preferencesDeleteWallet.html
#: public/views/preferencesDeleteWords.html
msgid "Warning!"
msgstr "注意!"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "We reserve the right to modify this disclaimer from time to time."
msgstr "下記に英語の規約がありますので、英語が理解できる方は是非熟読して下さい。"
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "WELCOME TO COPAY"
msgstr "ようこそ COPAY へ"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software."
msgstr "このソフトは長いテスト期間を経てリリースしましたが、今後バグや不具合が見つからないという保障はございません。"
#: public/views/backup.html
msgid "Write it down and keep them somewhere safe."
msgstr "これを書き留め、安全な場所で保管して下さい。"
msgid "Write your wallet seed"
msgstr "復元フレーズを書き留めて下さい"
#: src/js/controllers/import.js
msgid "Wrong number of seed words:"
@ -1814,18 +1824,22 @@ msgstr "不正なパスワード"
msgid "Yes"
msgstr "はい"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws."
msgstr "この規約に同意することで、自己責任で利用するものとし、このソフトを用いてお住まいの地域の法令の違反はしないことを意味します。"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software."
msgstr "このソフトを正常に利用するために必要なパスワード、秘密鍵、暗証番号などの秘密情報は自己責任で管理するものとします。"
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You assume any and all risks associated with the use of the software."
msgstr "この規約の言葉や表現のニュアンスによる解釈が必要となった場合、規約の元である英語のものを正とします。"
#: public/views/backup.html
msgid "You backed up your wallet. You can now restore this wallet at any time."
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 "安全にウォレットを別のデバイスにインポートして、同じウォレットを複数の端末でご利用いただけます。"
@ -1835,8 +1849,8 @@ msgid "You do not have a wallet"
msgstr "ウォレットがありません"
#: public/views/backup.html
msgid "You need the wallet seed to restore this personal wallet."
msgstr "この個人ウォレットを復元するためには復元フレーズが必要です。"
msgid "You need the wallet seed to restore this personal wallet. Write it down and keep them somewhere safe."
msgstr "この個人ウォレットを復元するには復元フレーズが必要です。紙などに書き留めておき、安全な場所で保管して下さい。"
#: public/views/import.html
msgid "Your backup password"
@ -1867,10 +1881,6 @@ msgstr "ウォレットが正常にインポートされました。"
msgid "Your wallet key will be encrypted. Password cannot be recovered. Be sure to write it down"
msgstr "ウォレットの鍵が暗号化されます。Copayではパスワードをリセットしてくれる機能がありませんので、パスワードを忘れないよう、控えておいて下さい。"
#: public/views/backup.html
msgid "Your Wallet Seed"
msgstr "ウォレットの復元フレーズ"
#: public/views/backup.html
msgid "Your wallet seed and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend."
msgstr "ウォレットの復元フレーズとそのウォレットが登録してあるサーバーへのアクセスが最低条件です。ただし、送金完了させるにはまだ {{index.m}} 個の鍵が他の参加者の間で持っていないといけませんので、他の参加者のバックアップも合わせてご確認下さい。"

View file

@ -21,6 +21,10 @@ msgstr ""
msgid "{{index.m}}-of-{{index.n}}"
msgstr ""
#: public/views/walletHome.html
msgid "{{index.txProgress}} transactions downloaded"
msgstr ""
#: public/views/includes/sidebar.html
msgid "{{item.m}}-of-{{item.n}}"
msgstr ""
@ -33,7 +37,7 @@ msgstr ""
msgid "* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created."
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "<b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b>"
msgstr ""
@ -49,11 +53,11 @@ msgstr ""
msgid "<b>OR</b> the wallet seeds of <b>all</b> copayers in the wallet"
msgstr ""
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "A multisignature bitcoin wallet"
msgstr ""
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "About Copay"
msgstr ""
@ -65,16 +69,21 @@ msgstr ""
msgid "Accept"
msgstr ""
#: public/views/join.html
#: public/views/preferencesInformation.html
msgid "Account"
msgstr ""
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
msgid "Account Number"
msgstr ""
#: public/views/walletHome.html
#: src/js/controllers/index.js
msgid "Activity"
msgstr ""
#: public/views/modals/destination-address.html
msgid "Add a new entry"
msgstr ""
@ -104,20 +113,12 @@ msgstr ""
msgid "Address Type"
msgstr ""
#: public/views/modals/destination-address.html
msgid "Addressbook"
msgstr ""
#: public/views/preferences.html
msgid "Advanced"
msgstr ""
#: public/views/modals/advancedSend.html
msgid "Advanced Send"
msgstr ""
#: public/views/disclaimer.html
msgid "Agree"
#: public/views/preferences.html
msgid "Alias"
msgstr ""
#: public/views/preferencesAlias.html
@ -128,15 +129,11 @@ msgstr ""
msgid "All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "All transaction requests are irreversible."
msgstr ""
#: public/views/splash.html
msgid "Already have a wallet?"
msgstr ""
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Alternative Currency"
msgstr ""
@ -144,7 +141,6 @@ msgstr ""
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/modals/customized-amount.html
#: public/views/modals/txp-details.html
msgid "Amount"
msgstr ""
@ -157,7 +153,7 @@ msgstr ""
msgid "Amount in"
msgstr ""
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Are you sure you want to delete the backup words?"
msgstr ""
@ -171,7 +167,6 @@ msgid "Available Balance"
msgstr ""
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Average confirmation time: {{fee.nbBlocks * 10}} minutes"
msgstr ""
@ -185,11 +180,19 @@ msgstr ""
msgid "Backup"
msgstr ""
#: public/views/backup.html
msgid "Backup failed"
msgstr ""
#: public/views/walletHome.html
msgid "Backup Needed"
msgstr ""
#: public/views/walletHome.html
msgid "Backup now"
msgstr ""
#: src/js/controllers/backup.js
#: src/js/controllers/preferencesDeleteWords.js
msgid "Backup words deleted"
msgstr ""
@ -202,7 +205,7 @@ msgid "Balance By Address"
msgstr ""
#: public/views/walletHome.html
msgid "Before receiving funds, it is highly recommended you backup your wallet keys."
msgid "Before receiving funds, it is highly recommended you backup your wallet. If you lose this device, it is impossible to access your funds without a backup."
msgstr ""
#: public/views/create.html
@ -215,7 +218,7 @@ msgstr ""
msgid "Bitcoin address"
msgstr ""
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Bitcoin Network Fee Policy"
msgstr ""
@ -243,6 +246,10 @@ msgstr ""
msgid "Browser unsupported"
msgstr ""
#: public/views/includes/sidebar.html
msgid "Buy &amp; Sell Bitcoin"
msgstr ""
#: public/views/copayers.html
#: public/views/walletHome.html
#: public/views/modals/confirmation.html
@ -274,12 +281,11 @@ msgstr ""
msgid "Choose a backup file from your computer"
msgstr ""
#: public/views/preferencesInformation.html
msgid "Clear history"
#: public/views/preferencesHistory.html
msgid "Clear cache"
msgstr ""
#: public/views/includes/topbar.html
#: public/views/modals/advancedSend.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
#: public/views/modals/paypro.html
@ -302,10 +308,18 @@ msgstr ""
msgid "Confirm"
msgstr ""
#: public/views/backup.html
msgid "Confirm your wallet seed"
msgstr ""
#: public/views/modals/tx-details.html
msgid "Confirmations"
msgstr ""
#: public/views/backup.html
msgid "Congratulations!"
msgstr ""
#: public/views/create.html
msgid "Connecting to {{create.hwWallet}} Wallet..."
msgstr ""
@ -318,6 +332,10 @@ msgstr ""
msgid "Connecting to {{join.hwWallet}} Wallet..."
msgstr ""
#: public/views/backup.html
msgid "Continue"
msgstr ""
#: src/js/services/bwsError.js
msgid "Copayer already in this wallet"
msgstr ""
@ -449,7 +467,7 @@ msgstr ""
msgid "Created by"
msgstr ""
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Creating Profile..."
msgstr ""
@ -462,7 +480,6 @@ msgid "Creating Wallet..."
msgstr ""
#: public/views/preferencesFee.html
#: public/views/modals/advancedSend.html
msgid "Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB"
msgstr ""
@ -482,6 +499,10 @@ msgstr ""
msgid "Delete Payment Proposal"
msgstr ""
#: public/views/preferences.html
msgid "Delete seed words"
msgstr ""
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr ""
@ -490,8 +511,8 @@ msgstr ""
msgid "Delete Wallet"
msgstr ""
#: public/views/backup.html
msgid "DELETE WORDS"
#: public/views/preferencesDeleteWords.html
msgid "Delete words"
msgstr ""
#: src/js/controllers/walletHome.js
@ -535,10 +556,6 @@ msgstr ""
msgid "Download"
msgstr ""
#: public/views/walletHome.html
msgid "Download CSV file"
msgstr ""
#: src/js/services/feeService.js
msgid "Economy"
msgstr ""
@ -572,6 +589,10 @@ msgstr ""
msgid "Enter the seed words (BIP39)"
msgstr ""
#: public/views/backup.html
msgid "Enter your passphrase"
msgstr ""
#: public/views/includes/password.html
msgid "Enter your password"
msgstr ""
@ -597,6 +618,10 @@ msgstr ""
msgid "Export options"
msgstr ""
#: public/views/preferencesHistory.html
msgid "Export to file"
msgstr ""
#: public/views/preferencesAdvanced.html
msgid "Export Wallet"
msgstr ""
@ -613,6 +638,10 @@ msgstr ""
msgid "Failed to import wallets"
msgstr ""
#: public/views/backup.html
msgid "Failed to verify backup. Please check your information"
msgstr ""
#: public/views/create.html
msgid "Family vacation funds"
msgstr ""
@ -622,14 +651,6 @@ msgstr ""
msgid "Fee"
msgstr ""
#: public/views/modals/advancedSend.html
msgid "Fee Policy"
msgstr ""
#: public/views/walletHome.html
msgid "Fee policy for this transaction"
msgstr ""
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
@ -639,6 +660,10 @@ msgstr ""
msgid "File/Text Backup"
msgstr ""
#: public/views/backup.html
msgid "Finish"
msgstr ""
#: public/views/translators.html
msgid "French"
msgstr ""
@ -656,7 +681,7 @@ msgid "Funds received"
msgstr ""
#: public/views/paperWallet.html
msgid "Funds will be transfered to"
msgid "Funds will be transferred to"
msgstr ""
#: public/views/walletHome.html
@ -675,20 +700,12 @@ msgstr ""
msgid "German"
msgstr ""
#: public/views/splash.html
msgid "GET STARTED"
msgstr ""
#: public/views/modals/destination-address.html
msgid "Getting address for wallet {{selectedWalletName}} ..."
msgstr ""
#: public/views/preferences.html
msgid "Global settings"
msgstr ""
#: public/views/disclaimer.html
msgid "Go back"
#: public/views/includes/sidebar.html
msgid "Global preferences"
msgstr ""
#: public/views/translators.html
@ -706,33 +723,23 @@ msgstr ""
#: 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 ""
#: src/js/controllers/index.js
msgid "Home"
msgstr ""
#: public/views/disclaimer.html
msgid "I affirm that I have read, understood, and agree with these terms."
msgstr ""
#: public/views/disclaimer.html
msgid "I AGREE. GET STARTED"
msgstr ""
#: public/views/import.html
#: public/views/importLegacy.html
msgid "Import"
msgstr ""
#: public/views/import.html
#: public/views/splash.html
msgid "Import backup"
msgstr ""
@ -756,20 +763,22 @@ msgstr ""
msgid "Importing..."
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software."
msgstr ""
#: public/views/backup.html
msgid "In order to verify your wallet backup, please type your passphrase:"
msgstr ""
#: public/views/export.html
msgid "Include address book and history cache"
msgstr ""
#: src/js/services/bwsError.js
msgid "Incorrect address network"
msgstr ""
#: public/views/walletHome.html
msgid ""
"Initial transaction history synchronization can take some minutes for wallets with many transactions.<br>\n"
" Please stand by."
msgstr ""
#: src/js/services/bwsError.js
msgid "Insufficient funds"
msgstr ""
@ -843,7 +852,7 @@ msgstr ""
msgid "Label"
msgstr ""
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Language"
msgstr ""
@ -859,10 +868,6 @@ msgstr ""
msgid "Learn more about Wallet Migration"
msgstr ""
#: src/js/controllers/disclaimer.js
msgid "Loading..."
msgstr ""
#: public/views/includes/available-balance.html
msgid "locked by pending payments"
msgstr ""
@ -903,17 +908,30 @@ msgid "Message"
msgstr ""
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Moved"
msgstr ""
#: public/views/join.html
msgid "Multiple wallets accounts are supported on the device simultaneously. Select which account should be used for this wallet"
#: public/views/modals/txp-details.html
msgid "Multiple recipients"
msgstr ""
#: public/views/walletHome.html
msgid "My Bitcoin address"
msgstr ""
#: public/views/modals/destination-address.html
msgid "My contacts"
msgstr ""
#: public/views/modals/destination-address.html
msgid "My wallets"
msgstr ""
#: public/views/preferencesDeleteWords.html
msgid "Need to do backup"
msgstr ""
#: public/views/paymentUri.html
msgid "Network"
msgstr ""
@ -947,6 +965,10 @@ msgstr ""
msgid "Not authorized"
msgstr ""
#: public/views/preferences.html
msgid "Not completed"
msgstr ""
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
#: public/views/modals/destination-address.html
@ -961,10 +983,11 @@ msgid "Note"
msgstr ""
#: public/views/disclaimer.html
#: public/views/termOfUse.html
msgid "Official English Disclaimer"
msgstr ""
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Once you have copied your wallet seed down, it is recommended to delete it from this device."
msgstr ""
@ -1067,11 +1090,8 @@ msgstr ""
msgid "Payment Protocol not supported on Chrome App"
msgstr ""
#: public/views/modals/txp-details.html
msgid "Payment rejected"
msgstr ""
#: public/views/modals/tx-status.html
#: public/views/modals/txp-details.html
msgid "Payment Rejected"
msgstr ""
@ -1080,10 +1100,6 @@ msgid "Payment request"
msgstr ""
#: public/views/modals/txp-details.html
msgid "Payment sent"
msgstr ""
#: public/views/modals/tx-status.html
#: src/js/services/notificationsService.js
msgid "Payment Sent"
msgstr ""
@ -1105,6 +1121,11 @@ msgstr ""
msgid "Personal Wallet"
msgstr ""
#: public/views/create.html
#: public/views/join.html
msgid "Please accept to export two public keys from the Trezor app"
msgstr ""
#: src/js/controllers/create.js
#: src/js/controllers/join.js
msgid "Please enter the required fields"
@ -1119,6 +1140,10 @@ msgstr ""
msgid "Please enter the wallet seed"
msgstr ""
#: public/views/backup.html
msgid "Please tap the words in order to confirm your backup phrase is correctly written."
msgstr ""
#: src/js/services/bwsError.js
msgid "Please upgrade Copay to perform this action"
msgstr ""
@ -1131,14 +1156,14 @@ msgstr ""
msgid "Portuguese"
msgstr ""
#: public/views/walletHome.html
msgid "Preferences"
msgstr ""
#: src/js/controllers/export.js
msgid "Preparing backup..."
msgstr ""
#: src/js/routes.js
msgid "Press again to exit"
msgstr ""
#: src/js/services/feeService.js
msgid "Priority"
msgstr ""
@ -1156,10 +1181,10 @@ msgid "Receive"
msgstr ""
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
msgid "Received"
msgstr ""
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "Recipients"
@ -1219,7 +1244,7 @@ msgstr ""
msgid "Required number of signatures"
msgstr ""
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "Retrying..."
msgstr ""
@ -1270,6 +1295,10 @@ msgstr ""
msgid "Scanning Wallet funds..."
msgstr ""
#: public/views/preferences.html
msgid "Security preferences"
msgstr ""
#: public/views/modals/tx-details.html
msgid "See it on the blockchain"
msgstr ""
@ -1296,7 +1325,6 @@ msgid "Self-signed Certificate"
msgstr ""
#: public/views/walletHome.html
#: public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send"
msgstr ""
@ -1314,11 +1342,17 @@ msgstr ""
msgid "Send by email"
msgstr ""
#: public/views/includes/transaction.html
msgid "Sending"
msgstr ""
#: public/views/paperWallet.html
msgid "Sending funds..."
msgstr ""
#: public/views/walletHome.html
#: public/views/modals/tx-details.html
#: public/views/modals/tx-status.html
msgid "Sent"
msgstr ""
@ -1342,18 +1376,23 @@ msgstr ""
msgid "Set default url"
msgstr ""
#: public/views/export.html
msgid "Set up a Export Password"
msgstr ""
#: public/views/includes/password.html
msgid "Set up a password"
msgstr ""
#: public/views/export.html
msgid "Set up an Export Password"
msgstr ""
#: public/views/preferencesEmail.html
msgid "Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more."
msgstr ""
#: public/views/walletHome.html
#: public/views/includes/sidebar.html
msgid "Settings"
msgstr ""
#: public/views/walletHome.html
#: public/views/modals/customized-amount.html
msgid "Share address"
@ -1379,7 +1418,6 @@ msgstr ""
#: public/views/create.html
#: public/views/import.html
#: public/views/join.html
#: public/views/walletHome.html
msgid "Show advanced options"
msgstr ""
@ -1399,10 +1437,6 @@ msgstr ""
msgid "Signing payment"
msgstr ""
#: public/views/walletHome.html
msgid "SKIP BACKUP"
msgstr ""
#: public/views/translators.html
msgid "Spanish"
msgstr ""
@ -1420,14 +1454,6 @@ msgstr ""
msgid "Spend proposal not found"
msgstr ""
#: public/views/preferences.html
msgid "Spending Restrictions"
msgstr ""
#: public/views/preferences.html
msgid "Still not done"
msgstr ""
#: src/js/controllers/copayers.js
#: src/js/controllers/export.js
#: src/js/controllers/import.js
@ -1452,11 +1478,7 @@ msgstr ""
msgid "Terms of Use"
msgstr ""
#: public/views/create.html
msgid "Testnet"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network."
msgstr ""
@ -1489,11 +1511,11 @@ msgstr ""
msgid "The seed could require a passphrase to be imported"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin."
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "The software you are about to use functions as a free, open source, and multi-signature digital wallet."
msgstr ""
@ -1514,6 +1536,10 @@ msgstr ""
msgid "There is an error in the form"
msgstr ""
#: public/views/backup.html
msgid "This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed."
msgstr ""
#: public/views/modals/tx-details.html
msgid "This transaction has become invalid; possibly due to a double spend attempt."
msgstr ""
@ -1528,7 +1554,6 @@ msgstr ""
#: public/views/walletHome.html
#: public/views/includes/output.html
#: public/views/includes/transaction.html
#: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html
msgid "To"
@ -1538,7 +1563,7 @@ msgstr ""
msgid "To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement."
msgstr ""
@ -1546,10 +1571,6 @@ msgstr ""
msgid "too long!"
msgstr ""
#: public/views/modals/txp-details.html
msgid "Total"
msgstr ""
#: public/views/walletHome.html
msgid "Total Locked Balance"
msgstr ""
@ -1566,12 +1587,8 @@ msgstr ""
msgid "Transaction already broadcasted"
msgstr ""
#: public/views/preferencesInformation.html
msgid "Transaction history"
msgstr ""
#: public/views/walletHome.html
msgid "Transactions<br> Downloaded"
#: public/views/preferencesAdvanced.html
msgid "Transaction History"
msgstr ""
#: public/views/translators.html
@ -1582,8 +1599,12 @@ msgstr ""
msgid "Translators"
msgstr ""
#: public/views/backup.html
msgid "Try again"
msgstr ""
#: public/views/import.html
msgid "Type the Seed Word (usually 12 words)"
msgid "Type the Seed Phrase (usually 12 words)"
msgstr ""
#: src/js/controllers/walletHome.js
@ -1595,7 +1616,7 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
#: public/views/preferences.html
#: public/views/preferencesGlobal.html
msgid "Unit"
msgstr ""
@ -1603,12 +1624,15 @@ msgstr ""
msgid "Unsent transactions"
msgstr ""
#: public/views/walletHome.html
msgid "Updating transaction history. Please stand by."
msgstr ""
#: public/views/walletHome.html
msgid "Updating Wallet..."
msgstr ""
#: public/views/preferences.html
#: public/views/walletHome.html
#: public/views/preferencesGlobal.html
msgid "Use Unconfirmed Funds"
msgstr ""
@ -1632,14 +1656,6 @@ msgstr ""
msgid "Waiting..."
msgstr ""
#: public/views/preferencesDeleteWallet.html
msgid "Wallet"
msgstr ""
#: public/views/preferences.html
msgid "Wallet Alias"
msgstr ""
#: src/js/services/bwsError.js
msgid "Wallet already exists"
msgstr ""
@ -1685,6 +1701,10 @@ msgstr ""
msgid "Wallet is full"
msgstr ""
#: src/js/services/bwsError.js
msgid "Wallet is locked"
msgstr ""
#: src/js/services/bwsError.js
msgid "Wallet is not complete"
msgstr ""
@ -1724,6 +1744,7 @@ msgid "Wallet seed is invalid"
msgstr ""
#: public/views/backup.html
#: public/views/preferencesDeleteWords.html
msgid "Wallet seed not available. You can still export it from Advanced &gt; Export."
msgstr ""
@ -1731,14 +1752,6 @@ msgstr ""
msgid "Wallet service not found"
msgstr ""
#: public/views/modals/destination-address.html
msgid "Wallets"
msgstr ""
#: public/views/walletHome.html
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 <b>funds will not be accessible from the export</b>."
msgstr ""
@ -1752,10 +1765,6 @@ msgstr ""
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 <b>funds will not be accessible from the export</b>."
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 ""
@ -1769,23 +1778,24 @@ msgid "WARNING: Wallet not registered"
msgstr ""
#: public/views/preferencesDeleteWallet.html
#: public/views/preferencesDeleteWords.html
msgid "Warning!"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "We reserve the right to modify this disclaimer from time to time."
msgstr ""
#: public/views/splash.html
#: public/views/disclaimer.html
msgid "WELCOME TO COPAY"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software."
msgstr ""
#: public/views/backup.html
msgid "Write it down and keep them somewhere safe."
msgid "Write your wallet seed"
msgstr ""
#: src/js/controllers/import.js
@ -1800,18 +1810,22 @@ msgstr ""
msgid "Yes"
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws."
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software."
msgstr ""
#: public/views/disclaimer.html
#: public/views/includes/terms.html
msgid "You assume any and all risks associated with the use of the software."
msgstr ""
#: public/views/backup.html
msgid "You backed up your wallet. You can now restore this wallet at any time."
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 ""
@ -1821,7 +1835,7 @@ msgid "You do not have a wallet"
msgstr ""
#: public/views/backup.html
msgid "You need the wallet seed to restore this personal wallet."
msgid "You need the wallet seed to restore this personal wallet. Write it down and keep them somewhere safe."
msgstr ""
#: public/views/import.html
@ -1853,10 +1867,6 @@ msgstr ""
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"
msgstr ""
#: public/views/backup.html
msgid "Your wallet seed and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend."
msgstr ""

View file

@ -2,7 +2,7 @@
"name": "copay",
"description": "A multisignature wallet",
"author": "BitPay",
"version": "1.5.3",
"version": "1.6.1",
"keywords": [
"wallet",
"copay",

Binary file not shown.

View file

@ -41,10 +41,9 @@
<glyph unicode="&#xe61f;" glyph-name="upload" d="M62 110.5h900v-56.25h-900zM962 223v-56.25h-900v56.25l112.5 225h225v-112.5h225v112.5h225zM258.875 616.75l253.125 253.125 253.125-253.125h-196.875v-225h-112.5v225z" />
<glyph unicode="&#xe620;" glyph-name="power" d="M905.75 448c0-217.463-176.287-393.75-393.75-393.75s-393.75 176.287-393.75 393.75c0 95.85 34.481 183.459 91.406 251.719 4.331 7.987 10.35 14.934 17.859 19.969 1.266 1.322 2.391 2.813 3.684 4.106 0.028-0.647 0.309-1.266 0.366-1.913 8.128 4.556 17.353 7.369 27.309 7.369 31.050 0 56.25-25.2 56.25-56.25 0-19.575-9.984-36.788-25.172-46.856 0.984-0.731 1.688-1.631 2.7-2.362-38.672-48.15-61.903-109.209-61.903-175.781 0-155.334 125.916-281.25 281.25-281.25s281.25 125.916 281.25 281.25c0 66.572-23.231 127.631-61.903 175.781 1.013 0.731 1.744 1.631 2.7 2.362-15.188 10.069-25.172 27.281-25.172 46.856 0 31.050 25.2 56.25 56.25 56.25 9.956 0 19.181-2.813 27.309-7.369 0.056 0.647 0.337 1.266 0.394 1.912 1.266-1.294 2.391-2.784 3.684-4.106 7.509-5.034 13.5-11.981 17.859-19.969 56.869-68.259 91.378-155.869 91.378-251.719zM540.125 391.75h-56.25c-15.553 0-28.125 12.572-28.125 28.125v393.75c0 15.525 12.572 28.125 28.125 28.125h56.25c15.553 0 28.125-12.6 28.125-28.125v-393.75c0-15.553-12.572-28.125-28.125-28.125z" />
<glyph unicode="&#xe621;" glyph-name="reference" horiz-adv-x="842" d="M732.507 772.487h-622.859c-43.309 0-78.415-24.928-78.415-55.681v-538.232c0-30.751 35.107-55.682 78.415-55.682h622.859c43.307 0 78.416 24.931 78.416 55.682v538.232c0 30.753-35.108 55.681-78.416 55.681v0zM204.714 370.927h296.789v-41.417h-296.789v41.417zM204.714 465.646h454.657v-41.417h-454.657v41.417zM204.714 560.367h454.657v-41.417h-454.657v41.417z" />
<glyph unicode="&#xe622;" glyph-name="wallet" horiz-adv-x="1218" d="M974.43 671.263h-17.742v104.383c0 24.103-19.539 43.643-43.645 43.643h-701.727c-24.104 0-43.645-19.539-43.645-43.643v-558.921c0-0.852 0.079-1.68 0.129-2.52-0.065-0.804-0.129-1.606-0.129-2.427v-100.461c0-19.666 15.941-35.608 35.608-35.608h669.771c19.665 0 35.606 15.941 35.606 35.608v31.445h-656.747c-8.273 0-14.977 6.705-14.977 14.977s6.705 14.977 14.977 14.977l661.131 0.363c24.104 0 43.645 19.537 43.645 43.644v68.961h6.393c49.225 0 89.271 40.047 89.271 89.271v218.382c0 42.965-34.955 77.92-77.923 77.92v0zM302.319 268.944c0-5.916-4.796-10.711-10.711-10.711s-10.711 4.793-10.711 10.711v482.019c0 5.913 4.796 10.711 10.711 10.711s10.711-4.796 10.711-10.711v-482.019zM1011.653 374.959c0-26.781-21.789-48.572-48.572-48.572h-6.393v51.273c0 23.366-18.943 42.309-42.309 42.309h-149.381c-46.556 0-84.299 37.743-84.299 84.299v42.042c0 46.556 37.743 84.299 84.299 84.299l209.432-0.046c20.525 0 37.223-16.697 37.223-37.221v-218.382z" />
<glyph unicode="&#xe622;" glyph-name="wallet2" horiz-adv-x="1218" d="M974.43 671.263h-17.742v104.383c0 24.103-19.539 43.643-43.645 43.643h-701.727c-24.104 0-43.645-19.539-43.645-43.643v-558.921c0-0.852 0.079-1.68 0.129-2.52-0.065-0.804-0.129-1.606-0.129-2.427v-100.461c0-19.666 15.941-35.608 35.608-35.608h669.771c19.665 0 35.606 15.941 35.606 35.608v31.445h-656.747c-8.273 0-14.977 6.705-14.977 14.977s6.705 14.977 14.977 14.977l661.131 0.363c24.104 0 43.645 19.537 43.645 43.644v68.961h6.393c49.225 0 89.271 40.047 89.271 89.271v218.382c0 42.965-34.955 77.92-77.923 77.92v0zM302.319 268.944c0-5.916-4.796-10.711-10.711-10.711s-10.711 4.793-10.711 10.711v482.019c0 5.913 4.796 10.711 10.711 10.711s10.711-4.796 10.711-10.711v-482.019zM1011.653 374.959c0-26.781-21.789-48.572-48.572-48.572h-6.393v51.273c0 23.366-18.943 42.309-42.309 42.309h-149.381c-46.556 0-84.299 37.743-84.299 84.299v42.042c0 46.556 37.743 84.299 84.299 84.299l209.432-0.046c20.525 0 37.223-16.697 37.223-37.221v-218.382z" />
<glyph unicode="&#xe623;" glyph-name="history" horiz-adv-x="934" d="M825.441 494.573l-32.207 121.065c-0.048 1.094-0.157 2.169-0.288 3.236v43.967c0 14.829-7.431 27.95-18.754 35.865v35.201c0 14.79-7.673 27.809-19.23 35.333v30.457c0 23.248-18.914 42.164-42.161 42.164h-489.073c-23.248 0-42.164-18.914-42.164-42.164v-30.253c-11.738-7.495-19.557-20.604-19.557-35.534v-33.671c-12.626-7.676-21.076-21.562-21.076-37.389v-34.732l-34.334-133.535c-0.205-1.21-0.336-2.446-0.336-3.713v-414.179c0-12.258 10.031-22.285 22.285-22.285h674.942c12.257 0 22.285 10.029 22.285 22.285v414.179c0 1.267-0.133 2.505-0.336 3.713v0zM221.319 799.687c0 1.282 1.127 2.414 2.411 2.414h489.073c1.282 0 2.411-1.127 2.411-2.414v-23.625h-493.893v23.625zM201.757 733.899c0 1.287 1.127 2.414 2.414 2.414h527.858c1.286 0 2.411-1.127 2.411-2.414v-27.339h-532.685v27.339zM690.197 391.773c0-17.721-14.497-32.221-32.221-32.221h-383.914c-17.721 0-32.221 14.501-32.221 32.221s14.501 32.218 32.221 32.218h383.914c17.723 0 32.221-14.497 32.221-32.218v0zM179.745 667.202h573.732v-159.040h-573.732v159.040z" />
<glyph unicode="&#xe624;" glyph-name="forward" d="M449.248 577.472v318.528l-449.248-448 449.248-448v321.344c228.32 0 453.664-39.744 574.752-228.352-12.608 343.712-269.76 425.536-574.752 484.48z" />
<glyph unicode="&#xe625;" glyph-name="receive" d="M680.75 729.25h-337.5l-281.25-337.5v-225.001c0-31.066 25.184-56.25 56.25-56.25h787.5c31.068 0 56.25 25.184 56.25 56.25v225.001l-281.25 337.5zM737.001 391.75l-112.5-112.5h-225.001l-112.5 112.5h-151.778l234.374 281.25h284.807l234.374-281.25h-151.778z" />
<glyph unicode="&#xe626;" glyph-name="trash" horiz-adv-x="933" d="M362.451 188.385v380.769q0 7.572-4.868 12.44t-12.44 4.868h-34.614q-7.572 0-12.44-4.868t-4.868-12.44v-380.769q0-7.572 4.868-12.44t12.44-4.868h34.614q7.572 0 12.44 4.868t4.868 12.44zM500.913 188.385v380.769q0 7.572-4.868 12.44t-12.44 4.868h-34.615q-7.572 0-12.44-4.868t-4.868-12.44v-380.769q0-7.572 4.868-12.44t12.44-4.868h34.615q7.572 0 12.44 4.868t4.868 12.44zM639.374 188.385v380.769q0 7.572-4.868 12.44t-12.44 4.868h-34.615q-7.572 0-12.44-4.868t-4.868-12.44v-380.769q0-7.572 4.868-12.44t12.44-4.868h34.615q7.572 0 12.44 4.868t4.868 12.44zM345.143 724.923h242.307l-25.962 63.281q-3.787 4.868-9.194 5.95h-171.455q-5.408-1.082-9.194-5.95zM847.067 707.615v-34.615q0-7.572-4.868-12.44t-12.44-4.868h-51.923v-512.739q0-44.892-25.42-77.615t-61.117-32.722h-450q-35.697 0-61.117 31.641t-25.42 76.533v514.904h-51.923q-7.572 0-12.44 4.868t-4.868 12.44v34.615q0 7.572 4.868 12.44t12.44 4.868h167.126l37.861 90.325q8.112 20.012 29.207 34.074t42.728 14.063h173.077q21.635 0 42.728-14.063t29.207-34.074l37.861-90.325h167.126q7.572 0 12.44-4.868t4.868-12.44z" />
<glyph unicode="&#xe627;" glyph-name="circle-active" d="M1024 448c0-282.77-229.23-512-512-512s-512 229.23-512 512c0 282.77 229.23 512 512 512s512-229.23 512-512z" />
<glyph unicode="&#xe628;" glyph-name="erase" d="M921.6 819.2h-489.165c-22.528 0-54.835-12.134-71.782-26.982l-347.955-304.435c-16.947-14.848-16.947-39.117 0-53.965l347.955-304.486c16.947-14.797 49.254-26.931 71.782-26.931h489.165c56.371 0 102.4 46.080 102.4 102.4v512c0 56.32-46.029 102.4-102.4 102.4zM777.779 256l-130.918 130.918-130.816-130.918-73.933 73.882 130.867 130.918-130.867 130.867 73.933 73.933 130.867-130.867 130.867 130.867 73.882-73.933-130.816-130.867 130.867-130.867-73.933-73.933z" />
@ -56,6 +55,34 @@
<glyph unicode="&#xe62e;" glyph-name="close-circle" d="M512 894c-247.4 0-448-200.6-448-448s200.6-448 448-448c247.4 0 448 200.6 448 448s-200.6 448-448 448zM728.6 295c3-3 4.6-7 4.6-11.2s-1.6-8.4-4.6-11.2l-43.2-43.4c-3.2-3.2-7.2-4.6-11.2-4.6s-8.2 1.6-11.2 4.6l-151 151.2-150.8-151.4c-3-3.2-7.2-4.6-11.2-4.6s-8.2 1.6-11.2 4.6l-43.2 43.4c-3 3-4.6 7-4.6 11.2s1.6 8.4 4.6 11.2l151.4 152-151.8 150c-6.2 6.2-6.2 16.4 0 22.6l43.2 43.4c3 3 7 4.6 11.2 4.6s8.2-1.6 11.2-4.6l151.4-149.4 151.4 149.4c3 3 7 4.6 11.2 4.6s8.2-1.6 11.2-4.6l43.2-43.4c6.2-6.2 6.2-16.4 0-22.6l-151.8-150 151.2-151.8z" />
<glyph unicode="&#xe62f;" glyph-name="receive2" d="M990.208 279.347l-163.021 109.67h-100.506l174.080-133.53h-181.504c-5.222 0-9.882-2.662-12.288-6.81l-41.779-114.432h-306.381l-41.83 114.432c-2.304 4.147-7.066 6.81-12.288 6.81h-181.453l174.131 133.53h-100.557l-162.97-109.67c-24.269-14.49-38.758-47.923-32.256-74.189l28.723-157.389c6.502-26.317 35.379-47.872 64.051-47.872h835.226c28.774 0 57.6 21.555 64.102 47.872l28.723 157.389c6.605 26.317-7.936 59.699-32.205 74.189zM778.291 608.154h-169.011v262.144h-194.56v-262.144h-168.96l266.24-249.856 266.291 249.856z" />
<glyph unicode="&#xe630;" glyph-name="bank" horiz-adv-x="1077" d="M956.82 724.392h-0.037l-424.442 186.726-424.479-186.726v-108.561h848.959v108.561zM191.457 218.489c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h134.618c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-7.597v325.689h7.597c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-134.618c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h7.597v-325.689h-7.597zM465.031 218.489c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h134.618c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-7.597v325.689h7.597c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-134.618c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h7.597v-325.689h-7.597zM742.951 218.489c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h134.618c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-7.597v325.689h7.597c12.592 0 22.798 10.203 22.798 22.798s-10.203 22.798-22.798 22.798h-134.618c-12.592 0-22.798-10.203-22.798-22.798s10.203-22.798 22.798-22.798h7.597v-325.689h-7.597zM107.885 125.129v-13.029c0-11.989 9.721-21.712 21.712-21.712h805.487c11.989 0 21.712 9.723 21.712 21.712v13.029c0 11.989-9.723 21.712-21.712 21.712h-805.487c-11.992 0-21.712-9.721-21.712-21.712zM991.56 64.331h-918.439c-11.992 0-21.712-9.723-21.712-21.712v-19.54c0-11.989 9.721-21.712 21.712-21.712h918.439c11.989 0 21.712 9.723 21.712 21.712v19.54c0 11.992-9.721 21.712-21.712 21.712z" />
<glyph unicode="&#xe631;" glyph-name="buy-btc" horiz-adv-x="1082" d="M386.16 450.906v-108.319c34.571 0 133.093-4.992 137.898 54.16 0.194 64.144-103.327 54.16-137.898 54.16zM499.471 549.434c0 59.152-83.739 49.361-113.311 49.361v-98.522c29.579 0 113.311-4.992 113.311 49.167zM568.614 308.022c-24.581-14.789-59.152-19.782-93.723-19.782v-78.934h-49.361v78.934c-14.789 0-24.581 0-39.37 0v-78.934h-49.361v78.934c-9.797 0-24.581 0-34.571 0h-64.144l9.797 59.152h34.571c14.789 0 19.782 9.797 19.782 14.789v216.832c0 9.797-9.797 19.782-29.579 19.782h-34.571v49.361h68.949c9.797 0 19.782 0 29.579 0v78.934h49.361v-78.934c14.789 0 24.581 0 39.37 0v78.934h49.361v-78.934c64.144-4.992 113.311-24.581 118.304-83.739 4.992-44.362-14.789-68.949-39.37-78.934 19.782-4.992 39.37-14.789 49.361-29.579 39.37 68.949 103.52 123.109 182.261 137.898 14.789 4.992 29.579 4.992 44.362 4.992-59.152 162.672-211.84 280.976-394.294 280.976-231.621 0-418.874-187.253-418.874-418.874s187.447-418.874 419.068-418.874c83.739 0 162.672 24.581 231.621 68.949-59.152 59.152-93.723 123.109-98.522 197.050zM844.598 549.434c-123.109 0-221.824-98.522-221.824-221.824s98.522-221.631 221.824-221.631 221.824 98.522 221.824 221.824-98.716 221.631-221.824 221.631zM908.555 219.291c9.797-9.797 9.797-24.581 0-34.571-4.992-4.992-9.797-4.992-19.782-4.992-9.797 0-14.789 0-19.782 4.992l-128.101 128.101c-9.797 9.797-9.797 24.581 0 34.571l128.101 128.101c14.789 4.992 29.579 4.992 39.37-4.992 9.797-9.797 9.797-24.581 0-34.571l-108.319-108.319 108.513-108.319z" />
<glyph unicode="&#xe632;" glyph-name="sell-btc" horiz-adv-x="1057" d="M373.040 450.906v-108.323c34.571 0 133.101-4.992 137.902 54.164 0.194 64.148-103.331 54.164-137.902 54.164zM486.357 549.438c0 59.156-83.743 49.361-113.319 49.361v-98.532c29.579 0 113.319-4.992 113.319 49.167zM555.5 308.014c-24.587-14.789-59.156-19.782-93.727-19.782v-78.938h-49.361v78.938c-14.789 0-24.587 0-39.374 0v-78.938h-49.361v78.938c-9.797 0-24.587 0-34.571 0h-64.148l9.797 59.156h34.571c14.789 0 19.782 9.797 19.782 14.789v216.84c0 9.797-9.797 19.782-29.579 19.782h-34.571v49.361h68.953c9.797 0 19.782 0 29.579 0v78.938h49.361v-78.938c14.789 0 24.587 0 39.374 0v78.938h49.361v-78.938c64.148-4.992 113.319-24.587 118.314-83.743 4.992-44.366-14.789-68.953-39.374-78.938 19.782-4.992 39.374-14.789 49.361-29.579 39.374 68.953 103.524 123.113 182.269 137.902 14.789 4.992 29.579 4.992 44.366 4.992-59.156 162.68-211.848 280.988-394.31 280.988-231.629 0-418.894-187.261-418.894-418.894s187.455-418.894 419.088-418.894c83.743 0 162.68 24.587 231.629 68.953-59.156 59.156-93.727 123.113-98.532 197.058zM831.498 105.957c123.113 0 221.836 98.532 221.836 221.836s-98.532 221.836-221.836 221.836-221.836-98.532-221.836-221.836c0-123.306 98.532-221.836 221.836-221.836zM767.348 436.119c-9.797 9.797-9.797 24.587 0 34.571 4.992 4.992 9.797 9.797 19.782 9.797 9.797 0 14.789 0 19.782-4.992l127.915-128.109c9.797-9.797 9.797-24.587 0-34.571l-133.101-128.109c-9.797-9.797-24.587-9.797-34.571 0s-9.797 24.587 0 34.571l108.323 108.323-108.133 108.517z" />
<glyph unicode="&#xe631;" horiz-adv-x="1079" d="M887.467 509.44c0-241.297-195.61-436.907-436.907-436.907s-436.907 195.61-436.907 436.907c0 241.297 195.61 436.907 436.907 436.907s436.907-195.61 436.907-436.907z" />
<glyph unicode="&#xe632;" horiz-adv-x="1079" d="M450.56 58.88c-248.491 0-450.56 202.069-450.56 450.56s202.069 450.56 450.56 450.56 450.56-202.069 450.56-450.56c0-248.491-202.069-450.56-450.56-450.56zM450.56 932.693c-233.472 0-423.253-189.781-423.253-423.253s189.781-423.253 423.253-423.253c233.472 0 423.253 189.781 423.253 423.253s-189.781 423.253-423.253 423.253z" />
<glyph unicode="&#xe633;" horiz-adv-x="1079" d="M645.803 523.093h-390.485c-20.48 0-36.864-15.019-36.864-32.768s16.384-32.768 36.864-32.768h390.485c20.48 0 36.864 15.019 36.864 32.768s-16.384 32.768-36.864 32.768v0z" />
<glyph unicode="&#xe634;" horiz-adv-x="1079" d="M641.707 168.107c0-113.323 91.477-204.8 204.8-204.8s204.8 91.477 204.8 204.8c0 113.323-91.477 204.8-204.8 204.8s-204.8-91.477-204.8-204.8z" />
<glyph unicode="&#xe635;" horiz-adv-x="1079" d="M846.507-50.347c-120.149 0-218.453 98.304-218.453 218.453s98.304 218.453 218.453 218.453 218.453-98.304 218.453-218.453-98.304-218.453-218.453-218.453zM846.507 359.253c-105.131 0-191.147-86.016-191.147-191.147s86.016-191.147 191.147-191.147 191.147 86.016 191.147 191.147-86.016 191.147-191.147 191.147z" />
<glyph unicode="&#xe636;" horiz-adv-x="1079" d="M965.291 235.008l-129.707-162.475c-1.365-1.365-2.731-2.731-4.096-2.731-2.731 0-4.096 1.365-4.096 2.731-1.365 1.365-73.728 68.267-73.728 68.267l-1.365 1.365c0 1.365-1.365 1.365-1.365 2.731s0 2.731 1.365 2.731c0 0 0 0 1.365 1.365 6.827 6.827 21.845 21.845 23.211 23.211s2.731 2.731 4.096 2.731c2.731 0 4.096-1.365 5.461-2.731s42.325-39.595 42.325-39.595l103.765 129.707c1.365 1.365 1.365 1.365 2.731 1.365s2.731 0 2.731-1.365l28.672-21.845c1.365-1.365 1.365-1.365 1.365-2.731-1.365-1.365-2.731-2.731-2.731-2.731v0z" />
<glyph unicode="&#xe637;" horiz-adv-x="1079" d="M887.467 509.44c0-241.297-195.61-436.907-436.907-436.907s-436.907 195.61-436.907 436.907c0 241.297 195.61 436.907 436.907 436.907s436.907-195.61 436.907-436.907z" />
<glyph unicode="&#xe638;" horiz-adv-x="1079" d="M450.56 58.88c-248.491 0-450.56 202.069-450.56 450.56s202.069 450.56 450.56 450.56 450.56-202.069 450.56-450.56c0-248.491-202.069-450.56-450.56-450.56zM450.56 932.693c-233.472 0-423.253-189.781-423.253-423.253s189.781-423.253 423.253-423.253c233.472 0 423.253 189.781 423.253 423.253s-189.781 423.253-423.253 423.253z" />
<glyph unicode="&#xe639;" horiz-adv-x="1079" d="M489.244 547.214v157.013c0 20.48-17.749 36.864-38.229 36.864s-38.229-16.384-38.229-36.864v-157.013h-157.013c-20.48 0-36.864-17.749-36.864-38.229s16.384-38.229 36.864-38.229h157.013v-157.013c0-20.48 17.749-36.864 38.229-36.864s38.229 16.384 38.229 36.864v157.013h157.013c20.48 0 36.864 17.749 36.864 38.229s-16.384 38.229-36.864 38.229h-157.013z" />
<glyph unicode="&#xe63a;" horiz-adv-x="1079" d="M641.707 168.107c0-113.323 91.477-204.8 204.8-204.8s204.8 91.477 204.8 204.8c0 113.323-91.477 204.8-204.8 204.8s-204.8-91.477-204.8-204.8z" />
<glyph unicode="&#xe63b;" horiz-adv-x="1079" d="M846.507-50.347c-120.149 0-218.453 98.304-218.453 218.453s98.304 218.453 218.453 218.453 218.453-98.304 218.453-218.453-98.304-218.453-218.453-218.453zM846.507 359.253c-105.131 0-191.147-86.016-191.147-191.147s86.016-191.147 191.147-191.147 191.147 86.016 191.147 191.147-86.016 191.147-191.147 191.147z" />
<glyph unicode="&#xe63c;" horiz-adv-x="1079" d="M965.291 235.008l-129.707-162.475c-1.365-1.365-2.731-2.731-4.096-2.731-2.731 0-4.096 1.365-4.096 2.731-1.365 1.365-73.728 68.267-73.728 68.267l-1.365 1.365c0 1.365-1.365 1.365-1.365 2.731s0 2.731 1.365 2.731c0 0 0 0 1.365 1.365 6.827 6.827 21.845 21.845 23.211 23.211s2.731 2.731 4.096 2.731c2.731 0 4.096-1.365 5.461-2.731s42.325-39.595 42.325-39.595l103.765 129.707c1.365 1.365 1.365 1.365 2.731 1.365s2.731 0 2.731-1.365l28.672-21.845c1.365-1.365 1.365-1.365 1.365-2.731-1.365-1.365-2.731-2.731-2.731-2.731v0z" />
<glyph unicode="&#xe63d;" glyph-name="sold-pending" d="M512-64c-282.376 0-512 229.624-512 512s229.624 512 512 512 512-229.624 512-512c0-282.376-229.624-512-512-512zM512 928.97c-265.309 0-480.97-215.661-480.97-480.97s215.661-480.97 480.97-480.97c265.309 0 480.97 215.661 480.97 480.97s-215.661 480.97-480.97 480.97zM733.867 463.515h-443.733c-23.273 0-41.891-17.067-41.891-37.236s18.618-37.236 41.891-37.236h443.733c23.273 0 41.891 17.067 41.891 37.236s-18.618 37.236-41.891 37.236v0z" />
<glyph unicode="&#xe63e;" glyph-name="bought-pending" d="M512-64c-282.376 0-512 229.624-512 512s229.624 512 512 512 512-229.624 512-512c0-282.376-229.624-512-512-512zM512 928.97c-265.309 0-480.97-215.661-480.97-480.97s215.661-480.97 480.97-480.97c265.309 0 480.97 215.661 480.97 480.97s-215.661 480.97-480.97 480.97zM555.96 490.925v178.424c0 23.273-20.17 41.891-43.442 41.891s-43.442-18.618-43.442-41.891v-178.424h-178.424c-23.273 0-41.891-20.17-41.891-43.442s18.618-43.442 41.891-43.442h178.424v-178.424c0-23.273 20.17-41.891 43.442-41.891s43.442 18.618 43.442 41.891v178.424h178.424c23.273 0 41.891 20.17 41.891 43.442s-18.618 43.442-41.891 43.442h-178.424z" />
<glyph unicode="&#xe63f;" horiz-adv-x="1241" d="M493.382 620.218l-26.376-107.055c31.030-7.758 124.121-38.788 139.636 21.721 15.515 63.612-82.23 77.576-113.261 85.333v0z" />
<glyph unicode="&#xe640;" horiz-adv-x="1241" d="M453.042 457.309l-29.479-117.915c35.685-9.309 148.945-44.994 166.012 21.721 17.067 69.818-99.297 88.436-136.533 96.194v0z" />
<glyph unicode="&#xe641;" horiz-adv-x="1241" d="M614.4 938.279c-262.206 65.164-527.515-94.642-594.23-356.848-65.164-262.206 94.642-529.067 356.848-594.23s529.067 94.642 594.23 356.848c65.164 263.758-93.091 529.067-356.848 594.23v0zM712.145 533.333c-7.758-48.097-34.133-71.37-68.267-79.127 48.097-24.824 72.921-63.612 49.648-130.327-29.479-82.23-97.745-89.988-189.285-72.921l-21.721-88.436-54.303 13.964 21.721 88.436c-13.964 3.103-27.927 7.758-43.442 10.861l-21.721-88.436-54.303 13.964 21.721 89.988c-12.412 3.103-24.824 6.206-38.788 9.309l-69.818 17.067 26.376 62.061c0 0 40.339-10.861 38.788-9.309 15.515-3.103 21.721 6.206 24.824 12.412l35.685 141.188c1.552 0 4.655-1.552 6.206-1.552-1.552 1.552-4.655 1.552-6.206 1.552l24.824 100.848c0 10.861-3.103 26.376-24.824 31.030 1.552 0-38.788 9.309-38.788 9.309l13.964 57.406 74.473-18.618c10.861-3.103 23.273-4.655 34.133-7.758l21.721 88.436 54.303-13.964-21.721-86.885c13.964-3.103 29.479-6.206 43.442-10.861l21.721 85.333 54.303-13.964-21.721-88.436c66.715-21.721 116.364-57.406 107.055-122.57v0z" />
<glyph unicode="&#xe642;" horiz-adv-x="1241" d="M1210.182 199.758c0-128.532-104.196-232.727-232.727-232.727s-232.727 104.196-232.727 232.727c0 128.532 104.196 232.727 232.727 232.727s232.727-104.196 232.727-232.727z" />
<glyph unicode="&#xe643;" horiz-adv-x="1241" d="M977.455-48.485c-136.533 0-248.242 111.709-248.242 248.242s111.709 248.242 248.242 248.242 248.242-111.709 248.242-248.242-111.709-248.242-248.242-248.242zM977.455 416.97c-119.467 0-217.212-97.745-217.212-217.212s97.745-217.212 217.212-217.212 217.212 97.745 217.212 217.212-97.745 217.212-217.212 217.212z" />
<glyph unicode="&#xe644;" horiz-adv-x="1241" d="M1081.406 218.376h-209.455c-10.861 0-20.17-7.758-20.17-18.618s9.309-18.618 20.17-18.618h209.455c10.861 0 20.17 7.758 20.17 18.618s-9.309 18.618-20.17 18.618v0z" />
<glyph unicode="&#xe645;" horiz-adv-x="1241" d="M493.382 620.218l-26.376-107.055c31.030-7.758 124.121-38.788 139.636 21.721 15.515 63.612-82.23 77.576-113.261 85.333v0z" />
<glyph unicode="&#xe646;" horiz-adv-x="1241" d="M453.042 457.309l-29.479-117.915c35.685-9.309 148.945-44.994 166.012 21.721 17.067 69.818-99.297 88.436-136.533 96.194v0z" />
<glyph unicode="&#xe647;" horiz-adv-x="1241" d="M614.4 938.279c-262.206 65.164-527.515-94.642-594.23-356.848-65.164-262.206 94.642-529.067 356.848-594.23s529.067 94.642 594.23 356.848c65.164 263.758-93.091 529.067-356.848 594.23v0zM712.145 533.333c-7.758-48.097-34.133-71.37-68.267-79.127 48.097-24.824 72.921-63.612 49.648-130.327-29.479-82.23-97.745-89.988-189.285-72.921l-21.721-88.436-54.303 13.964 21.721 88.436c-13.964 3.103-27.927 7.758-43.442 10.861l-21.721-88.436-54.303 13.964 21.721 89.988c-12.412 3.103-24.824 6.206-38.788 9.309l-69.818 17.067 26.376 62.061c0 0 40.339-10.861 38.788-9.309 15.515-3.103 21.721 6.206 24.824 12.412l35.685 141.188c1.552 0 4.655-1.552 6.206-1.552-1.552 1.552-4.655 1.552-6.206 1.552l24.824 100.848c0 10.861-3.103 26.376-24.824 31.030 1.552 0-38.788 9.309-38.788 9.309l13.964 57.406 74.473-18.618c10.861-3.103 23.273-4.655 34.133-7.758l21.721 88.436 54.303-13.964-21.721-86.885c13.964-3.103 29.479-6.206 43.442-10.861l21.721 85.333 54.303-13.964-21.721-88.436c66.715-21.721 116.364-57.406 107.055-122.57v0z" />
<glyph unicode="&#xe648;" horiz-adv-x="1241" d="M1210.182 199.758c0-128.532-104.196-232.727-232.727-232.727s-232.727 104.196-232.727 232.727c0 128.532 104.196 232.727 232.727 232.727s232.727-104.196 232.727-232.727z" />
<glyph unicode="&#xe649;" horiz-adv-x="1241" d="M977.455-48.485c-136.533 0-248.242 111.709-248.242 248.242s111.709 248.242 248.242 248.242 248.242-111.709 248.242-248.242-111.709-248.242-248.242-248.242zM977.455 416.97c-119.467 0-217.212-97.745-217.212-217.212s97.745-217.212 217.212-217.212 217.212 97.745 217.212 217.212-97.745 217.212-217.212 217.212z" />
<glyph unicode="&#xe64a;" horiz-adv-x="1241" d="M1081.406 219.927h-83.782v83.782c0 10.861-9.309 20.17-20.17 20.17s-20.17-9.309-20.17-20.17v-83.782h-83.782c-10.861 0-20.17-9.309-20.17-20.17s9.309-20.17 20.17-20.17h83.782v-83.782c0-10.861 9.309-20.17 20.17-20.17s20.17 9.309 20.17 20.17v83.782h83.782c10.861 0 20.17 9.309 20.17 20.17s-9.309 20.17-20.17 20.17v0z" />
<glyph unicode="&#xe900;" glyph-name="activity" d="M938.285 594.117c9.841 0 18.301 3.449 25.361 10.345s10.59 15.423 10.59 25.602c0 9.841-3.53 18.301-10.59 25.361s-15.509 10.59-25.361 10.59c-10.179 0-18.712-3.53-25.602-10.59s-10.345-15.509-10.345-25.361c0-10.179 3.449-18.712 10.345-25.602s15.423-10.345 25.602-10.345v0zM289.914 539.962c10.179 0 18.712 3.53 25.602 10.59s10.345 15.509 10.345 25.361c0 9.841-3.449 18.301-10.345 25.361s-15.423 10.59-25.602 10.59c-9.841 0-18.301-3.53-25.361-10.59s-10.59-15.509-10.59-25.361c0-9.841 3.53-18.301 10.59-25.361s15.509-10.59 25.361-10.59v0zM722.166 468.077c9.841 0 18.301 3.449 25.361 10.345s10.59 15.423 10.59 25.602c0 9.841-3.53 18.301-10.59 25.361s-15.509 10.59-25.361 10.59c-10.179 0-18.712-3.53-25.602-10.59s-10.345-15.509-10.345-25.361c0-10.179 3.449-18.712 10.345-25.602s15.423-10.345 25.602-10.345v0zM938.285 701.93c20.016 0 37.014-6.974 50.963-20.925s20.925-30.937 20.925-50.963c0-20.016-6.974-37.014-20.925-50.963s-30.937-20.925-50.963-20.925c-20.673 0-37.74 7.060-51.203 21.177l-95.998-56.128c1.969-5.905 2.948-12.304 2.948-19.192 0-20.016-6.974-37.014-20.925-50.963s-30.937-20.925-50.963-20.925c-12.138 0-23.474 2.786-33.965 8.363l-121.6-131.947c7.541-11.162 11.321-24.128 11.321-38.899 0-19.697-6.974-36.603-20.925-50.712s-30.937-21.177-50.963-21.177c-20.016 0-37.014 7.060-50.963 21.177s-20.925 31.017-20.925 50.712c0 17.719 5.746 33.141 17.239 46.272l-135.883 192.99c-8.865-3.29-17.397-4.927-25.602-4.927-13.778 0-26.749 3.941-38.899 11.825l-113.72-104.368c5.905-10.83 8.865-21.994 8.865-33.484 0-20.016-7.060-37.014-21.177-50.963s-31.187-20.925-51.203-20.925c-20.016 0-37.014 6.974-50.963 20.925s-20.925 30.937-20.925 50.963c0 20.016 6.974 37.014 20.925 50.963s30.937 20.925 50.963 20.925c14.12 0 27.246-3.941 39.38-11.825l113.237 104.368c-5.586 11.162-8.363 22.312-8.363 33.484 0 20.016 6.974 37.014 20.925 50.963s30.937 20.925 50.963 20.925c20.016 0 37.014-6.974 50.963-20.925s20.925-30.937 20.925-50.963c0-17.397-5.746-32.828-17.239-46.272l135.883-192.495c9.186 3.29 17.719 4.927 25.602 4.927 11.482 0 22.813-2.948 33.965-8.865l122.094 131.447c-7.882 12.138-11.825 25.269-11.825 39.38 0 20.016 6.974 37.014 20.925 50.963s30.937 20.925 50.963 20.925c19.364 0 36.432-7.060 51.203-21.177l95.518 55.624c-1.969 8.534-2.948 15.098-2.948 19.697 0 20.016 7.060 37.014 21.177 50.963s31.187 20.925 51.203 20.925v0zM73.789 342.055c10.179 0 18.712 3.449 25.602 10.345s10.345 15.423 10.345 25.602c0 9.841-3.449 18.301-10.345 25.361s-15.423 10.59-25.602 10.59c-9.841 0-18.301-3.53-25.361-10.59s-10.59-15.509-10.59-25.361c0-10.179 3.53-18.712 10.59-25.602s15.509-10.345 25.361-10.345v0zM506.040 233.743c9.841 0 18.301 3.53 25.361 10.59s10.59 15.509 10.59 25.361c0 10.179-3.53 18.784-10.59 25.842s-15.509 10.59-25.361 10.59c-9.841 0-18.301-3.53-25.361-10.59s-10.59-15.665-10.59-25.842c0-9.841 3.53-18.301 10.59-25.361s15.509-10.59 25.361-10.59v0z" />
<glyph unicode="&#xe901;" glyph-name="receive" horiz-adv-x="1019" d="M1007.556 727.054c3.626-3.626 5.442-7.913 5.442-12.86v-669.227c0-10.225-3.547-18.878-10.634-25.965s-15.581-10.634-25.476-10.634h-940.778c-9.894 0-18.382 3.547-25.476 10.634s-10.634 15.747-10.634 25.965v669.227c0 4.947 1.816 9.234 5.442 12.86l144.428 144.428c3.626 3.626 7.913 5.442 12.86 5.442h687.53c4.947 0 9.234-1.816 12.86-5.442l144.428-144.428zM170.161 840.821l-108.324-108.82h889.337l-108.324 108.82h-672.688zM976.888 44.967v650.924h-940.778v-650.924h940.778zM493.642 158.734l-144.428 144.428c-3.626 3.626-5.442 7.913-5.442 12.86s1.731 9.234 5.192 12.86c3.461 3.626 7.668 5.442 12.616 5.442 5.608 0 9.894-1.816 12.86-5.442l113.762-113.762v354.149c0 4.947 1.816 9.234 5.442 12.86s7.913 5.442 12.86 5.442c4.947 0 9.234-1.816 12.86-5.442s5.442-7.913 5.442-12.86v-354.149l113.762 113.762c2.966 3.626 7.253 5.442 12.86 5.442 4.947 0 9.148-1.816 12.616-5.442s5.192-7.913 5.192-12.86c0-4.947-1.816-9.234-5.442-12.86l-144.428-144.428c-3.626-3.626-7.913-5.442-12.86-5.442s-9.234 1.816-12.86 5.442v0z" />
<glyph unicode="&#xe902;" glyph-name="send" horiz-adv-x="1011" d="M569.286-55.513c-7.785 0-13.137 3.73-16.057 11.191h-0.486l-157.162 384.39-384.39 157.649c-7.461 2.595-11.191 7.947-11.191 16.057 0 7.785 3.568 13.299 10.704 16.543l960.975 409.205c1.947 0.973 4.217 1.46 6.812 1.46 5.19 0 9.488-1.703 12.894-5.109s5.109-7.542 5.109-12.408c0-2.595-0.486-5.028-1.46-7.299l-409.205-960.975c-3.244-7.136-8.758-10.704-16.543-10.704v0zM63.74 514.261l341.572-139.645 495.814 496.298-837.386-356.655zM569.772 8.715l356.655 836.9-496.298-495.814 139.645-341.089z" />
<glyph unicode="&#xe903;" glyph-name="wallet" horiz-adv-x="1280" d="M1241.24-12.8h-1203.2v931.84l921.6 5.12v-143.36h281.6v-793.6zM68.76 17.92h1146.88v732.16h-250.88l-15.36-5.12h-875.52v-727.040zM68.76 780.8h860.16v112.64l-860.16-5.12v-107.52zM1005.72 238.080c-51.2 0-87.040 40.96-87.040 87.040s40.96 87.040 87.040 87.040 87.040-40.96 87.040-87.040-35.84-87.040-87.040-87.040zM1005.72 386.56c-30.72 0-61.44-25.6-61.44-56.32s25.6-56.32 61.44-56.32c30.72 0 61.44 25.6 61.44 56.32s-30.72 56.32-61.44 56.32z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

22
public/img/icon-moved.svg Normal file
View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 7 + retweet</title>
<desc>Created with Sketch.</desc>
<defs>
<circle id="path-1" cx="26.25" cy="26.25" r="26.25"></circle>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-1of1" sketch:type="MSArtboardGroup" transform="translate(-28.000000, -675.000000)">
<g id="Group" sketch:type="MSLayerGroup" transform="translate(0.000000, 646.000000)">
<g id="Oval-145-Copy-7-+-retweet" transform="translate(32.000000, 33.000000)">
<g id="Oval-145-Copy-7" stroke="#4B6178">
<use stroke-width="1.09090909" fill="#FFFFFF" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use stroke-opacity="0.15" stroke-width="4" fill="none" xlink:href="#path-1"></use>
</g>
<path d="M30.9677734,31.75 C31.0898444,31.75 31.1936031,31.7927242 31.2790527,31.8781738 C31.3645024,31.9636235 31.4072266,32.0714512 31.4072266,32.2016602 C31.4072266,32.3237311 31.3645024,32.4274898 31.2790527,32.5129395 C31.1936031,32.5983891 31.0898444,32.6411133 30.9677734,32.6411133 L18.9072266,32.6411133 C18.7851556,32.6411133 18.6813969,32.5983891 18.5959473,32.5129395 C18.5104976,32.4274898 18.4677734,32.3237311 18.4677734,32.2016602 L18.4677734,19.8847656 L14.7568359,23.5834961 C14.6835934,23.6730148 14.5818691,23.7177734 14.4516602,23.7177734 C14.3214512,23.7177734 14.2136235,23.6730148 14.1281738,23.5834961 C14.0427242,23.4939774 14,23.3881842 14,23.2661133 C14,23.1440424 14.0447587,23.0382491 14.1342773,22.9487305 L18.5898438,18.4931641 C18.6793624,18.4036454 18.7851556,18.3588867 18.9072266,18.3588867 C19.0455736,18.3588867 19.1513668,18.4036454 19.2246094,18.4931641 L23.6923828,22.9487305 C23.7819015,23.0545253 23.8266602,23.1603185 23.8266602,23.2661133 C23.8266602,23.3881842 23.7819015,23.4939774 23.6923828,23.5834961 C23.6028641,23.6730148 23.4970709,23.7177734 23.375,23.7177734 C23.2529291,23.7177734 23.1471359,23.6730148 23.0576172,23.5834961 L19.3588867,19.8847656 L19.3588867,31.75 L30.9677734,31.75 Z M38.5483398,27.2822266 C38.6785488,27.2822266 38.7863765,27.3269852 38.8718262,27.4165039 C38.9572758,27.5060226 39,27.6118158 39,27.7338867 C39,27.8559576 38.9552413,27.9617509 38.8657227,28.0512695 L34.4101562,32.5068359 C34.3206376,32.5963546 34.2148444,32.6411133 34.0927734,32.6411133 C33.9544264,32.6411133 33.8486332,32.5963546 33.7753906,32.5068359 L29.3076172,28.0512695 C29.2180985,27.9454747 29.1733398,27.8396815 29.1733398,27.7338867 C29.1733398,27.6118158 29.2180985,27.5060226 29.3076172,27.4165039 C29.3971359,27.3269852 29.5029291,27.2822266 29.625,27.2822266 C29.7470709,27.2822266 29.8528641,27.3269852 29.9423828,27.4165039 L33.6411133,31.1152344 L33.6411133,19.25 L22.0322266,19.25 C21.9101556,19.25 21.8063969,19.2072758 21.7209473,19.1218262 C21.6354976,19.0363765 21.5927734,18.9285488 21.5927734,18.7983398 C21.5927734,18.6762689 21.6354976,18.5725102 21.7209473,18.4870605 C21.8063969,18.4016109 21.9101556,18.3588867 22.0322266,18.3588867 L34.0927734,18.3588867 C34.2148444,18.3588867 34.3186031,18.4016109 34.4040527,18.4870605 C34.4895024,18.5725102 34.5322266,18.6762689 34.5322266,18.7983398 L34.5322266,31.1152344 L38.2431641,27.4165039 C38.3164066,27.3269852 38.4181309,27.2822266 38.5483398,27.2822266 L38.5483398,27.2822266 Z" id="retweet" fill="#4B6178" sketch:type="MSShapeGroup"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

18
public/img/icon-new.svg Normal file
View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61" height="61" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 7 + retweet</title>
<desc>Created with Sketch.</desc>
<defs>
<circle r="26.25" cy="26.25" cx="26.25" id="path-1"/>
</defs>
<g>
<title>Layer 1</title>
<g id="Group">
<g stroke="#DDDDDD" id="Oval-145-Copy-7">
<use id="svg_1" x="4" y="3.75" xlink:href="#path-1" fill-rule="evenodd" fill="#FFFFFF" stroke-width="1.090909"/>
<use id="svg_2" x="4" y="3.75" xlink:href="#path-1" fill="none" stroke-width="4" stroke-opacity="0.15"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 739 B

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 5 + send</title>
<desc>Created with Sketch.</desc>
<defs>
<ellipse id="path-1" cx="26.25" cy="26.25" rx="26.25" ry="26.25"></ellipse>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-Multisign" sketch:type="MSArtboardGroup" transform="translate(-22.000000, -558.000000)">
<g id="Oval-145-Copy-5-+-send" sketch:type="MSLayerGroup" transform="translate(26.000000, 562.000000)">
<g id="Oval-145-Copy-5" stroke="#A5B2BF">
<use stroke-width="1.09090909" fill="#FFFFFF" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use stroke-opacity="0.15" stroke-width="4" fill="none" xlink:href="#path-1"></use>
</g>
<path d="M28.2822266,38 C28.0869131,38 27.9526371,37.9064137 27.8793945,37.7192383 L27.8671875,37.7192383 L23.9243164,28.0756836 L14.2807617,24.1206055 C14.0935863,24.055501 14,23.921225 14,23.7177734 C14,23.52246 14.0895173,23.384115 14.2685547,23.3027344 L38.3774414,13.0366211 C38.4262698,13.0122069 38.4832354,13 38.5483398,13 C38.6785488,13 38.7863765,13.0427242 38.8718262,13.1281738 C38.9572758,13.2136235 39,13.3173822 39,13.4394531 C39,13.5045576 38.9877931,13.5655922 38.9633789,13.6225586 L28.6972656,37.7314453 C28.615885,37.9104827 28.47754,38 28.2822266,38 L28.2822266,38 Z M15.5991211,23.7055664 L24.168457,27.2089844 L36.6074219,14.7578125 L15.5991211,23.7055664 Z M28.2944336,36.3886719 L37.2421875,15.3925781 L24.7910156,27.831543 L28.2944336,36.3886719 Z" id="send" fill="#A5B2BF" sketch:type="MSShapeGroup"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 5 + downloadbox</title>
<desc>Created with Sketch.</desc>
<defs>
<ellipse id="path-1" cx="26.25" cy="26.25" rx="26.25" ry="26.25"></ellipse>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-1of1" sketch:type="MSArtboardGroup" transform="translate(-23.000000, -437.000000)">
<g id="Group-Copy-2" sketch:type="MSLayerGroup" transform="translate(0.000000, 409.000000)">
<g id="Oval-145-Copy-5-+-downloadbox" transform="translate(27.000000, 32.000000)">
<g id="Oval-145-Copy-5" stroke="#1ABC9C">
<use stroke-width="1.09090909" fill="#FFFFFF" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use stroke-opacity="0.15" stroke-width="4" fill="none" xlink:href="#path-1"></use>
</g>
<path d="M38.8657227,18.480957 C38.9552413,18.5704757 39,18.6762689 39,18.7983398 L39,35.3144531 C39,35.566733 38.9125172,35.7803539 38.7375488,35.9553223 C38.5625805,36.1302906 38.3530286,36.2177734 38.1088867,36.2177734 L14.8911133,36.2177734 C14.6469714,36.2177734 14.4374195,36.1302906 14.2624512,35.9553223 C14.0874828,35.7803539 14,35.566733 14,35.3144531 L14,18.7983398 C14,18.6762689 14.0447587,18.5704757 14.1342773,18.480957 L17.6987305,14.9165039 C17.7882491,14.8269852 17.8940424,14.7822266 18.0161133,14.7822266 L34.9838867,14.7822266 C35.1059576,14.7822266 35.2117509,14.8269852 35.3012695,14.9165039 L38.8657227,18.480957 Z M18.1992188,15.6733398 L15.5258789,18.3588867 L37.4741211,18.3588867 L34.8007812,15.6733398 L18.1992188,15.6733398 Z M38.1088867,35.3144531 L38.1088867,19.25 L14.8911133,19.25 L14.8911133,35.3144531 L38.1088867,35.3144531 Z M26.1826172,32.5068359 L22.6181641,28.9423828 C22.5286454,28.8528641 22.4838867,28.7470709 22.4838867,28.625 C22.4838867,28.5029291 22.5266109,28.3971359 22.6120605,28.3076172 C22.6975102,28.2180985 22.8012689,28.1733398 22.9233398,28.1733398 C23.0616869,28.1733398 23.1674801,28.2180985 23.2407227,28.3076172 L26.0483398,31.1152344 L26.0483398,22.375 C26.0483398,22.2529291 26.0930985,22.1471359 26.1826172,22.0576172 C26.2721359,21.9680985 26.3779291,21.9233398 26.5,21.9233398 C26.6220709,21.9233398 26.7278641,21.9680985 26.8173828,22.0576172 C26.9069015,22.1471359 26.9516602,22.2529291 26.9516602,22.375 L26.9516602,31.1152344 L29.7592773,28.3076172 C29.8325199,28.2180985 29.9383131,28.1733398 30.0766602,28.1733398 C30.1987311,28.1733398 30.3024898,28.2180985 30.3879395,28.3076172 C30.4733891,28.3971359 30.5161133,28.5029291 30.5161133,28.625 C30.5161133,28.7470709 30.4713546,28.8528641 30.3818359,28.9423828 L26.8173828,32.5068359 C26.7278641,32.5963546 26.6220709,32.6411133 26.5,32.6411133 C26.3779291,32.6411133 26.2721359,32.5963546 26.1826172,32.5068359 L26.1826172,32.5068359 Z" id="downloadbox" fill="#1ABC9C" sketch:type="MSShapeGroup"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="21px" height="18px" viewBox="0 0 21 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>downloadbox</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-Multisign" sketch:type="MSArtboardGroup" transform="translate(-56.000000, -614.000000)" fill="#7A8C9E">
<g id="Navigation-/-Send-Copy-2" sketch:type="MSLayerGroup" transform="translate(0.000000, 594.000000)">
<g id="receive" transform="translate(43.359375, 17.992188)" sketch:type="MSShapeGroup">
<path d="M33.1875903,5.56013203 C33.258401,5.6309427 33.2938058,5.71462678 33.2938058,5.81118679 L33.2938058,18.8756905 C33.2938058,19.0752478 33.2246055,19.2442253 33.0862028,19.382628 C32.9478001,19.5210306 32.7820413,19.5902309 32.5889213,19.5902309 L14.2232997,19.5902309 C14.0301797,19.5902309 13.8644208,19.5210306 13.7260182,19.382628 C13.5876155,19.2442253 13.5184152,19.0752478 13.5184152,18.8756905 L13.5184152,5.81118679 C13.5184152,5.71462678 13.55382,5.6309427 13.6246307,5.56013203 L16.4441688,2.74059391 C16.5149794,2.66978324 16.5986635,2.63437843 16.6952235,2.63437843 L30.1169974,2.63437843 C30.2135575,2.63437843 30.2972415,2.66978324 30.3680522,2.74059391 L33.1875903,5.56013203 Z M16.8400628,3.33926296 L14.7254092,5.4635725 L32.0868117,5.4635725 L29.9721582,3.33926296 L16.8400628,3.33926296 Z M32.5889213,18.8756905 L32.5889213,6.16845703 L14.2232997,6.16845703 L14.2232997,18.8756905 L32.5889213,18.8756905 Z M23.1550557,16.6548214 L20.3355176,13.8352833 C20.2647069,13.7644726 20.2293021,13.6807885 20.2293021,13.5842285 C20.2293021,13.4876685 20.2630976,13.4039844 20.3306896,13.3331738 C20.3982816,13.2623631 20.4803564,13.2269583 20.5769164,13.2269583 C20.6863511,13.2269583 20.7700352,13.2623631 20.8279712,13.3331738 L23.0488403,15.5540428 L23.0488403,8.64038086 C23.0488403,8.54382085 23.0842451,8.46013677 23.1550557,8.3893261 C23.2258664,8.31851542 23.3095505,8.28311062 23.4061105,8.28311062 C23.5026705,8.28311062 23.5863546,8.31851542 23.6571653,8.3893261 C23.7279759,8.46013677 23.7633807,8.54382085 23.7633807,8.64038086 L23.7633807,15.5540428 L25.9842498,13.3331738 C26.0421858,13.2623631 26.1258699,13.2269583 26.2353046,13.2269583 C26.3318646,13.2269583 26.4139393,13.2623631 26.4815313,13.3331738 C26.5491234,13.4039844 26.5829188,13.4876685 26.5829188,13.5842285 C26.5829188,13.6807885 26.547514,13.7644726 26.4767034,13.8352833 L23.6571653,16.6548214 C23.5863546,16.7256321 23.5026705,16.7610369 23.4061105,16.7610369 C23.3095505,16.7610369 23.2258664,16.7256321 23.1550557,16.6548214 L23.1550557,16.6548214 Z" id="downloadbox"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

18
public/img/icon-send.svg Normal file
View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="21px" height="20px" viewBox="0 0 21 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>send</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-Multisign" sketch:type="MSArtboardGroup" transform="translate(-305.000000, -613.000000)" fill="#7A8C9E">
<g id="Navigation-/-Send-Copy-2" sketch:type="MSLayerGroup" transform="translate(0.000000, 594.000000)">
<g id="Send" transform="translate(295.898438, 18.992188)" sketch:type="MSShapeGroup">
<g id="Send-2-+-ios7-paperplane">
<path d="M20.8189487,20 C20.6644527,20 20.5582383,19.9259718 20.5003023,19.7779131 L20.4906464,19.7779131 L17.3717737,12.1497107 L9.74357128,9.02118206 C9.5955126,8.96968339 9.52148438,8.86346897 9.52148438,8.70253563 C9.52148438,8.54803962 9.59229398,8.43860658 9.73391533,8.37423325 L28.8044214,0.253577232 C28.8430454,0.234265231 28.8881061,0.224609375 28.9396048,0.224609375 C29.0426021,0.224609375 29.1278955,0.258404871 29.1954875,0.325996876 C29.2630795,0.393588881 29.296875,0.475663656 29.296875,0.572223663 C29.296875,0.623722334 29.2872191,0.672001613 29.2679071,0.71706295 L21.1472511,19.787569 C21.0828778,19.9291904 20.9734448,20 20.8189487,20 L20.8189487,20 Z M10.7864141,8.69287968 L17.5648928,11.464138 L27.4043083,1.61506653 L10.7864141,8.69287968 Z M20.8286047,18.7254143 L27.9064178,2.11717606 L18.0573463,11.9565916 L20.8286047,18.7254143 Z" id="send"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 7 + send copy</title>
<desc>Created with Sketch.</desc>
<defs>
<circle id="path-1" cx="26.25" cy="26.25" r="26.25"></circle>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-1of1" sketch:type="MSArtboardGroup" transform="translate(-28.000000, -553.000000)">
<g id="Group-Copy" sketch:type="MSLayerGroup" transform="translate(0.000000, 527.000000)">
<g id="Oval-145-Copy-7-+-send-copy" transform="translate(32.000000, 30.000000)">
<g id="Oval-145-Copy-7">
<use stroke="#EE4A43" stroke-width="1.09090909" fill="#FFFFFF" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use stroke-opacity="0.15" stroke="#ED4A43" stroke-width="4" fill="none" xlink:href="#path-1"></use>
</g>
<path d="M28.2822266,38 C28.0869131,38 27.9526371,37.9064137 27.8793945,37.7192383 L27.8671875,37.7192383 L23.9243164,28.0756836 L14.2807617,24.1206055 C14.0935863,24.055501 14,23.921225 14,23.7177734 C14,23.52246 14.0895173,23.384115 14.2685547,23.3027344 L38.3774414,13.0366211 C38.4262698,13.0122069 38.4832354,13 38.5483398,13 C38.6785488,13 38.7863765,13.0427242 38.8718262,13.1281738 C38.9572758,13.2136235 39,13.3173822 39,13.4394531 C39,13.5045576 38.9877931,13.5655922 38.9633789,13.6225586 L28.6972656,37.7314453 C28.615885,37.9104827 28.47754,38 28.2822266,38 L28.2822266,38 Z M15.5991211,23.7055664 L24.168457,27.2089844 L36.6074219,14.7578125 L15.5991211,23.7055664 Z M28.2944336,36.3886719 L37.2421875,15.3925781 L24.7910156,27.831543 L28.2944336,36.3886719 Z" id="send-copy" fill="#EE4A43" sketch:type="MSShapeGroup"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

22
public/img/icon-sent.svg Normal file
View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15855) - http://www.bohemiancoding.com/sketch -->
<title>Oval 145 Copy 7 + send copy</title>
<desc>Created with Sketch.</desc>
<defs>
<circle id="path-1" cx="26.25" cy="26.25" r="26.25"></circle>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Wallet-1of1" sketch:type="MSArtboardGroup" transform="translate(-28.000000, -553.000000)">
<g id="Group-Copy" sketch:type="MSLayerGroup" transform="translate(0.000000, 527.000000)">
<g id="Oval-145-Copy-7-+-send-copy" transform="translate(32.000000, 30.000000)">
<g id="Oval-145-Copy-7">
<use stroke="#EE4A43" stroke-width="1.09090909" fill="#FFFFFF" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use stroke-opacity="0.15" stroke="#ED4A43" stroke-width="4" fill="none" xlink:href="#path-1"></use>
</g>
<path d="M28.2822266,38 C28.0869131,38 27.9526371,37.9064137 27.8793945,37.7192383 L27.8671875,37.7192383 L23.9243164,28.0756836 L14.2807617,24.1206055 C14.0935863,24.055501 14,23.921225 14,23.7177734 C14,23.52246 14.0895173,23.384115 14.2685547,23.3027344 L38.3774414,13.0366211 C38.4262698,13.0122069 38.4832354,13 38.5483398,13 C38.6785488,13 38.7863765,13.0427242 38.8718262,13.1281738 C38.9572758,13.2136235 39,13.3173822 39,13.4394531 C39,13.5045576 38.9877931,13.5655922 38.9633789,13.6225586 L28.6972656,37.7314453 C28.615885,37.9104827 28.47754,38 28.2822266,38 L28.2822266,38 Z M15.5991211,23.7055664 L24.168457,27.2089844 L36.6074219,14.7578125 L15.5991211,23.7055664 Z M28.2944336,36.3886719 L37.2421875,15.3925781 L24.7910156,27.831543 L28.2944336,36.3886719 Z" id="send-copy" fill="#EE4A43" sketch:type="MSShapeGroup"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-285 410.9 25 20"
style="enable-background:new -285 410.9 25 20;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<title>Wallet-Copy</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" sketch:type="MSPage">
<g id="Navigation-13-Copy-2" transform="translate(-25.000000, -285.000000)" sketch:type="MSArtboardGroup">
<g id="wallet-ico-copy-2" transform="translate(26.042969, 286.000000)" sketch:type="MSLayerGroup">
<path class="st0" d="M-261.8,428.9h-23.5l0-18.2l18-0.1v2.8h5.5V428.9z M-284.7,428.3h22.4V414h-4.9l-0.3,0.1h-17.1V428.3z
M-284.7,413.4h16.8v-2.2l-16.8,0.1V413.4z M-266.4,424c-1,0-1.7-0.8-1.7-1.7s0.8-1.7,1.7-1.7s1.7,0.8,1.7,1.7
S-265.4,424-266.4,424z M-266.4,421.1c-0.6,0-1.2,0.5-1.2,1.1s0.5,1.1,1.2,1.1c0.6,0,1.2-0.5,1.2-1.1S-265.8,421.1-266.4,421.1z"
/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -1,34 +1,38 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Backup'; goBackToState = 'preferences'">
</div>
<div class="backup" ng-controller="backupController as wordsC">
<nav class="tab-bar">
<section class="left-small" ng-show="(wordsC.step != 1 && wordsC.step != 4)">
<a ng-click="wordsC.goToStep(1);">
<i class="icon-arrow-left3 icon-back"></i>
</a>
</section>
<section class="middle tab-bar-section">
</section>
<div class="content preferences" ng-controller="wordsController as wordsC">
<h4></h4>
<section class="right-small">
<a class="p10" ng-click="$root.go(index.prevState);">
<span class="text-close">
<i class="fi-x size-24"></i>
</span>
</a>
</section>
</nav>
<div class="content preferences">
<div class="box-notification" ng-show="wordsC.error">
<span class="text-warning">
{{wordsC.error|translate}}
</span>
</div>
<!--
## STEP 1
-->
<div ng-show="wordsC.step == 1">
<div ng-show="wordsC.mnemonicWords || (wordsC.credentialsEncrypted && !wordsC.deleted)">
<div class="row" ng-show="index.n==1">
<div class="m10t columns size-14 text-gray">
<span translate>
You need the wallet seed to restore this personal wallet.
</span>
<span translate class="text-bold">
Write it down and keep them somewhere safe.
</span>
</div>
</div>
<div class="row" ng-show="(index.n>1 && index.m != index.n )">
<div class="m10t columns size-14 text-gray">
<h5 class="text-center" translate>Write your wallet seed</h5>
<div class="size-14 text-gray" ng-show="(index.n>1 && index.m != index.n )">
<span translate>
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
</span>:
@ -39,9 +43,7 @@
</ol>
</span>
</div>
</div>
<div class="row" ng-show="(index.n>1 && index.m == index.n )">
<div class="m10t columns size-14 text-gray">
<div class="size-14 text-gray" ng-show="(index.n>1 && index.m == index.n )">
<span translate>
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
</span>:
@ -52,7 +54,6 @@
</span>
</div>
</div>
</div>
<div class="row m20t" ng-show="wordsC.deleted">
<div class="columns size-14 text-gray text-center" translate>
@ -61,64 +62,132 @@
</div>
<div ng-show="wordsC.mnemonicWords || (wordsC.credentialsEncrypted && !wordsC.deleted)">
<div class="row">
<p class="text-center columns text-gray" ng-show="index.n==1 && wordsC.step == 1">
<span translate>
You need the wallet seed to restore this personal wallet. Write it down and keep them somewhere safe.
</span>
</p>
<div class="row" ng-show="wordsC.credentialsEncrypted">
<div class="m10t columns">
<a class="button outline light-gray expand tiny" ng-click="wordsC.toggle()">
<i class="fi-widget m3r"></i>
<span translate ng-hide="wordsC.show">Show Wallet Seed</span>
<span translate ng-hide="!wordsC.show">Hide Wallet Seed</span>
<i ng-if="!wordsC.show" class="icon-arrow-down4"></i>
<i ng-if="wordsC.show" class="icon-arrow-up4"></i>
</a>
</div>
</div>
<div class="row m10t m10b" ng-show="wordsC.show">
<div class="small-centered text-gray columns size-14 text-center" translate>
Your Wallet Seed
</div>
</div>
<div class="row" ng-show="wordsC.show">
<div class="row" ng-show="!wordsC.credentialsEncrypted">
<div class="columns">
<div class="p10" style="background:white" ng-class="{'enable_text_select': index.network == 'testnet'}">
<div class="panel" ng-class="{'enable_text_select': index.network == 'testnet'}">
<span ng-repeat="word in wordsC.mnemonicWords track by $index"><span style="white-space:nowrap">{{word}}</span><span ng-show="wordsC.useIdeograms">&#x3000;</span> </span>
</div>
</div>
</div>
</div>
<div class="row m10t m20b" ng-show="wordsC.show">
<div class="columns" ng-show="wordsC.mnemonicHasPassphrase">
<span class="size-12">
<div class="columns extra-padding-bottom" ng-show="!wordsC.credentialsEncrypted">
<div class="line-t p10 size-10 text-gray text-center" ng-show="wordsC.mnemonicHasPassphrase">
<i class="fi-alert"></i>
<span translate>
WARNING: This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed.
</span>
This seed was created with a passphrase. To recover this wallet both the mnemonic and passphrase are needed.
</span>
</div>
</div>
<div class="row" ng-show="wordsC.show">
<div class="m10t text-center columns">
<div class="size-12 text-gray">
<span translate>
Once you have copied your wallet seed down, it is recommended to delete it from this device.
</span>
</div>
<button class="button outline m10t round dark-gray tiny" ng-click="wordsC.delete()">
<i class="fi-trash"></i>
<span translate>
DELETE WORDS
</span>
<div class="button-box">
<button
ng-show="!wordsC.deleted"
ng-disabled="wordsC.credentialsEncrypted"
class="round expand m0"
ng-style="{'background-color':index.backgroundColor}"
ng-click="wordsC.goToStep(2);"
translate>Continue
</button>
</div>
</div>
<!--
## STEP 2
-->
<div ng-show="wordsC.step == 2">
<div class="columns text-center extra-padding-bottom">
<h5 translate>Confirm your wallet seed</h5>
<p class="text-gray m0" translate>
Please tap the words in order to confirm your backup phrase is correctly written.
</p>
<div class="panel words text-left" ng-class="{'enable_text_select': index.network == 'testnet'}">
<div id="addWord"></div>
</div>
<div class="text-left" ng-class="{'enable_text_select': index.network == 'testnet'}" id="buttons">
<span ng-repeat="word in wordsC.shuffledMnemonicWords track by $index">
<button class="button radius tiny words" ng-if="$index > 9" ng-click="wordsC.disableButton($index, word)" id="{{$index + word}}">{{word}}</button>
<button class="button radius tiny words" ng-if="$index <= 9" ng-click="wordsC.disableButton('0' + $index, word)" id="{{'0' + $index + word}}">{{word}}</button>
</span>
</div>
</div>
<div class="button-box">
<button
ng-disabled="!wordsC.selectComplete"
class="round expand m0"
ng-style="{'background-color':index.backgroundColor}"
ng-click="wordsC.goToStep(3);"
translate>Continue
</button>
</div>
</div>
<!--
## STEP 3
-->
<div ng-show="wordsC.step == 3">
<div class="columns text-center">
<h5 translate>Enter your passphrase</h5>
<p class="text-gray m0" translate>
In order to verify your wallet backup, please type your passphrase:
</p>
<div class="m20v">
<input type="text" id="passphrase" ng-model="passphrase" autocapitalize="off" spellcheck="false" autofocus/>
</div>
</div>
<div class="button-box">
<button
ng-disabled="!passphrase"
ng-style="{'background-color':index.backgroundColor}"
class="button round expand m0"
ng-click="wordsC.goToStep(4);"
translate>Continue
</button>
</div>
</div>
<!--
## STEP 4
-->
<div ng-show="wordsC.step == 4">
<div class="row m10t m10b text-center" ng-show="!wordsC.backupError">
<div class="circle-icon">
<i class="fi-like size-48"></i>
</div>
<h5 translate>Congratulations!</h5>
<p class="text-gray columns" translate>
You backed up your wallet. You can now restore this wallet at any time.
</p>
<div class="columns text-center m20t">
<button
ng-style="{'background-color':index.backgroundColor}"
class="button round expand"
ng-click="$root.go('walletHome');"
translate>Finish
</button>
<!-- hide this in multisig just to show less text -->
<div class="row m20t" ng-show="index.n==1">
<div class="columns size-12 text-gray">
<div class="p10t" style="border-top:1px solid #ccc">
<div class="columns size-10 text-gray">
<div class="p10t line-t">
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
Learn more about Copay backups
@ -126,8 +195,35 @@
</div>
</div>
</div>
</div>
</div>
<div class="row m10t m10b text-center" ng-show="wordsC.backupError">
<div class="circle-icon">
<i class="fi-dislike size-48"></i>
</div>
<h5 translate>Backup failed</h5>
<p class="text-gray columns" translate>
Failed to verify backup. Please check your information
</p>
<div class="columns size-10 text-gray extra-padding-bottom" ng-show="index.n==1">
<div class="p10t line-t">
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
Learn more about Copay backups
</a>
</div>
</div>
<div class="button-box">
<button
ng-style="{'background-color':index.backgroundColor}"
class="button round expand m0"
ng-click="wordsC.goToStep(1);"
translate>Try again
</button>
</div>
</div>
</div>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Buy'; goBackToState = 'glidera'">
ng-init="titleSection='Buy'; goBackToState = 'glidera'; noColor = true">
</div>
@ -21,11 +21,7 @@
</div>
<div ng-show="index.glideraLimits && !buy.show2faCodeInput && !buy.success">
<h4 class="title m0">
<div class="left">
<i class="fi-info size-24 m10r"></i>
</div>
<div class="size-10">
<h4 class="title m0 text-left">
<span class="text-light">Daily buy limit</span>:
{{index.glideraLimits.dailyBuy|currency:'':2}} {{index.glideraLimits.currency}}
(remaining {{index.glideraLimits.dailyBuyRemaining|currency:'':2}} {{index.glideraLimits.currency}})
@ -33,15 +29,14 @@
<span class="text-light">Monthly buy limit</span>:
{{index.glideraLimits.monthlyBuy|currency:'':2}} {{index.glideraLimits.currency}}
(remaining {{index.glideraLimits.monthlyBuyRemaining|currency:'':2}} {{index.glideraLimits.currency}})
</div>
</h4>
</div>
<div class="row m20t">
<div class="columns">
<div class="box-notification" ng-show="index.glideraLimits.transactDisabledPendingFirstTransaction">
<span class="text-warning size-14">
<div class="box-notification m20b" ng-show="index.glideraLimits.transactDisabledPendingFirstTransaction">
<span class="text-warning">
This operation was disabled because you have a pending first transaction
</span>
</div>
@ -122,8 +117,8 @@
</p>
</div>
</div>
<div class="box-notification" ng-show="buy.error && !buy.success">
<span class="text-warning size-14">
<div class="box-notification m20b" ng-show="buy.error && !buy.success">
<span class="text-warning">
{{buy.error}}
</span>
</div>

View file

@ -6,7 +6,7 @@
<div class="content p20v" ng-controller="createController as create" ng-init="create.setTotalCopayers(1)">
<div class="content p20b" ng-controller="createController as create" ng-init="create.setTotalCopayers(1)">
<div class="onGoingProcess" ng-show="create.loading && !create.hwWallet">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">
@ -49,13 +49,13 @@
</div>
<form name="setupForm" ng-submit="create.create(setupForm)" novalidate>
<div class="row">
<div class="large-12 columns">
<div class="box-notification" ng-show="create.error">
<span class="text-warning size-14">
<div class="box-notification m20b" ng-show="create.error">
<span class="text-warning">
{{create.error|translate}}
</span>
</div>
<div class="row">
<div class="large-12 columns">
<div ng-hide="create.hideWalletName">
<label><span translate>Wallet name</span>
@ -134,7 +134,7 @@
<div ng-show="create.seedSourceId=='new' ">
<label for="createPassphrase" ><span translate>Add a Seed Passphrase</span> <small translate>Add an optional passphrase to secure the seed</small>
<div class="input">
<input type="text" class="form-control"
<input type="text" class="form-control" autocapitalize="off"
name="createPassphrase" ng-model="createPassphrase">
</div>
</label>
@ -145,6 +145,7 @@
<span translate>Wallet Seed</span>
<small translate>Enter the seed words (BIP39)</small>
<input id="ext-master"
autocapitalize="off"
type="text"
name="privateKey" ng-model="privateKey">
</label>
@ -153,7 +154,7 @@
<div ng-show="create.seedSourceId=='set'">
<label for="passphrase"> <span translate>Seed Passphrase</span> <small translate>The seed could require a passphrase to be imported</small>
<div class="input">
<input type="text" class="form-control" name="passphrase" ng-model="passphrase">
<input type="text" autocapitalize="off" class="form-control" name="passphrase" ng-model="passphrase">
</div>
</label>
</div>

View file

@ -1,47 +1,51 @@
<div ng-controller="disclaimerController" ng-init="init()">
<div
ng-if="agreed && index.hasProfile"
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Terms of Use'; goBackToState = 'about'; noColor = true">
<div class="splash content text-center"
ng-controller="disclaimerController as disclaimer" ng-init="disclaimer.init()">
<div class="row">
<div class="container-image large-2 medium-2 small-2 medium-centered small-centered large-centered columns">
<img src="img/icon-splash.png" alt="icon" width="100%">
</div>
<div class="row">
<div class="medium-centered small-centered large-centered columns">
<span class="text-bold size-16 text-white" translate>WELCOME TO COPAY</span>
<p class="text-gray size-14 m0 text-light" translate>A multisignature bitcoin wallet</p>
</div>
</div>
<div class="row">
<div class="scrollArea">
<p class="enable_text_select m0">
<div class="size-16 text-gray" translate>Terms of Use</div>
<div ng-include="'views/includes/terms.html'"></div>
</p>
</div>
</div>
</div>
<div class="content p20b" ng-class="{'disclaimer':!index.hasProfile}">
<h4 class="title m0" ng-show="!index.hasProfile">
<div class="right">Copay</div>
<div translate>Terms of Use</div>
</h4>
<div class="p20h m10t">
<p class="enable_text_select size-14">
<ul>
<li translate>The software you are about to use functions as a free, open source, and multi-signature digital wallet.</li>
<li translate>The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin.</li>
<li translate>While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software.</li>
<li translate>You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws.</li>
<li translate>You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software.</li>
<li translate><b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b></li>
<li translate>All transaction requests are irreversible.</li>
<li translate>The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network.</li>
<li translate>To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement.</li>
<li translate>You assume any and all risks associated with the use of the software.</li>
<li translate>In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software.</li>
<li translate>We reserve the right to modify this disclaimer from time to time.</li>
</ul>
</p>
<p ng-show="lang != 'en'">
<div class="row">
<p ng-show="disclaimer.lang != 'en'">
<a class="center" ng-click="$root.openExternalLink('https://copay.io/disclaimer')" translate>Official English Disclaimer</a>
</p>
</div>
<div>
<p class="text-gray columns" translate>I affirm that I have read, understood, and agree with these terms.</p>
</div>
<div class="row">
<div ng-show="!agreed">
<p translate>I affirm that I have read, understood, and agree with these terms.</p>
<button class="black round expand" ng-click="agree()" ng-disabled="loading" translate>
Agree
<div class="onGoingProcess" ng-show="creatingProfile">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
<span translate>Creating Wallet...</span>
</div>
</div>
<div class="start-button columns">
<button ng-disabled="creatingProfile" ng-click="index.acceptDisclaimer()" class="button black expand round size-12 text-spacing" translate>
I AGREE. GET STARTED
</button>
</div>
<button ng-show="agreed && !index.hasProfile" class="round expand" ng-click="agree()" translate>
Go back
</button>
</div>
<div class="extra-margin-bottom"></div>
</div>
</div>

View file

@ -6,17 +6,17 @@
<div class="content preferences" ng-controller="backupController as backup">
<div class="content preferences" ng-controller="exportController as exportC">
<h4></h4>
<div ng-show="!backup.backupWalletPlainText">
<div class="text-warning size-14 m20b" ng-show="backup.error">
<div ng-show="!exportC.backupWalletPlainText">
<div class="text-warning size-14 m20b" ng-show="exportC.error">
<i class="fi-alert size-12"></i>
<span translate> Failed to export </span>
</div>
<div class="row">
<div class="columns">
<div class="text-warning size-14 m20b" ng-show="backup.isEncrypted">
<div class="text-warning size-14 m20b" ng-show="exportC.isEncrypted">
<i class="fi-alert size-12"></i>
<span translate> The private key for this wallet is encrypted. Exporting keep the private key encrypted in the export archive.</span>
@ -27,18 +27,18 @@
<form>
<div class="row">
<div class="columns">
<label for="password" translate>Set up a Export Password </label>
<label for="password" translate>Set up an Export Password </label>
<div class="input">
<input type="password" class="form-control"
placeholder="{{'Your export password'|translate}}"
name="password" ng-model="backup.password">
name="password" ng-model="exportC.password">
</div>
<label for="password" translate>Repeat password</label>
<div class="input">
<input type="password" class="form-control"
placeholder="{{'Repeat password'|translate}}"
name="password" ng-model="backup.repeatpassword">
name="password" ng-model="exportC.repeatpassword">
</div>
</div>
</div>
@ -83,25 +83,25 @@
<div class="row">
<div class="columns">
<button class="black round expand m20t" ng-click="backup.downloadWalletBackup()"
ng-disabled="(!backup.password || backup.password != backup.repeatpassword)"
<button class="black round expand m20t" ng-click="exportC.downloadWalletBackup()"
ng-disabled="(!exportC.password || exportC.password != exportC.repeatpassword)"
ng-style="{'background-color':index.backgroundColor}"
ng-show="!index.isSafari && !index.isCordova"><i class="fi-download"></i>
<span translate>Download</span></button>
<button class="black round expand m20t" ng-click="backup.viewWalletBackup()"
ng-disabled="(!backup.password || backup.password != backup.repeatpassword)"
<button class="black round expand m20t" ng-click="exportC.viewWalletBackup()"
ng-disabled="(!exportC.password || exportC.password != exportC.repeatpassword)"
ng-style="{'background-color':index.backgroundColor}"
ng-show="index.isSafari && !index.isCordova"><i class="fi-eye"></i>
<span translate>View</span></button>
<div ng-show="index.isCordova">
<h4 translate>Export options</h4>
<button class="black round expand" ng-disabled="(!backup.password || backup.password != backup.repeatpassword)"
<button class="black round expand" ng-disabled="(!exportC.password || exportC.password != exportC.repeatpassword)"
ng-style="{'background-color':index.backgroundColor}"
ng-click="backup.copyWalletBackup()"><i class="fi-clipboard-pencil"></i>
ng-click="exportC.copyWalletBackup()"><i class="fi-clipboard-pencil"></i>
<span translate>Copy to clipboard</span></button>
<button class="black round expand" ng-disabled="(!backup.password || backup.password != backup.repeatpassword)"
<button class="black round expand" ng-disabled="(!exportC.password || exportC.password != exportC.repeatpassword)"
ng-style="{'background-color':index.backgroundColor}"
ng-click="backup.sendWalletBackup()"><i class="fi-mail"></i>
ng-click="exportC.sendWalletBackup()"><i class="fi-mail"></i>
<span translate>Send by email</span></button>
</div>
</div>
@ -109,11 +109,11 @@
</div>
<div class="row" ng-show="backup.backupWalletPlainText">
<div class="row" ng-show="exportC.backupWalletPlainText">
<div class="large-12 columns">
<h3 translate>Wallet Export</h3>
<div class="input">
<textarea rows="12">{{backup.backupWalletPlainText}}</textarea>
<textarea rows="12">{{exportC.backupWalletPlainText}}</textarea>
</div>
<div class="size-12 text-gray text-right">
<i class="icon-compose"></i>

View file

@ -2,7 +2,7 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Buy & Sell Bitcoin'; closeToHome = true">
ng-init="titleSection='Buy & Sell Bitcoin'; closeToHome = true; noColor = true">
</div>
@ -66,8 +66,9 @@
Glidera Inc. (Glidera) is providing the service of buying or selling bitcoins to Copay users. To enable this
service, Glidera has registered with US Treasury Departments FinCEN as a Money Service Business
(#31000042625755). Users of Copay must agree to the service agreement presented by Glidera prior to obtaining
Glideras service of buying or selling bitcoins. Service available in U.S. only; (buy & sell) CA, GA, IL, KS,
MA, MD, MO, MT, MN, SC, TX; (buy only) AZ, CO, DE, ME, NJ, PA, TN, UT.
Glideras service of buying or selling bitcoins. Service available in U.S. and Canada only. In U.S. (buy & sell) CA, GA, IL, KS,
MA, MD, MO, MT, MN, SC, TX; (buy only) AZ, CO, DE, ME, NJ, PA, TN, UT. In Canada (buy & sell) AB, BC, MB, NB, NL, NS, NT, NU,
ON, PE, SK, YT.
</p>
<p class="m20t text-gray size-12">Connect your Glidera account to get started</p>
@ -104,13 +105,13 @@
</div>
<div ng-if="index.glideraToken && index.glideraPermissions">
<div class="m20v text-center">
<div class="p20v text-center white">
<img src="img/glidera-logo.png" ng-click="index.updateGlidera(index.glideraToken, index.glideraPermissions)" width="100">
</div>
<div class="sub-header" ng-click="$root.go('preferencesGlidera')">
<div class="left">
<div ng-show="!index.glideraPersonalInfo && !index.glideraEmail">
<h4 class="title p0i m10t m0">Preferences</h4>
Preferences
</div>
<div ng-show="index.glideraPersonalInfo" class="size-12">
<b>
@ -132,10 +133,9 @@
</div>
<div class="row">
<div class="text-center columns small-8 small-centered m30v size-12"
ng-show="index.glideraStatus && (!index.glideraStatus.userEmailIsSetup || !index.glideraStatus.userPhoneIsSetup
|| (!index.glideraStatus.userBankAccountIsSetup && index.glideraStatus.bankAccountState != 'VERIFIED'))">
ng-show="index.glideraStatus && !index.glideraStatus.userCanTransact">
<h4 class="text-bold"> Complete Setup</h4>
Your Glidera account is not ready to transact. Please, verify it at <b>Glidera.io</b>
<div>Your Glidera account is not ready to transact. Please, verify it at <b>Glidera.io</b></div>
<a class="button m20t light-gray outline round tiny"
ng-init="glideraUrl = index.glideraTestnet ? 'https://sandbox.glidera.io/login' :
'https://glidera.io/login'"
@ -147,8 +147,8 @@
</div>
<ul class="no-bullet m0 size-14"
ng-show="index.glideraStatus && index.glideraPermissions.transact && (index.glideraStatus.userBankAccountIsSetup && index.glideraStatus.bankAccountState == 'VERIFIED')">
<li ng-show="index.glideraStatus.userCanTransact && index.glideraStatus.userCanBuy"
ng-show="index.glideraStatus && index.glideraStatus.userCanTransact">
<li ng-show="index.glideraStatus.userCanBuy"
class="line-b line-t p20 pointer"
ng-click="$root.go('buyGlidera')">
<img src="img/buy-bitcoin.svg" alt="buy bitcoin" width="40">
@ -158,7 +158,7 @@
</span>
</li>
<li class="line-b p20 pointer"
ng-show="index.glideraStatus.userCanTransact && index.glideraStatus.userCanSell"
ng-show="index.glideraStatus.userCanSell"
ng-click="$root.go('sellGlidera')">
<img src="img/sell-bitcoin.svg" alt="buy bitcoin" width="40">
<span class="m10 text-normal text-bold">Sell Bitcoin</span>
@ -169,7 +169,7 @@
</ul>
<div ng-show="index.glideraPermissions.transaction_history">
<h4 class="title m0">Activity</h4>
<h4>Activity</h4>
<div ng-show="index.glideraTxs.length == 0 && !index.glideraLoadingHistory"
class="size-12 p10 text-center text-gray">
No activity in your account

View file

@ -4,7 +4,7 @@
ng-init="titleSection='Import wallet'; goBackToState = 'add'; noColor = true">
</div>
<div class="content p20v" ng-controller="importController as import" ng-init="type='12'">
<div class="content p20b" ng-controller="importController as import" ng-init="type='12'">
<div class="onGoingProcess" ng-show="import.loading && !import.hwWallet">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">
<div class="spinner">
@ -44,14 +44,14 @@
</div>
</div>
<div class="row" ng-show="type == '12' ">
<div class="large-12 columns">
<form name="importForm12" ng-submit="import.importMnemonic(importForm12)" novalidate>
<div class="box-notification" ng-show="import.error">
<span class="text-warning size-14">
<div ng-show="type == '12' ">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning">
{{import.error|translate}}
</span>
</div>
<div class="row large-12 columns">
<form name="importForm12" ng-submit="import.importMnemonic(importForm12)" novalidate>
<div >
<label for="words">
@ -100,14 +100,14 @@
</div>
</div>
<div class="row" ng-show="type == 'file' ">
<div class="large-12 columns">
<form name="importForm" ng-submit="import.importBlob(importForm)" novalidate>
<div class="box-notification" ng-show="import.error">
<div ng-show="type == 'file' ">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<div class="row large-12 columns">
<form name="importForm" ng-submit="import.importBlob(importForm)" novalidate>
<div ng-show="!index.isSafari && !index.isCordova" class="line-b m10b">
<label for="backupFile">
@ -166,13 +166,13 @@
</div>
</div>
<div class="row" ng-show="type == 'hwWallet'">
<div class="large-12 columns">
<div class="box-notification" ng-show="import.error">
<div ng-show="type == 'hwWallet'">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<div class="row large-12 columns">
<form name="importForm3" ng-submit="import.importHW(importForm3)" novalidate>
<div class="large-12 columns">

View file

@ -1,8 +1,4 @@
<div>
<div class="left" ng-show="index.lockedBalanceSat">
<i class="fi-info size-24 m10r"></i>
</div>
<div class="size-10">
<span class="db text-bold">
<span translate>Available Balance</span>:
{{index.availableBalanceStr }}
@ -11,5 +7,4 @@
{{index.lockedBalanceStr}}
<span translate>locked by pending payments</span>
</span>
</div>
</div>

View file

@ -1,9 +1,14 @@
<a ng-click="index.setTab(item, false, 0, true)" ng-class="{'active': index.tab == item.link}" id="menu-{{item.link}}">
<i class="size-24 {{item.icon}} db"></i>
<div class="size-10 tu">
<a ng-click="index.setTab(item, false, 0, true)"
ng-style="{'color': index.tab == item.link ? index.backgroundColor : '#A5B2BF'}"
id="menu-{{item.link}}">
<i class="size-18 {{item.icon}} db"></i>
<span class="size-10 tu">
{{ item.title|translate }}
<span class="label alert round" ng-if="item.link=='walletHome' && index.pendingTxProposalsCountForUs > 0">
<span class="label round"
ng-style="{'background-color':index.backgroundColor}"
ng-if="item.link=='walletHome' && index.pendingTxProposalsCountForUs > 0">
{{ index.pendingTxProposalsCountForUs }}
</span>
</div>
</span>
<div ng-if="item.link == 'walletHome'" class="menu-wallet-home"></div>
</a>

View file

@ -11,15 +11,17 @@
class="nav-item">
<a ng-click="sidebar.switchWallet(item.id, index.walletId)" class="oh">
<div class="avatar-wallet"
ng-style="{'background-color':item.color}">{{(item.name || item.id) | limitTo: 1}}</div>
ng-style="{'background-color':item.color}">
<i class="icon-wallet size-21"></i>
</div>
<div class="name-wallet" ng-class="{'m8t':item.n == 1}">{{item.name || item.id}}</div>
<div class="size-12" ng-show="item.n > 1" translate>{{item.m}}-of-{{item.n}}</div>
</a>
</li>
<li>
<a ng-click="$root.go('add')" class="oh">
<i class="icon-arrow-right3 size-18 right m10t"></i>
<i class="fi-plus size-24 icon"></i>
<i class="icon-arrow-right3 size-18 right m10t vm"></i>
<i class="fi-plus size-24 icon vm"></i>
<div class="tu text-bold">
<span class="size-12" translate>Add wallet</span>
</div>
@ -28,22 +30,22 @@
</li>
<li ng-show="index.glideraEnabled">
<a ng-click="$root.go('glidera')" class="oh">
<i class="icon-arrow-right3 size-18 right m10t"></i>
<i class="icon-bank size-24 icon"></i>
<i class="icon-arrow-right3 size-18 right m10t vm"></i>
<i class="icon-bank size-24 icon vm"></i>
<div class="tu text-bold">
<span class="size-12">Buy &amp; Sell Bitcoin</span>
<span class="size-12" translate>Buy &amp; Sell Bitcoin</span>
</div>
<div>Glidera</div>
</a>
</li>
<li>
<a ng-click="$root.go('preferencesGlobal')" class="oh">
<i class="icon-arrow-right3 size-18 right m10t"></i>
<i class="fi-widget size-24 icon"></i>
<i class="icon-arrow-right3 size-18 right m10t vm"></i>
<i class="fi-widget size-24 icon vm"></i>
<div class="tu text-bold">
<span class="size-12">Settings</span>
<span class="size-12" translate>Settings</span>
</div>
<div>Global preferences</div>
<div translate>Global preferences</div>
</a>
</li>
</ul>

View file

@ -0,0 +1,14 @@
<ul>
<li translate>The software you are about to use functions as a free, open source, and multi-signature digital wallet.</li>
<li translate>The software does not constitute an account where BitPay or other third parties serve as financial intermediaries or custodians of your bitcoin.</li>
<li translate>While the software has undergone beta testing and continues to be improved by feedback from the open-source user and developer community, we cannot guarantee that there will be no bugs in the software.</li>
<li translate>You acknowledge that your use of this software is at your own discretion and in compliance with all applicable laws.</li>
<li translate>You are responsible for safekeeping your passwords, private key pairs, PINs and any other codes you use to access the software.</li>
<li translate><b>IF YOU LOSE ACCESS TO YOUR COPAY WALLET OR YOUR ENCRYPTED PRIVATE KEYS AND YOU HAVE NOT SEPARATELY STORED A BACKUP OF YOUR WALLET AND CORRESPONDING PASSWORD, YOU ACKNOWLEDGE AND AGREE THAT ANY BITCOIN YOU HAVE ASSOCIATED WITH THAT COPAY WALLET WILL BECOME INACCESSIBLE.</b></li>
<li translate>All transaction requests are irreversible.</li>
<li translate>The authors of the software, employees and affiliates of Bitpay, copyright holders, and BitPay, Inc. cannot retrieve your private keys or passwords if you lose or forget them and cannot guarantee transaction confirmation as they do not have control over the Bitcoin network.</li>
<li translate>To the fullest extent permitted by law, this software is provided “as is” and no representations or warranties can be made of any kind, express or implied, including but not limited to the warranties of merchantability, fitness or a particular purpose and noninfringement.</li>
<li translate>You assume any and all risks associated with the use of the software.</li>
<li translate>In no event shall the authors of the software, employees and affiliates of Bitpay, copyright holders, or BitPay, Inc. be held liable for any claim, damages or other liability, whether in an action of contract, tort, or otherwise, arising from, out of or in connection with the software.</li>
<li translate>We reserve the right to modify this disclaimer from time to time.</li>
</ul>

View file

@ -1,4 +1,6 @@
<nav ng-controller="topbarController as topbar" class="tab-bar">
<nav ng-controller="topbarController as topbar"
class="tab-bar"
ng-style="{'background-color': noColor ? '#4B6178' : index.backgroundColor}">
<section class="left-small">
<a id="hamburger" class="p10" ng-show="!goBackToState && !closeToHome && !index.noFocusedWallet"
ng-click="index.openMenu()"><i class="fi-list size-24"></i>
@ -14,12 +16,14 @@
</a>
</section>
<section class="right-small" ng-show="showCamera">
<qr-scanner ng-show="index.isComplete" on-scan="topbar.onQrCodeScanned(data)" before-scan="topbar.openSendScreen()"></qr-scanner>
<section class="right-small" ng-show="showPreferences && !index.noFocusedWallet">
<a class="p10" ng-click="topbar.goPreferences()">
<i class="fi-widget size-24"></i>
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color': noColor ? '#4A90E2' : index.backgroundColor}">
<h1 class="title ellipsis">
{{(titleSection|translate) || (index.alias || index.walletName)}}
</h1>
</section>

View file

@ -1,37 +1,36 @@
<div class="ng-animate-disabled row collapse last-transactions-content line-b"
ng-class="{'text-gray':!tx.pendingForUs}"
ng-click="home.openTxpModal(tx, index.copayers, !!index.glideraStatus)">
<div class="small-1 columns text-center" >
<i class="icon-circle-active size-10" ng-show="tx.pendingForUs" ng-style="{'color':index.backgroundColor}" style="margin-top:8px;"></i>
&nbsp;
<div class="large-6 medium-6 small-6 columns size-14">
<div class="m10r left pr">
<i class="icon-circle-active size-10" ng-show="tx.pendingForUs" ng-style="{'color':index.backgroundColor}"></i>
<img src="img/icon-proposal.svg" alt="sync" width="40">
</div>
<div class="small-10 columns">
<div>
<span class="text-bold size-16"><span translate>Send</span> {{tx.amountStr}}</span>
<time class="right size-12 text-gray m5t">{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
</div>
<div class="ellipsis size-14">
<span ng-if="tx.hasMultiplesOutputs">
<span translate>Recipients</span>:
<span>{{tx.recipientCount}}</span>
<div class="m10t">
<span ng-if="!tx.merchant">
{{index.addressbook[tx.toAddress]}}
<span ng-show="!index.addressbook[tx.toAddress] && tx.message">
<span class="ellipsis">{{tx.message}}</span>
</span>
<span ng-show="!index.addressbook[tx.toAddress] && !tx.message">
<span translate> Sending</span>
</span>
</span>
<span ng-if="!tx.hasMultiplesOutputs">
<span translate>To</span>:
<span ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock"></i> {{tx.merchant.domain}}</span>
</span>
<span ng-if="!tx.merchant">
{{index.addressbook[tx.toAddress] || tx.toAddress}}
</div>
</div>
<div class="large-5 medium-5 small-5 columns text-right">
<span class="size-16">
- {{tx.amountStr}}
</span>
</span>
</div>
<div class="ellipsis text-gray size-14">
{{tx.message}}
<div class="size-12 text-gray">
<time>{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
</div>
</div>
<div class="small-1 columns text-right">
<br>
<div class="large-1 medium-1 small-1 columns text-right m10t">
<i class="icon-arrow-right3 size-18"></i>
</div>
</div>

View file

@ -12,5 +12,5 @@
<!-- <img style="height:1em" ng&#45;show="index.preferences.email" src="img/icon&#45;email.svg"> -->
<img style="height:1em" ng-show="index.usingCustomBWS" src="img/icon-bws.svg">
<img style="height:1em" class="animated flash infinite" ng-show="index.updatingTxHistory[index.walletId]" src="img/icon-sync.svg">
<img style="height:1em" class="animated flash infinite" ng-show="index.loadingWallet || index.updatingTxHistory[index.walletId]" src="img/icon-sync.svg">

View file

@ -34,13 +34,13 @@
</div>
<form name="joinForm" ng-submit="join.join(joinForm)" novalidate>
<div class="row">
<div class="large-12 columns">
<div class="box-notification" ng-show="join.error ">
<span class="text-warning size-14">
<div class="box-notification m20b" ng-show="join.error ">
<span class="text-warning">
{{join.error|translate}}
</span>
</div>
<div class="row">
<div class="large-12 columns">
<div>
<label><span translate>Your nickname</span>
@ -116,7 +116,7 @@
<div ng-show="join.seedSourceId=='new' ">
<label for="createPassphrase" ><span translate>Add a Seed Passphrase</span> <small translate>Add an optional passphrase to secure the seed</small>
<div class="input">
<input type="text" class="form-control"
<input type="text" class="form-control" autocapitalize="off"
name="createPassphrase" ng-model="createPassphrase">
</div>
</label>
@ -127,6 +127,7 @@
<span translate>Wallet Seed</span>
<small translate>Enter the seed words (BIP39)</small>
<input id="ext-master"
autocapitalize="off"
type="text"
name="privateKey" ng-model="privateKey">
</label>
@ -135,7 +136,7 @@
<div ng-show="join.seedSourceId=='set'">
<label for="passphrase"> <span translate>Seed Passphrase</span> <small translate>The seed could require a passphrase to be imported</small>
<div class="input">
<input type="text" class="form-control" name="passphrase" ng-model="passphrase">
<input type="text" autocapitalize="off" class="form-control" name="passphrase" ng-model="passphrase">
</div>
</label>
</div>

View file

@ -1,34 +0,0 @@
<nav class="tab-bar">
<section class="left-small">
<a ng-click="cancel()" class="p10">
<span class="text-close" translate>Close</span>
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
Advanced Send
</h1>
</section>
</nav>
<div class="modal-content fix-modals-touch">
<ul class="no-bullet m0 size-14">
<h4 class="title m0" translate>Fee Policy</h4>
<li ng-repeat="fee in (network == 'livenet' ? feeLevels.livenet : feeLevels.testnet)" ng-click="save(fee.level)" class="line-b p20">
<span class="text-capitalize">{{fee.level|translate}}</span>
<i class="fi-check size-16 right" ng-show="currentFeeLevel == fee.level"></i>
</li>
</ul>
<div class="row column m20t">
<div class="text-gray size-12 text-center" ng-repeat="fee in (network == 'livenet' ? feeLevels.livenet :
feeLevels.testnet)" ng-if="fee.level == currentFeeLevel">
<span translate>Average confirmation time: {{fee.nbBlocks * 10}} minutes</span>.
<span class="size-12 text-light" translate>Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB</span>
</div>
</div>
<div class="extra-margin-bottom"></div>
</div>

View file

@ -1,11 +1,11 @@
<nav class="tab-bar">
<nav class="tab-bar" ng-style="{'background-color':color}">
<section class="left-small">
<a ng-click="cancel()" class="p10">
<span class="text-close" translate>Close</span>
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
<h1 class="title ellipsis" translate>
Request a specific amount
</h1>
</section>
@ -60,20 +60,20 @@
<span translate>Amount</span>
</label>
<div class="input">
<input type="number" id="amount" name="amount" ng-attr-placeholder="{{'Amount'|translate}}"
ng-model="_customAmount" valid-amount required autocomplete="off">
<input type="number" id="amount" name="amount" ng-attr-placeholder="{{'Amount in'|translate}} {{unitName}}"
ng-model="_customAmount" ng-minlength="0.00000001" ng-maxlength="10000000000" valid-amount required autocomplete="off">
<input type="number" id="alternative" name="alternative" ng-model="_customAlternative" style="display:none">
<a class="postfix" ng-click="toggleAlternative()">{{unitName}}</a>
<a class="postfix button" ng-style="{'background-color':color}" ng-click="toggleAlternative()">{{unitName}}</a>
</div>
</div>
<div ng-if="showAlternative">
<label for="alternative"><span translate>Amount in</span> {{ alternativeName }}
<label for="alternative"><span translate>Amount</span> [{{ alternativeIsoCode }}]
</label>
<div class="input">
<input type="number" id="alternative" name="alternative" ng-attr-placeholder="{{'Amount'|translate}}"
<input type="number" id="alternative" name="alternative" ng-attr-placeholder="{{'Amount in'|translate}} {{alternativeName}}"
ng-model="_customAlternative" required autocomplete="off" required>
<input type="number" id="amount" name="amount" ng-model="_customAmount" style="display:none">
<a class="postfix" ng-click="toggleAlternative()"> {{ alternativeIsoCode }}</a>
<a class="postfix button black" ng-click="toggleAlternative()"> {{ alternativeIsoCode }}</a>
</div>
</div>
<button type="submit" class="button black round expand" ng-disabled="amountForm.$invalid" ng-style="{'background-color':color}" translate>

View file

@ -1,5 +1,5 @@
<div ng-init="wallets[0] ? selectedWalletsOpt = true : selectedWalletsOpts = false">
<nav class="tab-bar">
<nav class="tab-bar" ng-style="{'background-color':color}">
<section class="left-small">
<a ng-show="!editAddressbook && !addAddressbookEntry" ng-click="cancel()" class="p10">
<span class="text-close" translate>Close</span>
@ -7,20 +7,8 @@
</section>
<section class="middle tab-bar-section">
<ul class="button-group round even-2" ng-show="!editAddressbook && wallets[0] && !addAddressbookEntry">
<li class="ellipsis" ng-class="{'selected':selectedWalletsOpt}" ng-click="selectedWalletsOpt = true"
translate>
Wallets
</li>
<li class="ellipsis" ng-class="{'selected':!selectedWalletsOpt}" ng-click="selectedWalletsOpt = false" translate>
Addressbook
</li>
</ul>
<h1 ng-show="(editAddressbook || !wallets[0]) && !addAddressbookEntry" class="title ellipsis" translate>
Addressbook
</h1>
<h1 ng-show="addAddressbookEntry" class="title ellipsis" translate>
Add a new entry
<h1 class="title ellipsis">
{{walletName}}
</h1>
</section>
@ -34,7 +22,27 @@
</section>
</nav>
<div class="modal-content fix-modals-touch">
<div class="modal-content fix-modals-touch p20b">
<div class="create-tab small-only-text-center">
<div class="row">
<div class="tab-container small-6 medium-3 large-2"
ng-class="{'selected':selectedWalletsOpt}"
ng-style="{'border-color':selectedWalletsOpt ? color : 'inherit'}"
ng-click="selectedWalletsOpt = true">
<a href
ng-style="{'color':selectedWalletsOpt ? color : 'inherit'}"
ng-click="create.setTotalCopayers(1)" translate> My wallets</a>
</div>
<div class="tab-container small-6 medium-3 large-2"
ng-class="{'selected':!selectedWalletsOpt}"
ng-style="{'border-color':!selectedWalletsOpt ? color : 'inherit'}"
ng-click="selectedWalletsOpt = false">
<a href
ng-style="{'color':!selectedWalletsOpt ? color : 'inherit'}"
ng-click="create.setTotalCopayers(3)" translate>My contacts</a>
</div>
</div>
</div>
<div ng-show="selectedWalletsOpt">
<div class="onGoingProcess" ng-if="gettingAddress">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">
@ -54,7 +62,9 @@
<li class="line-b" ng-repeat="w in wallets">
<a ng-click="selectWallet(w.id, w.name)" class="db oh">
<div class="avatar-wallet"
ng-style="{'background-color':w.color}">{{(w.name || w.id) | limitTo: 1}}</div>
ng-style="{'background-color':w.color}">
<i class="icon-wallet size-21 vt"></i>
</div>
<div class="ellipsis name-wallet text-bold">{{w.name || w.id}}</div>
<div class="size-12">{{w.m}} of {{w.n}}
<span ng-show="w.network=='testnet'">[Testnet]</span>
@ -76,14 +86,18 @@
ng-click="toggleSelectAddressbook(addr)">
<i class="fi-trash"></i></a>
<div ng-click="selectAddressbook(addr)">
{{label}}
<div class="size-10 text-gray ellipsis">{{addr}}</div>
<i class="icon-contact left size-42 m10r text-gray"></i>
<div class="">
<span>{{label}}</span>
<div class="size-12 text-gray ellipsis">{{addr}}</div>
</div>
</div>
</li>
<li class="m10t" ng-show="!editAddressbook">
<a ng-click="toggleAddAddressbookEntry()" class="p10">
<i class="fi-plus size-18 m10r"></i>
<span class="text-close size-12" translate>Add a new entry</span>
<li class="p10" ng-show="!editAddressbook">
<a ng-click="toggleAddAddressbookEntry()" class="p0i">
<i class="fi-plus size-24 m20r lh icon"></i>
<span class="size-12 tu text-bold" translate>Add a new entry</span>
<span ng-show="!list[newAddress] && newAddress">({{newAddress}})</span>
</a>
</li>
@ -121,10 +135,9 @@
</div>
<div class="columns large-6 medium-6 small-6">
<input type="submit"
class="button expand round"
class="button expand round black"
value="{{'Save'|translate}}"
ng-disabled="!addressbookForm.$valid"
ng-style="{'background-color':color}"
ng-click="newAddress = ''; add(addressbook)">
</div>
</div>

View file

@ -6,13 +6,15 @@
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}">
<h1 class="title ellipsis">
Details
</h1>
</section>
</nav>
<div class="modal-content fix-modals-touch">
<div class="modal-content fix-modals-touch"
ng-swipe-disable-mouse
ng-swipe-right="cancel()">
<div class="header-modal bg-gray text-center">
<div class="p20">
<img src="img/bought.svg" alt="bought" width="80" ng-show="tx.type == 'BUY' && tx.status == 'COMPLETE'">

View file

@ -28,7 +28,9 @@
<li class="line-b" ng-repeat="w in wallets">
<a ng-click="selectWallet(w.id, w.name)" class="db oh">
<div class="avatar-wallet"
ng-style="{'background-color':w.color}">{{(w.name || w.id) | limitTo: 1}}</div>
ng-style="{'background-color':w.color}">
<i class="icon-wallet size-21"></i>
</div>
<div class="ellipsis name-wallet text-bold">{{w.name || w.id}}</div>
<div class="size-12">{{w.m}} of {{w.n}}
<span ng-show="w.network=='testnet'">[Testnet]</span>

View file

@ -1,11 +1,11 @@
<nav class="tab-bar">
<nav class="tab-bar" ng-style="{'background-color':color}">
<section class="left-small">
<a ng-click="cancel()" class="p10">
<span class="text-close" translate>Close</span>
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
<h1 class="title ellipsis" translate>
Payment request
</h1>
</section>
@ -24,15 +24,15 @@
<h4 class="title m0" translate>Details</h4>
<ul class="no-bullet size-14 m0">
<li class="line-b p10 oh">
<span class="text-gray" translate>Pay To</span>:
<span class="text-gray" translate>Pay To</span>
<span class="right enable_text_select">{{paypro.domain}}</span>
</li>
<li class="line-b p10 oh" ng-if="paypro.toAddress">
<span class="text-gray" translate>Address</span>:
<span class="text-gray" translate>Address</span>
<span class="right enable_text_select">{{paypro.toAddress}}</span>
</li>
<li class="line-b p10 oh">
<span class="text-gray" translate>Certified by</span>:
<span class="text-gray" translate>Certified by</span>
<span class="right text-right">
<span ng-show="paypro.caTrusted">
<i class="fi-lock color-greeni"></i>
@ -51,11 +51,11 @@
</span>
</li>
<li class="line-b p10 oh" ng-if="paypro.memo">
<span class="text-gray" translate>Memo</span>:
<span class="text-gray" translate>Memo</span>
<span class="right">{{paypro.memo}}</span>
</li>
<li class="line-b p10 oh" ng-if="paypro.expires">
<span class="text-gray" translate>Expires</span>:
<span class="text-gray" translate>Expires</span>
<span class="right">{{paypro.expires * 1000 | amTimeAgo }}</span>
</li>
</ul>

View file

@ -1,4 +1,4 @@
<nav class="tab-bar">
<nav class="tab-bar" ng-style="{'background-color':color}">
<section class="left-small">
<a ng-click="cancel()">
<i class="icon-arrow-left3 icon-back"></i>
@ -6,18 +6,33 @@
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
<h1 class="title ellipsis" translate>
Transaction
</h1>
</section>
</nav>
<div class="modal-content fix-modals-touch">
<div class="header-modal text-center">
<div class="size-42" ng-show="btx.action != 'invalid'">
<div class="modal-content fix-modals-touch"
ng-swipe-disable-mouse
ng-swipe-right="cancel()">
<div class="header-modal size-36 text-center">
<div ng-show="btx.action != 'invalid'">
<div ng-show="btx.action == 'received'">
<img src="img/icon-receive-history.svg" alt="sync" width="50">
<p class="m0 text-gray size-14" translate>Received</p>
</div>
<div ng-show="btx.action == 'sent'">
<img src="img/icon-sent-history.svg" alt="sync" width="50">
<p class="m0 text-gray size-14" translate>Sent</p>
</div>
<div ng-show="btx.action == 'moved'">
<img src="img/icon-moved.svg" alt="sync" width="50">
<p class="m0 text-gray size-14" translate>Moved</p>
</div>
<span ng-if="btx.action == 'received'">+</span><span ng-if="btx.action == 'sent'">-</span>{{btx.amountStr}}
</div>
<div class="size-42" ng-show="btx.action == 'invalid'">
<div ng-show="btx.action == 'invalid'">
-
</div>
</div>
@ -27,7 +42,7 @@
<ul class="no-bullet size-14 m0">
<li ng-if="!btx.hasMultiplesOutputs && btx.addressTo && btx.addressTo != 'N/A'" class="line-b p10 oh" ng-click="copyAddress(btx.addressTo)">
<span class="text-gray" translate>To</span>:
<span class="text-gray" translate>To</span>
<span class="right">
<span ng-if="btx.merchant">
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
@ -42,7 +57,7 @@
<li ng-show="btx.hasMultiplesOutputs" class="line-b p10 oh"
ng-click="showMultiplesOutputs = !showMultiplesOutputs">
<span class="text-gray" translate>Recipients</span>:
<span class="text-gray" translate>Recipients</span>
<span class="right">{{btx.recipientCount}}
<i ng-show="showMultiplesOutputs" class="icon-arrow-up3 size-24"></i>
<i ng-show="!showMultiplesOutputs" class="icon-arrow-down3 size-24"></i>
@ -55,7 +70,7 @@
</div>
<li ng-show="btc.message" class="line-b p10 oh">
<span class="text-gray" translate>Note</span>:
<span class="text-gray" translate>Note</span>
<span class="right">{{btx.message}}</span>
</li>
@ -64,28 +79,28 @@
This transaction has become invalid; possibly due to a double spend attempt.
</span>
<li ng-if="btx.time" class="line-b p10 oh">
<span class="text-gray" translate>Date</span>:
<span class="text-gray" translate>Date</span>
<span class="right">
<time>{{ btx.time * 1000 | amDateFormat:'MM/DD/YYYY HH:mm a'}}</time>
<time>({{ btx.time * 1000 | amTimeAgo}})</time>
</span>
</li>
<li class="line-b p10" ng-show="btx.action != 'received'">
<span class="text-gray" translate>Fee</span>:
<span class="text-gray" translate>Fee</span>
<span class="right">{{btx.feeStr}}</span>
</li>
<li class="line-b p10 oh" ng-if="btx.message && btx.action != 'received'">
<span class="text-gray" translate>Note</span>:
<span class="text-gray" translate>Note</span>
<span class="right">{{btx.message}}</span>
</li>
<li ng-if="btx.merchant" class="line-b p10 oh">
<span class="text-gray" translate>Merchant message</span>:
<span class="text-gray" translate>Merchant message</span>
<span class="right">
{{btx.merchant.pr.pd.memo}}
</span>
</li>
<li ng-if="btx.time" class="line-b p10 oh">
<span class="text-gray" translate>Confirmations</span>:
<span class="text-gray" translate>Confirmations</span>
<span class="right" >
<span class="text-warning" ng-show="!btx.confirmations || btx.confirmations == 0" translate>
Unconfirmed
@ -105,6 +120,7 @@
<h4 class="title m0" translate>Participants</h4>
<ul class="no-bullet size-14 m0">
<li class="line-b p10 text-gray" ng-repeat="c in btx.actions">
<i class="icon-contact size-24"></i>
<span class="right">
<i ng-if="c.type == 'reject'" class="fi-x icon-sign x db"></i>
<i ng-if="c.type == 'accept'" class="fi-check icon-sign check db"></i>

View file

@ -1,18 +1,21 @@
<div ng-if="type == 'broadcasted'" class="popup-txsent">
<i class="small-centered columns fi-check m20tp"></i>
<div class="text-center size-18 text-white text-bold tu p20">
<span translate>Payment Sent</span>
<div ng-if="type == 'broadcasted'" class="popup-txsent text-center">
<i class="small-centered columns fi-check m30tp" ng-style="{'color':color, 'border-color':color}"></i>
<div ng-show="tx.amountStr" class="m20t size-36 text-white">
{{tx.amountStr}}
</div>
<div class="text-center">
<a class="button outline round white tiny small-4" ng-click="cancel()">OKAY</a>
<div class="size-16 text-gray">
<span translate>Sent</span>
</div>
<div class="text-center m20t">
<a class="button outline round light-gray tiny small-4" ng-click="cancel()">OKAY</a>
</div>
</div>
<div ng-if="type == 'created'" class="popup-txsigned">
<i class="small-centered columns fi-check m20tp"></i>
<div class="text-center size-18 text-primary tu text-bold p20">
<i class="small-centered columns fi-check m30tp" ng-style="{'color':color, 'border-color':color}"></i>
<div class="text-center size-18 tu text-bold p20" ng-style="{'color':color}">
<span translate>Payment Proposal Created</span>
</div>
<div class="text-center">
@ -23,8 +26,8 @@
<div ng-if="type == 'accepted'" class="popup-txsigned">
<i class="small-centered columns fi-check m20tp"></i>
<div class="text-center size-18 text-primary tu text-bold p20">
<i class="small-centered columns fi-check m30tp" ng-style="{'color':color, 'border-color':color}"></i>
<div class="text-center size-18 text-primary tu text-bold p20" ng-style="{'color':color}">
<span translate>Payment Accepted</span>
</div>
<div class="text-center">
@ -33,8 +36,8 @@
</div>
<div ng-if="type=='rejected'" class="popup-txrejected">
<i class="fi-x small-centered columns m20tp"></i>
<div class="text-center size-18 tu text-warning text-bold p20">
<i class="fi-x small-centered columns m30tp" ng-style="{'color':color, 'border-color':color}"></i>
<div class="text-center size-18 tu text-bold p20" ng-style="{'color':color}">
<span translate>Payment Rejected</span>
</div>
<div class="text-center">

View file

@ -1,4 +1,4 @@
<nav class="tab-bar">
<nav class="tab-bar" ng-style="{'background-color':color}">
<section class="left-small">
<a ng-click="cancel()">
<i class="icon-arrow-left3 icon-back"></i>
@ -6,35 +6,95 @@
</a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
<h1 class="title ellipsis" translate>
Payment Proposal
</h1>
</section>
</nav>
<div class="modal-content fix-modals-touch" ng-init="updateCopayerList()">
<div class="modal-content fix-modals-touch"
ng-swipe-disable-mouse
ng-swipe-right="cancel()"
ng-init="updateCopayerList()">
<div class="payment-proposal-head"
ng-style="{'background-color':color}">
<div class="size-36">{{tx.amountStr}}</div>
<div class="size-14 text-light" ng-show="tx.alternativeAmountStr">{{tx.alternativeAmountStr}}</div>
<i class="db fi-arrow-down size-24 m10v"></i>
<span class="payment-proposal-to"
ng-click="copyAddress(tx.toAddress)">
<i class="fi-bitcoin left"></i>
<contact ng-if="!tx.hasMultiplesOutputs" class="dib enable_text_select ellipsis m5t size-14" address="{{tx.toAddress}}"></contact>
<span ng-if="tx.hasMultiplesOutputs" translate>
Multiple recipients
</span>
</span>
</div>
<div class="oh">
<div class="box-notification m20t" ng-show="error">
<span class="text-warning size-14">
{{error|translate}}
</span>
</div>
<div class="row column m20t text-center text-warning size-12" ng-if="tx.removed" translate>
The payment was removed by creator
</div>
<div class="oh p20t white" ng-if="tx.pendingForUs">
<div class="large-6 medium-6 small-6 columns">
<button class="button outline round dark-gray expand" ng-click="reject(tx);"
ng-disabled="loading">
<i class="fi-x"></i>
<span translate>Reject</span>
</button>
</div>
<div class="large-6 medium-6 small-6 columns text-right" ng-show="canSign">
<button class="button primary round expand" ng-click="sign(tx)"
ng-style="{'background-color':color}"
ng-disabled="loading">
<i class="fi-check"></i>
<span translate>Accept</span>
</button>
</div>
</div>
<div class="text-center text-gray size-12 m20t" ng-show="tx.status != 'pending'">
<div ng-show="tx.status=='accepted' && !tx.isGlidera">
<div class="m10b" translate>Payment accepted, but not yet broadcasted</div>
<button class="primary round m0"
ng-style="{'background-color':color}"
ng-click="broadcast(tx)"
ng-disabled="loading"
> <i class="fi-upload-cloud"></i>
<span translate>Broadcast Payment</span>
</button>
</div>
<div ng-show="tx.status=='accepted' && tx.isGlidera" >
<div class="m10h" translate>Payment accepted. It will be broadcasted by Glidera. In case there is a problem, it can be deleted 6 hours after it was created.</div>
</div>
<div class="text-success"
ng-show="tx.status=='broadcasted'" translate>
Payment Sent
</div>
<div class="text-warning"
ng-show="tx.status=='rejected'" translate>
Payment Rejected
</div>
</div>
</div>
<h4 class="title m0" translate>Details</h4>
<ul class="no-bullet size-14 m0">
<li ng-if="!tx.hasMultiplesOutputs"
class="line-b p10 oh"
ng-click="copyAddress(tx.toAddress)">
<span class="text-gray" translate>To</span>:
<contact class="right enable_text_select" address="{{tx.toAddress}}"></contact>
</li>
<li class="line-b p10">
<span ng-show="tx.hasMultiplesOutputs" class="text-gray" translate>Total</span>
<span ng-show="!tx.hasMultiplesOutputs" class="text-gray" translate>Amount</span>:
<span class="right">{{tx.amountStr}}
<span ng-show="tx.alternativeAmountStr" class="label gray radius">{{tx.alternativeAmountStr}}</span>
</span>
</li>
<li class="line-b p10 oh">
<span class="text-gray" translate>Note</span>:
<li class="line-b p10 oh" ng-show="tx.message">
<span class="text-gray" translate>Note</span>
<span class="right">{{tx.message}}</span>
</li>
<li ng-show="tx.hasMultiplesOutputs" class="line-b p10 oh"
ng-click="showMultiplesOutputs = !showMultiplesOutputs">
<span class="text-gray" translate>Recipients</span>:
<span class="text-gray" translate>Recipients</span>
<span class="right">{{tx.recipientCount}}
<i ng-show="showMultiplesOutputs" class="icon-arrow-up3 size-24"></i>
<i ng-show="!showMultiplesOutputs" class="icon-arrow-down3 size-24"></i>
@ -47,28 +107,29 @@
</div>
<li class="line-b p10">
<span class="text-gray" translate>Fee</span>:
<span class="text-gray" translate>Fee</span>
<span class="right">{{tx.feeStr}}</span>
</li>
<li class="line-b p10">
<span class="text-gray" translate>Time</span>:
<span class="text-gray" translate>Time</span>
<span class="right">
<time>{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
</span>
</li>
<li class="line-b p10 oh">
<span class="text-gray" translate>Created by</span>:
<span class="text-gray" translate>Created by</span>
<span class="right">{{tx.creatorName}}</span>
</li>
</ul>
<div class="p10 text-center size-12" ng-show="!currentSpendUnconfirmed && tx.hasUnconfirmedInputs">
<span class="text-warning" translate>Warning: this transaction has unconfirmed inputs</span>
</div>
<div ng-if="tx.paypro">
<h4 class="title m0" translate>Payment details</h4>
<ul class="no-bullet size-14 m0">
<li class="line-b p10">
<span class="text-gray" translate>To</span>:
<span class="text-gray" translate>To</span>
<span class="right">
<span>
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.paypro.domain}}</span>
@ -78,83 +139,36 @@
</span>
</li>
<li class="line-b p10">
<span class="text-gray" translate>Expires</span>:
<span class="text-gray" translate>Expires</span>
<span class="right">
<time>{{tx.paypro.expirationDate | amTimeAgo }}</time>
</span>
</li>
<li class="line-b p10">
<span class="text-gray">Merchant Message:</span>
<span class="text-gray">Merchant Message</span>
<span class="db">{{tx.paypro.pr.pd.memo}}</span>
</li>
</ul>
</div>
<div ng-if="tx.actions[0] && !txRejected && !txBroadcasted">
<h4 class="title m0" translate>Participants</h4>
<h4 class="title m0">
<div class="right size-12 text-gray m10r">
{{tx.requiredSignatures}}/{{tx.walletN}}
</div>
<span translate>Participants</span>
</h4>
<ul class="no-bullet size-14 m0">
<li class="line-b p10 text-gray" ng-repeat="ac in tx.actions">
<i class="icon-contact size-24"></i>
{{ac.copayerName}} <span ng-if="ac.copayerId == copayerId">({{'Me'|translate}})</span>
<span class="right">
<i ng-if="ac.type == 'reject'" class="fi-x icon-sign x db"></i>
<i ng-if="ac.type == 'accept'" class="fi-check icon-sign check db"></i>
<i ng-if="!ac.type" class="fi-loop"></i>
</span>
{{ac.copayerName}} <span ng-if="ac.copayerId == copayerId">({{'Me'|translate}})</span>
</li>
</ul>
</div>
<div class="box-notification m20t" ng-show="error">
<span class="text-warning size-14">
{{error|translate}}
</span>
</div>
<div class="row column m20t text-center text-warning" ng-if="tx.removed" translate>
The payment was removed by creator
</div>
<div class="row m20t" ng-if="tx.pendingForUs">
<div class="large-5 medium-5 small-6 columns">
<button class="button outline round dark-gray expand" ng-click="reject(tx);"
ng-disabled="loading">
<i class="fi-x"></i>
<span translate>Reject</span>
</button>
</div>
<div class="large-5 medium-5 small-6 columns text-right" ng-show="canSign">
<button class="button primary round expand" ng-click="sign(tx)"
ng-style="{'background-color':color}"
ng-disabled="loading">
<i class="fi-check"></i>
<span translate>Accept</span>
</button>
</div>
</div>
<div class="text-center text-gray m20t" ng-show="tx.status != 'pending'">
<div ng-show="tx.status=='accepted' && !tx.isGlidera" >
<div class="m10b size-12" translate>Payment accepted, but not yet broadcasted</div>
<button class="primary round"
ng-click="broadcast(tx)"
ng-disabled="loading"
> <i class="fi-upload-cloud"></i>
<span translate>Broadcast Payment</span>
</button>
</div>
<div ng-show="tx.status=='accepted' && tx.isGlidera" >
<div class="m10 size-12" translate>Payment accepted. It will be broadcasted by Glidera. In case there is a problem, it can be deleted 6 hours after it was created.</div>
</div>
<div class="text-success m10t"
ng-show="tx.status=='broadcasted'" translate>
Payment Sent
</div>
<div class="text-center text-warning m10t"
ng-show="tx.status=='rejected'" translate>
Payment Rejected
</div>
</div>
<div class="columns text-center m20t" ng-if="tx.canBeRemoved && isShared">
<div class="text-gray size-12 m20b" ng-if="!tx.isGlidera" translate>

View file

@ -19,9 +19,8 @@
<span ng-show="paperWallet.sending" translate>Sending funds...</span>
</div>
</div>
<div class="box-notification text-warning" ng-show="paperWallet.error">
<i class="fi-alert size-12"></i>
<span>{{paperWallet.error|translate}}</span>
<div class="box-notification m20b" ng-show="paperWallet.error">
<span classs="text-warning">{{paperWallet.error|translate}}</span>
</div>
<form ng-show="!paperWallet.balance" class="oh">
<div class="row">

View file

@ -32,7 +32,9 @@
<li class="panel" ng-repeat="w in wallets">
<a ng-click="payment.selectWallet(w.id)">
<div class="avatar-wallet"
ng-style="{'background-color':w.color}">{{(w.name || w.id) | limitTo: 1}}</div>
ng-style="{'background-color':w.color}">
<i class="icon-wallet size-21"></i>
</div>
<div class="ellipsis">{{w.name || w.id}}</div>
<div class="size-12">{{w.m}} of {{w.n}}
<span ng-show="w.network=='testnet'">[Testnet]</span>

View file

@ -9,8 +9,8 @@
<div class="content preferences" ng-controller="preferencesController as preferences" ng-init="preferences.init()">
<h4></h4>
<ul class="no-bullet m0" ng-show="!index.noFocusedWallet">
<ul class="no-bullet m0" ng-show="!index.noFocusedWallet">
<li ng-click="$root.go('preferencesAlias')">
<div class="right text-gray">
@ -45,12 +45,10 @@
<div translate>Hardware wallet</div>
</li>
<h4>
</h4>
<li ng-click="$root.go('backup')" ng-hide="index.isPrivKeyExternal">
<div class="right text-gray">
<span class="text-warning" ng-show="index.needsBackup">
<i class="fi-alert"></i> <span translate>Still not done</span>
<i class="fi-alert"></i> <span translate>Not completed</span>
</span>
<i class="icon-arrow-right3 size-24 text-gray"></i>
</div>
@ -61,23 +59,41 @@
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>Advanced</div>
</li>
</ul>
<div ng-show="!index.noFocusedWallet && index.canSign">
<h4 translate ng-show="index.canSign">
Spending Restrictions
<h4 translate ng-show="index.canSign || !deleted">
Security preferences
</h4>
<div ng-show="!index.noFocusedWallet && index.canSign">
<ul class="no-bullet m0">
<li>
<switch id="network-name" name="encrypt" ng-model="encrypt" class="green right"></switch>
<div translate>Request Password</div>
</li>
<li ng-show="preferences.touchidAvailable">
<switch id="touchid" name="touchid" ng-model="touchid" class="green right"></switch>
<div translate>Scan Fingerprint</div>
</li>
</ul>
</div>
<h4></h4>
</div>
<div ng-show ="!deleted">
<ul class="no-bullet m0">
<li ng-click="$root.go('deleteWords')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>Delete seed words</div>
</li>
</ul>
</div>
<h4></h4>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -25,7 +25,7 @@
<h4></h4>
<ul class="no-bullet m0">
<li ng-click="$root.go('disclaimer')">
<li ng-click="$root.go('termOfUse')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<span translate>Terms of Use</span>
</li>

View file

@ -7,6 +7,7 @@
<div class="content preferences" ng-controller="preferencesAdvancedController as preferences">
<h4></h4>
<ul class="no-bullet m0">
<li ng-click="$root.go('information')">
@ -26,14 +27,21 @@
<li ng-click="$root.go('preferencesBwsUrl')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<span>Wallet Service URL</span>
<div>Wallet Service URL</div>
</li>
<li ng-click="$root.go('preferencesHistory')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>Transaction History</div>
</li>
<li ng-click="$root.go('delete')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>Delete Wallet</div>
</li>
</ul>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Wallet Service URL'; goBackToState = 'preferencesAdvanced'; noColor = true">
ng-init="titleSection='Wallet Service URL'; goBackToState = 'preferencesAdvanced';">
</div>

View file

@ -7,21 +7,16 @@
<div class="content preferences" ng-controller="preferencesDeleteWalletController as preferences">
<h4></h4>
<div class="text-center text-gray">
<span translate>Wallet</span>: {{index.walletName}}
<span ng-show="index.alias">({{index.alias}})</span>
<div class="text-center text-gray m20t size-12">
<div class="text-warning size-18 m10b" translate>Warning!</div>
<div class="m20b" translate>Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED</div>
</div>
<h4 class="text-warning text-center m0" translate>Warning!</h4>
<div class="box-notification" ng-show="preferences.error" >
<span class="text-warning size-14">
{{preferences.error|translate}}
</span>
</div>
<div class="columns text-center">
<p translate class="size-14 text-gray">Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED</p>
<button class="button round expand warning" ng-click="preferences.deleteWallet()" translate>
Delete wallet
</button>
<ul class="no-bullet m0">
<li ng-click="preferences.deleteWallet()">
<div class="right" ng-style="{'color':index.backgroundColor}">
{{index.walletName}} <span ng-show="index.alias">({{index.alias}})</span>
</div>
<div translate>Delete wallet</div>
</li>
</ul>
</div>

View file

@ -0,0 +1,35 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Delete Seed Words'; goBackToState = 'preferences'">
</div>
<div class="content preferences" ng-controller="preferencesDeleteWordsController as preferences">
<div ng-show="!preferences.deleted">
<div class="text-center text-gray m20t size-12">
<div class="box-notification text-warning" ng-show="preferences.error" >
{{preferences.error|translate}}
</div>
<div class="text-warning size-18 m10b" translate>Warning!</div>
<div class="m20b" ng-show="!index.needsBackup" translate>Once you have copied your wallet seed down, it is recommended to delete it from this device.</div>
<div class="m20b" ng-show="index.needsBackup" translate>Need to do backup</div>
</div>
<ul class="no-bullet m0" ng-show="!index.needsBackup">
<li ng-click="preferences.delete()">
<div class="right" ng-style="{'color':index.backgroundColor}">
{{index.walletName}} <span ng-show="index.alias">({{index.alias}})</span>
</div>
<div translate>Delete words</div>
</li>
</ul>
</div>
<div class="row m20t" ng-show="preferences.deleted">
<div class="columns size-14 text-gray text-center" translate>
Wallet seed not available. You can still export it from Advanced &gt; Export.
</div>
</div>
</div>

View file

@ -1,7 +1,7 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Preferences'; goBackToState = 'glidera'">
ng-init="titleSection='Preferences'; goBackToState = 'glidera'; noColor = true">
</div>
<div class="content preferences" ng-controller="preferencesGlideraController as glidera">

View file

@ -2,15 +2,13 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Global Preferences'; closeToHome = true; noColor = true">
ng-init="titleSection='Global preferences'; closeToHome = true; noColor = true">
</div>
<div class="content preferences" ng-controller="preferencesGlobalController as prefGlobal" ng-init="prefGlobal.init()">
<ul class="no-bullet m0 ">
<h4></h4>
<ul class="no-bullet m0 ">
<li ng-click="$root.go('preferencesLanguage')">
<div class="right text-gray">
{{prefGlobal.currentLanguageName|translate}}
@ -19,8 +17,8 @@
<div translate>Language</div>
</li>
</ul>
<ul class="no-bullet m0 ">
<h4></h4>
<ul class="no-bullet m0 ">
<li ng-click="$root.go('preferencesUnit')">
<div class="right text-gray">
{{prefGlobal.unitName}}
@ -36,8 +34,8 @@
<div translate>Alternative Currency</div>
</li>
</ul>
<ul class="no-bullet m0 ">
<h4></h4>
<ul class="no-bullet m0 ">
<li ng-click="$root.go('preferencesFee')"
ng-show="(index.network == 'livenet' ? index.feeLevels.livenet : index.feeLevels.testnet)">
<div class="right text-gray">
@ -51,8 +49,8 @@
<div translate>Use Unconfirmed Funds</div>
</li>
</ul>
<ul class="no-bullet m0 ">
<h4></h4>
<ul class="no-bullet m0 ">
<li>
<switch id="glidera-enabled" name="glideraEnabled" ng-model="glideraEnabled" class="green right"></switch>
<div>Enable Glidera Service</div>
@ -65,8 +63,8 @@
</li>
-->
</ul>
<ul class="no-bullet m0">
<h4></h4>
<ul class="no-bullet m0">
<li ng-click="$root.go('about')">
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>About Copay</div>

View file

@ -0,0 +1,21 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Transaction history'; goBackToState = 'preferencesAdvanced'">
</div>
<div class="content preferences" ng-controller="preferencesHistory as history">
<h4></h4>
<ul class="no-bullet m0">
<li>
<div ng-show="!index.isCordova">
<input id="export_file" type="file" nwsaveas="Copay-{{index.alias || index.walletName}}.csv" accept=".csv" style="display:none">
<a ng-style="{'color':index.backgroundColor}" ng-click="index.csvHistory();">
<span translate>Export to file</span>
</a>
</div>
</li>
<li ng-style="{'color':index.backgroundColor}" ng-click="history.clearTransactionHistory();" translate>
Clear cache
</li>
</ul>
</div>

View file

@ -102,8 +102,9 @@
</li>
</ul>
<ul class="no-bullet m0 size-14" ng-show="addrs">
<div ng-show="addrs">
<h4 class="title m0" translate>Last Wallet Addresses</h4>
<ul class="no-bullet m0">
<li ng-repeat="a in addrs" class="oh">
<div class="enable_text_select ellipsis">
{{a.address}}
@ -112,25 +113,20 @@
{{a.path}} &middot; {{a.createdOn *1000 | amDateFormat:'MMMM Do YYYY, h:mm a' }}
</div>
</li>
<li class="line-b p10 text-centered text-gray size-12">
<span translate>Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time.</span>
</ul>
<div class="text-centered text-gray size-12 m10" translate>
Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time.
</div>
<ul class="no-bullet m0">
<li ng-style="{'color':index.backgroundColor}" ng-click="index.retryScan(); $root.go('walletHome')" translate>
Scan addresses for funds
</li>
<li class="line-b p20" >
<button class="black round small expand" ng-style="{'background-color':index.backgroundColor}" ng-click="index.retryScan(); $root.go('walletHome'); ">
<span translate>Scan addresses for funds</span>
</button>
<button ng-show="index.isCordova" class="black round small expand"
ng-style="{'background-color':index.backgroundColor}"
ng-click="info.sendAddrs()"
ng-disabled="info.loading">
<i class="fi-mail"></i>
<span translate>Send addresses by email</span>
</button>
<li ng-style="{'color':index.backgroundColor}" ng-show="index.isCordova" ng-click="info.sendAddrs()" translate>
Send addresses by email
</li>
</ul>
</div>
<ul class="no-bullet m0 size-14" ng-show="index.balanceByAddress">
<div ng-if="index.balanceByAddress[0]">
@ -146,14 +142,6 @@
</div>
</ul>
<ul class="no-bullet m0 size-14">
<h4 class="title m0" translate>Transaction history</h4>
<li class="line-b p20 oh">
<button class="black round small expand" ng-style="{'background-color':index.backgroundColor}" ng-click="info.clearTransactionHistory();">
<span translate>Clear history</span>
</button>
</li>
</ul>
<h4></h4>

View file

@ -1,7 +1,7 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Sell'; goBackToState = 'glidera'">
ng-init="titleSection='Sell'; goBackToState = 'glidera'; noColor = true">
</div>
@ -21,11 +21,7 @@
</div>
<div ng-show="index.glideraLimits && !sell.show2faCodeInput && !sell.success">
<h4 class="title m0">
<div class="left">
<i class="fi-info size-24 m10r"></i>
</div>
<div class="size-10">
<h4 class="title m0 text-left">
<span class="text-light">Daily sell limit</span>:
{{index.glideraLimits.dailySell|currency:'':2}} {{index.glideraLimits.currency}}
(remaining {{index.glideraLimits.dailySellRemaining|currency:'':2}} {{index.glideraLimits.currency}})
@ -33,15 +29,14 @@
<span class="text-light">Monthly sell limit</span>:
{{index.glideraLimits.monthlySell|currency:'':2}} {{index.glideraLimits.currency}}
(remaining {{index.glideraLimits.monthlySellRemaining|currency:'':2}} {{index.glideraLimits.currency}})
</div>
</h4>
</div>
<div class="row m20t">
<div class="columns">
<div class="box-notification" ng-show="index.glideraLimits.transactDisabledPendingFirstTransaction">
<span class="text-warning size-14">
<div class="box-notification m20b" ng-show="index.glideraLimits.transactDisabledPendingFirstTransaction">
<span class="text-warning">
This operation was disabled because you have a pending first transaction
</span>
</div>
@ -111,7 +106,7 @@
Please, enter the code below
</p>
<form name="sellForm"
ng-submit="sell.createTx(index.glideraToken, index.glideraPermissions, twoFaCode)" novalidate>
ng-submit="sell.createTx(index.glideraToken, index.glideraPermissions, twoFaCode, index.feeRateToSendMax)" novalidate>
<input type="number" ng-model="twoFaCode" required>
<input class="button black expand round"
ng-style="{'background-color':index.backgroundColor}"

View file

@ -1,43 +0,0 @@
<div class="splash content text-center"
ng-init="init()"
ng-controller="splashController">
<div ng-if="!index.hasProfile">
<div class="row">
<div class="medium-centered small-centered large-centered columns">
<div class="m20t">
<span class="text-bold size-16 text-white" translate>WELCOME TO COPAY</span>
<p class="text-gray size-14 m0 text-light" translate>A multisignature bitcoin wallet</p>
</div>
</div>
</div>
<div class="row">
<div class="container-image large-3 medium-3 small-3 medium-centered small-centered large-centered columns">
<img src="img/icon-splash.png" alt="icon" width="100%">
</div>
</div>
<div class="text-center size-12 text-warning" ng-show="error && !creatingProfile">
{{(error)|translate}}. <span translate>Retrying...</span>
</div>
<div class="onGoingProcess" ng-show="creatingProfile">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
<span translate>Creating Profile...</span>
</div>
</div>
<div class="row" ng-show="!creatingProfile">
<div class="start-button large-8 medium-8 small-8 medium-centered small-centered large-centered columns">
<button ng-click="create()" class="button black expand round size-12 text-spacing" translate>
GET STARTED
</button>
<p class="text-gray m5b size-12" translate>Already have a wallet?</p>
<button ng-click="create(true)" class="button round outline dark-gray tiny" translate>Import backup </button>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,16 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Terms of use'; goBackToState = 'about'; noColor = true">
</div>
<div ng-controller="termOfUseController" class="content">
<p class="enable_text_select m0">
<div class="terms" ng-include="'views/includes/terms.html'"></div>
</p>
<div class="row text-center">
<p ng-show="lang != 'en'">
<a class="center" ng-click="$root.openExternalLink('https://copay.io/disclaimer')" translate>Official English Disclaimer</a>
</p>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="showCamera = true">
ng-init="showPreferences = true">
</div>
<div ng-controller="walletHomeController as home">
@ -72,10 +72,10 @@
-->
<div id="walletHome" class="walletHome tab-view tab-in">
<div class="oh">
<div class="oh pr">
<div class="amount" ng-style="{'background-color':index.backgroundColor}">
<div ng-if="!index.anyOnGoingProcess && !index.notAuthorized">
<div ng-show="index.updateError" ng-click='index.openWallet(); index.updateTxHistory()'>
<div class="m15t" ng-show="index.updateError" ng-click='index.updateAll({triggerTxUpdate: true})'>
<span class="size-12 db m10b">{{index.updateError|translate}}</span>
<button class="outline white tiny round" translate>Tap to retry</button>
</div>
@ -85,7 +85,7 @@
<br><span translate>Tap to retry</span>
</div>
<div ng-click='index.updateAll(); index.updateTxHistory()' ng-show="!index.updateError && index.walletScanStatus != 'error'">
<div ng-click='index.updateAll({triggerTxUpdate: true})' ng-show="!index.updateError && index.walletScanStatus != 'error'">
<strong class="size-36">{{index.totalBalanceStr}}</strong>
<div class="size-14"
ng-if="index.totalBalanceAlternative">
@ -107,15 +107,10 @@
</div>
</div> <!-- amount -->
<div class="pr columns line-b">
<div class="avatar-name columns line-b">
<div class="avatar-wallet left"
ng-style="{'background-color':index.backgroundColor}">{{ (index.alias || index.walletName) | limitTo: 1}}
</div>
<div class="right">
<a ng-click="$root.go('preferences')" class="button outline round light-gray tiny preferences-icon m0">
<i class="fi-widget size-18 vm"></i>
<span class="show-for-medium-up" translate>Preferences</span>
</a>
ng-style="{'background-color':index.backgroundColor}">
<i class="icon-wallet size-24"></i>
</div>
<div class="wallet-info">
<div ng-show="index.isShared">
@ -136,6 +131,9 @@
</div>
</div>
</div>
<div class="camera-icon" ng-show="index.isComplete">
<qr-scanner on-scan="home.onQrCodeScanned(data)"></qr-scanner>
</div>
</div> <!-- oh -->
@ -165,13 +163,133 @@
</div>
<div class="text-gray text-center size-12 p10t"
ng-show="index.lockedBalanceSat && !index.updatingStatus">
ng-show="index.lockedBalanceSat">
<span translate>Total Locked Balance</span>:
<b>{{index.lockedBalanceStr}} </b>
<span> {{index.lockedBalanceAlternative}}
{{index.alternativeIsoCode}} </span>
</div>
</div>
<!-- Activity -->
<div
class="m20t text-gray size-12 text-center"
ng-show="!index.loadingWallet && !index.txHistory[0] && !index.updatingTxHistory[index.walletId] &&
!index.txHistoryError && !index.updateError" translate>
No transactions yet
</div>
<div ng-show="index.updatingTxHistory[index.walletId]
&& ( (index.txProgress > 6 && !index.txHistory[0]) || (index.txProgress > 50 ) )">
<div class="row p20 text-center">
<div class="columns large-12 medium-12 small-12 m10b">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
<div class="size-12 text-gray m20t">
<div translate>{{index.txProgress}} transactions downloaded</div>
<div translate>Updating transaction history. Please stand by.</div>
</div>
</div>
</div>
<div ng-show="index.txHistory[0]">
<h4 class="title m0">
<span translate>Activity</span>
</h4>
<div ng-if="index.txHistory[0] && index.updatingTxHistory[index.walletId] && index.newTx" class="row collapse last-transactions-content animated fadeInDown">
<div class="large-6 medium-6 small-6 columns size-14">
<div class="m10r left">
<img src="img/icon-new.svg" width="40">
</div>
<div class="m10t" style="background:#eee; width: 8em; margin-left: 52px; line-height:0.6em">
<span>&nbsp;</span>
</div>
<div style="margin-top:5px; background:#eee; width: 6em; margin-left: 52px; line-height:0.6em">
<span>&nbsp;</span>
</div>
</div>
</div>
<div ng-repeat="btx in index.txHistory"
ng-click="home.openTxModal(btx)"
class="row collapse last-transactions-content">
<div class="large-6 medium-6 small-6 columns size-14">
<div class="m10r left">
<img src="img/icon-receive-history.svg" alt="sync" width="40" ng-show="btx.action == 'received'">
<img src="img/icon-sent-history.svg" alt="sync" width="40" ng-show="btx.action == 'sent'">
<img src="img/icon-moved.svg" alt="sync" width="40" ng-show="btx.action == 'moved'">
</div>
<div class="m10t">
<span ng-show="btx.action == 'received'" translate>Received</span>
<span ng-show="btx.action == 'sent'">
{{index.addressbook[btx.addressTo]}}
<span ng-show="!index.addressbook[btx.addressTo] && btx.message">
<span class="ellipsis">{{btx.message}}</span>
</span>
<span ng-show="!index.addressbook[btx.addressTo] && !btx.message">
<span translate> Sent</span>
</span>
</span>
<span ng-show="btx.action == 'moved'" translate>Moved</span>
<span class="label tu warning radius" ng-show="btx.action == 'invalid'" translate>Invalid</span>
</div>
</div>
<div class="large-5 medium-5 small-5 columns text-right">
<span class="size-16">
<span ng-if="btx.action == 'received'">+</span>
<span ng-if="btx.action == 'sent'">-</span>
<span class="size-12" ng-if="btx.action == 'invalid'" translate>
(possible double spend)
</span>
<span ng-if="btx.action != 'invalid'">
{{btx.amountStr}}
</span>
</span>
<div class="size-12 text-gray">
<time ng-if="btx.time">{{btx.time * 1000 | amTimeAgo}}</time>
<span translate class="text-warning"
ng-show="!btx.time && (!btx.confirmations || btx.confirmations == 0)">
Unconfirmed
</span>
</div>
</div>
<div class="large-1 medium-1 small-1 columns text-right m10t">
<i class="icon-arrow-right3 size-18"></i>
</div>
</div>
<div class="row m20t text-center" ng-show="index.historyRendering">
<div class="columns large-12 medium-12 small-12">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
</div>
<div class="m20t text-center">
<a class="text-gray size-12"
ng-show="index.historyShowShowAll"
ng-click="index.showAllHistory()">
<span translate>Show all</span>
</a>
</div>
</div>
<div class="extra-margin-bottom"></div>
</div> <!-- END WalletHome -->
@ -182,36 +300,29 @@
-->
<div id="receive" class="receive tab-view">
<div ng-show="index.needsBackup" class="p60t row text-center">
<div class="large-12 columns">
<div class="text-warning text-bold m15b">
<i class="fi-alert"></i>
<span translate>
WARNING: Backup needed
</span>
<div ng-show="index.needsBackup" class="p60t columns text-center">
<div class="circle-icon">
<i class="fi-alert size-48"></i>
</div>
<div class="text-gray" translate>
Before receiving funds, it is highly recommended you backup your wallet keys.
</div>
<h5 translate>Backup Needed</h5>
<p class="text-gray m20b columns" translate>
Before receiving funds, it is highly recommended you backup your wallet. If you lose this device, it is impossible to access your funds without a backup.
</p>
<button class="m20t button black expand round"
ng-click="$root.go('backup')" ng-style="{'background-color':index.backgroundColor}" >
<span translate>Backup now</span>
</button>
</div>
</div>
<div ng-show="!index.needsBackup">
<div class="row">
<!-- Address-->
<div class="large-12 columns">
<h2 class="text-center m10t" translate>My Bitcoin address</h2>
<div>
<div class="box-notification" ng-show="home.addrError">
<div class="box-notification m20t" ng-show="home.addrError">
<span class="text-warning">
{{home.addrError|translate}}
</span>
</div>
<div class="row">
<!-- Address-->
<div class="large-12 columns">
<h2 class="text-center m10t" translate>My Bitcoin address</h2>
<div class="text-center" ng-click="home.copyAddress(home.addr[index.walletId])" ng-show="home.addr[index.walletId] || home.generatingAddress">
<qrcode size="220" data="bitcoin:{{home.addr[index.walletId]}}"></qrcode>
<div ng-show="home.generatingAddress" style="position:relative; top:-226px; height:0px">
@ -232,7 +343,6 @@
</h4>
</div>
</div>
</div>
<div ng-show="home.addr[index.walletId]">
<div class="m10t text-center" ng-show="index.isCordova">
@ -273,27 +383,27 @@
-->
<div id="send" class="send tab-view">
<div>
<div class="pr p25b">
<h4 class="title m0">
<a class="right lh"
<available-balance></available-balance>
<a
ng-if="index.feeToSendMaxStr && index.availableBalanceSat > 0 && !home.blockUx && !home.lockAmount"
ng-click="home.sendAll(index.availableMaxBalance, index.feeToSendMaxStr, index.feeRateToSendMax)"
ng-click="home.sendAll(index.availableMaxBalance, index.feeToSendMaxStr)"
translate> Send All
</a>
<available-balance></available-balance>
</h4>
<div class="camera-icon" ng-show="index.isComplete">
<qr-scanner on-scan="home.onQrCodeScanned(data)"></qr-scanner>
</div>
<div class="row m20t">
<div class="large-12 large-centered columns">
<form name="sendForm" ng-submit="home.submitForm()" ng-disabled="home.blockUx || home.onGoingProcess" novalidate>
<div class="box-notification" ng-show="home.error" ng-click="home.resetError()">
</div>
<div class="box-notification m20t" ng-show="home.error" ng-click="home.resetError()">
<span class="text-warning">
{{home.error|translate}}
</span>
<a class="close-notification text-warning">&#215;</a>
</div>
<div class="row m20t">
<div class="large-12 large-centered columns">
<form name="sendForm" ng-submit="home.submitForm(index.feeRateToSendMax)" ng-disabled="home.blockUx || home.onGoingProcess" novalidate>
<div ng-hide="home._paypro || home.hideAddress">
<div class="row collapse">
@ -317,8 +427,9 @@
{{index.addressbook[_address] || _address}}
</div>
<a class="postfix size-12 m0 text-gray"
ng-click="openDestinationAddressModal(index.otherWallets, _address)">
<i class="icon-wallet size-18"></i>
ng-style="{'color':index.backgroundColor}"
ng-click="home.openDestinationAddressModal(index.otherWallets, _address)">
<i class="icon-wallet text-bold size-18"></i>
</a>
</div>
</div>
@ -353,18 +464,18 @@
<span translate>Amount</span>
</label>
<div class="input">
<input type="number" id="amount" ng-disabled="home.blockUx || home.lockAmount" name="amount" ng-attr-placeholder="{{'Amount'|translate}}" ng-minlength="0.00000001" ng-maxlength="10000000000" ng-model="_amount" valid-amount required autocomplete="off" ng-focus="home.formFocus('amount')" ng-blur="home.formFocus(false)">
<input type="number" id="amount" ng-disabled="home.blockUx || home.lockAmount" name="amount" ng-attr-placeholder="{{'Amount in'|translate}} {{home.unitName}}" ng-minlength="0.00000001" ng-maxlength="10000000000" ng-model="_amount" valid-amount required autocomplete="off" ng-focus="home.formFocus('amount')" ng-blur="home.formFocus(false)">
<input type="number" id="alternative" name="alternative" ng-model="_alternative" style="display:none">
<a class="postfix" ng-click="home.showAlternative()">{{home.unitName}}</a>
<a class="postfix button" ng-style="{'background-color':index.backgroundColor}" ng-click="home.showAlternative()">{{home.unitName}}</a>
</div>
</div>
<div ng-if="home.canShowAlternative()">
<label for="alternative"><span translate>Amount in</span> {{ home.alternativeName }}
<label for="alternative"><span translate>Amount</span> [{{ home.alternativeIsoCode }}]
</label>
<div class="input">
<input type="number" id="alternative" ng-disabled="home.blockUx || !home.isRateAvailable || home.lockAmount" name="alternative" ng-attr-placeholder="{{'Amount'|translate}}" ng-model="_alternative" required autocomplete="off" ng-focus="home.formFocus('amount')" ng-blur="home.formFocus(false)">
<input type="number" id="alternative" ng-disabled="home.blockUx || !home.isRateAvailable || home.lockAmount" name="alternative" ng-attr-placeholder="{{'Amount in'|translate}} {{ home.alternativeName }}" ng-model="_alternative" required autocomplete="off" ng-focus="home.formFocus('amount')" ng-blur="home.formFocus(false)">
<input type="number" id="amount" name="amount" ng-model="_amount" style="display:none">
<a class="postfix" ng-click="home.hideAlternative()"> {{ home.alternativeIsoCode }}</a>
<a class="postfix button black" ng-click="home.hideAlternative()"> {{ home.alternativeIsoCode }}</a>
</div>
</div>
</div>
@ -383,35 +494,6 @@
</div>
</div>
<div class="m20b" ng-init="home.hideAdvSend=true">
<a class="button outline light-gray expand tiny m0" ng-click="home.hideAdvSend=!home.hideAdvSend">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!home.hideAdvSend">Show advanced options</span>
<span translate ng-hide="home.hideAdvSend">Hide advanced options</span>
<i ng-if="home.hideAdvSend" class="icon-arrow-down4"></i>
<i ng-if="!home.hideAdvSend" class="icon-arrow-up4"></i>
</a>
<div class="m10t" ng-hide="home.hideAdvSend">
<div ng-show="(index.network == 'livenet' ? index.feeLevels.livenet : index.feeLevels.testnet)">
<h4 class="title m0" translate>Fee policy for this transaction</h4>
<ul class="no-bullet m0 size-14">
<li ng-repeat="fee in (index.network == 'livenet' ? index.feeLevels.livenet : index.feeLevels.testnet)"
ng-click="home.setFee(fee.level)" class="line-b p20">
{{index.feeOpts[fee.level]|translate}}
<i class="fi-check size-16 right"
ng-show="(home.currentSendFeeLevel || index.currentFeeLevel) == fee.level"></i>
</li>
</ul>
</div>
<h4 class="title m0">&nbsp;</h4>
<div class="p20 line-b">
<span class="size-14" translate>Use Unconfirmed Funds</span>
<switch id="spend-unconfirmed" name="currentSpendUnconfirmed" ng-model="currentSpendUnconfirmed" class="green right"></switch>
</div>
</div>
</div>
<div class="row" ng-show="!home.onGoingProcess">
<div class="large-6 medium-6 small-6 columns" ng-show="!home.blockUx && (home._paypro || home.lockAddress || home.lockAmount)">
<a ng-click="home.resetForm(sendForm)" class="button expand outline dark-gray round" translate>Cancel</a>
@ -430,125 +512,6 @@
<div class="extra-margin-bottom"></div>
</div> <!-- END Send -->
<!--
history
-->
<div id="history" class="history tab-view">
<div class="row m20t" ng-show="!index.txHistory[0] && !index.updatingTxHistory[index.walletId]">
<div class="large-12 columns">
<div class="oh text-center">
<span ng-show="index.txHistoryError && !index.notAuthorized" ng-click='index.updateTxHistory()'>
<p class="size-12 m10b db text-gray" translate>Could not fetch transaction history</p>
<button class="outline round light-gray tiny" translate>Tap to retry</button>
</span>
<span ng-if="!index.txHistoryError" translate>
No transactions yet
</span>
</div>
</div>
</div>
<div ng-show="index.updatingTxHistory[index.walletId]">
<div ng-show="index.txProgress > 6" class="row m20t text-center">
<div class="circle-icon">
<img src="img/icon-sync.svg" alt="sync" width="70">
</div>
<div translate class="size-12 text-gray m20t small-10 small-centered columns">
Initial transaction history synchronization can take some minutes for wallets with many transactions.
<b> Please stand by.</b>
</div>
<div class="small-8 small-centered columns line-b p10 m20b"></div>
<div class="columns large-12 medium-12 small-12 m10b">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
<div class="size-14 text-gray m20t">
<b>{{index.txProgress}}</b> <br>
<span translate>Transactions Downloaded</span>
</div>
</div>
</div>
<div ng-show="index.txHistory[0]">
<div ng-repeat="btx in index.txHistory"
ng-click="home.openTxModal(btx)"
class="row collapse last-transactions-content">
<div class="large-3 medium-3 small-3 columns">
<span class="label tu radius" ng-show="btx.action == 'received'"
ng-style="{'background-color':index.backgroundColor}" translate>Received</span>
<span class="label tu gray radius" ng-show="btx.action == 'sent'" translate>Sent</span>
<span class="label tu gray radius" ng-show="btx.action == 'moved'" translate>Moved</span>
<span class="label tu warning radius" ng-show="btx.action == 'invalid'" translate>Invalid</span>
</div>
<div class="large-4 medium-4 small-4 columns">
<span class="size-16">
<span ng-if="btx.action == 'received'">+</span>
<span ng-if="btx.action == 'sent'">-</span>
<span class="size-12" ng-if="btx.action == 'invalid'" translate>
(possible double spend)
</span>
<span ng-if="btx.action != 'invalid'">
{{btx.amountStr}}
</span>
</span>
</div>
<div class="large-4 medium-4 small-4 columns text-right">
<div class="m5t size-12 text-gray">
<time ng-if="btx.time">{{btx.time * 1000 | amTimeAgo}}</time>
<span translate class="text-warning"
ng-show="!btx.time && (!btx.confirmations || btx.confirmations == 0)">
Unconfirmed
</span>
</div>
</div>
<div class="large-1 medium-1 small-1 columns text-right">
<i class="icon-arrow-right3 size-18"></i>
</div>
<div class="size-14 text-gray columns m5t" ng-if="btx.message || btx.addressTo">
<div ng-show="btx.message">{{btx.message}}</div>
<div ng-show="!btx.message">
{{index.addressbook[btx.addressTo] || btx.addressTo}}
</div>
</div>
</div>
<div class="row m20t text-center" ng-show="index.historyRendering">
<div class="columns large-12 medium-12 small-12">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
</div>
<div class="row m20t">
<div class="large-6 medium-6 small-6 columns">
<button type="submit" class="button black round expand" ng-show="index.historyShowShowAll" ng-click="index.showAllHistory()" ng-style="{'background-color':index.backgroundColor}" translate>
Show all
</button>
</div>
<div class="large-6 medium-6 small-6 columns" ng-show="!index.isCordova">
<input id="export_file" type="file" nwsaveas="Copay-{{index.alias || index.walletName}}.csv" accept=".csv" style="display:none">
<a class="button outline dark-gray round" ng-click="index.csvHistory();">
<i class="fi-page-export-csv"></i>
<span translate>Download CSV file</span>
</a>
</div>
</div>
</div>
<div class="extra-margin-bottom"></div>
</div> <!-- END History -->
<div id="{{view.id}}" class="{{view.class}} tab-view" ng-repeat="view in index.addonViews" ng-include="view.template">
</div>

View file

@ -24,62 +24,136 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-sell-btc:before {
content: "\e632";
.icon-wallet:before {
content: "\e903";
}
.icon-buy-btc:before {
.icon-activity:before {
content: "\e900";
}
.icon-receive:before {
content: "\e901";
}
.icon-sold .path1:before {
content: "\e631";
color: rgb(255, 255, 255);
}
.icon-erase:before {
content: "\e628";
.icon-sold .path2:before {
content: "\e632";
margin-left: -1.0537109375em;
color: rgb(246, 166, 35);
}
.icon-receive2:before {
content: "\e62f";
.icon-sold .path3:before {
content: "\e633";
margin-left: -1.0537109375em;
color: rgb(246, 166, 35);
}
.icon-arrow-left:before {
content: "\e600";
.icon-sold .path4:before {
content: "\e634";
margin-left: -1.0537109375em;
color: rgb(44, 62, 80);
}
.icon-arrow-down:before {
content: "\e601";
.icon-sold .path5:before {
content: "\e635";
margin-left: -1.0537109375em;
color: rgb(255, 255, 255);
}
.icon-arrow-up:before {
content: "\e602";
.icon-sold .path6:before {
content: "\e636";
margin-left: -1.0537109375em;
color: rgb(255, 255, 255);
}
.icon-arrow-right:before {
content: "\e603";
.icon-bought .path1:before {
content: "\e637";
color: rgb(255, 255, 255);
}
.icon-arrow-left2:before {
content: "\e604";
.icon-bought .path2:before {
content: "\e638";
margin-left: -1.0537109375em;
color: rgb(26, 188, 156);
}
.icon-arrow-down2:before {
content: "\e605";
.icon-bought .path3:before {
content: "\e639";
margin-left: -1.0537109375em;
color: rgb(26, 188, 156);
}
.icon-arrow-up2:before {
content: "\e606";
.icon-bought .path4:before {
content: "\e63a";
margin-left: -1.0537109375em;
color: rgb(44, 62, 80);
}
.icon-arrow-right2:before {
content: "\e607";
.icon-bought .path5:before {
content: "\e63b";
margin-left: -1.0537109375em;
color: rgb(255, 255, 255);
}
.icon-arrow-left3:before {
content: "\e608";
.icon-bought .path6:before {
content: "\e63c";
margin-left: -1.0537109375em;
color: rgb(255, 255, 255);
}
.icon-arrow-down3:before {
content: "\e609";
.icon-sold-pending:before {
content: "\e63d";
}
.icon-arrow-up3:before {
content: "\e60a";
.icon-bought-pending:before {
content: "\e63e";
}
.icon-arrow-right3:before {
content: "\e60b";
.icon-sell-bitcoin .path1:before {
content: "\e63f";
color: rgb(44, 62, 80);
}
.icon-arrow-left4:before {
content: "\e60c";
.icon-sell-bitcoin .path2:before {
content: "\e640";
margin-left: -1.2119140625em;
color: rgb(44, 62, 80);
}
.icon-arrow-down4:before {
content: "\e60d";
.icon-sell-bitcoin .path3:before {
content: "\e641";
margin-left: -1.2119140625em;
color: rgb(44, 62, 80);
}
.icon-arrow-up4:before {
content: "\e60e";
.icon-sell-bitcoin .path4:before {
content: "\e642";
margin-left: -1.2119140625em;
color: rgb(246, 166, 35);
}
.icon-sell-bitcoin .path5:before {
content: "\e643";
margin-left: -1.2119140625em;
color: rgb(255, 255, 255);
}
.icon-sell-bitcoin .path6:before {
content: "\e644";
margin-left: -1.2119140625em;
color: rgb(255, 255, 255);
}
.icon-buy-bitcoin .path1:before {
content: "\e645";
color: rgb(44, 62, 80);
}
.icon-buy-bitcoin .path2:before {
content: "\e646";
margin-left: -1.2119140625em;
color: rgb(44, 62, 80);
}
.icon-buy-bitcoin .path3:before {
content: "\e647";
margin-left: -1.2119140625em;
color: rgb(44, 62, 80);
}
.icon-buy-bitcoin .path4:before {
content: "\e648";
margin-left: -1.2119140625em;
color: rgb(26, 188, 156);
}
.icon-buy-bitcoin .path5:before {
content: "\e649";
margin-left: -1.2119140625em;
color: rgb(255, 255, 255);
}
.icon-buy-bitcoin .path6:before {
content: "\e64a";
margin-left: -1.2119140625em;
color: rgb(255, 255, 255);
}
.icon-bank:before {
content: "\e630";
@ -102,16 +176,13 @@
.icon-circle-active:before {
content: "\e627";
}
.icon-circle-active:before {
content: "\e627";
}
.icon-scan:before {
content: "\e62a";
.icon-send:before {
content: "\e902";
}
.icon-trash:before {
content: "\e626";
}
.icon-wallet:before {
.icon-wallet2:before {
content: "\e622";
}
.icon-history:before {
@ -123,9 +194,6 @@
.icon-bell:before {
content: "\e61c";
}
.icon-receive:before {
content: "\e625";
}
.icon-wrench:before {
content: "\e61d";
}
@ -180,3 +248,60 @@
.icon-usd:before {
content: "\e616";
}
.icon-scan:before {
content: "\e62a";
}
.icon-scan:before {
content: "\e62a";
}
.icon-erase:before {
content: "\e628";
}
.icon-receive2:before {
content: "\e62f";
}
.icon-arrow-left:before {
content: "\e600";
}
.icon-arrow-down:before {
content: "\e601";
}
.icon-arrow-up:before {
content: "\e602";
}
.icon-arrow-right:before {
content: "\e603";
}
.icon-arrow-left2:before {
content: "\e604";
}
.icon-arrow-down2:before {
content: "\e605";
}
.icon-arrow-up2:before {
content: "\e606";
}
.icon-arrow-right2:before {
content: "\e607";
}
.icon-arrow-left3:before {
content: "\e608";
}
.icon-arrow-down3:before {
content: "\e609";
}
.icon-arrow-up3:before {
content: "\e60a";
}
.icon-arrow-right3:before {
content: "\e60b";
}
.icon-arrow-left4:before {
content: "\e60c";
}
.icon-arrow-down4:before {
content: "\e60d";
}
.icon-arrow-up4:before {
content: "\e60e";
}

View file

@ -7,7 +7,6 @@
font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
color: #2C3E50;
}
@ -46,26 +45,23 @@ h4 {
font-size: 0.875rem;
}
h4.title {
background: #F1F3F5;
.send h4.title, .glidera h4.title {
border-bottom: 1px solid #E2E7ED;
background: #fff;
padding: 0.8rem;
text-transform: uppercase;
color: #2C3E50;
font-weight: 700;
font-size: 0.7rem;
color: #4B6178;
font-weight: 500;
font-size: 0.75rem;
text-align: center;
line-height: 1.5;
}
h4.title a {
text-transform: none;
font-weight: 400;
padding: 7px;
font-size: 12px;
}
.preferences {
background: #f1f3f5;
}
.preferences form {
background: white;
padding-top:10px;
@ -77,9 +73,9 @@ h4.title a {
}
.preferences h4 {
background: #F1F3F5;
padding: 25px 0px 5px 20px;
.preferences h4, .modal-content h4, .walletHome h4, .glidera h4 {
background: #F6F7F9;
padding: 25px 0px 5px 10px;
text-transform: uppercase;
color: #555;
font-size: 12px;
@ -88,7 +84,7 @@ h4.title a {
}
.preferences ul {
.preferences ul, .modal-content ul {
font-size:14px;
background: white;
}
@ -228,7 +224,7 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
.page, .main {
height:100%;
background-color: #fff;
background-color: #F6F7F9;
}
.button.small.side-bar {
@ -245,7 +241,7 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
}
.main {
background-color: #fff;
background-color: #F6F7F9;
padding: 0 0 58px 0;
position: relative;
}
@ -273,11 +269,9 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
.box-notification {
position: relative;
font-size: 12px;
padding: 0.5rem 2rem 0.5rem 0.7rem;
padding: 0.5rem;
border-radius: 2px;
background: #F2F5F8;
margin: 0 auto;
margin-bottom: 1.6rem;
background: #FFFFFF;
}
.box-notification .box-icon {
@ -332,7 +326,8 @@ ul.tx-copayers {
}
.last-transactions-content {
padding: 1.5rem 1rem;
background: #fff;
padding: 0.8rem 1rem;
cursor:pointer;
border-bottom: 1px solid #E4E8EC;
}
@ -344,11 +339,18 @@ ul.tx-copayers {
text-align: center;
}
.icon-circle-active {
position: absolute;
bottom: 2px;
right: 2px;
}
.icon-sign {
padding: 0.2rem 0.3rem;
border-radius: 100%;
color: #fff;
margin-right: 7px;
font-size: 10px;
margin-top: 3px;
}
.icon-sign.check {
@ -360,7 +362,7 @@ ul.tx-copayers {
}
.circle-icon {
background: #F1F3F5;
background: #fff;
border-radius: 100%;
padding: 1.5rem;
width: 80px;
@ -368,6 +370,54 @@ ul.tx-copayers {
margin: 0 auto;
}
.receive .circle-icon {
padding: 0.2rem;
margin-bottom: 2rem;
}
.backup .circle-icon {
padding: 0.2rem;
margin-bottom: 2rem;
}
.receive h5, .backup h5 {
font-weight: 500;
color: #4B6178;
margin-bottom: 1rem;
}
.receive p, .backup p {
font-size: 0.9rem;
margin-bottom: 2rem;
}
.backup .tab-bar {
background: #F6F7F9;
border-bottom: none;
}
.backup .button-box {
background: #F1F3F5;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 0.5rem 1rem 1rem;
z-index: 9999;
}
.backup input[type="text"] {
border-bottom: 1px solid #CAD4DB;
}
.backup input[type="text"]:focus {
border-bottom: 1px solid #A5B2BF;
}
.extra-padding-bottom {
padding-bottom: 78px;
}
.date-message {
background-color: #213140;
border-radius: 3px;
@ -436,6 +486,7 @@ ul.manage li {
.m0 {margin: 0;}
.p0i {padding: 0 !important;}
.db {display: block;}
.dib {display: inline-block;}
.size-10 { font-size: 10px; }
.size-12 { font-size: 12px; }
.size-14 { font-size: 14px; }
@ -468,6 +519,7 @@ ul.manage li {
.m20r {margin-right: 20px;}
.m20t {margin-top: 20px;}
.m20tp {margin-top: 20%;}
.m30tp {margin-top: 30%;}
.m15 {margin: 15px;}
.m15h {margin: 0 15px;}
.p10t {padding-top: 10px;}
@ -478,9 +530,12 @@ ul.manage li {
.p5h {padding: 0 5px;}
.p20h {padding: 0 20px;}
.p20v {padding: 20px 0;}
.p20b {padding-bottom: 20px;}
.p25b {padding-bottom: 25px;}
.p25l {padding-left: 25px;}
.p15 {padding:15px;}
.p20 {padding:20px;}
.p20t {padding-top:20px;}
.p10 {padding:10px;}
.p10b {padding-bottom:10px;}
.p45t {padding-top:45px;}
@ -578,6 +633,7 @@ input[type=number]::-webkit-outer-spin-button {
}
.header-modal {
background: #fff;
width: 100%;
padding: 0.8rem;
position: relative;
@ -603,12 +659,6 @@ input[type=number]::-webkit-outer-spin-button {
.label.alert {background-color: #ED4A43;}
.label.gray {background-color: #4B6178;}
.history .label {
width: 57px;
text-align: center;
font-size: 65%;
}
.bg-alert {
background-color: #ED4A43;
}
@ -641,7 +691,7 @@ input[type="color"], input[type="date"], input[type="datetime-local"], input[typ
border: none;
padding-left: 0.1rem;
font-size: 13px;
border-bottom: 1px solid #F1F3F5;
border-bottom: 1px solid #E9EDF0;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
@ -877,14 +927,17 @@ ul.wallet-selection.wallets {
.postfix.button, .prefix.button {
position: absolute;
width: 38px;
height: 28px;
width: 35px;
height: 22px;
right: 7px;
top: 7px;
top: 5px;
-moz-box-shadow: none;
box-shadow: none;
line-height: 1.7rem;
font-size: 12px;
border-radius: 2px;
line-height: 2;
padding: 0;
font-weight: 500;
}
.postfix.button i, .prefix.button i {
@ -910,6 +963,10 @@ label.postfix, a.postfix {
width: 40px;
}
a.button.postfix {
color: #fff;
}
.pointer {
cursor: pointer;
}
@ -934,6 +991,16 @@ label.postfix, a.postfix {
padding: 0;
}
.icon-wallet {
vertical-align: top;
display: block;
margin-top: 7px;
}
.walletHome .icon-wallet {
display: inline;
}
.icon-input {
font-size: 9px;
color: #fff;
@ -969,6 +1036,9 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
.black {
background-color: #2C3E50;
}
.white {
background-color: #FFFFFF;
}
.text-italic {font-style: italic;}
.text-light {font-weight: 200;}
.text-bold {font-weight: 700;}
@ -982,6 +1052,11 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
.text-success {color: #1ABC9C;}
.text-spacing {letter-spacing:2px;}
.text-capitalize {text-transform: capitalize;}
.text-shadow {text-shadow: 2px 2px 3px rgba(150, 150, 150, 1);}
.payment-uri .panel {
line-height: 1.4;
}
.panel {
background: #FFFFFF;
@ -989,6 +1064,30 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
padding: 1rem;
}
.panel.words {
background: #E6EAEE;
border: 1px dashed #A5B2BF;
min-height: 147px;
}
.backup .panel {
padding: 0.5rem;
}
.backup button.words {
background: #FFFFFF;
box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.30);
color: #4B6178;
text-transform: lowercase;
font-size: 0.8rem;
margin: 5px;
padding: 0.5rem;
}
.backup button[disabled] {
box-shadow: none;
}
.panel qrcode {
background-color: white;
}
@ -1103,6 +1202,43 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
}
/*/////////////////////////////////////////////////*/
.terms {
padding: 0.8rem;
}
.terms ul {
font-size: 0.8rem;
text-align: justify;
margin-left: 0;
}
.terms li {
list-style-type:none;
display: inline;
}
.scrollArea {
height: 280px;
overflow: scroll;
background: #213140;
border: 1px solid #4B6178;
border-radius: 5px;
margin: 1.6rem;
color: #A5B2BF;
line-height: 30px;
padding: 0.5rem;
}
.scrollArea ul {
font-size: 0.8rem;
text-align: justify;
margin-left: 0;
}
.scrollArea li {
list-style-type:none;
display: inline;
}
.tabbable {
border: 2px solid #213140;
@ -1209,7 +1345,7 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
}
.splash .container-image {
padding: 2rem 0;
padding: 1rem 0;
}
.preferences li {
@ -1306,6 +1442,10 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
vertical-align: middle;
}
.walletHome .spinner > div {
background-color: #8597A7;
}
.spinner > div {
background-color: #fff;
height: 100%;

View file

@ -90,13 +90,11 @@ _:-ms-fullscreen, :root .main {
}
.tab-bar {
background: #FFFFFF;
background-color: #4B6178;
z-index: 5;
border-bottom: 1px solid #E9E9EC;
}
.tab-bar h1 {
color: #7A8C9E;
font-weight: 500;
font-size: 14px;
}
@ -119,6 +117,14 @@ _:-ms-fullscreen, :root .main {
border-left: none;
}
.right-small a, .left-small a {
color: #FFFFFF;
}
.backup .right-small a, .backup .left-small a {
color: #7A8C9E;
}
.tab-bar .icon-back {
font-size: 2.5rem;
position: absolute;
@ -148,7 +154,8 @@ _:-ms-fullscreen, :root .main {
bottom: 0;
width: 100%;
z-index: 5;
background: #2C3E50;
background: #FFFFFF;
border-top: 1px solid #E2E7ED;
}
.second-bottom-bar {
@ -165,11 +172,25 @@ _:-ms-fullscreen, :root .main {
padding-top: 1rem !important;
}
.menu-wallet-home {
background: #fff linear-gradient(-180deg, #F1F3F5 0%, #FFFFFF 30%);
box-shadow: 0px -1px 0px 0px rgba(165,178,191,0.35);
width: 100%;
height: 8rem;
position: absolute;
top: -10px;
margin-left: auto;
margin-right: auto;
left:0;
right:0;
border-radius: 100%;
z-index: -999;
}
.amount {
width: 100%;
text-align: center;
padding: 2.5rem 1rem 1.5rem 1rem;
margin-bottom: 11px;
padding: 1.5rem 1rem 1.5rem 1rem;
color: #fff;
height: 175px;
}
@ -193,7 +214,9 @@ _:-ms-fullscreen, :root .main {
height:100%;
}
.walletHome {
.avatar-name {
position: relative;
padding-top: 10px;
background-color: #fff;
}
@ -202,7 +225,7 @@ _:-ms-fullscreen, :root .main {
width: 75px;
height: 75px;
position: absolute;
top: -33px;
top: -22px;
font-size: 2.2rem;
border: 3px solid #fff;
background: #1ABC9C;
@ -220,6 +243,25 @@ _:-ms-fullscreen, :root .main {
overflow: hidden;
}
.camera-icon a {
background: #4B6178;
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.50);
color: #fff;
display: block;
position: absolute;
padding: 15px 17px;
border-radius: 100%;
top: inherit;
right: 15px;
bottom: 45px;
line-height: 12px;
}
.send .camera-icon a {
top: inherit;
bottom: 0;
}
.copayers {
position: relative;
padding: 0;
@ -232,27 +274,23 @@ ul.copayer-list img {
}
.bottombar-item a {
color: #9EA9B3;
color: #A5B2BF;
padding: 0.5rem 0;
display: block;
border-top: 3px solid #122232;
}
.bottombar-item a.active {
color: #E4E8EC;
background-color: #122232;
.bottombar-item a.active span, .bottombar-item a.active i {
font-weight: bold;
}
.bottombar-item a.active .label {
text-shadow: none;
}
.box-founds {
background-color: #213140;
}
.right-small a, .left-small a {
color: #A5B2BF;
}
a.missing-copayers {
bottom: -34px;
text-align: center;
@ -283,7 +321,7 @@ a.missing-copayers {
background: #2C3E50;
}
.sidebar .icon {
.sidebar .icon, .modal-content .icon {
width: 39px;
text-align: center;
margin-right: 15px;
@ -311,7 +349,6 @@ a.missing-copayers {
width: 35px;
height: 35px;
border-radius: 3px;
padding: 2px;
}
.sidebar header {
@ -357,11 +394,6 @@ a.missing-copayers {
margin-right: 10px;
}
.sidebar ul.off-canvas-list li a i {
vertical-align: middle;
opacity: 0.6;
}
.sidebar .left-off-canvas-menu {
background: #E4E8EC;
line-height: 24px;
@ -600,7 +632,7 @@ to prevent collapsing during animation*/
top: 45px;
padding-bottom: 33px;
-webkit-transform: translate3d(0,0,0);
background: #fff;
background: #f6f7f9;
}
body.modal-open {
@ -695,14 +727,15 @@ textarea:focus
position: absolute;
width: 100%;
height: 100%;
background: #1ABC9C;
background: rgba(24,44,58,0.90);
}
.popup-txsent i {
font-size: 5rem;
background-color: #fff;
color: #1ABC9C;
color: #4A90E2;
border-radius: 100%;
border-color: #4A90E2;
border: 2px solid;
width: 150px;
height: 150px;
display: block;
@ -712,9 +745,10 @@ textarea:focus
.popup-txsigned i {
font-size: 5rem;
background-color: #1ABC9C;
color: #fff;
color: #4A90E2;
border-radius: 100%;
border-color: #4A90E2;
border: 2px solid;
width: 150px;
height: 150px;
display: block;
@ -724,9 +758,10 @@ textarea:focus
.popup-txrejected i {
font-size: 5rem;
background-color: #ED4A43;
color: #fff;
color: #4A90E2;
border-radius: 100%;
border-color: #4A90E2;
border: 2px solid;
width: 150px;
height: 150px;
display: block;
@ -734,6 +769,28 @@ textarea:focus
padding-top: 1rem;
}
.payment-proposal-head {
color: #fff;
padding: 0 10px 20px 10px;
text-align: center;
}
.payment-proposal-to {
width: 100%;
display: inline-block;
padding: 5px 15px;
background-color: rgba(0, 0, 0, 0.1);
}
.payment-proposal-to i {
margin-right: 10px;
padding-right: 10px;
border-right: 1px solid;
border-color: rgba(255, 255, 255, 0.1);
font-size: 20px;
vertical-align: middle;
}
::-webkit-input-placeholder {
color: #B7C2CD;
}
@ -772,6 +829,7 @@ textarea:focus
}
.create-tab {
background-color: #fff;
width: 100%;
border-bottom: 1px solid #DEDFE1;
margin-bottom: 25px;
@ -783,28 +841,26 @@ textarea:focus
text-align: center;
}
.test {
background: red;
}
.create-tab a {
font-size: .7rem;
padding: 0 .2rem .6rem .2rem;
color: #929396;
padding: 1.2rem .2rem .6rem .2rem;
color: #7A8C9E;
text-transform: uppercase;
font-weight: 500;
display: block;
}
.tab-container:hover a {
color: #7A8C9E;
}
.tab-container.selected,
.tab-container:active {
.tab-container.selected {
border-bottom: 3px solid #4B6178;
}
.tab-container.selected a {
color: #2C3E50;
font-weight: 600;
}
/* removes 300ms in IE */

View file

@ -1,69 +1,73 @@
'use strict';
angular.module('copayApp.controllers').controller('wordsController',
function($rootScope, $scope, $timeout, profileService, go, gettext, confirmDialog, notification, bwsError, $log) {
angular.module('copayApp.controllers').controller('backupController',
function($rootScope, $scope, $timeout, $log, $state, $compile, go, lodash, profileService, gettext, bwcService, bwsError) {
var msg = gettext('Are you sure you want to delete the backup words?');
var successMsg = gettext('Backup words deleted');
var self = this;
self.show = false;
var fc = profileService.focusedClient;
var customWords = [];
if (fc.isPrivKeyEncrypted()) self.credentialsEncrypted = true;
else {
setWords(fc.getMnemonic());
function init() {
$scope.passphrase = '';
resetAllButtons();
customWords = [];
self.step = 1;
self.deleted = false;
self.credentialsEncrypted = false;
self.selectComplete = false;
self.backupError = false;
}
if (fc.credentials && !fc.credentials.mnemonicEncrypted && !fc.credentials.mnemonic) {
init();
if (fc.credentials && !fc.credentials.mnemonicEncrypted && !fc.credentials.mnemonic)
self.deleted = true;
if (fc.isPrivKeyEncrypted() && !self.deleted) {
self.credentialsEncrypted = true;
passwordRequest();
} else {
if (!self.deleted)
initWords();
}
self.goToStep = function(n) {
self.step = n;
if (self.step == 1)
init();
if (self.step == 3 && !self.mnemonicHasPassphrase)
self.step++;
if (self.step == 4) {
confirm();
}
}
function initWords() {
var words = fc.getMnemonic();
self.xPrivKey = fc.credentials.xPrivKey;
profileService.lockFC();
self.mnemonicWords = words.split(/[\u3000\s]+/);
self.shuffledMnemonicWords = lodash.sortBy(self.mnemonicWords);;
self.mnemonicHasPassphrase = fc.mnemonicHasPassphrase();
self.useIdeograms = words.indexOf("\u3000") >= 0;
};
self.toggle = function() {
self.error = "";
if (!self.credentialsEncrypted) {
if (!self.show)
$rootScope.$emit('Local/BackupDone');
self.show = !self.show;
}
if (self.credentialsEncrypted)
self.passwordRequest();
passwordRequest();
$timeout(function() {
$scope.$apply();
}, 1);
};
self.delete = function() {
confirmDialog.show(msg, function(ok) {
if (ok) {
fc.clearMnemonic();
profileService.updateCredentialsFC(function() {
self.deleted = true;
notification.success(successMsg);
go.walletHome();
});
}
});
};
$scope.$on('$destroy', function() {
profileService.lockFC();
});
function setWords(words) {
if (words) {
self.mnemonicWords = words.split(/[\u3000\s]+/);
self.mnemonicHasPassphrase = fc.mnemonicHasPassphrase();
self.useIdeograms = words.indexOf("\u3000") >= 0;
}
};
self.passwordRequest = function() {
function passwordRequest() {
try {
setWords(fc.getMnemonic());
initWords();
} catch (e) {
if (e.message && e.message.match(/encrypted/) && fc.isPrivKeyEncrypted()) {
self.credentialsEncrypted = true;
$timeout(function() {
$scope.$apply();
@ -75,13 +79,99 @@ angular.module('copayApp.controllers').controller('wordsController',
$log.warn('Error decrypting credentials:', self.error); //TODO
return;
}
if (!self.show && self.credentialsEncrypted)
self.show = !self.show;
self.credentialsEncrypted = false;
setWords(fc.getMnemonic());
initWords();
$timeout(function() {
$scope.$apply();
}, 1);
});
}
}
}
function resetAllButtons() {
document.getElementById('addWord').innerHTML = '';
var nodes = document.getElementById("buttons").getElementsByTagName('button');
lodash.each(nodes, function(n) {
document.getElementById(n.id).disabled = false;
});
}
self.enableButton = function(word) {
document.getElementById(word).disabled = false;
lodash.remove(customWords, function(v) {
return v == word;
});
}
self.disableButton = function(index, word) {
var element = {
index: index,
word: word
};
document.getElementById(index + word).disabled = true;
customWords.push(element);
self.addButton(index, word);
}
self.addButton = function(index, word) {
var btnhtml = '<button class="button radius tiny words" ng-disabled="wordsC.disableButtons"' +
'data-ng-click="wordsC.removeButton($event)" id="_' + index + word + '" > ' + word + ' </button>';
var temp = $compile(btnhtml)($scope);
angular.element(document.getElementById('addWord')).append(temp);
self.shouldContinue();
}
self.removeButton = function(event) {
var id = (event.target.id);
document.getElementById(id).remove();
self.enableButton(id.substring(1));
lodash.remove(customWords, function(d) {
return d.index == id.substring(1, 3);
});
self.shouldContinue();
}
self.shouldContinue = function() {
if (customWords.length == 12)
self.selectComplete = true;
else
self.selectComplete = false;
}
function confirm() {
self.backupError = false;
var walletClient = bwcService.getClient();
var separator = self.useIdeograms ? '\u3000' : ' ';
var customSentence = lodash.pluck(customWords, 'word').join(separator);
var passphrase = $scope.passphrase || '';
try {
walletClient.seedFromMnemonic(customSentence, {
network: fc.credentials.network,
passphrase: passphrase,
account: fc.credentials.account
})
} catch (err) {
return backupError(err);
}
if (walletClient.credentials.xPrivKey != self.xPrivKey) {
return backupError('Private key mismatch');
}
$rootScope.$emit('Local/BackupDone');
});
}
}
}
}
function backupError(err) {
$log.debug('Failed to verify backup: ', err);
self.backupError = true;
$timeout(function() {
$scope.$apply();
}, 1);
};
});

View file

@ -42,6 +42,7 @@ angular.module('copayApp.controllers').controller('buyGlideraController',
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.type = 'BUY';
$scope.wallets = wallets;
$scope.noColor = true;
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};

View file

@ -1,32 +1,47 @@
'use strict';
angular.module('copayApp.controllers').controller('disclaimerController',
function($scope, $timeout, storageService, applicationService, gettextCatalog, isCordova, uxLanguage) {
function($scope, $timeout, $log, profileService, isCordova, storageService, applicationService, gettextCatalog, uxLanguage, go) {
self = this;
self.tries = 0;
$scope.agree = function() {
if (isCordova) {
window.plugins.spinnerDialog.show(null, gettextCatalog.getString('Loading...'), true);
}
$scope.loading = true;
var create = function(noWallet) {
$scope.creatingProfile = true;
profileService.create({
noWallet: noWallet
}, function(err) {
if (err) {
$log.warn(err);
$scope.error = err;
$scope.$apply();
$timeout(function() {
storageService.setCopayDisclaimerFlag(function(err) {
$timeout(function() {
if (isCordova) {
window.plugins.spinnerDialog.hide();
$log.warn('Retrying to create profile......');
if (self.tries == 3) {
self.tries == 0;
create(true);
} else {
self.tries += 1;
create(false);
}
}, 3000);
} else {
$scope.error = "";
$scope.creatingProfile = false;
}
applicationService.restart();
}, 1000);
});
}, 100);
};
$scope.init = function() {
storageService.getCopayDisclaimerFlag(function(err, val) {
$scope.lang = uxLanguage.currentLanguage;
$scope.agreed = val;
$timeout(function() {
$scope.$digest();
}, 1);
this.init = function() {
self.lang = uxLanguage.currentLanguage;
storageService.getProfile(function(err, profile) {
if (!profile) create(false);
else $scope.creatingProfile = false;
//compatible
profileService.isDisclaimerAccepted(function(val) {
if (val) go.walletHome();
});
});
};
});

View file

@ -1,6 +1,6 @@
'use strict';
angular.module('copayApp.controllers').controller('backupController',
angular.module('copayApp.controllers').controller('exportController',
function($rootScope, $scope, $timeout, $log, backupService, storageService, profileService, isMobile, notification, go, gettext, gettextCatalog) {
var self = this;

View file

@ -42,6 +42,7 @@ angular.module('copayApp.controllers').controller('glideraController',
$scope.tx = tx;
$scope.settings = config;
$scope.color = fc.backgroundColor;
$scope.noColor = true;
glideraService.getTransaction(token, tx.transactionUuid, function(error, tx) {
$scope.tx = tx;

View file

@ -9,6 +9,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.onGoingProcess = {};
self.historyShowLimit = 10;
self.updatingTxHistory = {};
self.prevState = 'walletHome';
function strip(number) {
return (parseFloat(number.toPrecision(12)));
@ -19,26 +20,22 @@ angular.module('copayApp.controllers').controller('indexController', function($r
};
self.menu = [{
'title': gettext('Home'),
'icon': 'icon-home',
'link': 'walletHome'
}, {
'title': gettext('Receive'),
'icon': 'icon-receive2',
'icon': 'icon-receive',
'link': 'receive'
}, {
'title': gettext('Send'),
'icon': 'icon-paperplane',
'link': 'send'
'title': gettext('Activity'),
'icon': 'icon-activity',
'link': 'walletHome'
}, {
'title': gettext('History'),
'icon': 'icon-history',
'link': 'history'
'title': gettext('Send'),
'icon': 'icon-send',
'link': 'send'
}];
self.addonViews = addonManager.addonViews();
self.menu = self.menu.concat(addonManager.addonMenuItems());
self.menuItemSize = self.menu.length > 5 ? 2 : 3;
self.menuItemSize = self.menu.length > 4 ? 2 : 4;
self.txTemplateUrl = addonManager.txTemplateUrl() || 'views/includes/transaction.html';
self.tab = 'walletHome';
@ -67,6 +64,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r
var fc = profileService.focusedClient;
if (!fc) return;
// loading full wallet
self.loadingWallet = true;
// Clean status
self.totalBalanceSat = null;
self.lockedBalanceSat = null;
@ -131,6 +131,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.openWallet();
} else {
storageService.getBackupFlag(self.walletId, function(err, val) {
if (!fc.credentials.mnemonic)
self.needsBackup = false;
else
self.needsBackup = self.network == 'testnet' ? false : !val;
self.openWallet();
});
@ -145,6 +148,28 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.usingCustomBWS = config.bwsFor && config.bwsFor[self.walletId] && (config.bwsFor[self.walletId] != defaults.bws.url);
};
self.acceptDisclaimer = function() {
var profile = profileService.profile;
if (profile) profile.disclaimerAccepted = true;
self.disclaimerAccepted = true;
profileService.setDisclaimerAccepted(function(err) {
if (err) $log.error(err);
go.walletHome();
});
};
self.isDisclaimerAccepted = function() {
if (self.disclaimerAccepted == true) {
go.walletHome();
return;
}
profileService.isDisclaimerAccepted(function(v) {
if (v) {
self.acceptDisclaimer();
} else go.path('disclaimer');
});
};
self.setTab = function(tab, reset, tries, switchState) {
tries = tries || 0;
@ -280,7 +305,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.updateError = bwsError.msg(err, gettext('Could not update Wallet'));
} else {
if (!opts.quiet)
self.setOngoingProcess('scanning', ret.wallet.scanning);
self.setOngoingProcess('scanning', ret.wallet.scanStatus == 'running');
}
return cb(err, ret);
});
@ -339,7 +364,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
if (opts.triggerTxUpdate) {
$timeout(function() {
self.updateTxHistory();
self.debounceUpdateHistory();
}, 1);
}
});
@ -553,6 +578,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.backgroundColor = config.colorFor[self.walletId] || '#4A90E2';
var fc = profileService.focusedClient;
fc.backgroundColor = self.backgroundColor;
if (isCordova && StatusBar.isVisible) {
StatusBar.backgroundColorByHexString(fc.backgroundColor);
}
};
self.setBalance = function(balance) {
@ -719,9 +747,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r
var csvContent = '';
if (!isNode) csvContent = 'data:text/csv;charset=utf-8,';
csvContent += 'Date,Destination,Note,Amount,Currency,Spot Value,Total Value,Tax Type,Category\n';
csvContent += 'Date,Destination,Note,Amount,Currency,Txid,Creator,Copayers\n';
var _amount, _note;
var _amount, _note, _copayers, _creator;
var dataString;
data.forEach(function(it, index) {
var amount = it.amount;
@ -729,18 +757,29 @@ angular.module('copayApp.controllers').controller('indexController', function($r
if (it.action == 'moved')
amount = 0;
_copayers = '';
_creator = '';
if (it.actions && it.actions.length > 1) {
for (var i = 0; i < it.actions.length; i++) {
_copayers += it.actions[i].copayerName + ':' + it.actions[i].type + ' - ';
}
_creator = (it.creatorName && it.creatorName != 'undefined') ? it.creatorName : '';
}
_copayers = formatString(_copayers);
_creator = formatString(_creator);
_amount = (it.action == 'sent' ? '-' : '') + (amount * satToBtc).toFixed(8);
_note = formatString((it.message ? it.message : '') + ' TxId: ' + it.txid + ' Fee:' + (it.fees * satToBtc).toFixed(8));
_note = formatString((it.message ? it.message : ''));
if (it.action == 'moved')
_note += ' Moved:' + (it.amount * satToBtc).toFixed(8)
dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + _note + ',' + _amount + ',BTC,,,,';
dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + _note + ',' + _amount + ',BTC,' + it.txid + ',' + _creator + ',' + _copayers;
csvContent += dataString + "\n";
if (it.fees && (it.action == 'moved' || it.action == 'sent')) {
var _fee = (it.fees * satToBtc).toFixed(8)
csvContent += formatDate(it.time * 1000) + ',Bitcoin Network Fees,, -' + _fee + ',BTC,,,,' + "\n";
csvContent += formatDate(it.time * 1000) + ',Bitcoin Network Fees,, -' + _fee + ',BTC,,,' + "\n";
}
});
@ -816,7 +855,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r
fixTxsUnit(txsFromLocal);
function getNewTxs(newTxs, skip, i_cb) {
self.getTxsFromServer(client, skip, endingTxid, requestLimit, function(err, res, shouldContinue) {
if (err) return i_cb(err);
@ -843,6 +881,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
getNewTxs([], 0, function(err, txs) {
if (err) return cb(err);
var newHistory = lodash.compact(txs.concat(txsFromLocal));
$log.debug('Tx History synced. Total Txs: ' + newHistory.length);
@ -904,21 +943,27 @@ angular.module('copayApp.controllers').controller('indexController', function($r
$timeout(function() {
self.updateLocalTxHistory(fc, function(err) {
self.updatingTxHistory[walletId] = false;
self.loadingWallet = false;
self.txProgress = 0;
if (err)
self.txHistoryError = true;
$timeout(function() {
self.newTx = false
}, 1000);
$rootScope.$apply();
});
});
};
self.updateTxHistory = lodash.debounce(function() {
self.debounceUpdateHistory = lodash.debounce(function() {
self.updateHistory();
}, 1000);
self.throttledUpdateHistory = lodash.throttle(function() {
self.updateHistory();
}, 5000);
}, 10000);
self.showErrorPopup = function(msg, cb) {
$log.warn('Showing err popup:' + msg);
@ -953,6 +998,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
};
self.openMenu = function() {
if (!self.disclaimerAccepted) return;
go.swipe(true);
};
@ -1090,10 +1136,15 @@ angular.module('copayApp.controllers').controller('indexController', function($r
});
};
$rootScope.$on('$stateChangeSuccess', function(ev, to, toParams, from, fromParams) {
self.prevState = from.name || 'walletHome';
self.tab = 'walletHome';
});
$rootScope.$on('Local/ClearHistory', function(event) {
$log.debug('The wallet transaction history has been deleted');
self.txHistory = self.completeHistory = [];
self.updateHistory();
self.debounceUpdateHistory();
});
$rootScope.$on('Local/AddressbookUpdated', function(event, ab) {
@ -1136,10 +1187,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r
});
});
$rootScope.$on('Local/NewFocusedWallet', function() {
self.setUxLanguage();
});
$rootScope.$on('Local/LanguageSettingUpdated', function() {
self.setUxLanguage();
self.updateRemotePreferences({
@ -1189,7 +1236,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.updateAll({
quiet: true
});
self.updateTxHistory();
self.debounceUpdateHistory();
}, 4000, {
leading: false,
trailing: true
@ -1197,6 +1244,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
$rootScope.$on('Local/Resume', function(event) {
$log.debug('### Resume event');
self.isDisclaimerAccepted();
self.debouncedUpdate();
});
@ -1232,6 +1280,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
});
$rootScope.$on('NewIncomingTx', function() {
self.newTx = true;
self.updateAll({
walletStatus: null,
untilItChanges: true,
@ -1257,13 +1306,14 @@ angular.module('copayApp.controllers').controller('indexController', function($r
if (self.network == 'testnet') {
self.throttledUpdateHistory();
} else {
self.updateTxHistory();
self.debounceUpdateHistory();
}
}
});
$rootScope.$on('NewOutgoingTx', function() {
self.newTx = true;
self.updateAll({
walletStatus: null,
untilItChanges: true,
@ -1275,6 +1325,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
'Local/NewTxProposal', 'Local/TxProposalAction', 'Local/GlideraTx'
], function(eventName) {
$rootScope.$on(eventName, function(event, untilItChanges) {
self.newTx = eventName == 'Local/TxProposalAction' && untilItChanges;
self.updateAll({
walletStatus: null,
untilItChanges: untilItChanges,
@ -1306,19 +1357,26 @@ angular.module('copayApp.controllers').controller('indexController', function($r
});
$rootScope.$on('Local/NoWallets', function(event) {
$timeout(function() {
self.hasProfile = true;
self.noFocusedWallet = true;
self.isComplete = null;
self.walletName = null;
self.setUxLanguage();
profileService.isDisclaimerAccepted(function(v) {
if (v) {
go.path('import');
}
});
});
});
$rootScope.$on('Local/NewFocusedWallet', function() {
self.setUxLanguage();
self.setFocusedWallet();
self.updateTxHistory();
go.walletHome();
self.debounceUpdateHistory();
self.isDisclaimerAccepted();
storageService.getCleanAndScanAddresses(function(err, walletId) {
if (walletId && profileService.walletClients[walletId]) {
$log.debug('Clear last address cache and Scan ', walletId);

View file

@ -46,9 +46,8 @@ angular.module('copayApp.controllers').controller('paymentUriController',
if (wid != profileService.focusedClient.credentials.walletId) {
profileService.setAndStoreFocus(wid, function() {});
}
go.send();
$timeout(function() {
$rootScope.$emit('paymentUri', self.bitcoinURI);
}, 100);
}, 1000);
};
});

View file

@ -3,6 +3,12 @@
angular.module('copayApp.controllers').controller('preferencesController',
function($scope, $rootScope, $timeout, $log, configService, profileService) {
var fc = profileService.focusedClient;
$scope.deleted = false;
if (fc.credentials && !fc.credentials.mnemonicEncrypted && !fc.credentials.mnemonic) {
$scope.deleted = true;
}
this.init = function() {
var config = configService.getSync();
var fc = profileService.focusedClient;
@ -38,7 +44,7 @@ angular.module('copayApp.controllers').controller('preferencesController',
});
} else {
if (!val && fc.hasPrivKeyEncrypted()) {
profileService.unlockFC(function(err){
profileService.unlockFC(function(err) {
if (err) {
$scope.encrypt = true;
return;
@ -76,8 +82,7 @@ angular.module('copayApp.controllers').controller('preferencesController',
$scope.touchidError = true;
$scope.touchid = oldVal;
}, 100);
}
else {
} else {
configService.set(opts, function(err) {
if (err) {
$log.debug(err);

View file

@ -7,7 +7,7 @@ angular.module('copayApp.controllers').controller('preferencesColorController',
'#DD4B39',
'#F38F12',
'#FAA77F',
'#FADA58',
'#D0B136',
'#9EDD72',
'#77DADA',
'#4A90E2',

View file

@ -0,0 +1,26 @@
'use strict';
angular.module('copayApp.controllers').controller('preferencesDeleteWordsController',
function(confirmDialog, notification, profileService, go, gettext) {
var self = this;
var fc = profileService.focusedClient;
var msg = gettext('Are you sure you want to delete the backup words?');
var successMsg = gettext('Backup words deleted');
if (fc.credentials && !fc.credentials.mnemonicEncrypted && !fc.credentials.mnemonic)
self.deleted = true;
self.delete = function() {
confirmDialog.show(msg,
function(ok) {
if (ok) {
fc.clearMnemonic();
profileService.updateCredentialsFC(function() {
notification.success(successMsg);
go.walletHome();
});
}
});
};
});

View file

@ -0,0 +1,21 @@
'use strict';
angular.module('copayApp.controllers').controller('preferencesHistory',
function($scope, $log, $timeout, storageService, go, profileService) {
var fc = profileService.focusedClient;
var c = fc.credentials;
this.clearTransactionHistory = function() {
storageService.removeTxHistory(c.walletId, function(err) {
if (err) {
$log.error(err);
return;
}
$scope.$emit('Local/ClearHistory');
$timeout(function() {
go.walletHome();
}, 100);
});
}
});

View file

@ -94,17 +94,4 @@ angular.module('copayApp.controllers').controller('preferencesInformation',
}, 100);
};
this.clearTransactionHistory = function() {
storageService.removeTxHistory(c.walletId, function(err) {
if (err) {
$log.error(err);
return;
}
$scope.$emit('Local/ClearHistory');
$timeout(function() {
go.walletHome();
}, 100);
});
}
});

View file

@ -1,7 +1,7 @@
'use strict';
angular.module('copayApp.controllers').controller('sellGlideraController',
function($scope, $timeout, $log, $modal, configService, profileService, addressService, feeService, glideraService, bwsError, lodash, isChromeApp, animationService) {
function($scope, $timeout, $log, $modal, configService, profileService, addressService, glideraService, bwsError, lodash, isChromeApp, animationService) {
var self = this;
var config = configService.getSync();
@ -11,7 +11,6 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
this.error = null;
this.loading = null;
this.currentSpendUnconfirmed = config.wallet.spendUnconfirmed;
this.currentFeeLevel = config.wallet.settings.feeLevel || 'normal';
var fc;
var otherWallets = function(testnet) {
@ -48,6 +47,7 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.type = 'SELL';
$scope.wallets = wallets;
$scope.noColor = true;
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
@ -122,7 +122,7 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
}, 100);
};
this.createTx = function(token, permissions, twoFaCode) {
this.createTx = function(token, permissions, twoFaCode, currentFeePerKb) {
var self = this;
self.error = null;
@ -142,15 +142,13 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
}
var amount = parseInt((self.sellPrice.qty * 100000000).toFixed(0));
feeService.getCurrentFeeValue(self.currentFeeLevel, function(err, feePerKb) {
if (err) $log.debug(err);
fc.sendTxProposal({
toAddress: sellAddress,
amount: amount,
message: 'Glidera transaction',
customData: {'glideraToken': token},
payProUrl: null,
feePerKb: feePerKb,
feePerKb: currentFeePerKb,
excludeUnconfirmedUtxos: self.currentSpendUnconfirmed ? false : true
}, function(err, txp) {
if (err) {
@ -204,7 +202,6 @@ angular.module('copayApp.controllers').controller('sellGlideraController',
});
});
});
});
}, 100);

View file

@ -1,35 +0,0 @@
'use strict';
angular.module('copayApp.controllers').controller('splashController',
function($scope, $timeout, $log, profileService, storageService, go) {
$scope.create = function(noWallet) {
$scope.creatingProfile = true;
$timeout(function() {
profileService.create({
noWallet: noWallet
}, function(err) {
if (err) {
$scope.creatingProfile = false;
$log.warn(err);
$scope.error = err;
$scope.$apply();
$timeout(function() {
$scope.create(noWallet);
}, 3000);
}
});
}, 100);
};
$scope.init = function() {
storageService.getCopayDisclaimerFlag(function(err, val) {
if (!val) go.path('disclaimer');
if (profileService.profile) {
go.walletHome();
}
});
};
});

View file

@ -0,0 +1,8 @@
'use strict';
angular.module('copayApp.controllers').controller('termOfUseController',
function($scope, uxLanguage) {
$scope.lang = uxLanguage.currentLanguage;
});

View file

@ -1,17 +1,13 @@
'use strict';
angular.module('copayApp.controllers').controller('topbarController', function($scope, $rootScope, go) {
this.onQrCodeScanned = function(data) {
$rootScope.$emit('dataScanned', data);
};
this.openSendScreen = function() {
go.send();
};
angular.module('copayApp.controllers').controller('topbarController', function(go) {
this.goHome = function() {
go.walletHome();
};
this.goPreferences = function() {
go.preferences();
};
});

View file

@ -1,13 +1,12 @@
'use strict';
angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, ledger, feeService, bwsError, confirmDialog, txFormatService, animationService, addressbookService) {
angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, ledger, bwsError, confirmDialog, txFormatService, animationService, addressbookService, go) {
var self = this;
$rootScope.hideMenuBar = false;
$rootScope.wpInputFocused = false;
var config = configService.getSync();
var configWallet = config.wallet;
$scope.currentSpendUnconfirmed = configWallet.spendUnconfirmed;
// INIT
var walletSettings = configWallet.settings;
@ -40,8 +39,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
});
var disablePaymentUriListener = $rootScope.$on('paymentUri', function(event, uri) {
$timeout(function() {
$rootScope.$emit('Local/SetTab', 'send');
$timeout(function() {
self.setForm(uri);
}, 100);
});
@ -97,6 +96,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
}
};
this.onQrCodeScanned = function(data) {
if (data) go.send();
$rootScope.$emit('dataScanned', data);
};
rateService.whenAvailable(function() {
self.isRateAvailable = true;
$rootScope.$digest();
@ -106,10 +110,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
var cancel_msg = gettextCatalog.getString('Cancel');
var confirm_msg = gettextCatalog.getString('Confirm');
$scope.openDestinationAddressModal = function(wallets, address) {
this.openDestinationAddressModal = function(wallets, address) {
$rootScope.modalOpened = true;
var fc = profileService.focusedClient;
self.resetForm();
self.lockAddress = false;
self._address = null;
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.wallets = wallets;
@ -117,11 +122,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$scope.addAddressbookEntry = false;
$scope.selectedAddressbook = {};
$scope.newAddress = address;
$scope.walletName = fc.credentials.walletName;
$scope.color = fc.backgroundColor;
$scope.addressbook = {
'address': ($scope.newAddress || ''),
'label': ''
};
$scope.color = fc.backgroundColor;
$scope.beforeQrCodeScann = function() {
$scope.error = null;
@ -263,7 +269,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$rootScope.modalOpened = true;
var fc = profileService.focusedClient;
var refreshUntilItChanges = false;
var currentSpendUnconfirmed = $scope.currentSpendUnconfirmed;
var currentSpendUnconfirmed = configWallet.spendUnconfirmed;
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.error = null;
$scope.copayers = copayers
@ -465,9 +471,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.copyAddress(addr);
};
$scope.cancel = function() {
$scope.cancel = lodash.debounce(function() {
$modalInstance.dismiss('cancel');
};
}, 0, 1000);
};
var modalInstance = $modal.open({
@ -653,15 +659,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
// Send
var unwatchSpendUnconfirmed = $scope.$watch('currentSpendUnconfirmed', function(newVal, oldVal) {
if (newVal == oldVal) return;
$scope.currentSpendUnconfirmed = newVal;
});
$scope.$on('$destroy', function() {
unwatchSpendUnconfirmed();
});
this.canShowAlternative = function() {
return $scope.showAlternative;
};
@ -689,7 +686,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
// on touchdown elements
$log.debug('Binding touchstart elements...');
['hamburger', 'menu-walletHome', 'menu-send', 'menu-receive', 'menu-history'].forEach(function(id) {
['hamburger', 'menu-walletHome', 'menu-send', 'menu-receive'].forEach(function(id) {
var e = document.getElementById(id);
if (e) e.addEventListener('touchstart', function() {
try {
@ -829,13 +826,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
};
this.setFee = function(level) {
this.currentSendFeeLevel = level;
};
this.submitForm = function() {
this.submitForm = function(currentFeePerKb) {
var fc = profileService.focusedClient;
var unitToSat = this.unitToSatoshi;
var currentSpendUnconfirmed = configWallet.spendUnconfirmed;
if (isCordova && this.isWindowsPhoneApp) {
this.hideAddress = false;
@ -873,14 +867,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
address = form.address.$modelValue;
amount = parseInt((form.amount.$modelValue * unitToSat).toFixed(0));
var getFee = function(cb) {
if (form.feePerKb) {
cb(null, form.feePerKb);
} else {
feeService.getCurrentFeeValue(self.currentSendFeeLevel, cb);
}
};
requestTouchid(function(err) {
if (err) {
profileService.lockFC();
@ -892,15 +878,13 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return;
}
getFee(function(err, feePerKb) {
if (err) $log.debug(err);
fc.sendTxProposal({
toAddress: address,
amount: amount,
message: comment,
payProUrl: paypro ? paypro.url : null,
feePerKb: feePerKb,
excludeUnconfirmedUtxos: $scope.currentSpendUnconfirmed ? false : true
feePerKb: currentFeePerKb,
excludeUnconfirmedUtxos: currentSpendUnconfirmed ? false : true
}, function(err, txp) {
if (err) {
self.setOngoingProcess();
@ -927,8 +911,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$timeout(function() {
$scope.$digest();
}, 1);
}
});
} else go.walletHome();
});
});
});
@ -985,7 +968,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
});
};
this.setForm = function(to, amount, comment, feeRate) {
this.setForm = function(to, amount, comment) {
var form = $scope.sendForm;
if (to) {
form.address.$setViewValue(to);
@ -1006,10 +989,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
form.comment.$isValid = true;
form.comment.$render();
}
if (feeRate) {
form.feeRate = feeRate;
}
};
@ -1020,18 +999,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.lockAddress = false;
this.lockAmount = false;
this.currentSendFeeLevel = null;
this.hideAdvSend = true;
$scope.currentSpendUnconfirmed = configService.getSync().wallet.spendUnconfirmed;
this._amount = this._address = null;
var form = $scope.sendForm;
if (form && form.feeRate) {
form.feeRate = null;
}
if (form && form.amount) {
form.amount.$pristine = true;
form.amount.$setViewValue('');
@ -1253,9 +1225,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.copyAddress(addr);
};
$scope.cancel = function() {
$scope.cancel = lodash.debounce(function() {
$modalInstance.dismiss('cancel');
};
}, 0, 1000);
};
@ -1281,19 +1253,20 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return actions.hasOwnProperty('create');
};
this._doSendAll = function(amount, feeRate) {
this.setForm(null, amount, null, feeRate);
this._doSendAll = function(amount) {
this.setForm(null, amount, null);
};
this.sendAll = function(amount, feeStr, feeRate) {
this.sendAll = function(amount, feeStr) {
var self = this;
var msg = gettextCatalog.getString("{{fee}} will be deducted for bitcoin networking fees", {
fee: feeStr
});
confirmDialog.show(msg, function(confirmed) {
if (confirmed)
self._doSendAll(amount, feeRate);
if (confirmed) {
self._doSendAll(amount);
}
});
};

View file

@ -11,8 +11,7 @@ angular.element(document).ready(function() {
if (!url) return;
if (url.indexOf('glidera') != -1) {
url = '#/uri-glidera' + url.replace('bitcoin://glidera', '');
}
else {
} else {
url = '#/uri-payment/' + url;
}
setTimeout(function() {
@ -26,10 +25,15 @@ angular.element(document).ready(function() {
document.addEventListener('deviceready', function() {
var secondBackButtonPress = 'false';
var intval = setInterval(function() {
secondBackButtonPress = 'false';
}, 5000);
document.addEventListener('pause', function() {
if (!window.ignoreMobilePause) {
setTimeout(function() {
window.location = '#/cordova/pause/';
window.location = '#/cordova/pause///';
}, 100);
}
}, false);
@ -37,7 +41,7 @@ angular.element(document).ready(function() {
document.addEventListener('resume', function() {
if (!window.ignoreMobilePause) {
setTimeout(function() {
window.location = '#/cordova/resume/';
window.location = '#/cordova/resume///';
}, 100);
}
setTimeout(function() {
@ -46,11 +50,19 @@ angular.element(document).ready(function() {
}, false);
// Back button event
document.addEventListener('backbutton', function() {
var loc = window.location;
var isHome = loc.toString().match(/index\.html#\/$/) ? 'true' : '';
var fromDisclaimer = loc.toString().match(/disclaimer/) ? 'true' : '';
var fromHome = loc.toString().match(/index\.html#\/$/) ? 'true' : '';
if (!window.ignoreMobilePause) {
window.location = '#/cordova/backbutton/'+isHome;
window.location = '#/cordova/backbutton/' + fromHome + '/' + fromDisclaimer + '/' + secondBackButtonPress;
if (secondBackButtonPress == 'true') {
clearInterval(intval);
} else {
secondBackButtonPress = 'true';
}
}
setTimeout(function() {
window.ignoreMobilePause = false;
@ -63,15 +75,19 @@ angular.element(document).ready(function() {
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
}, 1000);
window.plugins.webintent.getUri(handleBitcoinURI);
window.plugins.webintent.onNewIntent(handleBitcoinURI);
window.handleOpenURL = handleBitcoinURI;
window.plugins.touchid.isAvailable(
function(msg) { window.touchidAvailable = true; }, // success handler: TouchID available
function(msg) { window.touchidAvailable = false; } // error handler: no TouchID available
function(msg) {
window.touchidAvailable = true;
}, // success handler: TouchID available
function(msg) {
window.touchidAvailable = false;
} // error handler: no TouchID available
);
startAngular();

View file

@ -15,15 +15,16 @@ Profile.create = function(opts) {
var x = new Profile();
x.createdOn = Date.now();
x.credentials = opts.credentials || [];
x.disclaimerAccepted = false;
return x;
};
Profile.fromObj = function(obj) {
var x = new Profile();
x.createdOn = obj.createdOn;
x.credentials = obj.credentials;
x.disclaimerAccepted = obj.disclaimerAccepted;
if (x.credentials[0] && typeof x.credentials[0] != 'object')
throw ("credentials should be an object");
@ -31,7 +32,6 @@ Profile.fromObj = function(obj) {
return x;
};
Profile.fromString = function(str) {
return Profile.fromObj(JSON.parse(str));
};
@ -39,5 +39,3 @@ Profile.fromString = function(str) {
Profile.prototype.toObj = function() {
return JSON.stringify(this);
};

View file

@ -75,17 +75,6 @@ angular
// link: http://stackoverflow.com/questions/15606751/angular-changes-urls-to-unsafe-in-extension-page?lq=1
$compileProvider.imgSrcSanitizationWhitelist(/^\s*((https?|ftp|file|blob|chrome-extension):|data:image\/)/);
$stateProvider
.state('splash', {
url: '/splash',
needProfile: false,
views: {
'main': {
templateUrl: 'views/splash.html',
}
}
});
$stateProvider
.state('translators', {
url: '/translators',
@ -274,7 +263,6 @@ angular
},
}
})
.state('preferencesGlidera', {
url: '/preferencesGlidera',
walletShouldBeComplete: true,
@ -285,7 +273,6 @@ angular
},
}
})
.state('preferencesAdvanced', {
url: '/preferencesAdvanced',
templateUrl: 'views/preferencesAdvanced.html',
@ -308,7 +295,6 @@ angular
},
}
})
.state('preferencesAltCurrency', {
url: '/preferencesAltCurrency',
templateUrl: 'views/preferencesAltCurrency.html',
@ -356,6 +342,29 @@ angular
}
})
.state('preferencesHistory', {
url: '/preferencesHistory',
templateUrl: 'views/preferencesHistory.html',
walletShouldBeComplete: true,
needProfile: true,
views: {
'main': {
templateUrl: 'views/preferencesHistory.html'
},
}
})
.state('deleteWords', {
url: '/deleteWords',
templateUrl: 'views/preferencesDeleteWords.html',
walletShouldBeComplete: true,
needProfile: true,
views: {
'main': {
templateUrl: 'views/preferencesDeleteWords.html'
},
}
})
.state('delete', {
url: '/delete',
templateUrl: 'views/preferencesDeleteWallet.html',
@ -377,7 +386,6 @@ angular
},
}
})
.state('about', {
url: '/about',
templateUrl: 'views/preferencesAbout.html',
@ -442,13 +450,21 @@ angular
},
}
})
.state('termOfUse', {
url: '/termOfUse',
needProfile: true,
views: {
'main': {
templateUrl: 'views/termOfUse.html',
},
}
})
.state('warning', {
url: '/warning',
controller: 'warningController',
templateUrl: 'views/warning.html',
needProfile: false
})
.state('add', {
url: '/add',
needProfile: true,
@ -459,17 +475,26 @@ angular
}
})
.state('cordova', {
url: '/cordova/:status/:isHome',
url: '/cordova/:status/:fromHome/:fromDisclaimer/:secondBackButtonPress',
views: {
'main': {
controller: function($rootScope, $state, $stateParams, $timeout, go, isCordova) {
controller: function($rootScope, $state, $stateParams, $timeout, go, isCordova, gettextCatalog) {
switch ($stateParams.status) {
case 'resume':
$rootScope.$emit('Local/Resume');
break;
case 'backbutton':
if (isCordova && $stateParams.isHome == 'true' && !$rootScope.modalOpened) {
if ($stateParams.fromDisclaimer == 'true')
navigator.app.exitApp();
if (isCordova && $stateParams.fromHome == 'true' && !$rootScope.modalOpened) {
if ($stateParams.secondBackButtonPress == 'true') {
navigator.app.exitApp();
} else {
window.plugins.toast.showShortBottom(gettextCatalog.getString('Press again to exit'));
}
} else {
$rootScope.$emit('closeModal');
}
@ -515,13 +540,12 @@ angular
// Give us time to open / create the profile
event.preventDefault();
// Try to open local profile
profileService.loadAndBindProfile(function(err) {
if (err) {
if (err.message && err.message.match('NOPROFILE')) {
$log.debug('No profile... redirecting');
$state.transitionTo('splash');
$state.transitionTo('disclaimer');
} else if (err.message && err.message.match('NONAGREEDDISCLAIMER')) {
$log.debug('Display disclaimer... redirecting');
$state.transitionTo('disclaimer');

View file

@ -36,14 +36,15 @@ angular.module('copayApp.services').factory('animationService', function(isCordo
preferencesFee: 12,
preferencesAltCurrency: 12,
preferencesBwsUrl: 13,
preferencesHistory: 13,
preferencesAlias: 12,
preferencesEmail: 12,
export: 13,
paperWallet: 13,
logs: 13,
information: 13,
termOfUse: 13,
translators: 13,
disclaimer: 13,
add: 11,
create: 12,
join: 12,

View file

@ -8,7 +8,7 @@ angular.module('copayApp.services')
prefix = prefix || '';
if (err && err.code) {
switch(err.code) {
switch (err.code) {
case 'CONNECTION_ERROR':
body = gettextCatalog.getString('Network connection error');
break;
@ -96,6 +96,9 @@ angular.module('copayApp.services')
case 'MAIN_ADDRESS_GAP_REACHED':
body = gettextCatalog.getString('Empty addresses limit reached. New addresses cannot be generated.');
break;
case 'WALLET_LOCKED':
body = gettextCatalog.getString('Wallet is locked');
break;
case 'ERROR':
body = (err.message || err.error);
@ -112,11 +115,11 @@ angular.module('copayApp.services')
body = gettextCatalog.getString(err);
}
var msg = prefix + ( body ? (prefix ? ': ' : '') + body : '');
var msg = prefix + (body ? (prefix ? ': ' : '') + body : '');
return msg;
};
root.cb = function (err,prefix, cb) {
root.cb = function(err, prefix, cb) {
return cb(root.msg(err, prefix))
};

View file

@ -1,6 +1,6 @@
'use strict';
angular.module('copayApp.services').factory('go', function($window, $rootScope, $location, $state, profileService, nodeWebkit) {
angular.module('copayApp.services').factory('go', function($window, $rootScope, $location, $state, $timeout, profileService, nodeWebkit) {
var root = {};
var hideSidebars = function() {
@ -32,8 +32,7 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
root.openExternalLink = function(url, target) {
if (nodeWebkit.isDefined()) {
nodeWebkit.openExternalLink(url);
}
else {
} else {
target = target || '_blank';
var ref = window.open(url, target, 'location=no');
}
@ -53,7 +52,7 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
toggleSidebar(invert);
};
root.walletHome = function() {
root.walletHome = function(delayed) {
var fc = profileService.focusedClient;
if (fc && !fc.isComplete()) {
root.path('copayers');

Some files were not shown because too many files have changed in this diff Show more