Merge pull request #5797 from ajp8164/feat/intel-tee

Baseline Intel TEE support
This commit is contained in:
Javier Donadío 2017-04-17 13:57:25 -03:00 committed by GitHub
commit 803a9ca365
27 changed files with 635 additions and 102 deletions

View file

@ -16,7 +16,7 @@
<span translate>File/Text</span>
</div>
<div class="col" ng-click="hardware = true; phrase = file = false" ng-style="hardware &&
{'border-bottom-style': 'solid'}" ng-show="isCopay && (isChromeApp || isDevel)">
{'border-bottom-style': 'solid'}" ng-show="isCopay && (supportsLedger || supportsTrezor)">
<span translate>Hardware wallet</span>
</div>
</div>

View file

@ -6,8 +6,9 @@
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.network != 'livenet'" src="img/icon-testnet-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="!wallet.canSign() && !wallet.isPrivKeyExternal()" src="img/icon-read-only-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.getPrivKeyExternalSourceName() == 'trezor'" src="img/icon-trezor-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.getPrivKeyExternalSourceName() == 'ledger'" src="img/icon-ledger-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.getPrivKeyExternalSourceName() == 'trezor'" src="img/icon-trezor-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.getPrivKeyExternalSourceName() == 'ledger'" src="img/icon-ledger-white.svg">
<img style="height:0.6em; margin-right: 1px;" ng-show="wallet.getPrivKeyExternalSourceName() == 'intelTEE'" src="img/icon-inteltee-white.svg">
<span ng-show="wallet.credentials.n > 1" class="size-12"><span translate>{{wallet.m}}-of-{{wallet.n}}</span></span>
<span class="size-12 dib" style="height:0.6em; margin-right: 1px;" ng-show="wallet.credentials.account">#{{wallet.credentials.account || 0}} </span>

View file

@ -18,12 +18,6 @@
</span>
<i class="icon bp-arrow-right"></i>
</a>
<a class="item" ng-show="wallet.isPrivKeyExternal()">
<span translate>Hardware Wallet</span>
<span class="item-note">
{{externalSource}}
</span>
</a>
<a class="item item-icon-right" ui-sref="tabs.preferences.preferencesColor">
<span translate>Color</span>
<span class="item-note">
@ -38,7 +32,7 @@
<span class="toggle-label" translate>Hide Balance</span>
</ion-toggle>
<div class="item item-divider" translate>
<div class="item item-divider" ng-hide="wallet.isPrivKeyExternal() || !wallet.canSign()" translate>
Security
</div>
<a class="item item-icon-right" ui-sref="tabs.preferences.backupWarning({from: 'tabs.preferences'})" ng-hide="wallet.isPrivKeyExternal()">

View file

@ -0,0 +1,41 @@
<ion-view class="settings">
<ion-nav-bar class="bar-royal">
<ion-nav-title>{{externalSource.longName}}</ion-nav-title>
<ion-nav-back-button>
</ion-nav-back-button>
</ion-nav-bar>
<ion-content>
<div ng-include="'views/includes/walletItem.html'"></div>
<div ng-if="!externalSource.isEmbeddedHardware">
<div ng-if="!hardwareConnected" class="info centered">
<span translate>No hardware information available.</span>
</div>
</div>
<div ng-if="externalSource.isEmbeddedHardware">
<div ng-if="!hardwareConnected" class="warning centered">
<span translate>Hardware not connected.</span><br>
<span translate>Check installation and retry.</span>
</div>
<div ng-if="hardwareConnected">
<div class="list">
<div class="item">
<span translate>Version</span>
<span class="item-note">
{{externalSource.version || 'hardware disconnected'}}
</span>
</div>
</div>
<div class="padding">
<button class="button button-standard button-assertive" ng-click="showMneumonicFromHardwarePopup()">
{{'Show Recovery Phrase'|translate}}
</button>
</div>
</div>
</div>
</ion-content>
</ion-view>

View file

@ -43,12 +43,19 @@
{{derivationStrategy}}
</span>
</div>
<div class="item" ng-show="wallet.isPrivKeyExternal()">
<div class="item" ng-show="wallet.isPrivKeyExternal() && !externalSource.isEmbeddedHardware">
<span translate>Hardware Wallet</span>
<span class="item-note">
{{wallet.getPrivKeyExternalSourceName()}}
{{externalSource}}
</span>
</div>
<a class="item item-icon-right" href ui-sref="tabs.preferences.preferencesExternal" ng-show="wallet.isPrivKeyExternal() && externalSource.isEmbeddedHardware">
<span translate>Hardware Wallet</span>
<span class="item-note">
{{externalSource}}
</span>
<i class="icon bp-arrow-right"></i>
</a>
<div class="item" ng-show="!wallet.isPrivKeyExternal() && !wallet.canSign()">
<span translate></span>
<span class="item-note">

View file

@ -90,7 +90,7 @@
ng-model="formData.derivationPath">
</label>
<ion-toggle ng-show="seedSource.id == 'new'" ng-model="formData.testnetEnabled" toggle-class="toggle-positive">
<ion-toggle ng-show="seedSource.supportsTestnet" ng-model="formData.testnetEnabled" toggle-class="toggle-positive">
<span translate>Testnet</span>
</ion-toggle>

View file

@ -120,7 +120,7 @@
ng-model="formData.derivationPath">
</label>
<ion-toggle ng-show="seedSource.id == 'new'" ng-model="formData.testnetEnabled" toggle-class="toggle-positive">
<ion-toggle ng-show="seedSource.supportsTestnet" ng-model="formData.testnetEnabled" toggle-class="toggle-positive">
Testnet
</ion-toggle>

View file

@ -15,7 +15,7 @@
<select ng-model="formData.seedSource" ng-options="seed as seed.label for seed in seedOptions"></select>
</label>
<label class="item item-input item-stacked-label" ng-show="formData.seedSource.id == 'trezor' || formData.seedSource.id == 'ledger'">
<label class="item item-input item-stacked-label" ng-show="formData.seedSource.id == 'trezor' || formData.seedSource.id == 'ledger' || formData.seedSource.id == 'intelTee'">
<span class="input-label" translate>Account Number</span>
<input type="number" ng-model="formData.account" ignore-mouse-wheel>
</label>

View file

@ -53,6 +53,11 @@
</div>
<div class="row qr">
<div class="text-center col center-block" copy-to-clipboard="addr" ng-repeat="wallet in wallets track by $index" ng-class="walletPosition($index)">
<span class="overlay" ng-show="shouldShowReceiveAddressFromHardware()">
<button class="button button-standard button-primary" ng-click="showReceiveAddressFromHardware()">
<span translate>Show address</span>
</button>
</span>
<qrcode ng-if="walletAddrs[wallet.id]" size="220" data="bitcoin:{{walletAddrs[wallet.id]}}" color="#334"></qrcode>
</div>
</div>