mirror of https://github.com/BTCPrivate/copay.git
237 lines
9.6 KiB
HTML
237 lines
9.6 KiB
HTML
<div
|
|
class="topbar-container"
|
|
ng-include="'views/includes/topbar.html'"
|
|
ng-init="titleSection='Import wallet'; goBackToState = 'add'; noColor = true">
|
|
</div>
|
|
|
|
<div class="content p20b" ng-controller="importController" ng-init="type='12'">
|
|
<div class="create-tab pr small-only-text-center" ng-hide="create.hideTabs">
|
|
<div class="row">
|
|
<div class="tab-container small-4 medium-4 large-4" ng-class="{'selected': type =='12'}">
|
|
<a href ng-click="setType('12')" translate>Recovery Phrase</a>
|
|
</div>
|
|
<div class="tab-container small-4 medium-4 large-4" ng-class="{'selected': type=='file'}">
|
|
<a href ng-click="setType('file')" translate>File/Text Backup</a>
|
|
</div>
|
|
<div class="tab-container small-4 medium-4 large-4" ng-class="{'selected': type=='hwWallet'}">
|
|
<a href ng-click="setType('hwWallet')" translate>Hardware Wallet</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-show="type == '12' ">
|
|
|
|
<div class="row">
|
|
<div class="large-12 columns">
|
|
<div class="box-notification m20b" ng-show="importErr">
|
|
<div ng-show="importErr" class="text-warning">
|
|
<div class="m10 text-bold" translate>Could not access the wallet at the server. Please check:</div>
|
|
<ul class="size-12">
|
|
<li translate>The password of the recovery phrase (if set)</li>
|
|
<li translate>The derivation path</li>
|
|
<li translate>The wallet service URL</li>
|
|
</ul>
|
|
<div class="m15l">
|
|
<span translate>NOTE: To import a wallet from a 3rd party software, please go to Add Wallet > Create Wallet, and specify the Recovery Phrase there.</span><br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="box-notification m20b" ng-show="error">
|
|
<div class="text-warning">{{error|translate}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="large-12 columns">
|
|
<form name="importForm12" ng-submit="importMnemonic(importForm12)" novalidate>
|
|
<label for="words" class="m25r">
|
|
<span translate>Type the Recovery Phrase (usually 12 words)</span>:
|
|
</label>
|
|
|
|
<div class="qr-scanner-input-import" ng-show="!dataFromQR">
|
|
<qr-scanner on-scan="processWalletInfo(data)"></qr-scanner>
|
|
</div>
|
|
|
|
<div class="lock-fromQR" ng-show="dataFromQR">
|
|
<div class="left m10l">
|
|
<i class="fi-lock color-greeni"></i>
|
|
</div>
|
|
<div class="right icon-close-import" ng-click="dataFromQR = null">
|
|
<i class="icon-close-circle size-14"></i>
|
|
</div>
|
|
</div>
|
|
<textarea class="form-control m10t" ng-disabled="dataFromQR" name="words" ng-model="words" rows="2" autocapitalize="off" spellcheck="false"></textarea>
|
|
|
|
<div class="m10t oh" ng-init="hideAdv=true">
|
|
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
|
|
<i class="fi-widget m3r"></i>
|
|
<span translate ng-hide="!hideAdv">Show advanced options</span>
|
|
<span translate ng-hide="hideAdv">Hide advanced options</span>
|
|
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
|
|
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
|
|
</a>
|
|
</div>
|
|
|
|
<div ng-hide="hideAdv" class="row">
|
|
<div class="large-12 columns">
|
|
<label for="passphrase" class="oh"><span translate>Password</span> <small translate>The Wallet Recovery Phrase could require a password to be imported</small>
|
|
<div class="input">
|
|
<input type="password" class="form-control" placeholder="{{'Password'|translate}}"
|
|
name="passphrase" ng-model="passphrase">
|
|
</div>
|
|
</label>
|
|
|
|
<div>
|
|
<label class="oh"><span translate>Derivation Path</span> <small translate>BIP32 path for address derivation</small>
|
|
<input type="text" class="form-control" name="derivationPath" ng-model="derivationPath">
|
|
</label>
|
|
</div>
|
|
|
|
<label for="bws" class="oh">
|
|
<span>Wallet Service URL</span>
|
|
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
|
|
</label>
|
|
|
|
<div class="oh">
|
|
<ion-toggle ng-model="testnetEnabled" ng-change="setDerivationPath()" toggle-class="toggle-balanced" class="bct">
|
|
<span class="toggle-label">Testnet</span>
|
|
</ion-toggle>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<button translate type="submit" class="button round expand black m10t" ng-disabled="importForm12.$invalid">Import</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-show="type == 'file' ">
|
|
<div class="row">
|
|
<div class="large-12 columns">
|
|
<div class="box-notification m20b" ng-show="error">
|
|
<span class="text-warning size-14">
|
|
{{error|translate}}
|
|
</span>
|
|
</div>
|
|
<form name="importForm" ng-submit="importBlob(importForm)" novalidate>
|
|
|
|
<div ng-show="!index.isSafari && !index.isCordova" class="line-b m10b">
|
|
<label for="backupFile">
|
|
<span translate>Choose a backup file from your computer</span> <i class="fi-laptop"></i>
|
|
</label>
|
|
<input type="file" class="form-control" placeholder="{{'Select a backup file'|translate}}"
|
|
name="backupFile" ng-model="backupFile" ng-file-select>
|
|
</div>
|
|
|
|
<div ng-show="index.isSafari || index.isCordova">
|
|
<label for="backupText">
|
|
<span translate>Paste the backup plain text code</span> <i class="fi-clipboard"></i>
|
|
</label>
|
|
<textarea class="form-control" name="backupText" ng-model="backupText" rows="5"></textarea>
|
|
</div>
|
|
|
|
<label for="password"><span translate>Password</span>
|
|
</label>
|
|
<div class="input">
|
|
<input type="password" class="form-control" placeholder="{{'Your password'|translate}}"
|
|
name="password" ng-model="password">
|
|
</div>
|
|
|
|
<div class="m10t oh" ng-init="hideAdv=true">
|
|
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
|
|
<i class="fi-widget m3r"></i>
|
|
<span translate ng-hide="!hideAdv">Show advanced options</span>
|
|
<span translate ng-hide="hideAdv">Hide advanced options</span>
|
|
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
|
|
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
|
|
</a>
|
|
</div>
|
|
<div ng-hide="hideAdv" class="row">
|
|
<div class="large-12 columns">
|
|
|
|
<label for="bws" class="oh">
|
|
<span>Wallet Service URL</span>
|
|
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<button translate type="submit" class="button round expand black"
|
|
ng-disabled="importForm.$invalid || !password ">
|
|
Import backup
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-show="type == 'hwWallet'">
|
|
<div class="row">
|
|
<div class="large-12 columns">
|
|
<div class="box-notification m20b" ng-show="error">
|
|
<span class="text-warning size-14">
|
|
{{error|translate}}
|
|
</span>
|
|
</div>
|
|
|
|
<form name="importForm3" ng-submit="importHW(importForm3)" novalidate>
|
|
<div ng-show="!seedOptions[0]">
|
|
<span translate>No hardware wallets supported on this device</span>
|
|
</div>
|
|
<div ng-show="seedOptions[0]">
|
|
<div>
|
|
<label><span translate>Wallet Recovery Phrase</span>
|
|
<select class="m10t" ng-model="seedSource"
|
|
ng-options="seed as seed.label for seed in seedOptions"
|
|
ng-change="setSeedSource()">
|
|
</select>
|
|
</label>
|
|
</div>
|
|
|
|
<div ng-show="seedSourceId == 'trezor' || seedSourceId == 'ledger'">
|
|
|
|
<label class="oh"><span translate>Account Number</span>
|
|
<input type="number" id="account" ng-model="account">
|
|
</label>
|
|
</div>
|
|
|
|
<div class="oh" ng-show="seedSourceId == 'trezor'">
|
|
<ion-toggle ng-model="isMultisig" toggle-class="toggle-balanced" class="bct">
|
|
<span class="toggle-label" translate>Shared Wallet</span>
|
|
</ion-toggle>
|
|
</div>
|
|
|
|
<div class="m10t oh" ng-init="hideAdv=true">
|
|
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
|
|
<i class="fi-widget m3r"></i>
|
|
<span translate ng-hide="!hideAdv">Show advanced options</span>
|
|
<span translate ng-hide="hideAdv">Hide advanced options</span>
|
|
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
|
|
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
|
|
</a>
|
|
</div>
|
|
<div ng-hide="hideAdv" class="row">
|
|
<div class="large-12 columns">
|
|
|
|
<label for="bws" class="oh">
|
|
<span>Wallet Service URL</span>
|
|
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<button translate type="submit" class="button round expand black">
|
|
Import
|
|
</button>
|
|
</div> <!-- seedoptions show -->
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="extra-margin-bottom"></div>
|