create/join using mnemonic working

This commit is contained in:
Matias Alejo Garcia 2015-09-02 15:56:00 -03:00
commit 452d9e1bda
9 changed files with 187 additions and 151 deletions

View file

@ -7,16 +7,42 @@
<div class="content p20v" ng-controller="wordsController as wordsC">
<div class="row">
<div class="row" ng-show="index.n==1">
<div class="m10t columns size-14 text-gray" translate>
<span translate>
In order to restore your Copay wallet you will need these 12 backup words.
You will need these backup words to restore this personal wallet.
</span>
<span translate class="text-bold">
Write them down and keep them somethere safe
Write them 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" translate>
<span translate>
To restore this {{index.m}}-{{index.n}} shared wallet you will need:
</span>:
<ol class="m10t columns size-14 text-gray">
<li> Your backup words and access to the wallet service where your wallet is registered
<li> <b>OR</b> the backup words of <b>all</b> copayers in the wallet
<li> <b>OR</b> 1 wallet export file and the remaining quorum of backup words (e.g. in a 3-5 wallet: 1 wallet export file + 2 backup words of any of the other copayers).
</ol>
</span>
</div>
</div>
<div class="row" ng-show="(index.n>1 && index.m == index.n )">
<div class="m10t columns size-14 text-gray" translate>
<span translate>
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
</span>:
<ol class="m10t columns size-14 text-gray">
<li> Your backup words and access to the wallet service where wallet is registered
<li> <b>OR</b> the backups words of <b>all</b> copayers in the wallet
</ol>
</span>
</div>
</div>
<div class="row m20t" ng-show="!wordsC.mywords">
<div class="columns size-14 text-gray" translate>
The backup words had been deleted from this device
@ -37,10 +63,11 @@
</div>
<div class="row enable_text_select" ng-show="show" >
<span class="m10" ng-repeat="word in wordsC.mywords">
{{word}}
</span>
<div class="m10 text-center">
<div class="small-centered p10t p10b large-centered medium-centered large-8 medium-8 small-10 columns enable_text_select" style="border:1px solid gray; background:#eee;
">
<span class="m10r" ng-repeat="word in wordsC.mywords">{{word}} </span>
</div>
<div class="m10 text-center columns">
<div class="m10 size-14 text-gray" translate>
<span translate>
Once you have wrote your backup words, it is recommended to delete them from this device.
@ -54,7 +81,9 @@
</button>
</div>
</div>
<div class="row m20t">
<!-- hide this in multisig just to show less text -->
<div class="row m20t" ng-show="index.n==1">
<div class="columns size-14 text-gray" translate>
You can safely install your backup on another device and use your wallet from multiple devices at the same time. <a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay#backups')">
<span translate>Learn more about Copay backups</span>

View file

@ -118,10 +118,10 @@
</label>
<label for="ext-master" class="m10t">
<span translate>Backup Words (BIP39 seed)</span>
<small translate>If not given, a secure key will be generated</small>
<small translate>If not given, a random secure key will be generated</small>
<input id="ext-master"
type="text"
placeholder="{{'BIP32 master extended private key'|translate}}"
placeholder="{{'Backup words'|translate}}"
name="privateKey" ng-model="privateKey">
</label>
</div>

View file

@ -20,21 +20,21 @@
<div class="create-tab small-only-text-center" ng-hide="create.hideTabs">
<div class="row">
<div class="tab-container small-4 medium-4 large-4">
<div class="tab-container small-6 medium-6 large-6">
<a href
ng-class="{'selected': type =='12'}"
ng-click="import.setType('12')" translate>12 Words Backup</a>
</div>
<div class="tab-container small-4 medium-4 large-4">
<div class="tab-container small-6 medium-6 large-6">
<a href
ng-class="{'selected': type=='file'}"
ng-click="import.setType('file')" translate>File/Text Backup</a>
</div>
<div class="tab-container small-4 medium-4 large-4">
<a href
ng-class="{'selected': type=='qr'}"
ng-click="import.setType('qr')" translate>QR Code</a>
</div>
<!-- <div class="tab&#45;container small&#45;4 medium&#45;4 large&#45;4"> -->
<!-- <a href -->
<!-- ng&#45;class="{'selected': type=='qr'}" -->
<!-- ng&#45;click="import.setType('qr')" translate>QR Code</a> -->
<!-- </div> -->
</div>
@ -55,7 +55,7 @@
<label for="words">
<span translate>Type the 12 backup words here</span>:
</label>
<textarea class="form-control" name="words" ng-model="import.words" rows="5"></textarea>
<textarea class="form-control" name="words" ng-model="import.words" rows="2"></textarea>
</div>
<div class="m10t oh" ng-init="hideAdv=true">
@ -69,12 +69,18 @@
</div>
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<label for="passphrase" class="line-b oh"><span translate>Passphrase</span> <small translate>Mnemonics could required a passphrase to be imported</small>
<label for="passphrase" class="line-b oh"><span translate>Passphrase</span> <small translate>Mnemonics could required a passphrase to be imported</small>
<div class="input">
<input type="password" class="form-control" placeholder="{{'Your backup passhrase'|translate}}"
name="passphrase" ng-model="import.passphrase">
</div>
</label>
<label for="network-name" class="line-b oh">
<span translate>Testnet</span>
<switch id="network-name" name="isTestnet" ng-model="isTestnet" class="green right m5t m10b"></switch>
</label>
</div>
</div>

View file

@ -99,11 +99,12 @@
</label>
</div>
<div class="large-12 columns">
<label for="ext-master">{{'Master extended private key'|translate}}
<small translate>If not given, a secure key will be generated</small>
<label for="ext-master">
<span translate>Backup Words (BIP39 seed)</span>
<small translate>If not given, a random secure key will be generated</small>
<input id="ext-master"
type="text"
placeholder="{{'BIP32 master extended private key'|translate}}"
placeholder="{{'Backup words'|translate}}"
name="privateKey" ng-model="privateKey">
</label>
</div>

View file

@ -215,16 +215,14 @@
<!-- Address-->
<div class="large-12 columns">
<h2 class="text-center m10t" translate>My Bitcoin address</h2>
<div >
<div>
<div class="box-notification" ng-show="home.addrError">
<span class="text-warning">
{{home.addrError|translate}}
</span>
</div>
<div class="box-notification" ng-show="home.addrError">
<span class="text-warning">
{{home.addrError|translate}}
</span>
</div>
<div class="text-center" ng-click="home.copyAddress(home.addr[index.walletId])">
<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">
<div style="height:220px; width:220px; margin:auto; background: url(img/qr.png) white">
@ -246,15 +244,17 @@
</div>
</div>
<div class="m10t text-center" ng-show="index.isCordova">
<span class="button outline dark-gray tiny round"
ng-click="home.shareAddress(home.addr[index.walletId])">
<i class="fi-share"></i>
<span translate>Share address</span>
</span>
</div>
<div class="line-t size-12" translate>
Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them.
<div ng-show="home.addr[index.walletId]">
<div class="m10t text-center" ng-show="index.isCordova">
<span class="button outline dark-gray tiny round"
ng-click="home.shareAddress(home.addr[index.walletId])">
<i class="fi-share"></i>
<span translate>Share address</span>
</span>
</div>
<div class="line-t size-12" translate>
Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them.
</div>
</div>
</div>
</div>