Initial Intel TEE integration.
This commit is contained in:
parent
62cc46e455
commit
0c69dfb061
24 changed files with 492 additions and 75 deletions
28
www/img/icon-inteltee-white.svg
Normal file
28
www/img/icon-inteltee-white.svg
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0"
|
||||
id="svg2328" inkscape:output_extension="org.inkscape.output.svg.inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:cc="http://web.resource.org/cc/" sodipodi:version="0.32" sodipodi:docbase="C:\Documents and Settings\Alex Broersma.D2KY7761\Desktop" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.45.1" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" sodipodi:docname="aa.svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="293px" height="194px"
|
||||
viewBox="0 0 293 194" enable-background="new 0 0 293 194" xml:space="preserve">
|
||||
<sodipodi:namedview id="base" inkscape:current-layer="svg2328" inkscape:window-y="-4" inkscape:window-x="-4" inkscape:cy="131.76504" inkscape:cx="219.80302" inkscape:zoom="4.0618557" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" objecttolerance="10.0" gridtolerance="10.0" guidetolerance="10.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-width="1440" inkscape:window-height="844">
|
||||
</sodipodi:namedview>
|
||||
<path id="path6" fill="#FFFFFF" d="M291.287,55.059c-13.78-67.174-143.762-71.429-227.549-20.25v5.652
|
||||
C147.415-2.731,266.148-2.456,276.953,59.422c3.641,20.499-7.826,41.818-28.387,54.086v16.053
|
||||
C273.316,120.48,298.616,91.088,291.287,55.059 M138.926,172.67c-57.824,5.353-118.073-3.071-126.508-48.434
|
||||
C8.229,101.9,18.427,78.193,31.878,63.484v-7.875C7.624,76.957-5.551,103.961,2.056,135.844
|
||||
c9.701,40.916,61.407,64.076,140.344,56.364c31.255-3.018,72.157-13.116,100.543-28.782v-22.258
|
||||
C217.146,156.617,174.479,169.381,138.926,172.67z"/>
|
||||
<path id="path8" fill="#FFFFFF" d="M238.312,45.348h-15.158v67.812c0,7.965,3.804,14.891,15.158,15.989"/>
|
||||
<path id="path10" fill="#FFFFFF" d="M57.73,70.13H42.571v44.292c0,7.967,3.804,14.893,15.159,15.99"/>
|
||||
<rect id="rect12" x="42.571" y="47.408" fill="#FFFFFF" width="15.159" height="14.426"/>
|
||||
<path id="path14" fill="#FFFFFF" d="M148.571,129.699c-12.291,0-17.473-8.574-17.473-17.036V53.838h14.993V70.13h11.354V82.33
|
||||
h-11.354v29.426c0,3.461,1.654,5.359,5.235,5.359h6.119v12.584H148.571"/>
|
||||
<path id="path16" fill="#FFFFFF" d="M188.426,81.589c-5.125,0-9.094,2.665-10.748,6.264c-0.992,2.17-1.323,3.819-1.486,6.486h23.206
|
||||
C199.066,87.826,196.143,81.589,188.426,81.589 M176.191,104.613c0,7.722,4.848,13.406,13.337,13.406
|
||||
c6.671,0,9.979-1.868,13.837-5.684l9.262,8.929c-5.954,5.878-12.183,9.45-23.207,9.45c-14.387,0-28.168-7.885-28.168-30.855
|
||||
c0-19.645,12.016-30.744,27.837-30.744c16.04,0,25.245,12.996,25.245,30.059v5.44L176.191,104.613"/>
|
||||
<path id="path18" fill="#FFFFFF" d="M98.576,82.33c4.409,0,6.229,2.171,6.229,5.715v41.735h15.049V87.99
|
||||
c0-8.49-4.521-17.86-17.694-17.86H71.125v59.65h14.993V82.329"/>
|
||||
<text transform="matrix(1.0217 0 0 1 246.8975 55.2607)" fill="#127CC1" font-family="'ArialMT'" font-size="13.8854">®</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
|
@ -4,7 +4,13 @@
|
|||
<div>
|
||||
<span ng-show="wallet.status.wallet.singleAddress" class="size-12"><span translate>Auditable</span></span>
|
||||
<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() == 'intelTEE'"
|
||||
src="img/icon-inteltee-white.svg">
|
||||
<span class="size-12 dib" style="height:0.6em; margin-right: 1px;" ng-show="wallet.account">#{{wallet.account || 0}} </span>
|
||||
|
||||
<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">
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
14
www/views/preferencesExternal.html
Normal file
14
www/views/preferencesExternal.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<ion-view>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{exteralSource}}</ion-nav-title>
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div class="padding">
|
||||
<button class="button button-standard button-assertive" ng-click="showMneumonicFromHardwarePopup()">
|
||||
{{'Show Recovery Phrase'|translate}}
|
||||
</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
@ -43,6 +43,13 @@
|
|||
{{derivationStrategy}}
|
||||
</span>
|
||||
</div>
|
||||
<a class="item item-icon-right" href ui-sref="tabs.preferences.preferencesExternal" ng-show="wallet.isPrivKeyExternal()">
|
||||
<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()">
|
||||
<span translate>Hardware Wallet</span>
|
||||
<span class="item-note">
|
||||
|
|
|
|||
|
|
@ -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.id == 'new' || seedSource.id == 'intelTEE'" ng-model="formData.testnetEnabled" toggle-class="toggle-positive">
|
||||
Testnet
|
||||
</ion-toggle>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,19 @@
|
|||
</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 style="position: absolute; width: 220px" ng-show="shouldShowReceiveAddressFromHardware()">
|
||||
<div style="width: 100%; height: 226px; background-color: rgba(255,255,255,0.8);">
|
||||
<button class="button light-gray small round m10b"
|
||||
style="background-color: white; border-color: black; color: black; top: 50%; transform: translateY(-50%);"
|
||||
ng-click="showReceiveAddressFromHardware()">
|
||||
<span translate>Show address</span>
|
||||
</button>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
|
||||
<qrcode ng-if="walletAddrs[wallet.id]" size="220" data="bitcoin:{{walletAddrs[wallet.id]}}" color="#334"></qrcode>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue