aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml54
-rw-r--r--.eslintignore3
-rw-r--r--.nvmrc2
-rw-r--r--CHANGELOG.md6
-rw-r--r--README.md17
-rw-r--r--app/_locales/cs/messages.json8
-rw-r--r--app/_locales/de/messages.json8
-rw-r--r--app/_locales/en/messages.json8
-rw-r--r--app/_locales/es/messages.json8
-rw-r--r--app/_locales/fr/messages.json6
-rw-r--r--app/_locales/hn/messages.json10
-rw-r--r--app/_locales/ht/messages.json8
-rw-r--r--app/_locales/it/messages.json6
-rw-r--r--app/_locales/ja/messages.json2
-rw-r--r--app/_locales/ko/messages.json6
-rw-r--r--app/_locales/nl/messages.json8
-rw-r--r--app/_locales/pl/messages.json10
-rw-r--r--app/_locales/pt/messages.json8
-rw-r--r--app/_locales/ru/messages.json8
-rw-r--r--app/_locales/sk/messages.json4
-rw-r--r--app/_locales/sl/messages.json8
-rw-r--r--app/_locales/th/messages.json6
-rw-r--r--app/_locales/tml/messages.json6
-rw-r--r--app/_locales/tr/messages.json8
-rw-r--r--app/_locales/zh_CN/messages.json6
-rw-r--r--app/_locales/zh_TW/messages.json8
-rw-r--r--app/images/logo/metamask-logo-horizontal-beta.svg115
-rw-r--r--app/images/logo/metamask-logo-horizontal.svg62
-rw-r--r--app/manifest.json12
-rw-r--r--app/scripts/background.js12
-rw-r--r--app/scripts/controllers/preferences.js5
-rw-r--r--app/scripts/controllers/provider-approval.js8
-rw-r--r--app/scripts/ui.js17
-rw-r--r--app/trezor-usb-permissions.html33
-rw-r--r--app/vendor/trezor/content-script.js21
-rw-r--r--app/vendor/trezor/usb-permissions.js50
-rw-r--r--development/genStates.js7
-rw-r--r--development/mock-dev.js2
-rw-r--r--development/version-bump.js2
-rw-r--r--gulpfile.js4
-rw-r--r--mascara/src/app/first-time/import-seed-phrase-screen.js6
-rw-r--r--notices/archive/notice_4.md2
-rw-r--r--old-ui/app/components/app-bar.js2
-rw-r--r--package-lock.json960
-rw-r--r--package.json7
-rw-r--r--test/e2e/beta/drizzle.spec.js16
-rw-r--r--test/e2e/beta/from-import-beta-ui.spec.js104
-rw-r--r--test/e2e/beta/helpers.js21
-rw-r--r--test/e2e/beta/metamask-beta-responsive-ui.spec.js71
-rw-r--r--test/e2e/beta/metamask-beta-ui.spec.js70
-rw-r--r--test/integration/lib/first-time.js117
-rw-r--r--test/integration/lib/mascara-first-time.js133
-rw-r--r--test/integration/lib/navigate-txs.js87
-rw-r--r--test/unit/development/sample-changelog.md2
-rw-r--r--ui/app/components/app-header/app-header.component.js2
-rw-r--r--ui/app/components/pages/add-token/add-token.component.js4
-rw-r--r--ui/app/components/pages/confirm-transaction-base/confirm-transaction-base.component.js48
-rw-r--r--ui/app/components/pages/create-account/connect-hardware/index.js7
-rw-r--r--ui/app/css/itcss/components/network.scss2
-rw-r--r--ui/app/css/itcss/components/new-account.scss1
-rw-r--r--ui/app/select-app.js29
-rw-r--r--ui/app/selectors.js8
-rw-r--r--ui/app/welcome-screen.js2
63 files changed, 895 insertions, 1388 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3aac53171..22d14476b 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -20,14 +20,6 @@ workflows:
- test-deps:
requires:
- prep-deps-npm
- - test-e2e-chrome:
- requires:
- - prep-deps-npm
- - prep-build
- - test-e2e-firefox:
- requires:
- - prep-deps-npm
- - prep-build
- test-e2e-beta-chrome:
requires:
- prep-deps-npm
@@ -47,14 +39,6 @@ workflows:
requires:
- prep-deps-npm
- prep-build
- # - test-integration-mascara-chrome:
- # requires:
- # - prep-deps-npm
- # - prep-scss
- # - test-integration-mascara-firefox:
- # requires:
- # - prep-deps-npm
- # - prep-scss
- test-integration-flat-chrome:
requires:
- prep-deps-npm
@@ -68,13 +52,9 @@ workflows:
- test-lint
- test-unit
- test-mozilla-lint
- - test-e2e-chrome
- - test-e2e-firefox
- test-e2e-beta-chrome
- test-e2e-beta-firefox
- test-e2e-beta-drizzle
- # - test-integration-mascara-chrome
- # - test-integration-mascara-firefox
- test-integration-flat-chrome
- test-integration-flat-firefox
- job-screens:
@@ -196,37 +176,6 @@ jobs:
name: Test
command: npx nsp check
- test-e2e-chrome:
- docker:
- - image: circleci/node:8.11.3-browsers
- steps:
- - checkout
- - attach_workspace:
- at: .
- - run:
- name: test:e2e:chrome
- command: npm run test:e2e:chrome
- - store_artifacts:
- path: test-artifacts
- destination: test-artifacts
-
- test-e2e-firefox:
- docker:
- - image: circleci/node:8.11.3-browsers
- steps:
- - checkout
- - run:
- name: Install Firefox
- command: ./.circleci/scripts/firefox-install
- - attach_workspace:
- at: .
- - run:
- name: test:e2e:firefox
- command: npm run test:e2e:firefox
- - store_artifacts:
- path: test-artifacts
- destination: test-artifacts
-
test-e2e-beta-drizzle:
docker:
- image: circleci/node:8.11.3-browsers
@@ -293,9 +242,6 @@ jobs:
- checkout
- attach_workspace:
at: .
- # - store_artifacts:
- # path: dist/mascara
- # destination: builds/mascara
- store_artifacts:
path: dist/sourcemaps
destination: builds/sourcemaps
diff --git a/.eslintignore b/.eslintignore
index 70f23dafd..f96d39a16 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -10,6 +10,7 @@ development/states.js
app/scripts/lib/extension-instance.js
app/scripts/chromereload.js
+app/vendor/**
ui/lib/blockies.js
@@ -19,5 +20,3 @@ mascara/test/jquery-3.1.0.min.js
test/integration/bundle.js
test/integration/jquery-3.1.0.min.js
test/integration/helpers.js
-test/integration/lib/first-time.js
-
diff --git a/.nvmrc b/.nvmrc
index 41c421777..812d970dc 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v8.11.3
+v8.13
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bc9158c23..7571955d7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,12 @@
# Changelog
## Current Develop Branch
-- [#5694](https://github.com/MetaMask/metamask-extension/pull/5694): Version 5.0.1
-- [#5547](https://github.com/MetaMask/metamask-extension/pull/5547): Bundle some ui dependencies separately to limit the build size of ui.js
+## 5.0.3 Mon Nov 19 2018
+
+- [#5547](https://github.com/MetaMask/metamask-extension/pull/5547): Bundle some ui dependencies separately to limit the build size of ui.js
- Resubmit approved transactions on new block, to fix bug where an error can stick transactions in this state.
+- Fixed a bug that could cause an error when sending the max number of tokens.
## 5.0.2 Friday November 9 2018
diff --git a/README.md b/README.md
index e91df90b5..09beace9e 100644
--- a/README.md
+++ b/README.md
@@ -26,14 +26,15 @@ If you're a web dapp developer, we've got two types of guides for you:
## Building locally
- - Install [Node.js](https://nodejs.org/en/) version 8.11.3 and npm version 6.1.0
- - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you.
- - Select npm 6.1.0: ```npm install -g npm@6.1.0```
- - Install dependencies: ```npm install```
- - Install gulp globally with `npm install -g gulp-cli`.
- - Build the project to the `./dist/` folder with `gulp build`.
- - Optionally, to rebuild on file changes, run `gulp dev`.
- - To package .zip files for distribution, run `gulp zip`, or run the full build & zip with `gulp dist`.
+- Install [Node.js](https://nodejs.org) version 8 and the latest available npm@6
+ - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you.
+ - If you install Node.js manually, ensure you're using npm@6
+ - Install npm@6 using `npm install -g npm@6`
+- Install dependencies: `npm install`
+- Install gulp globally with `npm install -g gulp-cli`.
+- Build the project to the `./dist/` folder with `gulp build`.
+- Optionally, to rebuild on file changes, run `gulp dev`.
+- To package .zip files for distribution, run `gulp zip`, or run the full build & zip with `gulp dist`.
Uncompressed builds can be found in `/dist`, compressed builds can be found in `/builds` once they're built.
diff --git a/app/_locales/cs/messages.json b/app/_locales/cs/messages.json
index fde553c9e..2bce52cd9 100644
--- a/app/_locales/cs/messages.json
+++ b/app/_locales/cs/messages.json
@@ -828,8 +828,8 @@
"supportCenter": {
"message": "Navštivte naše centrum podpory"
},
- "symbolBetweenZeroTen": {
- "message": "Symbol musí být mezi 0 a 10 znaky."
+ "symbolBetweenZeroTwelve": {
+ "message": "Symbol musí být mezi 0 a 12 znaky."
},
"takesTooLong": {
"message": "Trvá to dlouho?"
@@ -942,8 +942,8 @@
"warning": {
"message": "Varování"
},
- "welcomeBeta": {
- "message": "Vítejte v MetaMask Beta"
+ "welcome": {
+ "message": "Vítejte v MetaMask"
},
"whatsThis": {
"message": "Co to je?"
diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json
index 9404a9824..25ec628f0 100644
--- a/app/_locales/de/messages.json
+++ b/app/_locales/de/messages.json
@@ -807,8 +807,8 @@
"supportCenter": {
"message": "Gehe zu unserem Support Center"
},
- "symbolBetweenZeroTen": {
- "message": "Das Symbol muss zwischen 0 und 10 Zeichen haben."
+ "symbolBetweenZeroTwelve": {
+ "message": "Das Symbol muss zwischen 0 und 12 Zeichen haben."
},
"takesTooLong": {
"message": "Dauert es zu lang?"
@@ -918,8 +918,8 @@
"warning": {
"message": "Warnung"
},
- "welcomeBeta": {
- "message": "Willkommen zu MetaMask Beta"
+ "welcome": {
+ "message": "Willkommen zu MetaMask"
},
"whatsThis": {
"message": "Was ist das?"
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 7a70937a3..0fe8e81cd 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -1165,8 +1165,8 @@
"supportCenter": {
"message": "Visit our Support Center"
},
- "symbolBetweenZeroTen": {
- "message": "Symbol must be between 0 and 10 characters."
+ "symbolBetweenZeroTwelve": {
+ "message": "Symbol must be between 0 and 12 characters."
},
"takesTooLong": {
"message": "Taking too long?"
@@ -1357,8 +1357,8 @@
"welcomeBack": {
"message": "Welcome Back!"
},
- "welcomeBeta": {
- "message": "Welcome to MetaMask Beta"
+ "welcome": {
+ "message": "Welcome to MetaMask"
},
"whatsThis": {
"message": "What's this?"
diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json
index 55276e1ec..ae1c9559f 100644
--- a/app/_locales/es/messages.json
+++ b/app/_locales/es/messages.json
@@ -804,8 +804,8 @@
"supportCenter": {
"message": "Visita nuestro centro de atención"
},
- "symbolBetweenZeroTen": {
- "message": "Símbolo debe ser entre 0 y 10 caracteres"
+ "symbolBetweenZeroTwelve": {
+ "message": "Símbolo debe ser entre 0 y 12 caracteres"
},
"takesTooLong": {
"message": "¿Está tardando demasiado?"
@@ -918,8 +918,8 @@
"warning": {
"message": "Advertencia"
},
- "welcomeBeta": {
- "message": "Bienvenido a MetaMask Beta"
+ "welcome": {
+ "message": "Bienvenido a MetaMask"
},
"whatsThis": {
"message": "¿Qué es esto?"
diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json
index 17306d0f2..e60aa3218 100644
--- a/app/_locales/fr/messages.json
+++ b/app/_locales/fr/messages.json
@@ -1120,8 +1120,8 @@
"supportCenter": {
"message": "Visitez notre centre d'aide"
},
- "symbolBetweenZeroTen": {
- "message": "Le symbol doit avoir entre 0 et 10 caractères."
+ "symbolBetweenZeroTwelve": {
+ "message": "Le symbol doit avoir entre 0 et 12 caractères."
},
"takesTooLong": {
"message": "Cela prend trop de temps ?"
@@ -1303,7 +1303,7 @@
"welcomeBack": {
"message": "Bienvenue à nouveau !"
},
- "welcomeBeta": {
+ "welcome": {
"message": "Bienvenue dans la Beta de MetaMask"
},
"whatsThis": {
diff --git a/app/_locales/hn/messages.json b/app/_locales/hn/messages.json
index 8e2281418..4face7bd6 100644
--- a/app/_locales/hn/messages.json
+++ b/app/_locales/hn/messages.json
@@ -218,7 +218,7 @@
},
"decimal": {
"message": "दशमलव परिशुद्धता"
- },
+ },
"defaultNetwork": {
"message": "ईथर लेनदेन के लिए डिफ़ॉल्ट नेटवर्क मुख्य नेट है।"
},
@@ -741,8 +741,8 @@
"supportCenter": {
"message": "हमारे सहायता केंद्र पर जाएं"
},
- "symbolBetweenZeroTen": {
- "message": "प्रतीक 0 और 10 अक्षरों के बीच होना चाहिए"
+ "symbolBetweenZeroTwelve": {
+ "message": "प्रतीक 0 और 12 अक्षरों के बीच होना चाहिए"
},
"takesTooLong": {
"message": "बहुत समय ले रहा है?"
@@ -845,11 +845,11 @@
},
"visitWebSite": {
"message": "हमारी वेब साइट पर जाएं"
- },
+ },
"warning": {
"message": "चेतावनी"
},
- "welcomeBeta": {
+ "welcome": {
"message": "मेटामास्क बीटा में आपका स्वागत है"
},
"whatsThis": {
diff --git a/app/_locales/ht/messages.json b/app/_locales/ht/messages.json
index ff44af903..c94ddc8d2 100644
--- a/app/_locales/ht/messages.json
+++ b/app/_locales/ht/messages.json
@@ -1141,8 +1141,8 @@
"supportCenter": {
"message": "Vizite Sant Sipò Nou"
},
- "symbolBetweenZeroTen": {
- "message": "Senbòl yo dwe ant 0 ak 10 karaktè."
+ "symbolBetweenZeroTwelve": {
+ "message": "Senbòl yo dwe ant 0 ak 12 karaktè."
},
"takesTooLong": {
"message": "Pran twò lontan?"
@@ -1327,8 +1327,8 @@
"welcomeBack": {
"message": "Bon Retou!"
},
- "welcomeBeta": {
- "message": "Byenveni nan MetaMask Beta"
+ "welcome": {
+ "message": "Byenveni nan MetaMask"
},
"whatsThis": {
"message": "Kisa sa ye?"
diff --git a/app/_locales/it/messages.json b/app/_locales/it/messages.json
index e97c28e42..58b3dfc05 100644
--- a/app/_locales/it/messages.json
+++ b/app/_locales/it/messages.json
@@ -1123,8 +1123,8 @@
"supportCenter": {
"message": "Visita il nostro Centro di Supporto"
},
- "symbolBetweenZeroTen": {
- "message": "Il simbolo deve essere lungo tra 0 e 10 caratteri."
+ "symbolBetweenZeroTwelve": {
+ "message": "Il simbolo deve essere lungo tra 0 e 12 caratteri."
},
"takesTooLong": {
"message": "Ci sta mettendo troppo?"
@@ -1309,7 +1309,7 @@
"welcomeBack": {
"message": "Bentornato!"
},
- "welcomeBeta": {
+ "welcome": {
"message": "Benvenuto nella Beta di MetaMask"
},
"whatsThis": {
diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json
index 8ae363030..93b5447d7 100644
--- a/app/_locales/ja/messages.json
+++ b/app/_locales/ja/messages.json
@@ -793,7 +793,7 @@
"welcomeBack": {
"message": "おかえりなさい!"
},
- "welcomeBeta": {
+ "welcome": {
"message": "MetaMask ベータ版へようこそ!"
},
"whatsThis": {
diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json
index af1c32615..4c6541d21 100644
--- a/app/_locales/ko/messages.json
+++ b/app/_locales/ko/messages.json
@@ -1114,8 +1114,8 @@
"supportCenter": {
"message": "지원 센터에 방문하기"
},
- "symbolBetweenZeroTen": {
- "message": "심볼은 0에서 10개 사이의 문자여야 합니다."
+ "symbolBetweenZeroTwelve": {
+ "message": "심볼은 0에서 12개 사이의 문자여야 합니다."
},
"takesTooLong": {
"message": "너무 오래 걸리나요?"
@@ -1273,7 +1273,7 @@
"welcomeBack": {
"message": "환영합니다!"
},
- "welcomeBeta": {
+ "welcome": {
"message": "메타마스크 Beta에 오신 것을 환영합니다"
},
"whatsThis": {
diff --git a/app/_locales/nl/messages.json b/app/_locales/nl/messages.json
index 5d9f1f3ab..b7b06e075 100644
--- a/app/_locales/nl/messages.json
+++ b/app/_locales/nl/messages.json
@@ -741,8 +741,8 @@
"supportCenter": {
"message": "Bezoek ons ​​ondersteuningscentrum"
},
- "symbolBetweenZeroTen": {
- "message": "Het symbool moet tussen 0 en 10 tekens lang zijn."
+ "symbolBetweenZeroTwelve": {
+ "message": "Het symbool moet tussen 0 en 12 tekens lang zijn."
},
"takesTooLong": {
"message": "Duurt te lang?"
@@ -849,8 +849,8 @@
"warning": {
"message": "Waarschuwing"
},
- "welcomeBeta": {
- "message": "Welkom bij MetaMask Beta"
+ "welcome": {
+ "message": "Welkom bij MetaMask"
},
"whatsThis": {
"message": "Wat is dit?"
diff --git a/app/_locales/pl/messages.json b/app/_locales/pl/messages.json
index c6d797c34..7e64ec689 100644
--- a/app/_locales/pl/messages.json
+++ b/app/_locales/pl/messages.json
@@ -1042,8 +1042,8 @@
"supportCenter": {
"message": "Odwiedź nasze Centrum Pomocy"
},
- "symbolBetweenZeroTen": {
- "message": "Symbol musi mieć od 0 do 10 znaków."
+ "symbolBetweenZeroTwelve": {
+ "message": "Symbol musi mieć od 0 do 12 znaków."
},
"takesTooLong": {
"message": "Trwa zbyt długo?"
@@ -1192,8 +1192,8 @@
"welcomeBack": {
"message": "Witaj z powrotem!"
},
- "welcomeBeta": {
- "message": "Witaj w MetaMask Beta"
+ "welcome": {
+ "message": "Witaj w MetaMask"
},
"whatsThis": {
"message": "Co to jest?"
@@ -1210,4 +1210,4 @@
"yourPrivateSeedPhrase": {
"message": "Twoja prywatna fraza seed"
}
-} \ No newline at end of file
+}
diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json
index 8e07aaef5..08af4b2a6 100644
--- a/app/_locales/pt/messages.json
+++ b/app/_locales/pt/messages.json
@@ -741,8 +741,8 @@
"supportCenter": {
"message": "Visitar o nosso Centro de Suporte"
},
- "symbolBetweenZeroTen": {
- "message": "Símbolo deve conter entre 0 e 10 characters."
+ "symbolBetweenZeroTwelve": {
+ "message": "Símbolo deve conter entre 0 e 12 characters."
},
"takesTooLong": {
"message": "A demorar muito?"
@@ -849,8 +849,8 @@
"warning": {
"message": "Aviso"
},
- "welcomeBeta": {
- "message": "Bem-vindo ao MetaMask Beta"
+ "welcome": {
+ "message": "Bem-vindo ao MetaMask"
},
"whatsThis": {
"message": "O que é isto?"
diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json
index 917b2b615..9568c64e6 100644
--- a/app/_locales/ru/messages.json
+++ b/app/_locales/ru/messages.json
@@ -816,8 +816,8 @@
"supportCenter": {
"message": "Перейти в наш Центр поддержки"
},
- "symbolBetweenZeroTen": {
- "message": "Символ должен быть от 0 до 10 символов."
+ "symbolBetweenZeroTwelve": {
+ "message": "Символ должен быть от 0 до 12 символов."
},
"takesTooLong": {
"message": "Слишком долго?"
@@ -927,8 +927,8 @@
"warning": {
"message": "Предупреждение"
},
- "welcomeBeta": {
- "message": "Добро пожаловать в MetaMask Beta"
+ "welcome": {
+ "message": "Добро пожаловать в MetaMask"
},
"whatsThis": {
"message": "Что это?"
diff --git a/app/_locales/sk/messages.json b/app/_locales/sk/messages.json
index fde553c9e..febcc9141 100644
--- a/app/_locales/sk/messages.json
+++ b/app/_locales/sk/messages.json
@@ -828,8 +828,8 @@
"supportCenter": {
"message": "Navštivte naše centrum podpory"
},
- "symbolBetweenZeroTen": {
- "message": "Symbol musí být mezi 0 a 10 znaky."
+ "symbolBetweenZeroTwelve": {
+ "message": "Symbol musí být mezi 0 a 12 znaky."
},
"takesTooLong": {
"message": "Trvá to dlouho?"
diff --git a/app/_locales/sl/messages.json b/app/_locales/sl/messages.json
index ee9f67b97..1808dca27 100644
--- a/app/_locales/sl/messages.json
+++ b/app/_locales/sl/messages.json
@@ -1159,8 +1159,8 @@
"supportCenter": {
"message": "Obiščite naše središče za podporo"
},
- "symbolBetweenZeroTen": {
- "message": "Simbol mora imeti med 0 in 10 znakov."
+ "symbolBetweenZeroTwelve": {
+ "message": "Simbol mora imeti med 0 in 12 znakov."
},
"takesTooLong": {
"message": "Trava predolgo?"
@@ -1348,8 +1348,8 @@
"welcomeBack": {
"message": "Dobrodošli nazaj!"
},
- "welcomeBeta": {
- "message": "Dobrodošli v MetaMask Beta"
+ "welcome": {
+ "message": "Dobrodošli v MetaMask"
},
"whatsThis": {
"message": "Kaj je to?"
diff --git a/app/_locales/th/messages.json b/app/_locales/th/messages.json
index 7fabe4eac..b80c39b98 100644
--- a/app/_locales/th/messages.json
+++ b/app/_locales/th/messages.json
@@ -741,8 +741,8 @@
"supportCenter": {
"message": "ไปที่ศูนย์สนับสนุนของเรา"
},
- "symbolBetweenZeroTen": {
- "message": "สัญลักษณ์ต้องมีความยาวตั้งแต่ 0 ถึง 10 อักขระ"
+ "symbolBetweenZeroTwelve": {
+ "message": "สัญลักษณ์ต้องมีความยาวตั้งแต่ 0 ถึง 12 อักขระ"
},
"takesTooLong": {
"message": "ใช้เวลานานเกินไปใช่หรือไม่?"
@@ -849,7 +849,7 @@
"warning": {
"message": "คำเตือน"
},
- "welcomeBeta": {
+ "welcome": {
"message": "ยินดีต้อนรับสู่ MetaMask เบต้า"
},
"whatsThis": {
diff --git a/app/_locales/tml/messages.json b/app/_locales/tml/messages.json
index 0643ce205..03ae4b7ff 100644
--- a/app/_locales/tml/messages.json
+++ b/app/_locales/tml/messages.json
@@ -828,8 +828,8 @@
"supportCenter": {
"message": "எங்கள் ஆதரவு மையத்தைப் பார்வையிடவும்"
},
- "symbolBetweenZeroTen": {
- "message": "குறியீடு 0 மற்றும் 10 எழுத்துகளுக்கு இடையில் இருக்க வேண்டும்."
+ "symbolBetweenZeroTwelve": {
+ "message": "குறியீடு 0 மற்றும் 12 எழுத்துகளுக்கு இடையில் இருக்க வேண்டும்."
},
"takesTooLong": {
"message": "நீண்ட நேரம் எடுத்துக்கொள்கிறது?"
@@ -942,7 +942,7 @@
"warning": {
"message": "எச்சரிக்கை"
},
- "welcomeBeta": {
+ "welcome": {
"message": "மெட்டாமாஸ்க் பீட்டாவுக்கு வருக"
},
"whatsThis": {
diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json
index 1bb149eaa..b085828a2 100644
--- a/app/_locales/tr/messages.json
+++ b/app/_locales/tr/messages.json
@@ -828,8 +828,8 @@
"supportCenter": {
"message": "Destek merkezimizi ziyaret edin"
},
- "symbolBetweenZeroTen": {
- "message": "Sembol 0 ve 10 karakter aralığında olmalıdır."
+ "symbolBetweenZeroTwelve": {
+ "message": "Sembol 0 ve 12 karakter aralığında olmalıdır."
},
"takesTooLong": {
"message": "Çok mu uzun sürüyor?"
@@ -942,8 +942,8 @@
"warning": {
"message": "Uyarı"
},
- "welcomeBeta": {
- "message": "MetaMask Beta'ya Hoşgeldiniz"
+ "welcome": {
+ "message": "MetaMask'ya Hoşgeldiniz"
},
"whatsThis": {
"message": "Bu nedir?"
diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json
index 911ddf476..9d929d9a3 100644
--- a/app/_locales/zh_CN/messages.json
+++ b/app/_locales/zh_CN/messages.json
@@ -864,8 +864,8 @@
"supportCenter": {
"message": "访问我们的支持中心"
},
- "symbolBetweenZeroTen": {
- "message": "符号应该有0-10个字符."
+ "symbolBetweenZeroTwelve": {
+ "message": "符号应该有0-12个字符."
},
"takesTooLong": {
"message": "花费太长时间?"
@@ -978,7 +978,7 @@
"warning": {
"message": "警告"
},
- "welcomeBeta": {
+ "welcome": {
"message": "欢迎使用 MetaMask 测试版"
},
"whatsThis": {
diff --git a/app/_locales/zh_TW/messages.json b/app/_locales/zh_TW/messages.json
index 3b048fd91..2d82a8acf 100644
--- a/app/_locales/zh_TW/messages.json
+++ b/app/_locales/zh_TW/messages.json
@@ -822,8 +822,8 @@
"supportCenter": {
"message": "造訪我們的協助中心"
},
- "symbolBetweenZeroTen": {
- "message": "代號必須介於 0 到 10 字元間."
+ "symbolBetweenZeroTwelve": {
+ "message": "代號必須介於 0 到 12 字元間."
},
"takesTooLong": {
"message": "花費太長時間?"
@@ -933,8 +933,8 @@
"warning": {
"message": "警告"
},
- "welcomeBeta": {
- "message": "歡迎到 MetaMask Beta"
+ "welcome": {
+ "message": "歡迎到 MetaMask"
},
"whatsThis": {
"message": "這是什麼?"
diff --git a/app/images/logo/metamask-logo-horizontal-beta.svg b/app/images/logo/metamask-logo-horizontal-beta.svg
deleted file mode 100644
index b1fa040ac..000000000
--- a/app/images/logo/metamask-logo-horizontal-beta.svg
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns:ev="http://www.w3.org/2001/xml-events"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1672.1 241.2"
- style="enable-background:new 0 0 1672.1 241.2;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:#161616;}
- .st1{fill:#E17726;stroke:#E17726;stroke-linecap:round;stroke-linejoin:round;}
- .st2{fill:#E27625;stroke:#E27625;stroke-linecap:round;stroke-linejoin:round;}
- .st3{fill:#D5BFB2;stroke:#D5BFB2;stroke-linecap:round;stroke-linejoin:round;}
- .st4{fill:#233447;stroke:#233447;stroke-linecap:round;stroke-linejoin:round;}
- .st5{fill:#CC6228;stroke:#CC6228;stroke-linecap:round;stroke-linejoin:round;}
- .st6{fill:#E27525;stroke:#E27525;stroke-linecap:round;stroke-linejoin:round;}
- .st7{fill:#F5841F;stroke:#F5841F;stroke-linecap:round;stroke-linejoin:round;}
- .st8{fill:#C0AC9D;stroke:#C0AC9D;stroke-linecap:round;stroke-linejoin:round;}
- .st9{fill:#161616;stroke:#161616;stroke-linecap:round;stroke-linejoin:round;}
- .st10{fill:#763E1A;stroke:#763E1A;stroke-linecap:round;stroke-linejoin:round;}
- .st11{fill:#F5841F;}
-</style>
-<g>
- <path class="st0" d="M1157.7,121.9c-6.8-4.5-14.3-7.7-21.4-11.7c-4.6-2.6-9.5-4.9-13.5-8.2c-6.8-5.6-5.4-16.6,1.7-21.4
- c10.2-6.8,27.1-3,28.9,10.9c0,0.3,0.3,0.5,0.6,0.5h15.4c0.4,0,0.7-0.3,0.6-0.7c-0.8-9.6-4.5-17.6-11.3-22.7
- c-6.5-4.9-13.9-7.5-21.8-7.5c-40.7,0-44.4,43.1-22.5,56.7c2.5,1.6,24,12.4,31.6,17.1s10,13.3,6.7,20.1c-3,6.2-10.8,10.5-18.6,10
- c-8.5-0.5-15.1-5.1-17.4-12.3c-0.4-1.3-0.6-3.8-0.6-4.9c0-0.3-0.3-0.6-0.6-0.6h-16.7c-0.3,0-0.6,0.3-0.6,0.6
- c0,12.1,3,18.8,11.2,24.9c7.7,5.8,16.1,8.2,24.8,8.2c22.8,0,34.6-12.9,37-26.3C1173.3,141.5,1169.4,129.7,1157.7,121.9z"/>
- <path class="st0" d="M432.6,63.3h-7.4h-8.1c-0.3,0-0.5,0.2-0.6,0.4l-13.7,45.2c-0.2,0.6-1,0.6-1.2,0l-13.7-45.2
- c-0.1-0.3-0.3-0.4-0.6-0.4h-8.1h-7.4h-10c-0.3,0-0.6,0.3-0.6,0.6v115.4c0,0.3,0.3,0.6,0.6,0.6h16.7c0.3,0,0.6-0.3,0.6-0.6V91.6
- c0-0.7,1-0.8,1.2-0.2l13.8,45.5l1,3.2c0.1,0.3,0.3,0.4,0.6,0.4h12.8c0.3,0,0.5-0.2,0.6-0.4l1-3.2l13.8-45.5
- c0.2-0.7,1.2-0.5,1.2,0.2v87.7c0,0.3,0.3,0.6,0.6,0.6h16.7c0.3,0,0.6-0.3,0.6-0.6V63.9c0-0.3-0.3-0.6-0.6-0.6L432.6,63.3
- L432.6,63.3z"/>
- <path class="st0" d="M902,63.3c-0.3,0-0.5,0.2-0.6,0.4l-13.7,45.2c-0.2,0.6-1,0.6-1.2,0l-13.7-45.2c-0.1-0.3-0.3-0.4-0.6-0.4h-25.4
- c-0.3,0-0.6,0.3-0.6,0.6v115.4c0,0.3,0.3,0.6,0.6,0.6h16.7c0.3,0,0.6-0.3,0.6-0.6V91.6c0-0.7,1-0.8,1.2-0.2l13.8,45.5l1,3.2
- c0.1,0.3,0.3,0.4,0.6,0.4h12.8c0.3,0,0.5-0.2,0.6-0.4l1-3.2l13.8-45.5c0.2-0.7,1.2-0.5,1.2,0.2v87.7c0,0.3,0.3,0.6,0.6,0.6h16.7
- c0.3,0,0.6-0.3,0.6-0.6V63.9c0-0.3-0.3-0.6-0.6-0.6L902,63.3L902,63.3z"/>
- <path class="st0" d="M686.6,63.3h-31.1h-16.7h-31.1c-0.3,0-0.6,0.3-0.6,0.6v14.4c0,0.3,0.3,0.6,0.6,0.6h30.5v100.4
- c0,0.3,0.3,0.6,0.6,0.6h16.7c0.3,0,0.6-0.3,0.6-0.6V78.9h30.5c0.3,0,0.6-0.3,0.6-0.6V63.9C687.2,63.6,687,63.3,686.6,63.3z"/>
- <path class="st0" d="M785.1,179.9h15.2c0.4,0,0.7-0.4,0.6-0.8L769.5,63.3c-0.1-0.3-0.3-0.4-0.6-0.4h-5.8h-10.2h-5.8
- c-0.3,0-0.5,0.2-0.6,0.4l-31.4,115.8c-0.1,0.4,0.2,0.8,0.6,0.8h15.2c0.3,0,0.5-0.2,0.6-0.4l9.1-33.7c0.1-0.3,0.3-0.4,0.6-0.4h33.6
- c0.3,0,0.5,0.2,0.6,0.4l9.1,33.7C784.6,179.7,784.9,179.9,785.1,179.9z M745.2,128.9l12.2-45.1c0.2-0.6,1-0.6,1.2,0l12.2,45.1
- c0.1,0.4-0.2,0.8-0.6,0.8h-24.4C745.4,129.7,745.1,129.3,745.2,128.9z"/>
- <path class="st0" d="M1044.3,179.9h15.2c0.4,0,0.7-0.4,0.6-0.8l-31.4-115.8c-0.1-0.3-0.3-0.4-0.6-0.4h-5.8h-10.2h-5.8
- c-0.3,0-0.5,0.2-0.6,0.4l-31.4,115.8c-0.1,0.4,0.2,0.8,0.6,0.8h15.2c0.3,0,0.5-0.2,0.6-0.4l9.1-33.7c0.1-0.3,0.3-0.4,0.6-0.4h33.6
- c0.3,0,0.5,0.2,0.6,0.4l9.1,33.7C1043.8,179.7,1044,179.9,1044.3,179.9z M1004.4,128.9l12.2-45.1c0.2-0.6,1-0.6,1.2,0l12.2,45.1
- c0.1,0.4-0.2,0.8-0.6,0.8H1005C1004.6,129.7,1004.3,129.3,1004.4,128.9z"/>
- <path class="st0" d="M510.8,162.8V127c0-0.3,0.3-0.6,0.6-0.6h44.5c0.3,0,0.6-0.3,0.6-0.6v-14.4c0-0.3-0.3-0.6-0.6-0.6h-44.5
- c-0.3,0-0.6-0.3-0.6-0.6V79.6c0-0.3,0.3-0.6,0.6-0.6H562c0.3,0,0.6-0.3,0.6-0.6V64c0-0.3-0.3-0.6-0.6-0.6h-51.2h-17.3
- c-0.3,0-0.6,0.3-0.6,0.6v15v31.9v15.6v37v15.8c0,0.3,0.3,0.6,0.6,0.6h17.3h53.3c0.3,0,0.6-0.3,0.6-0.6v-15.2c0-0.3-0.3-0.6-0.6-0.6
- h-52.8C511,163.4,510.8,163.2,510.8,162.8z"/>
- <path class="st0" d="M1310.3,178.9l-57.8-59.7c-0.2-0.2-0.2-0.6,0-0.8l52-54c0.4-0.4,0.1-1-0.4-1h-21.3c-0.2,0-0.3,0.1-0.4,0.2
- l-44.1,45.8c-0.4,0.4-1,0.1-1-0.4V64c0-0.3-0.3-0.6-0.6-0.6H1220c-0.3,0-0.6,0.3-0.6,0.6v115.4c0,0.3,0.3,0.6,0.6,0.6h16.7
- c0.3,0,0.6-0.3,0.6-0.6v-50.8c0-0.5,0.7-0.8,1-0.4l50,51.6c0.1,0.1,0.3,0.2,0.4,0.2h21.3C1310.4,179.9,1310.7,179.2,1310.3,178.9z"
- />
-</g>
-<g>
- <polygon class="st1" points="247.1,1.2 146,76.2 164.8,32 "/>
- <g>
- <polygon class="st2" points="13.9,1.2 114.1,76.9 96.2,32 "/>
- <polygon class="st2" points="210.7,175.1 183.8,216.3 241.4,232.2 257.9,176 "/>
- <polygon class="st2" points="3.2,176 19.6,232.2 77.1,216.3 50.3,175.1 "/>
- <polygon class="st2" points="74,105.5 58,129.7 115,132.3 113.1,70.8 "/>
- <polygon class="st2" points="187,105.5 147.3,70.1 146,132.3 203,129.7 "/>
- <polygon class="st2" points="77.1,216.3 111.6,199.6 81.9,176.4 "/>
- <polygon class="st2" points="149.4,199.6 183.8,216.3 179.1,176.4 "/>
- </g>
- <g>
- <polygon class="st3" points="183.8,216.3 149.4,199.6 152.2,222 151.9,231.5 "/>
- <polygon class="st3" points="77.1,216.3 109.1,231.5 108.9,222 111.6,199.6 "/>
- </g>
- <polygon class="st4" points="109.7,161.6 81.1,153.2 101.3,143.9 "/>
- <polygon class="st4" points="151.3,161.6 159.7,143.9 180,153.2 "/>
- <g>
- <polygon class="st5" points="77.1,216.3 82.1,175.1 50.3,176 "/>
- <polygon class="st5" points="178.9,175.1 183.8,216.3 210.7,176 "/>
- <polygon class="st5" points="203,129.7 146,132.3 151.3,161.6 159.7,143.9 180,153.2 "/>
- <polygon class="st5" points="81.1,153.2 101.3,143.9 109.7,161.6 115,132.3 58,129.7 "/>
- </g>
- <g>
- <polygon class="st6" points="58,129.7 81.9,176.4 81.1,153.2 "/>
- <polygon class="st6" points="180,153.2 179.1,176.4 203,129.7 "/>
- <polygon class="st6" points="115,132.3 109.7,161.6 116.4,196.2 117.9,150.6 "/>
- <polygon class="st6" points="146,132.3 143.2,150.5 144.6,196.2 151.3,161.6 "/>
- </g>
- <polygon class="st7" points="151.3,161.6 144.6,196.2 149.4,199.6 179.1,176.4 180,153.2 "/>
- <polygon class="st7" points="81.1,153.2 81.9,176.4 111.6,199.6 116.4,196.2 109.7,161.6 "/>
- <polygon class="st8" points="151.9,231.5 152.2,222 149.6,219.8 111.4,219.8 108.9,222 109.1,231.5 77.1,216.3 88.3,225.5
- 111,241.2 149.9,241.2 172.7,225.5 183.8,216.3 "/>
- <polygon class="st9" points="149.4,199.6 144.6,196.2 116.4,196.2 111.6,199.6 108.9,222 111.4,219.8 149.6,219.8 152.2,222 "/>
- <g>
- <polygon class="st10" points="251.4,81.1 259.9,39.7 247.1,1.2 149.4,73.7 187,105.5 240.1,121 251.8,107.3 246.7,103.6
- 254.8,96.2 248.6,91.4 256.7,85.2 "/>
- <polygon class="st10" points="1.1,39.7 9.7,81.1 4.2,85.2 12.4,91.4 6.2,96.2 14.3,103.6 9.2,107.3 20.9,121 74,105.5 111.6,73.7
- 13.9,1.2 "/>
- </g>
- <polygon class="st7" points="240.1,121 187,105.5 203,129.7 179.1,176.4 210.7,176 257.9,176 "/>
- <polygon class="st7" points="74,105.5 20.9,121 3.2,176 50.3,176 81.9,176.4 58,129.7 "/>
- <polygon class="st7" points="146,132.3 149.4,73.7 164.8,32 96.2,32 111.6,73.7 115,132.3 116.3,150.7 116.4,196.2 144.6,196.2
- 144.7,150.7 "/>
-</g>
-<g>
- <path class="st7" d="M1409.7,92.6V32.1h19.3c2.9,0,5.6,0.4,8.2,1c2.5,0.6,4.7,1.6,6.6,2.9c1.9,1.3,3.4,3,4.5,5.1
- c1.1,2.1,1.6,4.5,1.6,7.3c0,3-0.9,5.5-2.5,7.7c-1.6,2.1-3.8,3.8-6.6,4.9c1.7,0.5,3.2,1.1,4.5,2c1.3,0.9,2.4,1.9,3.3,3.1
- c0.9,1.2,1.6,2.6,2,4c0.5,1.5,0.7,3.1,0.7,4.7c0,2.9-0.5,5.4-1.6,7.6c-1.1,2.2-2.5,4-4.4,5.5c-1.9,1.5-4.1,2.6-6.6,3.3
- c-2.6,0.8-5.3,1.2-8.3,1.2H1409.7z M1419.8,57.6h9.6c1.5,0,2.9-0.2,4.2-0.6c1.3-0.4,2.4-0.9,3.3-1.7c0.9-0.7,1.7-1.6,2.2-2.7
- c0.6-1.1,0.8-2.3,0.8-3.7c0-1.5-0.3-2.8-0.8-3.9c-0.5-1.1-1.3-2-2.2-2.7c-1-0.7-2.1-1.2-3.4-1.5c-1.3-0.3-2.7-0.5-4.3-0.5h-9.5
- V57.6z M1419.8,65.2v19.3h10.9c1.6,0,3-0.3,4.3-0.7c1.3-0.5,2.4-1.1,3.4-1.9c0.9-0.8,1.7-1.8,2.2-2.9c0.5-1.2,0.8-2.5,0.8-3.9
- c0-1.5-0.2-2.9-0.7-4.1c-0.5-1.2-1.1-2.2-2-3.1c-0.9-0.8-2-1.5-3.2-1.9c-1.3-0.5-2.7-0.7-4.3-0.7H1419.8z"/>
- <path class="st7" d="M1506.3,65.5h-24.9v19h29.1v8.1h-39.1V32.1h38.8v8.2h-28.8v17.1h24.9V65.5z"/>
- <path class="st7" d="M1574.8,40.4h-18.6v52.2h-9.9V40.4h-18.4v-8.2h46.9V40.4z"/>
- <path class="st7" d="M1615.2,78.6h-18.9l-4.2,14h-10.3l19.6-60.5h8.8l19.3,60.5h-10.3L1615.2,78.6z M1598.9,70h13.9l-6.9-23.7
- L1598.9,70z"/>
-</g>
-<path class="st11" d="M1644.3,8c10.7,0,19.5,8.7,19.5,19.5v69.8c0,10.7-8.7,19.5-19.5,19.5H1395c-10.7,0-19.5-8.7-19.5-19.5V27.5
- c0-10.7,8.7-19.5,19.5-19.5H1644.3 M1644.3,0H1395c-15.2,0-27.5,12.3-27.5,27.5v69.8c0,15.2,12.3,27.5,27.5,27.5h249.2
- c15.2,0,27.5-12.3,27.5-27.5V27.5C1671.7,12.3,1659.4,0,1644.3,0L1644.3,0z"/>
-</svg>
diff --git a/app/images/logo/metamask-logo-horizontal.svg b/app/images/logo/metamask-logo-horizontal.svg
new file mode 100644
index 000000000..8e0bdb938
--- /dev/null
+++ b/app/images/logo/metamask-logo-horizontal.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="1311px" height="242px" viewBox="0 0 1311 242" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 51.3 (57544) - http://www.bohemiancoding.com/sketch -->
+ <title>metamask-logo-horizontal-beta</title>
+ <desc>Created with Sketch.</desc>
+ <defs></defs>
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="metamask-logo-horizontal-beta" transform="translate(1.000000, 1.000000)" fill-rule="nonzero">
+ <g id="Group" transform="translate(360.000000, 60.000000)" fill="#161616">
+ <path d="M796.7,60.9 C789.9,56.4 782.4,53.2 775.3,49.2 C770.7,46.6 765.8,44.3 761.8,41 C755,35.4 756.4,24.4 763.5,19.6 C773.7,12.8 790.6,16.6 792.4,30.5 C792.4,30.8 792.7,31 793,31 L808.4,31 C808.8,31 809.1,30.7 809,30.3 C808.2,20.7 804.5,12.7 797.7,7.6 C791.2,2.7 783.8,0.1 775.9,0.1 C735.2,0.1 731.5,43.2 753.4,56.8 C755.9,58.4 777.4,69.2 785,73.9 C792.6,78.6 795,87.2 791.7,94 C788.7,100.2 780.9,104.5 773.1,104 C764.6,103.5 758,98.9 755.7,91.7 C755.3,90.4 755.1,87.9 755.1,86.8 C755.1,86.5 754.8,86.2 754.5,86.2 L737.8,86.2 C737.5,86.2 737.2,86.5 737.2,86.8 C737.2,98.9 740.2,105.6 748.4,111.7 C756.1,117.5 764.5,119.9 773.2,119.9 C796,119.9 807.8,107 810.2,93.6 C812.3,80.5 808.4,68.7 796.7,60.9 Z" id="Shape"></path>
+ <path d="M71.6,2.3 L64.2,2.3 L56.1,2.3 C55.8,2.3 55.6,2.5 55.5,2.7 L41.8,47.9 C41.6,48.5 40.8,48.5 40.6,47.9 L26.9,2.7 C26.8,2.4 26.6,2.3 26.3,2.3 L18.2,2.3 L10.8,2.3 L0.8,2.3 C0.5,2.3 0.2,2.6 0.2,2.9 L0.2,118.3 C0.2,118.6 0.5,118.9 0.8,118.9 L17.5,118.9 C17.8,118.9 18.1,118.6 18.1,118.3 L18.1,30.6 C18.1,29.9 19.1,29.8 19.3,30.4 L33.1,75.9 L34.1,79.1 C34.2,79.4 34.4,79.5 34.7,79.5 L47.5,79.5 C47.8,79.5 48,79.3 48.1,79.1 L49.1,75.9 L62.9,30.4 C63.1,29.7 64.1,29.9 64.1,30.6 L64.1,118.3 C64.1,118.6 64.4,118.9 64.7,118.9 L81.4,118.9 C81.7,118.9 82,118.6 82,118.3 L82,2.9 C82,2.6 81.7,2.3 81.4,2.3 L71.6,2.3 Z" id="Shape"></path>
+ <path d="M541,2.3 C540.7,2.3 540.5,2.5 540.4,2.7 L526.7,47.9 C526.5,48.5 525.7,48.5 525.5,47.9 L511.8,2.7 C511.7,2.4 511.5,2.3 511.2,2.3 L485.8,2.3 C485.5,2.3 485.2,2.6 485.2,2.9 L485.2,118.3 C485.2,118.6 485.5,118.9 485.8,118.9 L502.5,118.9 C502.8,118.9 503.1,118.6 503.1,118.3 L503.1,30.6 C503.1,29.9 504.1,29.8 504.3,30.4 L518.1,75.9 L519.1,79.1 C519.2,79.4 519.4,79.5 519.7,79.5 L532.5,79.5 C532.8,79.5 533,79.3 533.1,79.1 L534.1,75.9 L547.9,30.4 C548.1,29.7 549.1,29.9 549.1,30.6 L549.1,118.3 C549.1,118.6 549.4,118.9 549.7,118.9 L566.4,118.9 C566.7,118.9 567,118.6 567,118.3 L567,2.9 C567,2.6 566.7,2.3 566.4,2.3 L541,2.3 Z" id="Shape"></path>
+ <path d="M325.6,2.3 L294.5,2.3 L277.8,2.3 L246.7,2.3 C246.4,2.3 246.1,2.6 246.1,2.9 L246.1,17.3 C246.1,17.6 246.4,17.9 246.7,17.9 L277.2,17.9 L277.2,118.3 C277.2,118.6 277.5,118.9 277.8,118.9 L294.5,118.9 C294.8,118.9 295.1,118.6 295.1,118.3 L295.1,17.9 L325.6,17.9 C325.9,17.9 326.2,17.6 326.2,17.3 L326.2,2.9 C326.2,2.6 326,2.3 325.6,2.3 Z" id="Shape"></path>
+ <path d="M424.1,118.9 L439.3,118.9 C439.7,118.9 440,118.5 439.9,118.1 L408.5,2.3 C408.4,2 408.2,1.9 407.9,1.9 L402.1,1.9 L391.9,1.9 L386.1,1.9 C385.8,1.9 385.6,2.1 385.5,2.3 L354.1,118.1 C354,118.5 354.3,118.9 354.7,118.9 L369.9,118.9 C370.2,118.9 370.4,118.7 370.5,118.5 L379.6,84.8 C379.7,84.5 379.9,84.4 380.2,84.4 L413.8,84.4 C414.1,84.4 414.3,84.6 414.4,84.8 L423.5,118.5 C423.6,118.7 423.9,118.9 424.1,118.9 Z M384.2,67.9 L396.4,22.8 C396.6,22.2 397.4,22.2 397.6,22.8 L409.8,67.9 C409.9,68.3 409.6,68.7 409.2,68.7 L384.8,68.7 C384.4,68.7 384.1,68.3 384.2,67.9 Z" id="Shape"></path>
+ <path d="M683.3,118.9 L698.5,118.9 C698.9,118.9 699.2,118.5 699.1,118.1 L667.7,2.3 C667.6,2 667.4,1.9 667.1,1.9 L661.3,1.9 L651.1,1.9 L645.3,1.9 C645,1.9 644.8,2.1 644.7,2.3 L613.3,118.1 C613.2,118.5 613.5,118.9 613.9,118.9 L629.1,118.9 C629.4,118.9 629.6,118.7 629.7,118.5 L638.8,84.8 C638.9,84.5 639.1,84.4 639.4,84.4 L673,84.4 C673.3,84.4 673.5,84.6 673.6,84.8 L682.7,118.5 C682.8,118.7 683,118.9 683.3,118.9 Z M643.4,67.9 L655.6,22.8 C655.8,22.2 656.6,22.2 656.8,22.8 L669,67.9 C669.1,68.3 668.8,68.7 668.4,68.7 L644,68.7 C643.6,68.7 643.3,68.3 643.4,67.9 Z" id="Shape"></path>
+ <path d="M149.8,101.8 L149.8,66 C149.8,65.7 150.1,65.4 150.4,65.4 L194.9,65.4 C195.2,65.4 195.5,65.1 195.5,64.8 L195.5,50.4 C195.5,50.1 195.2,49.8 194.9,49.8 L150.4,49.8 C150.1,49.8 149.8,49.5 149.8,49.2 L149.8,18.6 C149.8,18.3 150.1,18 150.4,18 L201,18 C201.3,18 201.6,17.7 201.6,17.4 L201.6,3 C201.6,2.7 201.3,2.4 201,2.4 L149.8,2.4 L132.5,2.4 C132.2,2.4 131.9,2.7 131.9,3 L131.9,18 L131.9,49.9 L131.9,65.5 L131.9,102.5 L131.9,118.3 C131.9,118.6 132.2,118.9 132.5,118.9 L149.8,118.9 L203.1,118.9 C203.4,118.9 203.7,118.6 203.7,118.3 L203.7,103.1 C203.7,102.8 203.4,102.5 203.1,102.5 L150.3,102.5 C150,102.4 149.8,102.2 149.8,101.8 Z" id="Shape"></path>
+ <path d="M949.3,117.9 L891.5,58.2 C891.3,58 891.3,57.6 891.5,57.4 L943.5,3.4 C943.9,3 943.6,2.4 943.1,2.4 L921.8,2.4 C921.6,2.4 921.5,2.5 921.4,2.6 L877.3,48.4 C876.9,48.8 876.3,48.5 876.3,48 L876.3,3 C876.3,2.7 876,2.4 875.7,2.4 L859,2.4 C858.7,2.4 858.4,2.7 858.4,3 L858.4,118.4 C858.4,118.7 858.7,119 859,119 L875.7,119 C876,119 876.3,118.7 876.3,118.4 L876.3,67.6 C876.3,67.1 877,66.8 877.3,67.2 L927.3,118.8 C927.4,118.9 927.6,119 927.7,119 L949,119 C949.4,118.9 949.7,118.2 949.3,117.9 Z" id="Shape"></path>
+ </g>
+ <g id="Group" stroke-linecap="round" stroke-linejoin="round">
+ <polygon id="Shape" stroke="#E17726" fill="#E17726" points="246.1 0.2 145 75.2 163.8 31"></polygon>
+ <g transform="translate(2.000000, 0.000000)" fill="#E27625" id="Shape" stroke="#E27625">
+ <polygon points="10.9 0.2 111.1 75.9 93.2 31"></polygon>
+ <polygon points="207.7 174.1 180.8 215.3 238.4 231.2 254.9 175"></polygon>
+ <polygon points="0.2 175 16.6 231.2 74.1 215.3 47.3 174.1"></polygon>
+ <polygon points="71 104.5 55 128.7 112 131.3 110.1 69.8"></polygon>
+ <polygon points="184 104.5 144.3 69.1 143 131.3 200 128.7"></polygon>
+ <polygon points="74.1 215.3 108.6 198.6 78.9 175.4"></polygon>
+ <polygon points="146.4 198.6 180.8 215.3 176.1 175.4"></polygon>
+ </g>
+ <g transform="translate(76.000000, 198.000000)" fill="#D5BFB2" id="Shape" stroke="#D5BFB2">
+ <polygon points="106.8 17.3 72.4 0.6 75.2 23 74.9 32.5"></polygon>
+ <polygon points="0.1 17.3 32.1 32.5 31.9 23 34.6 0.6"></polygon>
+ </g>
+ <polygon id="Shape" stroke="#233447" fill="#233447" points="108.7 160.6 80.1 152.2 100.3 142.9"></polygon>
+ <polygon id="Shape" stroke="#233447" fill="#233447" points="150.3 160.6 158.7 142.9 179 152.2"></polygon>
+ <g transform="translate(49.000000, 128.000000)" fill="#CC6228" id="Shape" stroke="#CC6228">
+ <polygon points="27.1 87.3 32.1 46.1 0.3 47"></polygon>
+ <polygon points="128.9 46.1 133.8 87.3 160.7 47"></polygon>
+ <polygon points="153 0.7 96 3.3 101.3 32.6 109.7 14.9 130 24.2"></polygon>
+ <polygon points="31.1 24.2 51.3 14.9 59.7 32.6 65 3.3 8 0.7"></polygon>
+ </g>
+ <g transform="translate(57.000000, 128.000000)" fill="#E27525" id="Shape" stroke="#E27525">
+ <polygon points="0 0.7 23.9 47.4 23.1 24.2"></polygon>
+ <polygon points="122 24.2 121.1 47.4 145 0.7"></polygon>
+ <polygon points="57 3.3 51.7 32.6 58.4 67.2 59.9 21.6"></polygon>
+ <polygon points="88 3.3 85.2 21.5 86.6 67.2 93.3 32.6"></polygon>
+ </g>
+ <polygon id="Shape" stroke="#F5841F" fill="#F5841F" points="150.3 160.6 143.6 195.2 148.4 198.6 178.1 175.4 179 152.2"></polygon>
+ <polygon id="Shape" stroke="#F5841F" fill="#F5841F" points="80.1 152.2 80.9 175.4 110.6 198.6 115.4 195.2 108.7 160.6"></polygon>
+ <polygon id="Shape" stroke="#C0AC9D" fill="#C0AC9D" points="150.9 230.5 151.2 221 148.6 218.8 110.4 218.8 107.9 221 108.1 230.5 76.1 215.3 87.3 224.5 110 240.2 148.9 240.2 171.7 224.5 182.8 215.3"></polygon>
+ <polygon id="Shape" stroke="#161616" fill="#161616" points="148.4 198.6 143.6 195.2 115.4 195.2 110.6 198.6 107.9 221 110.4 218.8 148.6 218.8 151.2 221"></polygon>
+ <g fill="#763E1A" id="Shape" stroke="#763E1A">
+ <polygon points="250.4 80.1 258.9 38.7 246.1 0.2 148.4 72.7 186 104.5 239.1 120 250.8 106.3 245.7 102.6 253.8 95.2 247.6 90.4 255.7 84.2"></polygon>
+ <polygon points="0.1 38.7 8.7 80.1 3.2 84.2 11.4 90.4 5.2 95.2 13.3 102.6 8.2 106.3 19.9 120 73 104.5 110.6 72.7 12.9 0.2"></polygon>
+ </g>
+ <polygon id="Shape" stroke="#F5841F" fill="#F5841F" points="239.1 120 186 104.5 202 128.7 178.1 175.4 209.7 175 256.9 175"></polygon>
+ <polygon id="Shape" stroke="#F5841F" fill="#F5841F" points="73 104.5 19.9 120 2.2 175 49.3 175 80.9 175.4 57 128.7"></polygon>
+ <polygon id="Shape" stroke="#F5841F" fill="#F5841F" points="145 131.3 148.4 72.7 163.8 31 95.2 31 110.6 72.7 114 131.3 115.3 149.7 115.4 195.2 143.6 195.2 143.7 149.7"></polygon>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/app/manifest.json b/app/manifest.json
index 2dd8429af..c74d88448 100644
--- a/app/manifest.json
+++ b/app/manifest.json
@@ -1,7 +1,7 @@
{
"name": "__MSG_appName__",
"short_name": "__MSG_appName__",
- "version": "5.0.2",
+ "version": "5.0.3",
"manifest_version": 2,
"author": "https://metamask.io",
"description": "__MSG_appDescription__",
@@ -52,6 +52,14 @@
],
"run_at": "document_start",
"all_frames": true
+ },
+ {
+ "matches": [
+ "*://connect.trezor.io/*/popup.html"
+ ],
+ "js": [
+ "vendor/trezor/content-script.js"
+ ]
}
],
"permissions": [
@@ -77,4 +85,4 @@
"*"
]
}
-} \ No newline at end of file
+}
diff --git a/app/scripts/background.js b/app/scripts/background.js
index a6fc5ed78..c75f514d5 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -332,6 +332,10 @@ function setupController (initState, initLangCode) {
[ENVIRONMENT_TYPE_FULLSCREEN]: true,
}
+ const metamaskBlacklistedPorts = [
+ 'trezor-connect',
+ ]
+
const isClientOpenStatus = () => {
return popupIsOpen || Boolean(Object.keys(openMetamaskTabsIDs).length) || notificationIsOpen
}
@@ -352,6 +356,10 @@ function setupController (initState, initLangCode) {
const processName = remotePort.name
const isMetaMaskInternalProcess = metamaskInternalProcessHash[processName]
+ if (metamaskBlacklistedPorts.includes(remotePort.name)) {
+ return false
+ }
+
if (isMetaMaskInternalProcess) {
const portStream = new PortStream(remotePort)
// communication with popup
@@ -406,6 +414,7 @@ function setupController (initState, initLangCode) {
controller.messageManager.on('updateBadge', updateBadge)
controller.personalMessageManager.on('updateBadge', updateBadge)
controller.typedMessageManager.on('updateBadge', updateBadge)
+ controller.providerApprovalController.store.on('update', updateBadge)
/**
* Updates the Web Extension's "badge" number, on the little fox in the toolbar.
@@ -417,7 +426,8 @@ function setupController (initState, initLangCode) {
var unapprovedMsgCount = controller.messageManager.unapprovedMsgCount
var unapprovedPersonalMsgs = controller.personalMessageManager.unapprovedPersonalMsgCount
var unapprovedTypedMsgs = controller.typedMessageManager.unapprovedTypedMessagesCount
- var count = unapprovedTxCount + unapprovedMsgCount + unapprovedPersonalMsgs + unapprovedTypedMsgs
+ const pendingProviderRequests = controller.providerApprovalController.store.getState().providerRequests.length
+ var count = unapprovedTxCount + unapprovedMsgCount + unapprovedPersonalMsgs + unapprovedTypedMsgs + pendingProviderRequests
if (count) {
label = String(count)
}
diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js
index ffb593b09..b21cdfb36 100644
--- a/app/scripts/controllers/preferences.js
+++ b/app/scripts/controllers/preferences.js
@@ -32,7 +32,10 @@ class PreferencesController {
tokens: [],
suggestedTokens: {},
useBlockie: false,
- featureFlags: {},
+ featureFlags: {
+ betaUI: true,
+ skipAnnounceBetaUI: true,
+ },
currentLocale: opts.initLangCode,
identities: {},
lostIdentities: {},
diff --git a/app/scripts/controllers/provider-approval.js b/app/scripts/controllers/provider-approval.js
index 21d7fd22e..53172c069 100644
--- a/app/scripts/controllers/provider-approval.js
+++ b/app/scripts/controllers/provider-approval.js
@@ -22,7 +22,9 @@ class ProviderApprovalController {
this.platform = platform
this.preferencesController = preferencesController
this.publicConfigStore = publicConfigStore
- this.store = new ObservableStore()
+ this.store = new ObservableStore({
+ providerRequests: [],
+ })
if (platform && platform.addMessageListener) {
platform.addMessageListener(({ action = '', force, origin, siteTitle, siteImage }) => {
@@ -103,7 +105,7 @@ class ProviderApprovalController {
*/
approveProviderRequest (origin) {
this.closePopup && this.closePopup()
- const requests = this.store.getState().providerRequests || []
+ const requests = this.store.getState().providerRequests
this.platform && this.platform.sendMessage({
action: 'approve-provider-request',
selectedAddress: this.publicConfigStore.getState().selectedAddress,
@@ -121,7 +123,7 @@ class ProviderApprovalController {
*/
rejectProviderRequest (origin) {
this.closePopup && this.closePopup()
- const requests = this.store.getState().providerRequests || []
+ const requests = this.store.getState().providerRequests
this.platform && this.platform.sendMessage({ action: 'reject-provider-request' }, { active: true })
const providerRequests = requests.filter(request => request.origin !== origin)
this.store.updateState({ providerRequests })
diff --git a/app/scripts/ui.js b/app/scripts/ui.js
index 444097f14..682a4aaac 100644
--- a/app/scripts/ui.js
+++ b/app/scripts/ui.js
@@ -1,6 +1,7 @@
const injectCss = require('inject-css')
const OldMetaMaskUiCss = require('../../old-ui/css')
const NewMetaMaskUiCss = require('../../ui/css')
+const {getShouldUseNewUi} = require('../../ui/app/selectors')
const startPopup = require('./popup-core')
const PortStream = require('extension-port-stream')
const { getEnvironmentType } = require('./lib/util')
@@ -33,10 +34,6 @@ async function start () {
return state
}
- // inject css
- // const css = MetaMaskUiCss()
- // injectCss(css)
-
// identify window type (popup, notification)
const windowType = getEnvironmentType(window.location.href)
global.METAMASK_UI_TYPE = windowType
@@ -51,15 +48,9 @@ async function start () {
startPopup({ container, connectionStream }, (err, store) => {
if (err) return displayCriticalError(err)
- // Code commented out until we begin auto adding users to NewUI
- // const { isMascara, identities = {}, featureFlags = {} } = store.getState().metamask
- // const firstTime = Object.keys(identities).length === 0
- const { isMascara, featureFlags = {} } = store.getState().metamask
- let betaUIState = featureFlags.betaUI
-
- // Code commented out until we begin auto adding users to NewUI
- // const useBetaCss = isMascara || firstTime || betaUIState
- const useBetaCss = isMascara || betaUIState
+ const state = store.getState()
+ let betaUIState = Boolean(state.featureFlags && state.featureFlags.betaUI)
+ const useBetaCss = getShouldUseNewUi(state)
let css = useBetaCss ? NewMetaMaskUiCss() : OldMetaMaskUiCss()
let deleteInjectedCss = injectCss(css)
diff --git a/app/trezor-usb-permissions.html b/app/trezor-usb-permissions.html
new file mode 100644
index 000000000..16f28e5e1
--- /dev/null
+++ b/app/trezor-usb-permissions.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
+ <title>TrezorConnect | Trezor</title>
+ <meta name="description" content="" />
+ <meta name="keywords" content="" />
+ <meta name="author" content="Trezor info@trezor.io" />
+ <meta name="robots" content="noindex, nofollow" />
+ <meta name="title" content="Trezor Connect" />
+ <meta name="theme-color" content="#ffffff" />
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Expires" content="-1" />
+ <style>
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ html, body {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ min-height: 500px;
+ min-width: 328px;
+ }
+ </style>
+</head>
+<body>
+ <iframe id="trezor-usb-permissions" src="https://connect.trezor.io/5/extension-permissions.html" allow="usb" frameborder="0" width="100%" height="100%"></iframe>
+ <script type="text/javascript" src="./vendor/trezor/usb-permissions.js"></script>
+</body> \ No newline at end of file
diff --git a/app/vendor/trezor/content-script.js b/app/vendor/trezor/content-script.js
new file mode 100644
index 000000000..a21332f46
--- /dev/null
+++ b/app/vendor/trezor/content-script.js
@@ -0,0 +1,21 @@
+/*
+Passing messages from background script to popup
+*/
+
+let port = chrome.runtime.connect({ name: 'trezor-connect' });
+port.onMessage.addListener(message => {
+ window.postMessage(message, window.location.origin);
+});
+port.onDisconnect.addListener(d => {
+ port = null;
+});
+
+/*
+Passing messages from popup to background script
+*/
+
+window.addEventListener('message', event => {
+ if (port && event.source === window && event.data) {
+ port.postMessage(event.data);
+ }
+});
diff --git a/app/vendor/trezor/usb-permissions.js b/app/vendor/trezor/usb-permissions.js
new file mode 100644
index 000000000..9de47e0a1
--- /dev/null
+++ b/app/vendor/trezor/usb-permissions.js
@@ -0,0 +1,50 @@
+/*
+Handling messages from usb permissions iframe
+*/
+
+const switchToPopupTab = (event) => {
+
+ window.removeEventListener('beforeunload', switchToPopupTab);
+
+ if (!event) {
+ // triggered from 'usb-permissions-close' message
+ // switch tab to previous index and close current
+ chrome.tabs.query({
+ currentWindow: true,
+ active: true,
+ }, (current) => {
+ if (current.length < 0) return;
+ chrome.tabs.query({
+ index: current[0].index - 1
+ }, popup => {
+ if (popup.length < 0) return;
+ chrome.tabs.update(popup[0].id, { active: true });
+ })
+ chrome.tabs.remove(current[0].id);
+ });
+ return;
+ }
+
+ // triggered from 'beforeunload' event
+ // find tab by popup pattern and switch to it
+ chrome.tabs.query({
+ url: "*://connect.trezor.io/*/popup.html"
+ }, (tabs) => {
+ if (tabs.length < 0) return;
+ chrome.tabs.update(tabs[0].id, { active: true });
+ });
+}
+
+window.addEventListener('message', event => {
+ if (event.data === 'usb-permissions-init') {
+ const iframe = document.getElementById('trezor-usb-permissions');
+ iframe.contentWindow.postMessage({
+ type: 'usb-permissions-init',
+ extension: chrome.runtime.id,
+ }, '*');
+ } else if (event.data === 'usb-permissions-close') {
+ switchToPopupTab();
+ }
+});
+
+window.addEventListener('beforeunload', switchToPopupTab); \ No newline at end of file
diff --git a/development/genStates.js b/development/genStates.js
index 0ac1059be..15e0863e8 100644
--- a/development/genStates.js
+++ b/development/genStates.js
@@ -2,7 +2,7 @@ const fs = require('fs')
const path = require('path')
const promisify = require('pify')
const enLocaleMessages = require('../app/_locales/en/messages.json')
-
+const writeFile = promisify(fs.writeFile)
start().catch(console.error)
@@ -12,8 +12,7 @@ async function start () {
const states = {}
await Promise.all(stateFilesNames.map(async (stateFileName) => {
const stateFilePath = path.join(__dirname, 'states', stateFileName)
- const stateFileContent = await promisify(fs.readFile)(stateFilePath, 'utf8')
- const state = JSON.parse(stateFileContent)
+ const state = require(stateFilePath)
state.localeMessages = { en: enLocaleMessages, current: {} }
@@ -22,5 +21,5 @@ async function start () {
}))
const generatedFileContent = `module.exports = ${JSON.stringify(states)}`
const generatedFilePath = path.join(__dirname, 'states.js')
- await promisify(fs.writeFile)(generatedFilePath, generatedFileContent)
+ await writeFile(generatedFilePath, generatedFileContent)
}
diff --git a/development/mock-dev.js b/development/mock-dev.js
index 15f6ad4bf..1af10a131 100644
--- a/development/mock-dev.js
+++ b/development/mock-dev.js
@@ -42,7 +42,7 @@ if (routerPath) {
queryString = qs.parse(routerPath.split('?')[1])
}
-selectedView = queryString.view || 'first time'
+selectedView = queryString.view || 'send new ui'
const firstState = states[selectedView]
updateQueryParams(selectedView)
diff --git a/development/version-bump.js b/development/version-bump.js
index fa20e9f75..66b6baffe 100644
--- a/development/version-bump.js
+++ b/development/version-bump.js
@@ -10,7 +10,7 @@ async function versionBump (bumpType, changelog, oldManifest) {
const logHeader = `\n## ${newVersion} ${date}`
const logLines = changelog.split('\n')
for (let i = 0; i < logLines.length; i++) {
- if (logLines[i].includes('Current Master')) {
+ if (logLines[i].includes('Current Develop Branch')) {
logLines.splice(i + 1, 0, logHeader)
break
}
diff --git a/gulpfile.js b/gulpfile.js
index 89e2a536f..1487f717e 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -84,6 +84,10 @@ createCopyTasks('fonts', {
source: './app/fonts/',
destinations: commonPlatforms.map(platform => `./dist/${platform}/fonts`),
})
+createCopyTasks('vendor', {
+ source: './app/vendor/',
+ destinations: commonPlatforms.map(platform => `./dist/${platform}/vendor`),
+})
createCopyTasks('reload', {
devOnly: true,
source: './app/scripts/',
diff --git a/mascara/src/app/first-time/import-seed-phrase-screen.js b/mascara/src/app/first-time/import-seed-phrase-screen.js
index 883893e88..764e9ed4c 100644
--- a/mascara/src/app/first-time/import-seed-phrase-screen.js
+++ b/mascara/src/app/first-time/import-seed-phrase-screen.js
@@ -33,6 +33,7 @@ class ImportSeedPhraseScreen extends Component {
parseSeedPhrase = (seedPhrase) => {
return seedPhrase
+ .trim()
.match(/\w+/g)
.join(' ')
}
@@ -41,9 +42,10 @@ class ImportSeedPhraseScreen extends Component {
let seedPhraseError = null
if (seedPhrase) {
- if (this.parseSeedPhrase(seedPhrase).split(' ').length !== 12) {
+ const parsedSeedPhrase = this.parseSeedPhrase(seedPhrase)
+ if (parsedSeedPhrase.split(' ').length !== 12) {
seedPhraseError = this.context.t('seedPhraseReq')
- } else if (!validateMnemonic(seedPhrase)) {
+ } else if (!validateMnemonic(parsedSeedPhrase)) {
seedPhraseError = this.context.t('invalidSeedPhrase')
}
}
diff --git a/notices/archive/notice_4.md b/notices/archive/notice_4.md
index c7a5f83a9..afe29eed2 100644
--- a/notices/archive/notice_4.md
+++ b/notices/archive/notice_4.md
@@ -1,6 +1,6 @@
Dear MetaMask Users,
-There have been several instances of high-profile legitimate websites such as BTC Manager and Games Workshop that have had their websites temporarily compromised. This involves showing a fake MetaMask window on the page asking for user's seed phrases. MetaMask will never open itself in this way and users are encouraged to report these instances immediately to either [our phishing blacklist](https://github.com/MetaMask/eth-phishing-detect/issues) or our support email at [support@metamask.io](mailto:support@metamask.io).
+There have been several instances of high-profile legitimate websites such as BTC Manager and Games Workshop that have had their websites temporarily compromised. This involves showing a fake MetaMask window on the page asking for user's seed phrases. MetaMask will never open itself to ask you for your seed phrase, and users are encouraged to report these instances immediately to either [our phishing blacklist](https://github.com/MetaMask/eth-phishing-detect/issues) or our support email at [support@metamask.io](mailto:support@metamask.io).
Please read our full article on this ongoing issue at [https://medium.com/metamask/new-phishing-strategy-becoming-common-1b1123837168](https://medium.com/metamask/new-phishing-strategy-becoming-common-1b1123837168).
diff --git a/old-ui/app/components/app-bar.js b/old-ui/app/components/app-bar.js
index fa8e499ed..c0da36615 100644
--- a/old-ui/app/components/app-bar.js
+++ b/old-ui/app/components/app-bar.js
@@ -422,7 +422,7 @@ module.exports = class AppBar extends Component {
onClick: () => {
dispatch(actions.setFeatureFlag('betaUI', true, 'BETA_UI_NOTIFICATION_MODAL'))
},
- }, 'Try Beta!'),
+ }, 'Try New UI!'),
])
}
diff --git a/package-lock.json b/package-lock.json
index a95028346..57e3db6ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -795,7 +795,7 @@
},
"autoprefixer": {
"version": "7.2.6",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz",
+ "resolved": "http://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz",
"integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==",
"dev": true,
"requires": {
@@ -1137,7 +1137,7 @@
},
"style-loader": {
"version": "0.20.3",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.20.3.tgz",
+ "resolved": "http://registry.npmjs.org/style-loader/-/style-loader-0.20.3.tgz",
"integrity": "sha512-2I7AVP73MvK33U7B9TKlYZAqdROyMXDYSMvHLX43qy3GCOaJNiV6i0v/sv9idWIaQ42Yn2dNv79Q5mKXbKhAZg==",
"dev": true,
"requires": {
@@ -1282,7 +1282,7 @@
},
"@storybook/podda": {
"version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@storybook/podda/-/podda-1.2.3.tgz",
+ "resolved": "http://registry.npmjs.org/@storybook/podda/-/podda-1.2.3.tgz",
"integrity": "sha512-g7dsdsn50AhlGZ8iIDKdF8bi7Am++iFOq+QN+hNKz3FvgLuf8Dz+mpC/BFl90eE9bEYxXqXKeMf87399Ec5Qhw==",
"dev": true,
"requires": {
@@ -1646,7 +1646,7 @@
"dependencies": {
"hoist-non-react-statics": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
"dev": true
}
@@ -1666,7 +1666,7 @@
"dependencies": {
"hoist-non-react-statics": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
"dev": true
}
@@ -1892,7 +1892,7 @@
},
"acorn-jsx": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"requires": {
"acorn": "^3.0.4"
@@ -1900,7 +1900,7 @@
"dependencies": {
"acorn": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo="
}
}
@@ -2641,7 +2641,7 @@
},
"adjust-sourcemap-loader": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz",
"integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==",
"dev": true,
"requires": {
@@ -2955,7 +2955,7 @@
},
"array-equal": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
"dev": true
},
@@ -3571,7 +3571,7 @@
},
"babel-helper-is-nodes-equiv": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
"integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=",
"dev": true
},
@@ -3820,7 +3820,7 @@
},
"babel-plugin-react-docgen": {
"version": "1.9.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.9.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.9.0.tgz",
"integrity": "sha512-8lQ73p4BL+xcgba03NTiHrddl2X8J6PDMQHPpz73sesrRBf6JtAscQPLIjFWQR/abLokdv81HdshpjYGppOXgA==",
"dev": true,
"requires": {
@@ -3831,77 +3831,77 @@
},
"babel-plugin-syntax-async-functions": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
},
"babel-plugin-syntax-async-generators": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
"dev": true
},
"babel-plugin-syntax-class-constructor-call": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
"integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
"dev": true
},
"babel-plugin-syntax-class-properties": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
"dev": true
},
"babel-plugin-syntax-decorators": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
"dev": true
},
"babel-plugin-syntax-do-expressions": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
"integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
"dev": true
},
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
},
"babel-plugin-syntax-exponentiation-operator": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4="
},
"babel-plugin-syntax-export-extensions": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
"integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
"dev": true
},
"babel-plugin-syntax-flow": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
"dev": true
},
"babel-plugin-syntax-function-bind": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
"integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
"dev": true
},
"babel-plugin-syntax-jsx": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
"dev": true
},
@@ -4808,7 +4808,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -4832,7 +4832,7 @@
},
"through": {
"version": "2.2.7",
- "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz",
"integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=",
"dev": true
},
@@ -4884,7 +4884,7 @@
},
"binaryextensions": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
"integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=",
"dev": true
},
@@ -5365,7 +5365,7 @@
},
"browserify-rsa": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"requires": {
"bn.js": "^4.1.0",
@@ -5513,28 +5513,9 @@
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
- "bytewise": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
- "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
- "dev": true,
- "requires": {
- "bytewise-core": "^1.2.2",
- "typewise": "^1.0.3"
- }
- },
- "bytewise-core": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
- "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
- "dev": true,
- "requires": {
- "typewise-core": "^1.2"
- }
- },
"cacache": {
"version": "10.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
"integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
"dev": true,
"requires": {
@@ -5626,7 +5607,7 @@
},
"camelcase-keys": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"requires": {
"camelcase": "^2.0.0",
@@ -5735,7 +5716,7 @@
},
"chalk": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
@@ -6000,7 +5981,7 @@
},
"lodash": {
"version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
}
@@ -6182,7 +6163,7 @@
},
"color": {
"version": "0.11.4",
- "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "resolved": "http://registry.npmjs.org/color/-/color-0.11.4.tgz",
"integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
"requires": {
"clone": "^1.0.2",
@@ -6294,7 +6275,7 @@
},
"yargs": {
"version": "1.3.3",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz",
"integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=",
"dev": true
}
@@ -6808,7 +6789,7 @@
},
"css-in-js-utils": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
"integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==",
"dev": true,
"requires": {
@@ -6826,7 +6807,7 @@
},
"css-loader": {
"version": "0.28.11",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
+ "resolved": "http://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
"integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==",
"requires": {
"babel-code-frame": "^6.26.0",
@@ -6906,7 +6887,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -6924,7 +6905,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -6936,7 +6917,7 @@
},
"css-select": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
"requires": {
@@ -6986,7 +6967,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -7034,7 +7015,7 @@
},
"cssnano": {
"version": "3.10.0",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "resolved": "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
"integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
"requires": {
"autoprefixer": "^6.3.1",
@@ -7204,7 +7185,7 @@
},
"d": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"requires": {
"es5-ext": "^0.10.9"
@@ -8085,7 +8066,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -8121,7 +8102,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -8137,7 +8118,7 @@
},
"yargs": {
"version": "3.32.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
"integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
"dev": true,
"requires": {
@@ -8198,7 +8179,7 @@
"dependencies": {
"domelementtype": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
"dev": true
}
@@ -8261,7 +8242,7 @@
},
"dotenv": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
"integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
"dev": true
},
@@ -8286,7 +8267,7 @@
},
"duplexer": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
},
"duplexer2": {
@@ -8304,7 +8285,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@@ -8770,7 +8751,7 @@
},
"es6-promisify": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"dev": true,
"requires": {
@@ -9031,7 +9012,7 @@
},
"ansi-escapes": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
"integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
"dev": true
},
@@ -9138,7 +9119,7 @@
},
"progress": {
"version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
@@ -9180,7 +9161,7 @@
},
"slice-ansi": {
"version": "0.0.4",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
"integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
"dev": true
},
@@ -9405,7 +9386,7 @@
}
},
"eth-contract-metadata": {
- "version": "github:MetaMask/eth-contract-metadata#2b64863468ff91f64db034b06d55df7009992540",
+ "version": "github:MetaMask/eth-contract-metadata#05e39ee1be2edaa53b04ff7e215cdd6db16d09c1",
"from": "github:MetaMask/eth-contract-metadata#master"
},
"eth-ens-namehash": {
@@ -9582,7 +9563,7 @@
},
"eth-json-rpc-middleware": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz",
+ "resolved": "http://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz",
"integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==",
"requires": {
"async": "^2.5.0",
@@ -9795,9 +9776,9 @@
}
},
"eth-ledger-bridge-keyring": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/eth-ledger-bridge-keyring/-/eth-ledger-bridge-keyring-0.1.0.tgz",
- "integrity": "sha512-fZQry1rxA23swq7Qw9JolFltRePwIbKXCn9Vo6Qfr122cqqA3MBzV3WSI+ABQvwf3obQrMpbtqP5tiRxpX/0Vg==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/eth-ledger-bridge-keyring/-/eth-ledger-bridge-keyring-0.1.1.tgz",
+ "integrity": "sha512-EhClGSy5ixcd55yHGXoA3C7I8iFFi6kgSqvKOSj+5URtg5PYpHP8kv+KemFPOT1Px6se/IFHI9OIelUS8kN3lw==",
"requires": {
"eth-sig-util": "^1.4.2",
"ethereumjs-tx": "^1.3.4",
@@ -9813,6 +9794,16 @@
"requires": {
"ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799",
"ethereumjs-util": "^5.1.1"
+ },
+ "dependencies": {
+ "ethereumjs-abi": {
+ "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799",
+ "requires": {
+ "bn.js": "^4.10.0",
+ "ethereumjs-util": "^5.0.0"
+ }
+ }
}
},
"ethereum-common": {
@@ -10083,7 +10074,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -10215,21 +10206,21 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
},
"eth-trezor-keyring": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/eth-trezor-keyring/-/eth-trezor-keyring-0.1.0.tgz",
- "integrity": "sha512-7ynDXiXGQOh9CslksJSmGGK726lV9fTnIp2QQnjbZJgR4zJIoSUYQYKvT2wXcxLhVrTUl2hLjwKN9QGqDCMVwA==",
+ "version": "0.2.0",
+ "resolved": "github:MetaMask/eth-trezor-keyring#528840df6785101ac68ec9fc0cc4bc675eba9292",
"requires": {
"eth-sig-util": "^1.4.2",
"ethereumjs-tx": "^1.3.4",
"ethereumjs-util": "^5.1.5",
"events": "^2.0.0",
- "hdkey": "0.8.0"
+ "hdkey": "0.8.0",
+ "trezor-connect": "^6.0.2"
},
"dependencies": {
"eth-sig-util": {
@@ -10248,16 +10239,16 @@
},
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799",
- "from": "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
}
},
"ethereumjs-tx": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.6.tgz",
- "integrity": "sha512-wzsEs0mCSLqdDjqSDg6AWh1hyL8H3R/pyZxehkcCXq5MJEFXWz+eJ2jSv+3yEaLy6tXrNP7dmqS3Kyb3zAONkg==",
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz",
+ "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==",
"requires": {
"ethereum-common": "^0.0.18",
"ethereumjs-util": "^5.0.0"
@@ -10511,7 +10502,7 @@
"dependencies": {
"ethereumjs-util": {
"version": "4.5.0",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz",
+ "resolved": "http://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz",
"integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=",
"requires": {
"bn.js": "^4.8.0",
@@ -11540,7 +11531,7 @@
"dependencies": {
"core-js": {
"version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
}
}
@@ -11600,7 +11591,7 @@
},
"file-loader": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
+ "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
"integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
"requires": {
"loader-utils": "^1.0.2",
@@ -12081,7 +12072,7 @@
"dependencies": {
"async": {
"version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
},
@@ -12291,7 +12282,7 @@
},
"fs-access": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
"dev": true,
"requires": {
@@ -12438,7 +12429,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -13409,6 +13400,29 @@
"safe-buffer": "^5.0.1"
}
},
+ "bl": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
+ "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.0.26"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ }
+ }
+ },
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@@ -13635,6 +13649,25 @@
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
+ "bytewise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
+ "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
+ "dev": true,
+ "requires": {
+ "bytewise-core": "^1.2.2",
+ "typewise": "^1.0.3"
+ }
+ },
+ "bytewise-core": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
+ "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
+ "dev": true,
+ "requires": {
+ "typewise-core": "^1.2"
+ }
+ },
"cachedown": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cachedown/-/cachedown-1.0.0.tgz",
@@ -14559,17 +14592,6 @@
"merkle-patricia-tree": "^2.1.2",
"rustbn.js": "~0.1.1",
"safe-buffer": "^5.1.1"
- },
- "dependencies": {
- "async-eventemitter": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz",
- "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==",
- "dev": true,
- "requires": {
- "async": "^2.4.0"
- }
- }
}
},
"pify": {
@@ -15821,6 +15843,112 @@
}
}
},
+ "level-post": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz",
+ "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==",
+ "dev": true,
+ "requires": {
+ "ltgt": "^2.1.2"
+ }
+ },
+ "level-sublevel": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.2.tgz",
+ "integrity": "sha512-+hptqmFYPKFju9QG4F6scvx3ZXkhrSmmhYui+hPzRn/jiC3DJ6VNZRKsIhGMpeajVBWfRV7XiysUThrJ/7PgXQ==",
+ "dev": true,
+ "requires": {
+ "bytewise": "~1.1.0",
+ "levelup": "~0.19.0",
+ "ltgt": "~2.1.1",
+ "pull-defer": "^0.2.2",
+ "pull-level": "^2.0.3",
+ "pull-stream": "^3.6.8",
+ "typewiselite": "~1.0.0",
+ "xtend": "~4.0.0"
+ },
+ "dependencies": {
+ "abstract-leveldown": {
+ "version": "0.12.4",
+ "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz",
+ "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=",
+ "dev": true,
+ "requires": {
+ "xtend": "~3.0.0"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "dev": true
+ }
+ }
+ },
+ "deferred-leveldown": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
+ "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=",
+ "dev": true,
+ "requires": {
+ "abstract-leveldown": "~0.12.1"
+ }
+ },
+ "levelup": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz",
+ "integrity": "sha1-86anIFJyxLXzXkEv8ASgOgrt9Qs=",
+ "dev": true,
+ "requires": {
+ "bl": "~0.8.1",
+ "deferred-leveldown": "~0.2.0",
+ "errno": "~0.1.1",
+ "prr": "~0.0.0",
+ "readable-stream": "~1.0.26",
+ "semver": "~5.1.0",
+ "xtend": "~3.0.0"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "dev": true
+ }
+ }
+ },
+ "ltgt": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz",
+ "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=",
+ "dev": true
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "semver": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz",
+ "integrity": "sha1-oykqNz5vPgeY2gsgZBuanFvEfhk=",
+ "dev": true
+ }
+ }
+ },
"level-ws": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz",
@@ -15945,6 +16073,12 @@
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
"integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ=="
},
+ "looper": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz",
+ "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=",
+ "dev": true
+ },
"loose-envify": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
@@ -16581,6 +16715,64 @@
"randombytes": "^2.0.1"
}
},
+ "pull-cat": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
+ "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=",
+ "dev": true
+ },
+ "pull-defer": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.2.tgz",
+ "integrity": "sha1-CIew/7MK8ypW2+z6csFnInHwexM=",
+ "dev": true
+ },
+ "pull-level": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz",
+ "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==",
+ "dev": true,
+ "requires": {
+ "level-post": "^1.0.7",
+ "pull-cat": "^1.1.9",
+ "pull-live": "^1.0.1",
+ "pull-pushable": "^2.0.0",
+ "pull-stream": "^3.4.0",
+ "pull-window": "^2.1.4",
+ "stream-to-pull-stream": "^1.7.1"
+ }
+ },
+ "pull-live": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz",
+ "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=",
+ "dev": true,
+ "requires": {
+ "pull-cat": "^1.1.9",
+ "pull-stream": "^3.4.0"
+ }
+ },
+ "pull-pushable": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz",
+ "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=",
+ "dev": true
+ },
+ "pull-stream": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.8.tgz",
+ "integrity": "sha512-wQUIptQBcM0rFsUhZoEpOT3vUn73DtTGVq3NQ86c4T7iMOSprDzeKWYq2ksXnbwiuExTKvt+8G9fzNLFQuiO+A==",
+ "dev": true
+ },
+ "pull-window": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz",
+ "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=",
+ "dev": true,
+ "requires": {
+ "looper": "^2.0.0"
+ }
+ },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -17176,6 +17368,24 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
+ "stream-to-pull-stream": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
+ "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
+ "dev": true,
+ "requires": {
+ "looper": "^3.0.0",
+ "pull-stream": "^3.2.3"
+ },
+ "dependencies": {
+ "looper": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
+ "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
+ "dev": true
+ }
+ }
+ },
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@@ -17532,6 +17742,27 @@
"is-typedarray": "^1.0.0"
}
},
+ "typewise": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
+ "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
+ "dev": true,
+ "requires": {
+ "typewise-core": "^1.2.0"
+ }
+ },
+ "typewise-core": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
+ "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=",
+ "dev": true
+ },
+ "typewiselite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz",
+ "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=",
+ "dev": true
+ },
"ultron": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
@@ -18310,7 +18541,7 @@
},
"get-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true
},
@@ -18343,7 +18574,7 @@
},
"gettext-parser": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz",
"integrity": "sha1-LFpmONiTk0ubVQN9CtgstwBLJnk=",
"dev": true,
"requires": {
@@ -18376,7 +18607,7 @@
},
"commander": {
"version": "2.15.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"dev": true
},
@@ -18491,13 +18722,13 @@
"dependencies": {
"minimist": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz",
"integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=",
"dev": true
},
"yargs": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz",
"integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=",
"dev": true,
"requires": {
@@ -18981,7 +19212,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
@@ -19733,7 +19964,7 @@
},
"gulp-stylelint": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-7.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-7.0.0.tgz",
"integrity": "sha512-0PI+tNTzaJz5+qO3i9Jyd04ZPSb+NCN7bZ2GaIArvbQpuyJha9p3lpWxPG+XJtrVT42bIiyLeYKPnLe7uW4dQQ==",
"dev": true,
"requires": {
@@ -20598,7 +20829,7 @@
"dependencies": {
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
}
@@ -20822,7 +21053,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -20840,7 +21071,7 @@
},
"through2": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
"integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=",
"dev": true,
"requires": {
@@ -20894,7 +21125,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -20912,7 +21143,7 @@
},
"through2": {
"version": "0.4.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
"integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
"dev": true,
"requires": {
@@ -20947,7 +21178,7 @@
},
"htmlescape": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
"integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
"dev": true
},
@@ -21047,13 +21278,13 @@
"dependencies": {
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
},
"colors": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
"dev": true
},
@@ -21113,7 +21344,7 @@
},
"humanize-url": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz",
"integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=",
"dev": true,
"requires": {
@@ -21199,7 +21430,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -21684,7 +21915,7 @@
},
"is-builtin-module": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"requires": {
"builtin-modules": "^1.0.0"
@@ -21866,7 +22097,7 @@
},
"is-obj": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-object": {
@@ -22248,7 +22479,7 @@
},
"istextorbinary": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
"integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=",
"dev": true,
"requires": {
@@ -22576,7 +22807,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -22687,7 +22918,7 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
@@ -22741,12 +22972,12 @@
},
"json5": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
},
"jsonfile": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"requires": {
"graceful-fs": "^4.1.6"
@@ -22766,7 +22997,7 @@
"dependencies": {
"JSONStream": {
"version": "0.8.4",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz",
+ "resolved": "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz",
"integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=",
"dev": true,
"requires": {
@@ -22788,7 +23019,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -22816,7 +23047,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -23001,19 +23232,19 @@
"dependencies": {
"core-js": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
"integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=",
"dev": true
},
"es6-promise": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
"integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
"dev": true
},
"readable-stream": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"requires": {
@@ -23525,7 +23756,7 @@
},
"kew": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+ "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
"integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
"dev": true
},
@@ -23640,7 +23871,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -23658,7 +23889,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -23703,7 +23934,7 @@
},
"level-iterator-stream": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
+ "resolved": "http://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
"integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=",
"requires": {
"inherits": "^2.0.1",
@@ -23719,7 +23950,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@@ -23735,133 +23966,6 @@
}
}
},
- "level-post": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz",
- "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==",
- "dev": true,
- "requires": {
- "ltgt": "^2.1.2"
- }
- },
- "level-sublevel": {
- "version": "6.6.5",
- "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.5.tgz",
- "integrity": "sha512-SBSR60x+dghhwGUxPKS+BvV1xNqnwsEUBKmnFepPaHJ6VkBXyPK9SImGc3K2BkwBfpxlt7GKkBNlCnrdufsejA==",
- "dev": true,
- "requires": {
- "bytewise": "~1.1.0",
- "levelup": "~0.19.0",
- "ltgt": "~2.1.1",
- "pull-defer": "^0.2.2",
- "pull-level": "^2.0.3",
- "pull-stream": "^3.6.8",
- "typewiselite": "~1.0.0",
- "xtend": "~4.0.0"
- },
- "dependencies": {
- "abstract-leveldown": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz",
- "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=",
- "dev": true,
- "requires": {
- "xtend": "~3.0.0"
- },
- "dependencies": {
- "xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
- "dev": true
- }
- }
- },
- "bl": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
- "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.26"
- }
- },
- "deferred-leveldown": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
- "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=",
- "dev": true,
- "requires": {
- "abstract-leveldown": "~0.12.1"
- }
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "levelup": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz",
- "integrity": "sha1-86anIFJyxLXzXkEv8ASgOgrt9Qs=",
- "dev": true,
- "requires": {
- "bl": "~0.8.1",
- "deferred-leveldown": "~0.2.0",
- "errno": "~0.1.1",
- "prr": "~0.0.0",
- "readable-stream": "~1.0.26",
- "semver": "~5.1.0",
- "xtend": "~3.0.0"
- },
- "dependencies": {
- "xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
- "dev": true
- }
- }
- },
- "ltgt": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz",
- "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=",
- "dev": true
- },
- "prr": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
- "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "semver": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz",
- "integrity": "sha1-oykqNz5vPgeY2gsgZBuanFvEfhk=",
- "dev": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
"level-ws": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz",
@@ -23883,7 +23987,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"requires": {
"core-util-is": "~1.0.0",
@@ -23979,7 +24083,7 @@
},
"load-json-file": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"requires": {
"graceful-fs": "^4.1.2",
@@ -23991,7 +24095,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
@@ -24396,12 +24500,6 @@
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
},
- "looper": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz",
- "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=",
- "dev": true
- },
"loose-envify": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
@@ -24462,7 +24560,7 @@
},
"magic-string": {
"version": "0.22.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+ "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
"integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
"dev": true,
"requires": {
@@ -24576,7 +24674,7 @@
},
"marked": {
"version": "0.3.19",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
+ "resolved": "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
"integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==",
"dev": true
},
@@ -24929,7 +25027,7 @@
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"mem": {
@@ -24996,7 +25094,7 @@
},
"meow": {
"version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"requires": {
"camelcase-keys": "^2.0.0",
@@ -25050,7 +25148,7 @@
"dependencies": {
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
},
"ethereumjs-util": {
@@ -25097,7 +25195,7 @@
},
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -25215,7 +25313,7 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
},
"pump": {
@@ -25230,9 +25328,9 @@
}
},
"metamask-inpage-provider": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/metamask-inpage-provider/-/metamask-inpage-provider-1.2.2.tgz",
- "integrity": "sha512-/CZaGf+yN56+fcrNekBSwyxSFVtCrsesQ5S3n8d+0/7RkB6OgghMh9qanKgAKXfdKEYNvEBuLrsICdbgGhBekA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/metamask-inpage-provider/-/metamask-inpage-provider-1.3.0.tgz",
+ "integrity": "sha512-3pi6YTFgrhPFLTq03yf/vOMzoc9wOqbPkOx2ske4RBgs9oXN6fndv9eGM+vkq4ZxrwkapRG1YXiA+OA50UYIhg==",
"requires": {
"json-rpc-engine": "^3.7.4",
"json-rpc-middleware-stream": "^2.0.0",
@@ -25440,7 +25538,7 @@
},
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@@ -25793,7 +25891,7 @@
"dependencies": {
"async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
},
@@ -25828,7 +25926,7 @@
},
"ncp": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz",
"integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=",
"dev": true
},
@@ -25880,7 +25978,7 @@
},
"next-tick": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
"dev": true
},
@@ -26013,7 +26111,7 @@
"dependencies": {
"semver": {
"version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
}
}
@@ -26050,7 +26148,7 @@
"dependencies": {
"buffer": {
"version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"requires": {
"base64-js": "^1.0.2",
@@ -26209,7 +26307,7 @@
},
"node-status-codes": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
"integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
"dev": true
},
@@ -26431,7 +26529,7 @@
},
"load-json-file": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
@@ -26463,7 +26561,7 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
@@ -28118,7 +28216,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -28243,12 +28341,12 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-locale": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"requires": {
"lcid": "^1.0.0"
@@ -28266,7 +28364,7 @@
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv": {
@@ -28552,7 +28650,7 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
@@ -28607,7 +28705,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
@@ -28620,7 +28718,7 @@
},
"pause-stream": {
"version": "0.0.11",
- "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"dev": true,
"requires": {
@@ -28945,7 +29043,7 @@
"dependencies": {
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -28984,7 +29082,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -29002,7 +29100,7 @@
},
"through2": {
"version": "0.2.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
"integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
"dev": true,
"requires": {
@@ -29012,7 +29110,7 @@
"dependencies": {
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -29118,7 +29216,7 @@
},
"portfinder": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-0.2.1.tgz",
+ "resolved": "http://registry.npmjs.org/portfinder/-/portfinder-0.2.1.tgz",
"integrity": "sha1-srmwFk+eF/o6nH2yME0KdRQMca0=",
"dev": true,
"requires": {
@@ -29127,7 +29225,7 @@
"dependencies": {
"mkdirp": {
"version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz",
"integrity": "sha1-2JtPDkw+XlylQjWTFnXglP4aUHI=",
"dev": true
}
@@ -29196,7 +29294,7 @@
},
"postcss-calc": {
"version": "5.3.1",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
"integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
"requires": {
"postcss": "^5.0.2",
@@ -29318,7 +29416,7 @@
},
"postcss-discard-comments": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
"integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
"requires": {
"postcss": "^5.0.14"
@@ -29396,7 +29494,7 @@
},
"postcss-discard-empty": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
"integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
"requires": {
"postcss": "^5.0.14"
@@ -29435,7 +29533,7 @@
},
"postcss-discard-overridden": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
"integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
"requires": {
"postcss": "^5.0.16"
@@ -29474,7 +29572,7 @@
},
"postcss-discard-unused": {
"version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
"integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
"requires": {
"postcss": "^5.0.14",
@@ -29562,7 +29660,7 @@
},
"postcss-less": {
"version": "0.14.0",
- "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-0.14.0.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-less/-/postcss-less-0.14.0.tgz",
"integrity": "sha1-xjGwicbM5CK5oQ86lY0r7dOBkyQ=",
"dev": true,
"requires": {
@@ -29669,7 +29767,7 @@
},
"postcss-merge-idents": {
"version": "2.1.7",
- "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
"integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
"requires": {
"has": "^1.0.1",
@@ -29806,7 +29904,7 @@
},
"postcss-minify-font-values": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
"integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
"requires": {
"object-assign": "^4.0.1",
@@ -29847,7 +29945,7 @@
},
"postcss-minify-gradients": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
"integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
"requires": {
"postcss": "^5.0.12",
@@ -29887,7 +29985,7 @@
},
"postcss-minify-params": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
"integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
"requires": {
"alphanum-sort": "^1.0.1",
@@ -29929,7 +30027,7 @@
},
"postcss-minify-selectors": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
"integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
"requires": {
"alphanum-sort": "^1.0.2",
@@ -30006,7 +30104,7 @@
},
"postcss-normalize-charset": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
"integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
"requires": {
"postcss": "^5.0.5"
@@ -30045,7 +30143,7 @@
},
"postcss-normalize-url": {
"version": "3.0.8",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
"integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
"requires": {
"is-absolute-url": "^2.0.0",
@@ -30160,7 +30258,7 @@
},
"postcss-reduce-idents": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
"integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
"requires": {
"postcss": "^5.0.4",
@@ -30200,7 +30298,7 @@
},
"postcss-reduce-initial": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
"integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
"requires": {
"postcss": "^5.0.4"
@@ -30239,7 +30337,7 @@
},
"postcss-reduce-transforms": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
"integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
"requires": {
"has": "^1.0.1",
@@ -30439,7 +30537,7 @@
},
"postcss-svgo": {
"version": "2.1.6",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
"integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
"requires": {
"is-svg": "^2.0.0",
@@ -30481,7 +30579,7 @@
},
"postcss-unique-selectors": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
"integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
"requires": {
"alphanum-sort": "^1.0.1",
@@ -30527,7 +30625,7 @@
},
"postcss-zindex": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
"integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
"requires": {
"has": "^1.0.1",
@@ -30837,64 +30935,6 @@
"randombytes": "^2.0.1"
}
},
- "pull-cat": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
- "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=",
- "dev": true
- },
- "pull-defer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz",
- "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==",
- "dev": true
- },
- "pull-level": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz",
- "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==",
- "dev": true,
- "requires": {
- "level-post": "^1.0.7",
- "pull-cat": "^1.1.9",
- "pull-live": "^1.0.1",
- "pull-pushable": "^2.0.0",
- "pull-stream": "^3.4.0",
- "pull-window": "^2.1.4",
- "stream-to-pull-stream": "^1.7.1"
- }
- },
- "pull-live": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz",
- "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=",
- "dev": true,
- "requires": {
- "pull-cat": "^1.1.9",
- "pull-stream": "^3.4.0"
- }
- },
- "pull-pushable": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz",
- "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=",
- "dev": true
- },
- "pull-stream": {
- "version": "3.6.9",
- "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz",
- "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==",
- "dev": true
- },
- "pull-window": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz",
- "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=",
- "dev": true,
- "requires": {
- "looper": "^2.0.0"
- }
- },
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -30984,7 +31024,7 @@
"dependencies": {
"chokidar": {
"version": "1.6.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+ "resolved": "http://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
"integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=",
"dev": true,
"requires": {
@@ -31001,7 +31041,7 @@
},
"commander": {
"version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"dev": true,
"requires": {
@@ -31126,7 +31166,7 @@
"dependencies": {
"inline-style-prefixer": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz",
+ "resolved": "http://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz",
"integrity": "sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=",
"dev": true,
"requires": {
@@ -31939,7 +31979,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -32060,7 +32100,7 @@
},
"reduce-css-calc": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
"integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
"requires": {
"balanced-match": "^0.4.2",
@@ -32182,7 +32222,7 @@
},
"regexpp": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
"integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
"dev": true
},
@@ -32198,7 +32238,7 @@
},
"regjsgen": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
},
"regjsparser": {
@@ -32494,7 +32534,7 @@
},
"require-uncached": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
"requires": {
"caller-path": "^0.1.0",
@@ -32663,7 +32703,7 @@
"dependencies": {
"convert-source-map": {
"version": "0.3.5",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
+ "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
"integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
"dev": true
}
@@ -32809,7 +32849,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"requires": {
"ret": "~0.1.10"
@@ -32835,7 +32875,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -32982,7 +33022,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -33000,7 +33040,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -33270,7 +33310,7 @@
},
"shasum": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
"integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
"dev": true,
"requires": {
@@ -34357,7 +34397,7 @@
"dependencies": {
"fs-extra": {
"version": "0.30.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
+ "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
"integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=",
"requires": {
"graceful-fs": "^4.1.2",
@@ -34369,7 +34409,7 @@
},
"yargs": {
"version": "4.8.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
"requires": {
"cliui": "^3.2.0",
@@ -34390,7 +34430,7 @@
},
"yargs-parser": {
"version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
"integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
"requires": {
"camelcase": "^3.0.0",
@@ -34488,7 +34528,7 @@
},
"split": {
"version": "0.3.3",
- "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
@@ -34539,7 +34579,7 @@
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@@ -34557,7 +34597,7 @@
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@@ -34745,7 +34785,7 @@
"dependencies": {
"ansi-regex": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
"integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
"dev": true
},
@@ -34757,7 +34797,7 @@
},
"chalk": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
"dev": true,
"requires": {
@@ -34779,7 +34819,7 @@
},
"strip-ansi": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
"integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
"dev": true,
"requires": {
@@ -34925,7 +34965,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -34943,7 +34983,7 @@
},
"through2": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
"integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=",
"dev": true,
"requires": {
@@ -34953,24 +34993,6 @@
}
}
},
- "stream-to-pull-stream": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
- "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
- "dev": true,
- "requires": {
- "looper": "^3.0.0",
- "pull-stream": "^3.2.3"
- },
- "dependencies": {
- "looper": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
- "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
- "dev": true
- }
- }
- },
"streamroller": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
@@ -35100,7 +35122,7 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
@@ -35141,7 +35163,7 @@
},
"strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
@@ -35529,7 +35551,7 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
@@ -35799,7 +35821,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -35824,7 +35846,7 @@
"dependencies": {
"babelify": {
"version": "7.3.0",
- "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
"integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
"requires": {
"babel-core": "^6.0.14",
@@ -35869,7 +35891,7 @@
"dependencies": {
"css-color-names": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz",
"integrity": "sha1-3gzvFvTYqoIioyDVttfpu62nufY=",
"dev": true
}
@@ -35996,7 +36018,7 @@
},
"tar": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"requires": {
"block-stream": "*",
@@ -36162,7 +36184,7 @@
},
"text-encoding": {
"version": "0.6.4",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
+ "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk="
},
"text-table": {
@@ -36177,7 +36199,7 @@
},
"textextensions": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
"integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=",
"dev": true
},
@@ -36236,12 +36258,12 @@
},
"through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"requires": {
"readable-stream": "^2.1.5",
@@ -36543,6 +36565,23 @@
"resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
"integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A=="
},
+ "trezor-connect": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-6.0.2.tgz",
+ "integrity": "sha512-oSYTPnQD9ZT3vO2hBRdgealHG7t8Wu3oTZXX/U4eRxJZ0WqdEcXG7Nvqe1BL6Rl3VTuj7ALT9DL1Uq3QFYAc3g==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "events": "^1.1.1",
+ "whatwg-fetch": "^2.0.4"
+ },
+ "dependencies": {
+ "whatwg-fetch": {
+ "version": "2.0.4",
+ "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
+ "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
+ }
+ }
+ },
"trim": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
@@ -36621,7 +36660,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -36639,7 +36678,7 @@
},
"through2": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
"integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=",
"dev": true,
"requires": {
@@ -36707,27 +36746,6 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
- "typewise": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
- "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
- "dev": true,
- "requires": {
- "typewise-core": "^1.2.0"
- }
- },
- "typewise-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
- "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=",
- "dev": true
- },
- "typewiselite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz",
- "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=",
- "dev": true
- },
"ua-parser-js": {
"version": "0.7.17",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
@@ -36781,7 +36799,7 @@
},
"yargs": {
"version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
@@ -37285,7 +37303,7 @@
},
"utf8": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz",
+ "resolved": "http://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz",
"integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY="
},
"util": {
@@ -37330,7 +37348,7 @@
"dependencies": {
"async": {
"version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
@@ -37510,7 +37528,7 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
@@ -38002,13 +38020,13 @@
"dependencies": {
"async": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz",
"integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
"dev": true
},
"colors": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
"dev": true
},
@@ -38047,7 +38065,7 @@
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
"string-width": "^1.0.1",
@@ -38172,7 +38190,7 @@
},
"xmlbuilder": {
"version": "9.0.7",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+ "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
"dev": true
},
@@ -38222,7 +38240,7 @@
},
"yargs": {
"version": "6.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
"integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
"requires": {
"camelcase": "^3.0.0",
@@ -38242,7 +38260,7 @@
},
"yargs-parser": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
"integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
"requires": {
"camelcase": "^3.0.0"
diff --git a/package.json b/package.json
index 048b7765e..996e11193 100644
--- a/package.json
+++ b/package.json
@@ -121,13 +121,13 @@
"eth-json-rpc-filters": "^3.0.1",
"eth-json-rpc-infura": "^3.0.0",
"eth-keyring-controller": "^3.3.1",
- "eth-ledger-bridge-keyring": "^0.1.0",
+ "eth-ledger-bridge-keyring": "^0.1.1",
"eth-method-registry": "^1.0.0",
"eth-phishing-detect": "^1.1.4",
"eth-query": "^2.1.2",
+ "eth-trezor-keyring": "^0.2.0",
"eth-sig-util": "^2.0.2",
"eth-token-tracker": "^1.1.5",
- "eth-trezor-keyring": "^0.1.0",
"ethereumjs-abi": "^0.6.4",
"ethereumjs-tx": "^1.3.0",
"ethereumjs-util": "github:ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9",
@@ -167,7 +167,7 @@
"lodash.uniqby": "^4.7.0",
"loglevel": "^1.4.1",
"metamascara": "^2.0.0",
- "metamask-inpage-provider": "^1.2.2",
+ "metamask-inpage-provider": "^1.3.0",
"metamask-logo": "^2.1.4",
"mkdirp": "^0.5.1",
"multihashes": "^0.4.12",
@@ -264,7 +264,6 @@
"eslint-plugin-mocha": "^5.0.0",
"eslint-plugin-react": "^7.4.0",
"eth-json-rpc-middleware": "^3.1.6",
- "eth-keyring-controller": "^3.3.1",
"fetch-mock": "^6.5.2",
"file-loader": "^1.1.11",
"fs-extra": "^6.0.1",
diff --git a/test/e2e/beta/drizzle.spec.js b/test/e2e/beta/drizzle.spec.js
index a9d72a9ba..e669dabcc 100644
--- a/test/e2e/beta/drizzle.spec.js
+++ b/test/e2e/beta/drizzle.spec.js
@@ -81,22 +81,6 @@ describe('MetaMask', function () {
})
it('selects the new UI option', async () => {
- try {
- const overlay = await findElement(driver, By.css('.full-flex-height'))
- await driver.wait(until.stalenessOf(overlay))
- } catch (e) {}
-
- let button
- try {
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- } catch (e) {
- await loadExtension(driver, extensionId)
- await delay(largeDelayMs)
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- }
- await button.click()
- await delay(regularDelayMs)
-
// Close all other tabs
const [tab0, tab1, tab2] = await driver.getAllWindowHandles()
await driver.switchTo().window(tab0)
diff --git a/test/e2e/beta/from-import-beta-ui.spec.js b/test/e2e/beta/from-import-beta-ui.spec.js
index 77a61a73e..2b2e3361d 100644
--- a/test/e2e/beta/from-import-beta-ui.spec.js
+++ b/test/e2e/beta/from-import-beta-ui.spec.js
@@ -12,11 +12,9 @@ const {
} = require('../func')
const {
checkBrowserForConsoleErrors,
- closeAllWindowHandlesExcept,
verboseReportOnFailure,
findElement,
findElements,
- loadExtension,
} = require('./helpers')
@@ -27,7 +25,6 @@ describe('Using MetaMask with an existing account', function () {
const testSeedPhrase = 'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent'
const testAddress = '0xE18035BF8712672935FDB4e5e431b1a0183d2DFC'
const testPrivateKey2 = '14abe6f4aab7f9f626fe981c864d0adeb5685f289ac9270c27b8fd790b4235d6'
- const tinyDelayMs = 500
const regularDelayMs = 1000
const largeDelayMs = regularDelayMs * 2
@@ -40,7 +37,7 @@ describe('Using MetaMask with an existing account', function () {
const extensionPath = path.resolve('dist/chrome')
driver = buildChromeWebDriver(extensionPath)
extensionId = await getExtensionIdChrome(driver)
- await driver.get(`chrome-extension://${extensionId}/popup.html`)
+ await driver.get(`chrome-extension://${extensionId}/home.html`)
await delay(regularDelayMs)
break
}
@@ -50,7 +47,7 @@ describe('Using MetaMask with an existing account', function () {
await installWebExt(driver, extensionPath)
await delay(regularDelayMs)
extensionId = await getExtensionIdFirefox(driver)
- await driver.get(`moz-extension://${extensionId}/popup.html`)
+ await driver.get(`moz-extension://${extensionId}/home.html`)
await delay(regularDelayMs)
break
}
@@ -75,69 +72,13 @@ describe('Using MetaMask with an existing account', function () {
await driver.quit()
})
- describe('New UI setup', async function () {
- it('switches to first tab', async function () {
- await delay(tinyDelayMs)
- const [firstTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(firstTab)
- await delay(regularDelayMs)
- })
-
- it('selects the new UI option', async () => {
- try {
- const overlay = await findElement(driver, By.css('.full-flex-height'))
- await driver.wait(until.stalenessOf(overlay))
- } catch (e) {}
-
- let button
- try {
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- } catch (e) {
- await loadExtension(driver, extensionId)
- await delay(largeDelayMs)
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- }
- await button.click()
- await delay(regularDelayMs)
-
- // Close all other tabs
- const [tab0, tab1, tab2] = await driver.getAllWindowHandles()
- await driver.switchTo().window(tab0)
- await delay(tinyDelayMs)
-
- let selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (tab0 && selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab0)
- } else if (tab1) {
- await driver.switchTo().window(tab1)
- selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab1)
- } else if (tab2) {
- await driver.switchTo().window(tab2)
- selectedUrl = await driver.getCurrentUrl()
- selectedUrl.match(/popup.html/) && await closeAllWindowHandlesExcept(driver, tab2)
- }
- } else {
- throw new Error('popup.html not found')
- }
- await delay(regularDelayMs)
- const [appTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(appTab)
- await delay(tinyDelayMs)
-
- await loadExtension(driver, extensionId)
- await delay(regularDelayMs)
-
- const continueBtn = await findElement(driver, By.css('.welcome-screen__button'))
- await continueBtn.click()
- await delay(regularDelayMs)
+ describe('First time flow starting from an existing seed phrase', () => {
+ it('clicks the continue button on the welcome screen', async () => {
+ const welcomeScreenBtn = await findElement(driver, By.css('.welcome-screen__button'))
+ welcomeScreenBtn.click()
+ await delay(largeDelayMs)
})
- })
- describe('First time flow starting from an existing seed phrase', () => {
it('imports a seed phrase', async () => {
const [seedPhrase] = await findElements(driver, By.xpath(`//a[contains(text(), 'Import with seed phrase')]`))
await seedPhrase.click()
@@ -374,36 +315,7 @@ describe('Using MetaMask with an existing account', function () {
await connectButtons[0].click()
await delay(regularDelayMs)
const allWindows = await driver.getAllWindowHandles()
- switch (process.env.SELENIUM_BROWSER) {
- case 'chrome':
- assert.equal(allWindows.length, 2)
- break
- default:
- assert.equal(allWindows.length, 1)
- }
- })
-
- it('should show the "Browser not supported" screen for non Chrome browsers', async () => {
- if (process.env.SELENIUM_BROWSER !== 'chrome') {
- const title = await findElements(driver, By.xpath(`//h3[contains(text(), 'Your Browser is not supported...')]`))
- assert.equal(title.length, 1)
-
- const downloadChromeButtons = await findElements(driver, By.xpath(`//button[contains(text(), 'Download Google Chrome')]`))
- assert.equal(downloadChromeButtons.length, 1)
-
- await downloadChromeButtons[0].click()
- await delay(regularDelayMs)
-
- const [newUITab, downloadChromeTab] = await driver.getAllWindowHandles()
-
- await driver.switchTo().window(downloadChromeTab)
- await delay(regularDelayMs)
- const tabUrl = await driver.getCurrentUrl()
- assert.equal(tabUrl, 'https://www.google.com/chrome/')
- await driver.close()
- await delay(regularDelayMs)
- await driver.switchTo().window(newUITab)
- }
+ assert.equal(allWindows.length, 2)
})
})
})
diff --git a/test/e2e/beta/helpers.js b/test/e2e/beta/helpers.js
index 08416857e..5e3f45b2b 100644
--- a/test/e2e/beta/helpers.js
+++ b/test/e2e/beta/helpers.js
@@ -85,11 +85,22 @@ async function openNewPage (driver, url) {
await delay(1000)
}
-async function waitUntilXWindowHandles (driver, x) {
- const windowHandles = await driver.getAllWindowHandles()
- if (windowHandles.length === x) return
- await delay(1000)
- return await waitUntilXWindowHandles(driver, x)
+async function waitUntilXWindowHandles (driver, x, delayStep = 1000, timeout = 5000) {
+ let timeElapsed = 0
+ async function _pollWindowHandles () {
+ const windowHandles = await driver.getAllWindowHandles()
+ if (windowHandles.length === x) {
+ return
+ }
+ await delay(delayStep)
+ timeElapsed += delayStep
+ if (timeElapsed > timeout) {
+ throw new Error('waitUntilXWindowHandles timed out polling window handles')
+ } else {
+ await _pollWindowHandles()
+ }
+ }
+ return await _pollWindowHandles()
}
async function switchToWindowWithTitle (driver, title, windowHandles) {
diff --git a/test/e2e/beta/metamask-beta-responsive-ui.spec.js b/test/e2e/beta/metamask-beta-responsive-ui.spec.js
index b93563b25..107f9aa6c 100644
--- a/test/e2e/beta/metamask-beta-responsive-ui.spec.js
+++ b/test/e2e/beta/metamask-beta-responsive-ui.spec.js
@@ -12,7 +12,6 @@ const {
} = require('../func')
const {
checkBrowserForConsoleErrors,
- closeAllWindowHandlesExcept,
findElement,
findElements,
loadExtension,
@@ -37,7 +36,7 @@ describe('MetaMask', function () {
const extPath = path.resolve('dist/chrome')
driver = buildChromeWebDriver(extPath, { responsive: true })
extensionId = await getExtensionIdChrome(driver)
- await driver.get(`chrome-extension://${extensionId}/popup.html`)
+ await driver.get(`chrome-extension://${extensionId}/home.html`)
break
}
case 'firefox': {
@@ -46,7 +45,7 @@ describe('MetaMask', function () {
await installWebExt(driver, extPath)
await delay(700)
extensionId = await getExtensionIdFirefox(driver)
- await driver.get(`moz-extension://${extensionId}/popup.html`)
+ await driver.get(`moz-extension://${extensionId}/home.html`)
}
}
})
@@ -69,69 +68,13 @@ describe('MetaMask', function () {
await driver.quit()
})
- describe('New UI setup', async function () {
- it('switches to first tab', async function () {
- await delay(tinyDelayMs)
- const [firstTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(firstTab)
- await delay(regularDelayMs)
- })
-
- it('selects the new UI option', async () => {
- try {
- const overlay = await findElement(driver, By.css('.full-flex-height'))
- await driver.wait(until.stalenessOf(overlay))
- } catch (e) {}
-
- let button
- try {
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- } catch (e) {
- await loadExtension(driver, extensionId)
- await delay(largeDelayMs)
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- }
- await button.click()
- await delay(regularDelayMs)
-
- // Close all other tabs
- const [tab0, tab1, tab2] = await driver.getAllWindowHandles()
- await driver.switchTo().window(tab0)
- await delay(tinyDelayMs)
-
- let selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (tab0 && selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab0)
- } else if (tab1) {
- await driver.switchTo().window(tab1)
- selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab1)
- } else if (tab2) {
- await driver.switchTo().window(tab2)
- selectedUrl = await driver.getCurrentUrl()
- selectedUrl.match(/popup.html/) && await closeAllWindowHandlesExcept(driver, tab2)
- }
- } else {
- throw new Error('popup.html not found')
- }
- await delay(regularDelayMs)
- const [appTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(appTab)
- await delay(tinyDelayMs)
-
- await loadExtension(driver, extensionId)
- await delay(regularDelayMs)
-
- const continueBtn = await findElement(driver, By.css('.welcome-screen__button'))
- await continueBtn.click()
- await delay(regularDelayMs)
+ describe('Going through the first time flow', () => {
+ it('clicks the continue button on the welcome screen', async () => {
+ const welcomeScreenBtn = await findElement(driver, By.css('.welcome-screen__button'))
+ welcomeScreenBtn.click()
+ await delay(largeDelayMs)
})
- })
- describe('Going through the first time flow', () => {
it('accepts a secure password', async () => {
const passwordBox = await findElement(driver, By.css('.create-password #create-password'))
const passwordBoxConfirm = await findElement(driver, By.css('.create-password #confirm-password'))
diff --git a/test/e2e/beta/metamask-beta-ui.spec.js b/test/e2e/beta/metamask-beta-ui.spec.js
index 0ef945f8d..9e96ceee6 100644
--- a/test/e2e/beta/metamask-beta-ui.spec.js
+++ b/test/e2e/beta/metamask-beta-ui.spec.js
@@ -42,7 +42,7 @@ describe('MetaMask', function () {
const extPath = path.resolve('dist/chrome')
driver = buildChromeWebDriver(extPath)
extensionId = await getExtensionIdChrome(driver)
- await driver.get(`chrome-extension://${extensionId}/popup.html`)
+ await driver.get(`chrome-extension://${extensionId}/home.html`)
break
}
case 'firefox': {
@@ -51,7 +51,7 @@ describe('MetaMask', function () {
await installWebExt(driver, extPath)
await delay(700)
extensionId = await getExtensionIdFirefox(driver)
- await driver.get(`moz-extension://${extensionId}/popup.html`)
+ await driver.get(`moz-extension://${extensionId}/home.html`)
}
}
})
@@ -74,69 +74,13 @@ describe('MetaMask', function () {
await driver.quit()
})
- describe('New UI setup', async function () {
- it('switches to first tab', async function () {
- await delay(tinyDelayMs)
- const [firstTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(firstTab)
- await delay(regularDelayMs)
- })
-
- it('selects the new UI option', async () => {
- try {
- const overlay = await findElement(driver, By.css('.full-flex-height'))
- await driver.wait(until.stalenessOf(overlay))
- } catch (e) {}
-
- let button
- try {
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- } catch (e) {
- await loadExtension(driver, extensionId)
- await delay(largeDelayMs)
- button = await findElement(driver, By.xpath("//button[contains(text(), 'Try it now')]"))
- }
- await button.click()
- await delay(regularDelayMs)
-
- // Close all other tabs
- const [tab0, tab1, tab2] = await driver.getAllWindowHandles()
- await driver.switchTo().window(tab0)
- await delay(tinyDelayMs)
-
- let selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (tab0 && selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab0)
- } else if (tab1) {
- await driver.switchTo().window(tab1)
- selectedUrl = await driver.getCurrentUrl()
- await delay(tinyDelayMs)
- if (selectedUrl.match(/popup.html/)) {
- await closeAllWindowHandlesExcept(driver, tab1)
- } else if (tab2) {
- await driver.switchTo().window(tab2)
- selectedUrl = await driver.getCurrentUrl()
- selectedUrl.match(/popup.html/) && await closeAllWindowHandlesExcept(driver, tab2)
- }
- } else {
- throw new Error('popup.html not found')
- }
- await delay(regularDelayMs)
- const [appTab] = await driver.getAllWindowHandles()
- await driver.switchTo().window(appTab)
- await delay(tinyDelayMs)
-
- await loadExtension(driver, extensionId)
- await delay(regularDelayMs)
-
- const continueBtn = await findElement(driver, By.css('.welcome-screen__button'))
- await continueBtn.click()
- await delay(regularDelayMs)
+ describe('Going through the first time flow', () => {
+ it('clicks the continue button on the welcome screen', async () => {
+ const welcomeScreenBtn = await findElement(driver, By.css('.welcome-screen__button'))
+ welcomeScreenBtn.click()
+ await delay(largeDelayMs)
})
- })
- describe('Going through the first time flow', () => {
it('accepts a secure password', async () => {
const passwordBox = await findElement(driver, By.css('.create-password #create-password'))
const passwordBoxConfirm = await findElement(driver, By.css('.create-password #confirm-password'))
diff --git a/test/integration/lib/first-time.js b/test/integration/lib/first-time.js
deleted file mode 100644
index 8cacd7f14..000000000
--- a/test/integration/lib/first-time.js
+++ /dev/null
@@ -1,117 +0,0 @@
-const reactTriggerChange = require('react-trigger-change')
-const PASSWORD = 'password123'
-const runMascaraFirstTimeTest = require('./mascara-first-time')
-const {
- timeout,
- findAsync,
-} = require('../../lib/util')
-
-QUnit.module('first time usage')
-
-QUnit.test('render init screen', (assert) => {
- const done = assert.async()
- runFirstTimeUsageTest(assert).then(done).catch((err) => {
- assert.notOk(err, `Error was thrown: ${err.stack}`)
- done()
- })
-})
-
-async function runFirstTimeUsageTest(assert, done) {
- if (window.METAMASK_PLATFORM_TYPE === 'mascara') {
- return runMascaraFirstTimeTest(assert, done)
- }
-
- const selectState = $('select')
- selectState.val('first time')
- reactTriggerChange(selectState[0])
-
- const app = $('#app-content')
-
- // Selects new ui
- const tryNewUIButton = (await findAsync(app, 'button.negative'))[0]
- tryNewUIButton.click()
- await timeout()
-
- // recurse notices
- while (true) {
- const button = await findAsync(app, 'button')
- if (button.html() === 'Accept') {
- // still notices to accept
- const termsPageRaw = await findAsync(app, '.markdown')
- const termsPage = (await findAsync(app, '.markdown'))[0]
- console.log('termsPageRaw', termsPageRaw)
- termsPage.scrollTop = termsPage.scrollHeight
- console.log('Clearing notice')
- button.click()
- } else {
- // exit loop
- console.log('No more notices...')
- break
- }
- }
-
- // Scroll through terms
- const title = (await findAsync(app, 'h1'))[0]
- assert.equal(title.textContent, 'MetaMask', 'title screen')
-
- // enter password
- const pwBox = (await findAsync(app, '#password-box'))[0]
- const confBox = (await findAsync(app, '#password-box-confirm'))[0]
- pwBox.value = PASSWORD
- confBox.value = PASSWORD
-
- // create vault
- const createButton = (await findAsync(app, 'button.primary'))[0]
- createButton.click()
-
- await timeout()
- const created = (await findAsync(app, 'h3'))[0]
- assert.equal(created.textContent, 'Vault Created', 'Vault created screen')
-
- // Agree button
- const button = (await findAsync(app, 'button'))[0]
- assert.ok(button, 'button present')
- button.click()
-
- const detail = (await findAsync(app, '.account-detail-section'))[0]
- assert.ok(detail, 'Account detail section loaded.')
-
- const sandwich = (await findAsync(app, '.sandwich-expando'))[0]
- sandwich.click()
-
- const menu = (await findAsync(app, '.menu-droppo'))[0]
- const children = menu.children
- const logout = children[2]
- assert.ok(logout, 'Lock menu item found')
- logout.click()
-
- const pwBox2 = (await findAsync(app, '#password-box'))[0]
- pwBox2.value = PASSWORD
-
- const createButton2 = (await findAsync(app, 'button.primary'))[0]
- createButton2.click()
-
- const detail2 = (await findAsync(app, '.account-detail-section'))[0]
- assert.ok(detail2, 'Account detail section loaded again.')
-
- // open account settings dropdown
- const qrButton = (await findAsync(app, '.fa.fa-ellipsis-h'))[0]
- qrButton.click()
-
- // qr code item
- const qrButton2 = (await findAsync(app, '.dropdown-menu-item'))[1]
- qrButton2.click()
-
- const qrHeader = (await findAsync(app, '.qr-header'))[0]
- const qrContainer = (await findAsync(app, '#qr-container'))[0]
- assert.equal(qrHeader.textContent, 'Account 1', 'Should show account label.')
- assert.ok(qrContainer, 'QR Container found')
-
- const networkMenu = (await findAsync(app, '.network-indicator'))[0]
- networkMenu.click()
-
- const networkMenu2 = (await findAsync(app, '.network-indicator'))[0]
- const children2 = networkMenu2.children
- children2.length[3]
- assert.ok(children2, 'All network options present')
-}
diff --git a/test/integration/lib/mascara-first-time.js b/test/integration/lib/mascara-first-time.js
deleted file mode 100644
index 6756b83f9..000000000
--- a/test/integration/lib/mascara-first-time.js
+++ /dev/null
@@ -1,133 +0,0 @@
-const PASSWORD = 'password123'
-const {
- timeout,
- findAsync,
- queryAsync,
-} = require('../../lib/util')
-
-async function runFirstTimeUsageTest (assert, done) {
- await timeout(4000)
-
- const app = await queryAsync($, '#app-content')
-
- // Used to set values on TextField input component
- const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
- window.HTMLInputElement.prototype, 'value'
- ).set
-
- await skipNotices(app)
-
- const welcomeButton = (await findAsync(app, '.welcome-screen__button'))[0]
- welcomeButton.click()
-
- // Scroll through terms
- const title = (await findAsync(app, '.create-password__title')).text()
- assert.equal(title, 'Create Password', 'create password screen')
-
- // enter password
- const pwBox = (await findAsync(app, '#create-password'))[0]
- const confBox = (await findAsync(app, '#confirm-password'))[0]
-
- nativeInputValueSetter.call(pwBox, PASSWORD)
- pwBox.dispatchEvent(new Event('input', { bubbles: true}))
-
- nativeInputValueSetter.call(confBox, PASSWORD)
- confBox.dispatchEvent(new Event('input', { bubbles: true}))
-
- // Create Password
- const createButton = (await findAsync(app, 'button.first-time-flow__button'))[0]
- createButton.click()
-
- const created = (await findAsync(app, '.unique-image__title'))[0]
- assert.equal(created.textContent, 'Your unique account image', 'unique image screen')
-
- // Agree button
- const button = (await findAsync(app, 'button'))[0]
- assert.ok(button, 'button present')
- button.click()
-
- await skipNotices(app)
-
- // secret backup phrase
- const seedTitle = (await findAsync(app, '.backup-phrase__title'))[0]
- assert.equal(seedTitle.textContent, 'Secret Backup Phrase', 'seed phrase screen')
- ;(await findAsync(app, '.backup-phrase__reveal-button')).click()
- const seedPhrase = (await findAsync(app, '.backup-phrase__secret-words')).text().split(' ')
- ;(await findAsync(app, '.first-time-flow__button')).click()
-
- await timeout()
- const selectPhrase = text => {
- const option = $('.backup-phrase__confirm-seed-option')
- .filter((i, d) => d.textContent === text)[0]
- $(option).click()
- }
-
- seedPhrase.forEach(sp => selectPhrase(sp))
- ;(await findAsync(app, '.first-time-flow__button')).click()
-
- // Deposit Ether Screen
- const depositEthTitle = (await findAsync(app, '.page-container__title'))[0]
- assert.equal(depositEthTitle.textContent, 'Deposit Ether', 'deposit ether screen')
- ;(await findAsync(app, '.page-container__header-close')).click()
-
- const menu = (await findAsync(app, '.account-menu__icon'))[0]
- menu.click()
-
- const lock = (await findAsync(app, '.account-menu__logout-button'))[0]
- assert.ok(lock, 'Lock menu item found')
- lock.click()
-
- await timeout(5000)
-
- const pwBox2 = (await findAsync(app, '#password'))[0]
- pwBox2.focus()
- await timeout(1000)
-
- nativeInputValueSetter.call(pwBox2, PASSWORD)
- pwBox2.dispatchEvent(new Event('input', { bubbles: true}))
-
- const createButton2 = (await findAsync(app, 'button[type="submit"]'))[0]
- createButton2.click()
-
- const detail2 = (await findAsync(app, '.wallet-view'))[0]
- assert.ok(detail2, 'Account detail section loaded again.')
-
- // open account settings dropdown
- const qrButton = (await findAsync(app, '.wallet-view__details-button'))[0]
- qrButton.click()
-
- const qrHeader = (await findAsync(app, '.editable-label__value'))[0]
- const qrContainer = (await findAsync(app, '.qr-wrapper'))[0]
- assert.equal(qrHeader.textContent, 'Account 1', 'Should show account label.')
- assert.ok(qrContainer, 'QR Container found')
-
- const networkMenu = (await findAsync(app, '.network-component'))[0]
- networkMenu.click()
-
- const networkMenu2 = (await findAsync(app, '.network-indicator'))[0]
- const children2 = networkMenu2.children
- children2.length[3]
- assert.ok(children2, 'All network options present')
-}
-
-module.exports = runFirstTimeUsageTest
-
-async function skipNotices (app) {
- while (true) {
- const button = await findAsync(app, 'button')
- if (button && button.html() === 'Accept') {
- // still notices to accept
- const termsPage = (await findAsync(app, '.markdown'))[0]
- if (!termsPage) {
- break
- }
- termsPage.scrollTop = termsPage.scrollHeight
- await timeout()
- button.click()
- await timeout()
- } else {
- console.log('No more notices...')
- break
- }
- }
-}
diff --git a/test/integration/lib/navigate-txs.js b/test/integration/lib/navigate-txs.js
deleted file mode 100644
index 0679d6b00..000000000
--- a/test/integration/lib/navigate-txs.js
+++ /dev/null
@@ -1,87 +0,0 @@
-const reactTriggerChange = require('react-trigger-change')
-const {
- timeout,
- queryAsync,
-} = require('../../lib/util')
-
-QUnit.module('navigate txs')
-
-QUnit.test('successful navigate', (assert) => {
- const done = assert.async()
- runNavigateTxsFlowTest(assert)
- .then(done)
- .catch(err => {
- assert.notOk(err, `Error was thrown: ${err.stack}`)
- done()
- })
-})
-
-async function runNavigateTxsFlowTest (assert, done) {
- const selectState = await queryAsync($, 'select')
-
- selectState.val('navigate txs')
- reactTriggerChange(selectState[0])
-
- // Confirm navigation buttons present
- let navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- assert.ok(navigateTxButtons[0], 'navigation button present')
- assert.ok(navigateTxButtons[1], 'navigation button present')
- assert.ok(navigateTxButtons[2], 'navigation button present')
- assert.ok(navigateTxButtons[3], 'navigation button present')
-
- // Verify number of transactions present
- let trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.includes('1'), true, 'starts on first')
-
- // Verify correct route
- let summaryAction = await queryAsync($, '.confirm-page-container-summary__action')
- assert.equal(summaryAction[0].innerText, 'CONTRACT DEPLOYMENT', 'correct route')
-
- // Click navigation button
- navigateTxButtons[2].click()
- await timeout(2000)
-
- // Verify transaction changed to num 2 and routed correctly
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.includes('2'), true, 'changed transaction right')
- summaryAction = await queryAsync($, '.confirm-page-container-summary__action')
- // assert.equal(summaryAction[0].innerText, 'CONFIRM', 'correct route')
-
- // Click navigation button
- navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- navigateTxButtons[2].click()
-
- // Verify transation changed to num 3 and routed correctly
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.includes('3'), true, 'changed transaction right')
- summaryAction = await queryAsync($, '.confirm-page-container-summary__action')
- assert.equal(summaryAction[0].innerText, 'CONFIRM', 'correct route')
-
- // Click navigation button
- navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- navigateTxButtons[2].click()
-
- // Verify transation changed to num 4 and routed correctly
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.split('4').length, 3, '4 transactions present')
- summaryAction = await queryAsync($, '.confirm-page-container-summary__action')
- assert.equal(summaryAction[0].innerText, 'TRANSFER', 'correct route')
-
- // Verify left arrow is working correctly
- navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- navigateTxButtons[1].click()
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.includes('3'), true, 'changed transaction left')
-
- // Verify navigate to last transaction is working correctly
- navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- navigateTxButtons[3].click()
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.split('4').length, 3, 'navigate to last transaction')
-
- // Verify navigate to first transaction is working correctly
- navigateTxButtons = await queryAsync($, '.confirm-page-container-navigation__arrow')
- navigateTxButtons[0].click()
- trxNum = await queryAsync($, '.confirm-page-container-navigation')
- assert.equal(trxNum[0].innerText.includes('1'), true, 'navigate to first transaction')
-}
diff --git a/test/unit/development/sample-changelog.md b/test/unit/development/sample-changelog.md
index fd980e375..69f6513e6 100644
--- a/test/unit/development/sample-changelog.md
+++ b/test/unit/development/sample-changelog.md
@@ -1,6 +1,6 @@
# Changelog
-## Current Master
+## Current Develop Branch
## 4.1.3 2018-2-28
diff --git a/ui/app/components/app-header/app-header.component.js b/ui/app/components/app-header/app-header.component.js
index c82dc1de9..83ec4809d 100644
--- a/ui/app/components/app-header/app-header.component.js
+++ b/ui/app/components/app-header/app-header.component.js
@@ -108,7 +108,7 @@ export default class AppHeader extends PureComponent {
>
<img
className="app-header__metafox-logo app-header__metafox-logo--horizontal"
- src="/images/logo/metamask-logo-horizontal-beta.svg"
+ src="/images/logo/metamask-logo-horizontal.svg"
height={30}
/>
<img
diff --git a/ui/app/components/pages/add-token/add-token.component.js b/ui/app/components/pages/add-token/add-token.component.js
index 3612e676c..82299bf88 100644
--- a/ui/app/components/pages/add-token/add-token.component.js
+++ b/ui/app/components/pages/add-token/add-token.component.js
@@ -194,8 +194,8 @@ class AddToken extends Component {
const symbolLength = customSymbol.length
let customSymbolError = null
- if (symbolLength <= 0 || symbolLength >= 10) {
- customSymbolError = this.context.t('symbolBetweenZeroTen')
+ if (symbolLength <= 0 || symbolLength >= 12) {
+ customSymbolError = this.context.t('symbolBetweenZeroTwelve')
}
this.setState({ customSymbol, customSymbolError })
diff --git a/ui/app/components/pages/confirm-transaction-base/confirm-transaction-base.component.js b/ui/app/components/pages/confirm-transaction-base/confirm-transaction-base.component.js
index 6d04e5fe6..e3abde233 100644
--- a/ui/app/components/pages/confirm-transaction-base/confirm-transaction-base.component.js
+++ b/ui/app/components/pages/confirm-transaction-base/confirm-transaction-base.component.js
@@ -1,3 +1,4 @@
+import ethUtil from 'ethereumjs-util'
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import ConfirmPageContainer, { ConfirmDetailRow } from '../../confirm-page-container'
@@ -239,7 +240,7 @@ export default class ConfirmTransactionBase extends Component {
)
}
<div className="confirm-page-container-content__data-box-label">
- {`${t('hexData')}:`}
+ {`${t('hexData')}: ${ethUtil.toBuffer(data).length} bytes`}
</div>
<div className="confirm-page-container-content__data-box">
{ data }
@@ -294,22 +295,35 @@ export default class ConfirmTransactionBase extends Component {
return
}
- this.setState({ submitting: true, submitError: null })
-
- if (onSubmit) {
- Promise.resolve(onSubmit(txData))
- .then(this.setState({ submitting: false }))
- } else {
- sendTransaction(txData)
- .then(() => {
- clearConfirmTransaction()
- this.setState({ submitting: false })
- history.push(DEFAULT_ROUTE)
- })
- .catch(error => {
- this.setState({ submitting: false, submitError: error.message })
- })
- }
+ this.setState({
+ submitting: true,
+ submitError: null,
+ }, () => {
+ if (onSubmit) {
+ Promise.resolve(onSubmit(txData))
+ .then(() => {
+ this.setState({
+ submitting: false,
+ })
+ })
+ } else {
+ sendTransaction(txData)
+ .then(() => {
+ clearConfirmTransaction()
+ this.setState({
+ submitting: false,
+ }, () => {
+ history.push(DEFAULT_ROUTE)
+ })
+ })
+ .catch(error => {
+ this.setState({
+ submitting: false,
+ submitError: error.message,
+ })
+ })
+ }
+ })
}
renderTitleComponent () {
diff --git a/ui/app/components/pages/create-account/connect-hardware/index.js b/ui/app/components/pages/create-account/connect-hardware/index.js
index 547df5223..4fe25f629 100644
--- a/ui/app/components/pages/create-account/connect-hardware/index.js
+++ b/ui/app/components/pages/create-account/connect-hardware/index.js
@@ -50,9 +50,8 @@ class ConnectHardwareForm extends Component {
}
connectToHardwareWallet = (device) => {
- // None of the hardware wallets are supported
- // At least for now
- if (getPlatform() === PLATFORM_FIREFOX) {
+ // Ledger hardware wallets are not supported on firefox
+ if (getPlatform() === PLATFORM_FIREFOX && device === 'ledger') {
this.setState({ browserSupported: false, error: null})
return null
}
@@ -126,7 +125,7 @@ class ConnectHardwareForm extends Component {
.catch(e => {
if (e === 'Window blocked') {
this.setState({ browserSupported: false, error: null})
- } else if (e !== 'Window closed') {
+ } else if (e !== 'Window closed' && e !== 'Popup closed') {
this.setState({ error: e.toString() })
}
})
diff --git a/ui/app/css/itcss/components/network.scss b/ui/app/css/itcss/components/network.scss
index 833a91f12..c828a2b26 100644
--- a/ui/app/css/itcss/components/network.scss
+++ b/ui/app/css/itcss/components/network.scss
@@ -1,6 +1,6 @@
.network-component--disabled {
// border-color: transparent !important;
- cursor: default;
+ cursor: not-allowed;
.fa-caret-down {
opacity: 0;
diff --git a/ui/app/css/itcss/components/new-account.scss b/ui/app/css/itcss/components/new-account.scss
index 5548025e0..7bfa2d443 100644
--- a/ui/app/css/itcss/components/new-account.scss
+++ b/ui/app/css/itcss/components/new-account.scss
@@ -436,6 +436,7 @@
margin-top: 10px;
&__button {
+ background: #fff;
height: 19px;
display: flex;
color: #33a4e7;
diff --git a/ui/app/select-app.js b/ui/app/select-app.js
index f2e8e8d10..f5f9e33ab 100644
--- a/ui/app/select-app.js
+++ b/ui/app/select-app.js
@@ -5,17 +5,14 @@ const h = require('react-hyperscript')
const { HashRouter } = require('react-router-dom')
const App = require('./app')
const OldApp = require('../../old-ui/app/app')
-const { autoAddToBetaUI } = require('./selectors')
+const { getShouldUseNewUi } = require('./selectors')
const { setFeatureFlag } = require('./actions')
const I18nProvider = require('./i18n-provider')
function mapStateToProps (state) {
return {
- betaUI: state.metamask.featureFlags.betaUI,
- autoAdd: autoAddToBetaUI(state),
- isUnlocked: state.metamask.isUnlocked,
isMascara: state.metamask.isMascara,
- firstTime: Object.keys(state.metamask.identities).length === 0,
+ shouldUseNewUi: getShouldUseNewUi(state),
}
}
@@ -56,17 +53,13 @@ SelectedApp.prototype.componentWillReceiveProps = function (nextProps) {
}
SelectedApp.prototype.render = function () {
- // Code commented out until we begin auto adding users to NewUI
- // const { betaUI, isMascara, firstTime } = this.props
- // const Selected = betaUI || isMascara || firstTime ? App : OldApp
-
- const { betaUI, isMascara } = this.props
-
- return betaUI || isMascara
- ? h(HashRouter, {
- hashType: 'noslash',
- }, [
- h(I18nProvider, [ h(App) ]),
- ])
- : h(OldApp)
+ const { shouldUseNewUi } = this.props
+ const newUi = h(HashRouter, {
+ hashType: 'noslash',
+ }, [
+ h(I18nProvider, [
+ h(App),
+ ]),
+ ])
+ return shouldUseNewUi ? newUi : h(OldApp)
}
diff --git a/ui/app/selectors.js b/ui/app/selectors.js
index 7209f19d1..b518527c9 100644
--- a/ui/app/selectors.js
+++ b/ui/app/selectors.js
@@ -31,6 +31,7 @@ const selectors = {
getSelectedTokenToFiatRate,
getSelectedTokenContract,
autoAddToBetaUI,
+ getShouldUseNewUi,
getSendMaxModeState,
getCurrentViewContext,
getTotalUnapprovedCount,
@@ -185,6 +186,13 @@ function autoAddToBetaUI (state) {
return userIsNotInBeta && userPassesThreshold
}
+function getShouldUseNewUi (state) {
+ const isAlreadyUsingBetaUi = state.metamask.featureFlags.betaUI
+ const isMascara = state.metamask.isMascara
+ const isFreshInstall = Object.keys(state.metamask.identities).length === 0
+ return isAlreadyUsingBetaUi || isMascara || isFreshInstall
+}
+
function getCurrentViewContext (state) {
const { currentView = {} } = state.appState
return currentView.context
diff --git a/ui/app/welcome-screen.js b/ui/app/welcome-screen.js
index 63512cd50..146661eb3 100644
--- a/ui/app/welcome-screen.js
+++ b/ui/app/welcome-screen.js
@@ -50,7 +50,7 @@ class WelcomeScreen extends Component {
height: '225',
}),
- h('div.welcome-screen__info__header', this.context.t('welcomeBeta')),
+ h('div.welcome-screen__info__header', this.context.t('welcome')),
h('div.welcome-screen__info__copy', this.context.t('metamaskDescription')),